Moin,
ich habe hier ein paar kleine Änderungen fürs BS, damit ushare/djmount out of the box funktioniert. Evtl. kann das ja so in s git ?
upnp fixes
-
- Contributor
- Beiträge: 292
- Registriert: Donnerstag 21. November 2002, 05:32
- Box 1: AX HD51
- Image: tuxbox
upnp fixes
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: upnp fixes
Prinzipiell spricht da nichts dagegen, allerdings hätte ich noch ein paar fragen...
0004-etc-init.d-loadmodules-load-fuse-at-boot-time.patch:
Das sollte eigentlich das fuse-paket erledigen, da wird ein /etc/init.d/load-fuse mitgeliefert was genau das macht was der Name sagt: "modprobe fuse". Bei SPARK ist FUSE im Kernel eingebaut, somit kein Modul vorhanden. Loadmodules ist IMHO jedenfalls der falsche Platz, weil weder das fuse-paket noch das fuse-modul zwangsweise vorhanden sein muss.
0003-make-system-tools.mk-add-platform-name-in-vsftpd.con.patch:
würde ich leiht anders machen: "sed... > $(BUILD_TMP)/...; install $(BUILD_TMP)/... ...", das ist aber mehr kosmetisch, damit nicht im von git verwalteten Verzeichnis plötzlich generierte Dateien rumliegen. Ansonsten OK.
0002-scripts-target-djmount.init-small-fix.patch:
/media ist ja meist ein symlink nach /tmp/media, ausser der User hat es selbst anders konfiguriert (ein Verzeichnis /media angelegt). Insofern sehe ich den Vorteil nicht, das mkdir nach /tmp/media/upnp zu verlegen. /opt/pkg/bin/ ist im Pfad, deswegen würde ich das nicht extra angeben (das führt nur zu Problemen, wenn man das mal wieder aus /opt/pkg nach / zurückverschiebt). Der einzige Fall wo das nicht so ist wäre, wenn djmount das erste /opt/pkg-Paket ist, was installiert wurde, und danach nicht rebooted / neu eingeloggt wurde, aber wenn das in der Praxis ein Problem ist, würde ich das lieber anders lösen.
0001-make-extras.mk-create-a-at-least-working-conf-for-us.patch:
siehe 0003-...
Ausserdem würde ich da lieber den Hostname als die Plattform mit drin haben, sonst gibt es wieder keine Unterscheidung wenn man mehr als eine Box hat und es ist nicht viel gewonnen. Evtl. könnte man das ja im init script mit einbauen...
...und siehe da: das wird schon gemacht: der friendly name wird per kommandozeile gesetzt. hat deine Änderung da überhaupt noch einen Effekt?
EDIT: ich sehe grad, dass die fuse.ko dependency nicht funktioniert hat, habe ich gefixt. Im ushare init skript war ein ganz falscher Pfad (genau das Problem warum ich den vollen Pfad im djmount skript nicht haben will , das ist auch gefixt.
0004-etc-init.d-loadmodules-load-fuse-at-boot-time.patch:
Das sollte eigentlich das fuse-paket erledigen, da wird ein /etc/init.d/load-fuse mitgeliefert was genau das macht was der Name sagt: "modprobe fuse". Bei SPARK ist FUSE im Kernel eingebaut, somit kein Modul vorhanden. Loadmodules ist IMHO jedenfalls der falsche Platz, weil weder das fuse-paket noch das fuse-modul zwangsweise vorhanden sein muss.
0003-make-system-tools.mk-add-platform-name-in-vsftpd.con.patch:
würde ich leiht anders machen: "sed... > $(BUILD_TMP)/...; install $(BUILD_TMP)/... ...", das ist aber mehr kosmetisch, damit nicht im von git verwalteten Verzeichnis plötzlich generierte Dateien rumliegen. Ansonsten OK.
0002-scripts-target-djmount.init-small-fix.patch:
/media ist ja meist ein symlink nach /tmp/media, ausser der User hat es selbst anders konfiguriert (ein Verzeichnis /media angelegt). Insofern sehe ich den Vorteil nicht, das mkdir nach /tmp/media/upnp zu verlegen. /opt/pkg/bin/ ist im Pfad, deswegen würde ich das nicht extra angeben (das führt nur zu Problemen, wenn man das mal wieder aus /opt/pkg nach / zurückverschiebt). Der einzige Fall wo das nicht so ist wäre, wenn djmount das erste /opt/pkg-Paket ist, was installiert wurde, und danach nicht rebooted / neu eingeloggt wurde, aber wenn das in der Praxis ein Problem ist, würde ich das lieber anders lösen.
0001-make-extras.mk-create-a-at-least-working-conf-for-us.patch:
siehe 0003-...
Ausserdem würde ich da lieber den Hostname als die Plattform mit drin haben, sonst gibt es wieder keine Unterscheidung wenn man mehr als eine Box hat und es ist nicht viel gewonnen. Evtl. könnte man das ja im init script mit einbauen...
...und siehe da: das wird schon gemacht: der friendly name wird per kommandozeile gesetzt. hat deine Änderung da überhaupt noch einen Effekt?
EDIT: ich sehe grad, dass die fuse.ko dependency nicht funktioniert hat, habe ich gefixt. Im ushare init skript war ein ganz falscher Pfad (genau das Problem warum ich den vollen Pfad im djmount skript nicht haben will , das ist auch gefixt.
-
- Contributor
- Beiträge: 292
- Registriert: Donnerstag 21. November 2002, 05:32
- Box 1: AX HD51
- Image: tuxbox
Re: upnp fixes
Hab halt nur gemerkt, dass fuse bei coolstream nicht automatisch mitgeladen wurde, Danke für den Fix. Das mkdir hatte ich irgendwann mal nach /tmp/media/upnp verlegt, weil ich mir eingebildet hatte, das würde bei der Cooli besser so laufen. War aber jetzt eher ausversehen im Patch.
Die kosmetischen Änderungen an den conf Dateien sind wirklich unwichtig, da hast auch Recht. Mir gings nur darum, dass keine leere ushare.conf im opk landet, denn USHARE_IFACE, USHARE_DIR und USHARE_OVERRIDE_ICONV_ERR sind ja eigentlich fast immer gleich.
Die kosmetischen Änderungen an den conf Dateien sind wirklich unwichtig, da hast auch Recht. Mir gings nur darum, dass keine leere ushare.conf im opk landet, denn USHARE_IFACE, USHARE_DIR und USHARE_OVERRIDE_ICONV_ERR sind ja eigentlich fast immer gleich.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: upnp fixes
Was man machen könnte wäre eine ushare.conf dynamisch zu erzeugen, z.B. wenn festplatten erkannt werden vom mdev, dann irgendwo notieren "habe diese Festplatte dorthin gemounted", am besten mit ein wenig "KI" um den besten Namen (wenn vorhanden: Label, sonst sda/sdb/sdc oder so) auszuwählen.
Beim starten von ushare wird dann, wenn USHARE_DIR="" automatisch die liste der gefundenen Platten eingetragen. Sowas in der Art.
Funktioniert natürlich nicht, wenn nachträglich ne platte angesteckt wird, wobei man da den ushare ja mit neuer config reloaden könnte.
Ich werde mal bei Gelegenheit damit rumspielen, da automatisch einen möglichst sinnvollen Default hinzubekommen, damit das ohne Konfiguration trotzdem gut funktioniert. Explizite Konfiguration in der configdatei würde die Automatik dann ausser Kraft setzen.
Beim starten von ushare wird dann, wenn USHARE_DIR="" automatisch die liste der gefundenen Platten eingetragen. Sowas in der Art.
Funktioniert natürlich nicht, wenn nachträglich ne platte angesteckt wird, wobei man da den ushare ja mit neuer config reloaden könnte.
Ich werde mal bei Gelegenheit damit rumspielen, da automatisch einen möglichst sinnvollen Default hinzubekommen, damit das ohne Konfiguration trotzdem gut funktioniert. Explizite Konfiguration in der configdatei würde die Automatik dann ausser Kraft setzen.
-
- Contributor
- Beiträge: 292
- Registriert: Donnerstag 21. November 2002, 05:32
- Box 1: AX HD51
- Image: tuxbox
Re: upnp fixes
Das wäre natürlich die ultimative Lösung, klingt aber nach viel Arbeit.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: upnp fixes
So wild ist das nicht. Und es ist IMO die einzige Methode, mit der der ushare ohne manuelle Konfiguration funktioniert, weil das Verzeichnis muss immer konfiguriert werden (es sei denn es wird immer "/media" freigegeben, aber das könnte mit den ganzen symlinks auf die Platten verwirren).