FHEM Forum

FHEM => Sonstiges => Thema gestartet von: maf am 20 April 2015, 00:15:50

Titel: FHEM Quellpaket für Debian?
Beitrag von: maf am 20 April 2015, 00:15:50
Hallo,

ist das Quellpaket zum FHEM Binärpaket für Debian eigentlich auch irgendwo verfügbar? Ich hab's mit
deb-src https://debian.fhem.de/stable ./
versucht, leider ohne Erfolg.

Gruß, maf


Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: Bennemannc am 20 April 2015, 07:08:08
Hallo,

Du bist aber schon nach dieser "https://debian.fhem.de/" Anleitung vorgegangen, oder ? Ich habe immer die manuelle Installation gemacht, da man diesen Schritt ja eigentlich nur einmal macht. Fhem bringt seine eigene Updateroutine mit und arbeitet nicht über das apt-get oder dpkg oder ... Update. daher macht es in meinen Augen keinen Sinn, das repo zu erweitern.
Bitte beachte, das fhem nach der Installation nicht aktuell ist. Es muss gestartet werden und in fhem ein Update mit anschließendem - shutdown resart - durchgeführt werden. Eventuell kommt auch noch etwas von "notice confirm" - einfach lesen, die Antwort steht im Text.

Gruß Christoph
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: der-Lolo am 20 April 2015, 07:13:40
Sinn macht der apt-get mechanismus schon, es werden sehr viele notwendige Perl Pakete mitinstalliert die "später" gebraucht werden... Und das ganz ohne knochenbrecherei mit cpan.
Diese hier ist aber nicht die einzige meldung das es aktuell probleme gibt - schade das Betateilchen nicht mehr hilft.
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: rudolfkoenig am 20 April 2015, 07:50:04
debian.fhem.de zeigt auf betateilchens server, ich meine er stellt das Paket taeglich aktualisiert zur Verfuegung.
Die zum bauen benoetigte Daten sollten nach contrib/DEBIAN eingecheckt sein.
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: maf am 20 April 2015, 09:52:05
Ich habe mir den Inhalt des Binärpakets fhem-5.6.deb angeguckt. Das Paket selbst und alle Dateien, die es enthält, sind vom 09.11.2014. Seitdem hat also wohl keine Aktualisierung stattgefunden.

Unter contrib/DEBIAN finden sich leider nur diejenigen Kontrolldateien, die für die Installation und Deinstallation des Pakets erforderlich und deshalb in seinen Kontrollsubarchiv DEBIAN ohnehin enthalten sind: conffiles, control, postinst, postrm und prerm. Zur Paketerstellung werden noch weitere benutzt, die dann im Quellpaket landen. Es wäre deshalb sehr schön, wenn das auch verfügbar wäre. Vermutlich schon ausreichend (und viel kleiner) wäre der Inhalt des Unterverzeichnissses debian aus dem Projekt.

Bei einem Test des Pakets unter Ubuntu 14.10 hatte ich übrigens einen Fehler in prerm, der die Deinstallation verhinderte. Auslöser war der Aufruf von pkill im Startskript.
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: der-Lolo am 20 April 2015, 09:59:35
Der 09.11 sollte der Zeitpunkt sein als auf 5.6 gewechselt wurde, das ist also OK so.
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: rudolfkoenig am 20 April 2015, 10:33:49
Auf debian.fhem.de ist auch ein nightly build beschrieben, das meinte ich. Getestet habe ich es allergings nicht.
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: maf am 20 April 2015, 12:52:30
Das habe ich missverstanden. Im Binärpaket unter nighly sind tatsächlich alle (!) Dateien vom heutigen Tage, lt. Packages (https://debian.fhem.de/nightly/Packages) aktuell Version 5.6.8456.

Bliebe noch die Frage nach dem Quellpaket ...  ;)
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: der-Lolo am 20 April 2015, 12:56:20
Sorry maf,
ich glaube das wird schwierig werden - der ersteller des Pakets ( Betateilchen ) hat vor kurzem das Forum verlassen, ich glaube nicht das er hier noch mitliest...
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: maf am 20 April 2015, 13:57:15
Dann habe ich den goldenen Moment wieder mal verpasst  ;)

Kann ich vielleicht hoffen, dass rudolfkoenig, der ja wegen des Servers noch einen Draht zu betateilchen haben sollte, bei Gelegenheit mal bei ihm nachfragt oder den Kontakt zu ihm für mich herstellt?
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: Bennemannc am 20 April 2015, 20:07:49
Hallo,

interessant an dem Paket ist doch eigentlich nur das Startscript. Ansonsten wird der gesamte Trunk nach /opt/fhem kopiert.
Das müsste man doch hinbekommen - wer hat das Startscript zur Hand (ich bin leider auf einer Fritte unterwegs).

Gruß Christoph
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: der-Lolo am 20 April 2015, 20:19:32
Ich habe vor etwa 3 Wochen ein Versuchs System komplett neu auf debian.fhem.de heraus installiert, wenn das script irgendwo liegt, mir jemand sagt wo - kann ich es zur Verfügung stellen.
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: Bennemannc am 20 April 2015, 21:10:31
Hallo,

mal so aus dem Bauch heraus - schau mal ob es in /etc/init.d eine Datei mit dem Namen fhem gibt. Dann poste mal was darin steht.
Alternativ kannst Du auch alles mit fhem suchen. find / -name fhem* zeigt Dir alle Dateien, die mit fhem beginnen inclusive Pfad dahin.

Gruß Christoph
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: der-Lolo am 20 April 2015, 21:22:33
In init.d wurde ich fündig...

root@BBB:/etc/init.d# cat fhem
#!/bin/sh
# description: Start or stop the fhem server
# Added by Alex Peuchert

### BEGIN INIT INFO
# Provides:             fhem.pl
# Required-Start:       $local_fs $remote_fs
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    FHEM server
### END INIT INFO

set -e
cd /opt/fhem
port=7072

if test "$2" != "noaptmark"; then
  apt-mark hold fhem > /dev/null
fi

case "$1" in
'start')

        echo "Starting fhem..."

# if you need to start hmland for use with
# Homematic, please start the hmland daemon
# like this (please use correct path and port,
# depending on your installation!)
#
#       /opt/hmcfgusb/hmland -d -p 1234 -r 0
#

        perl fhem.pl fhem.cfg

# if you want to use configDB for configuration,
# use this command to start fhem:
#
#       perl fhem.pl configDB
#
# and remove/comment the above line including fhem.cfg

        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."

# if you want to stop hmland during fhem stop:
#       pkill hmland

        pkill -U fhem perl
        RETVAL=$?
        ;;
'status')
        cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "fhem is not running"
        else
                echo "fhem is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | status }"
        RETVAL=1
        ;;
esac
exit $RETVAL
root@BBB:/etc/init.d#


Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: Bennemannc am 20 April 2015, 21:48:32
Hallo,

na dann hätten wir ja schon einmal das Script. Für hmland muss man nur eine Zeile auskommentieren.
Jetzt fehlt noch der Befehl, mit dem man diese Datei im runlevel 3 startet. Hab mal gegeoogelt - das ist hier: https://wiki.debian.org/de/RunLevel beschrieben.
Dann müsste also nur noch der Trunk nach /opt/fhem kopiert werden.

Gruß Christoph
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: betateilchen am 04 Mai 2015, 19:57:16
Zitat von: der-Lolo am 20 April 2015, 12:56:20
ich glaube nicht das er hier noch mitliest...

doch, tut er... aber er versteht nicht, was mit "Quellpaket" gemeint ist und warum es eine Notwendigkeit gibt, das Startskript manuell in irgendeinen Runlevel einzutragen.

Dafür gibt es in Debian Distributionen beispielsweise den Befehl "update-rc.d" dessen Manpage sicher weiterhilft. Dieser Befehl wird übrigens bei der Installation des .deb Paketes von der Paketverwaltung automatisch aufgerufen, womit /etc/init.d/fhem danach in allen Runlevel automatisch vorhanden sein sollte.
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: maf am 05 Mai 2015, 11:25:37
Hallo,

ein Debian Quellpaket besteht aus mehreren Dateien. Die zentrale Datei ist eine Textdatei mit der Endung .dsc. Sie enthält alle Verwaltungsinformationen, u.a. Angaben zur Version, zu Build-Abhängigkeiten, zu den zugehörigen Binärpaketen sowie eine Liste der weiteren Dateien mit Prüfsummen. Meist existieren darüberhinaus eine Archivdatei mit der Endung .orig.tar.gz, welche die komprimierten ursprünglichen Quelldateien der Anwendung enthält, und eine Archivdatei mit der Endung .diff.gz, welche die komprimierte Beschreibung der Debian-spezifischen Änderungen an den ursprünglichen Quelldateien enthält. Bei originären Debian-Anwendungen, sog. nativen Packeten, gibt es keine Datei mit Änderungen und nur ein einfaches Archiv der Quelldateien (.tar.gz).

Ein Debian Binärpaket ist dagegen eine komprimierte Archivdatei, in der ausführbare Dateien, Konfigurationdateien, Dokumentation und Copyright Information zusammengefasst sind. Der Dateiname hat üblicherweise die Endung .deb. Allerdings können zu einem Quellpaket mehrere Binärpakete gehören.

Das Zusammenspiel der verschiedenen Dateien zeigt folgendes Bild, das ich aus einer Präsentation von Lars Wirzenius (http://liw.iki.fi/liw/talks/debian-packaging-tutorial.pdf) entnommen habe:

(http://forum.fhem.de/index.php?action=dlattach;topic=36479.0;attach=31783;image)
Titel: Antw:FHEM Quellpaket für Debian?
Beitrag von: betateilchen am 05 Mai 2015, 16:33:00
Ok, dann ist Deine Frage ganz leicht zu beantworten: Es gibt kein Quellpaket.

Das bereitgestellte Debian Repository soll ausschließlich die Erstinstallation dadurch erleichtern, dass zusätzlich benötigte perl-Pakete automatisch mit installiert werden. Deshalb unterliegt das fhem Paket auch keinerlei Update-Mechanismus, der von der Paketverwaltung Deines Betriebssystems genutzt werden könnte. Aber das ist doch auch alles bereits mehrfach hinreichend dokumentiert und hier im Forum erklärt worden, seit es das Repository überhaupt gibt.

Wie das .deb Paket (egal ob stable oder nightly) gebaut wird, findest Du im Makefile, das eigentlich in jeder fhem-Installation vorhanden sein sollte.
Die Steuerdateien für das Paket (postinst, prerm usw) findest Du im SVN unter contrib/DEBIAN. Es ist alles somit alles offengelegt, mit Ausnahme der Paketgenerierung und Signierung auf meinem Server. Aber das sind zwei Standardprozesse, die zigfach im Internet zu finden sind, auch da gibt es keine Geheimnisse.