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
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
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.
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.
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.
Der 09.11 sollte der Zeitpunkt sein als auf 5.6 gewechselt wurde, das ist also OK so.
Auf debian.fhem.de ist auch ein nightly build beschrieben, das meinte ich. Getestet habe ich es allergings nicht.
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 ... ;)
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...
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?
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
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.
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
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#
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
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.
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)
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.