User Scripts Plugin for DreamOS

  • Mal schnell ans DreamOS angepasst.


    Und weil mir die Fragen per PM auf den Wecker gehen wie im OE 2.2 ein userscript aussehen sollte, habe ich als Beispiel zur Inspiration die dccamd angehängt.

  • Hi gutemine,


    kannst Du mir bitte sagen wie du die .deb pakete erstellst dass die Version und Processor Angabe mit im namen ist. Bzw. ist das möglich dass die angaben aus dem control file genommen werden. Oder muss ich immer den Ordner wo die ganzen Files drin liegen schon immer so benennen dass das paket so heisst.


    ich baue die immer mit
    dpkg -b datei_ordner <<ENTER

  • wie das Paket heisst ist eigentlich egal, du kannst es auch dagobert.deb nennen, das apt-get nimmt rein das control file.


    Ich habe ein script das es immer umbenennt, im opkg-install script mach ich ja dann auch einfach nur ein rename analog zum alten ipk namen, genauso kannst du ein grep aufs control file machen und dir damit den Namen bauen.

  • ja, da sagst du was. grep und script für paket beuen , hab ja schon ganz vergessen dass ich mir die .ipk pakete mit nem script bauen lassen hab. Ich denk mir warum werden jetzt die angaben nicht aus der control genommen, und das war ja im script angegeben und lief automatisch bei den .ipk's


    Danke für den anstoss... Script umgeschrieben und alles läuft wieder


    Danke

  • Dann noch ne kurze frage. Aus welchem grund werden deine, oder auch meine .deb pakete vom SoftwareManager nicht erkannt ?


    Edit:
    ich hab mir jetzt noch per apt ein .deb packet von dmm geladen, dieses wird auch nirgendswo erkannt

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Capa ()

  • schau dir mal auf /usr/share/meta die plugin*.xml an, ohne die wirst du nicht in der Softwareverwalrung auftauchen, nicht umsonst bittet OoZooN immer diese mitzuliefern wenn er was auf den Feed legen soll.

  • Jo, will aber kein feed erstellen für den Softwaremanager. Ich meinte das manuelle installieren lokaler Erweiterungen über den Softwaremanager. Hatte aber schon im Merlin Forum festgestellt dass der Mediascanner keine .deb pakete erkennt.

  • Hallo Gutemine
    Kannst Du mir sagen, wenn Ich will was locales installieren, wie ist das richtige Befehl und wie machen wir das? Ich habe jetzt mein neue 7080 bekommen und da ist alles neu. Danke

  • jj jetzt bin Ich dran gekommen, trotzdem viele Dank :thumbup: dpkg -i /tmp/*.deb

  • Na ja, nach der Installation hat mir das gezeigt, dass irgendeine Plugins können nicht angezeigt werden. Mit dem original Image von DMM wird es nichts. ?(

  • Bei mir lauft nicht, installiert ist es, das kann Ich sehen, aber in Plugins ist nichts. 8|

  • Hallo Gutemine
    Ich bin schon dran gekommen, warum sehe nicht den User Script. Meine Sprache an der Box ist Tschechisch, wenn stelle Ich auf Deutsche Sprache, ist der User Script wieder da. ;(

  • wenn ich das richtig gesehen habe, fehlt die englische .mo und dann geht da wohl der fallback auf englisch nicht, wenn kein tschechisch vorhanden ....

    two beer or not two beer, that's the question!


    rotespony.jpg


    Mein kleines rotes Pony :love:

  • Dann sollten sich die > 60 Downloader ein bisschen schämen die kein entsprechendes Feedback gegeben haben ;(


    Aber egal, auf der ersten Seite ist die 5.0.2 da hat Englisch auch sein Sprachfile und statt start & enable (was nicht gehen kann weil man erst starten kann wenn es enabelt ist) gibt es jetzt enable & start.


    LG
    gutemine

  • bei mir schon.


    Du kannst aber auch automatisch starten und starten einzeln auswählen und dazwischen info machen und rebooten und dann mehr infos als geht nicht liefern ...


    Und wenn du sowieso rebootest reicht das automatisch starten ja auch ... mit start wäre nur wenn es auch gleich laufen soll.

  • Ich habe gerade ein frisches Image neu aufgesetzt,
    das Plugin installiert,
    Gui neu gestartet,
    Skript ausgewählt,
    automatisch starten & start augewählt,
    Box neu gestartet.


    Funktioniert alles so wie es soll.


    Haben wir aber auch schon mehrfach mit dem OoZooN und DMM Image getestet. ;)

  • Mit dem dccam user script plugin ipk das ich gepostet habe funktioniert das wunderbar und auch mit dem was freundliche Menschen mit diesem Beispiel gezaubert haben.


    Wenn du irgendwelches zusammengeschustertes Feuerwasser in den Indianer füllst ist er halt tot - egal welche Munition :D .

  • Das ist mal eine gute Sache gutemine, da ja sehr viele User mit den Abhängigkeiten noch zu kämpfen haben :thumbup:

  • Das ist schon richtig so apt ist im OE 2.2 auf opkg verlinked:


    Code
    1. s -al /usr/bin/opkg
    2. lrwxrwxrwx 1 root root 22 Jan 1 1970 /usr/bin/opkg -> /etc/alternatives/opkg
    3. ls -al /etc/alternatives/opkg
    4. lrwxrwxrwx 1 root root 17 Jan 1 1970 /etc/alternatives/opkg -> /usr/bin/apt-opkg
    5. ls -al /usr/bin/apt-opkg
    6. -rwxr-xr-x 1 root root 35176 Sep 29 20:08 /usr/bin/apt-opkg


    opkg update && opkg upgrade gehen also weiterhin, auch wenn das einen apt-get update && apt-get upgrade entspricht.


    Im Prinzip also egal, Hauptsache der code funktioniert:


    Code
    1. opkg update; dpkg -i /tmp/*.deb; apt-get install
  • es muss aber apt-get install -f -y --force-yes sein damit es so gut wie nur möglich funktioniert, um fehlende Abhängigkeiten ohne zu fragen nach zu installieren.


    Also die 5.0.5 weiter testen ... warum nur muss ich die Fehler selber finden ...

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von gutemine ()

  • Ich habe auf Basis der dccamd Vorlage ein anderes Plugin installiert.
    Die Verankerung in systemctl und der automatische Start mit dem User Script Plugin funktioniert fehlerfrei, ebenso das Starten und Stoppen .


    Die Applikation hat dann allerdings exakt alle 90 Sekunden einen Hänger/Freezer. Wenn ich die Applikation per SSH Shell direkt aufrufe bzw. mit & im Hintergrund laufen lasse, habe ich keine Aussetzer.


    Ich vermute in der systemctl Struktur gibt es einen Watchdog Timer, der alle 90 Sekunden prüft, ob der jeweilige Dienst noch funktioniert und dann einen Start/Stop Neu-Start auslöst. Das könnte eine Erklärung für die Freezes sein.


    Weis jemand, wo und wie ich das Verhalten ändern/abschalten kann?

  • erstens findet dir die freundiche Suchmaschine aus der Nachbarschaft in der Zwischenzeit schon genug Beispiele, ausserdem solltest du dir halt die Service Files auch mal ansehen und nicht nur kopieren.


    Die Man page vom systemd wird dir dann auch erklären wozu das Type=fork im Service file gut wäre:


    Code
    1. ...
    2. [Service]
    3. Type=fork
    4. ...
  • Perfekt!

    Zitat

    [Service]
    Type=forking


    war genau der richtige Hinweis. Herzlichen Dank für den Tip!


    Ich fand unter "freedesktop.org/software/systemd/man/systemd.service.html" zu dem Thema noch folgenden Hinweis:
    If set to forking, it is expected that the process configured with ExecStart= will call fork() as part of its start-up. The parent process is expected to exit when start-up is complete and all communication channels are set up. The child continues to run as the main daemon process. This is the behavior of traditional UNIX daemons. If this setting is used, it is recommended to also use the PIDFile= option, so that systemd can identify the main process of the daemon. systemd will proceed with starting follow-up units as soon as the parent process exits.


    Weisst Du, ob PIDfile=option hilfreich ist?
    Dann würde ich das ergänzen.