image plugin (ausführbare pogramme via link)?

  • mal ne vermutung, ohne
    export PATH=....


    wird der geänderte PATH nicht in folge/child shells übernommen.
    versuch mal mit export :)
    (oder --prefix=/usr *g*)

    --
    viel spass am geraet
    ---
    AMD1100/512 # 200GB-VDR # 220GB-DIVX #
    1.3 Siemens # 2.1 Haupauge(primary) # RH 7.3

  • Zitat

    Original von memed
    mal ne vermutung, ohne
    export PATH=....


    wird der geänderte PATH nicht in folge/child shells übernommen.
    versuch mal mit export :)
    (oder --prefix=/usr *g*)


    Hi


    Auch schon probiert, da es sich wirklich nur um die beiden Sachen handelt, setze ich einfach links /usr/local/bin/PROC -> /usr/bin/PROC, hilft ja alles nix.


    Villeicht geht ja auch ein Option von "stow" (-d/-t), habe mir das ganze noch nicht so richtig angeschaut:



    Im Notfall giebts "XSTOW" allerdings muß man für das Dingens eine Schulung besuchen :-), die Optionen sind da umfangreicher.


    MFG Ronny


  • Interessant,
    ich hab mir mal gerade im Commandoaufruf mp3-plugin (mount.sh)
    und im image-plugins (convert.sh) angeschaut.


    mp3) bool res = (system(cmd) == 0);
    vis
    image) execle("/bin/sh", "sh", "-c", cmd, 0, environ);;


    nur sagt man 3 system
    system() führt ein Kommando, das in string spezifiziert ist, durch
    Aufruf von /bin/sh -c string aus und kehrt zurück wenn das Kommando
    beendet ist.


    also theorische auf dem selben weg, und es kommt "sh" als gemeinsamer Shellinterpreter zu einsatz (sh => bash)


    Testmal bitte in player-image.c (0.0.8) (Zeile 353 / 399 / 519) einen geänderten Shellstart


    -execle("/bin/sh", "sh", "-c", cmd, 0, environ);
    +system(cmd);



    Hoffen wir mal das es damit klappt...
    Andreas

  • Hi


    Müßte man das extra etwas ändern im (IMAGE/TRANSFRON) Plugin?


    Mit STOW gehts wohl auch über "TARGET":



    Code
    ~ which faac
    /usr/bin/faac


    Hat nur einen Nachteil, bei "DEINSTALL" muß man ebenfalls den PATH angeben:


    Code
    ~ ../VDRtmp/setup/src/stow --verbose=3 --target=/usr -D faac


    Aber das wäre wohl schon einmal eine Lösung, leider keine "TRENNUNG" (SYSTEM/VDR) aber da es nur sehr weniege Sachen betrifft .....


    MFG Ronny

  • Zitat

    Original von anonymous
    Müßte man das extra etwas ändern im (IMAGE/TRANSFRON) Plugin?


    Ich will nur ausschliessen das es eine Bug im Quellcode ist,
    wenn es Bug ist wäre dies zumindest in der nächsten Version
    des Image-Plugin behoben...


    Wenn sich das Verhalten des Image-Plugins nicht ändert
    dann liegt es doch am aufgerufen Shell-Script :rolleyes:


    und der transfron-Autor freut sich bestimmt auch über eine Bugreport ;)


    Cu,
    Andreas

  • also wenn des mit dem 2-zeilen patch klappt mach ich sofort ne 0.0.8a :)


    ansonsten ne super idee endlich mal den /usr/local schmonz zu nutzen, ich wollte den ja schon mehrmals per general dekret aushebeln (cp -R /usr/local/bin /usr/bin;mount --bind /usr/bin /usr/local/bin) ... ;)

    --
    viel spass am geraet
    ---
    AMD1100/512 # 200GB-VDR # 220GB-DIVX #
    1.3 Siemens # 2.1 Haupauge(primary) # RH 7.3

  • Hallo,
    ich hoffe ich habe es nicht überlesen - hier hat noch keiner gesagt das es erstmal wichtig ist unter welchem user 'vdr' läuft - etwa root :(
    ...denn es gibt unterschiedliche $PATH für user und root (oft eingestellt in /etc/profile).


    Ebenfalls beachten: ein $PATH der für einen user gesetzt wird wenn er eine (bash-)Shell startet muss nicht /ist nicht der gleiche der einem Prozess zur Verfügung steht der unter diesem user im Hintergrund läuft.


    Ich hoffe ich konnte die Problematik richtig rüberbringen.

    Gentoo Linux 6.1.46, VDR 2.6.4 elchie, epgsearch, xineliboutput-2.2.0 + xvdr, vnsiserver-1.8.3 (mt KODI 19.5)

    vorher

    Gentoo Linux 5.10.52, VDR 2.4.7 (liemikuutio), burn, radio, streamdev-server, text2skin, timeline, xineliboutput-2.2.0 + xvdr


    SILENTMAXX HTPC, ASUS P7P55D-E, INTEL i5-660, 4G RAM, GeForce GT710, 2 x Hauppauge NOVA-HD-S2

  • Hi


    Ich Teste es ein wenig später, kannst Du nochmal genau die Änderung posten?


    das:
    -----------
    execle("/bin/sh", "sh", "-c", cmd, 0, environ);


    ersetzen durch das:
    ------------
    system(cmd);


    War das richtig?


    ____________________


    Jedenfalls gerade mal die Mjpegtools mit stow installiert, link ist un /usr/bin, damit funktionierts.


    Beim ISND Plugin ist auch etwas "FAUL" installiere ich mit --prefix=/usr (mad) bekommt man es übersetzt, ohne prefix (entpricht /usr/local) gehts nicht, message -lmad wird nicht gefunden, möchte meinen im mp3/mplayer plugin wird ebenfalls -lmad benötigt.


    Da ist es wiederum egal ob /usr/local oder /usr man bekommts übersetzt.


    MFG Ronny

  • Zitat

    Original von wols
    Hallo,
    ich hoffe ich habe es nicht überlesen - hier hat noch keiner gesagt das es erstmal wichtig ist unter welchem user 'vdr' läuft - etwa root :(
    ...denn es gibt unterschiedliche $PATH für user und root (oft eingestellt in /etc/profile).


    Ebenfalls beachten: ein $PATH der für einen user gesetzt wird wenn er eine (bash-)Shell startet muss nicht /ist nicht der gleiche der einem Prozess zur Verfügung steht der unter diesem user im Hintergrund läuft.


    Ich hoffe ich konnte die Problematik richtig rüberbringen.


    Hi


    Habs erst einmal nur unter root probiert, aber da es nur einiege Programme betrifft, Denke ich das es auch für den User gilt.


    Später mal testen, aber vorschreiben kann man das ja niemanden ob root oder user, manche Programme laufen auch nur root (weiß nicht ob es noch so ist) (bitstream/grafiklcd)?


    MFG Ronny


  • Genau, das war mein gedanke ;)


    Mit folgende zwei zusätzlichen Zeilem wird das aufrufen Enviroment angenzeigt...

    Code
    +for (int i=0; environ[i]!=0; i++)
    +            fprintf(stderr,"env= %s\n",environ[i]);
      execle("/bin/sh", "sh", "-c", cmd, 0, environ);


    aber das sieht man auch mit
    XXX-PID-DES-VDR-XXX -> ps -C vdr
    +
    cat /proc/XXX-PID-DES-VDR-XXX/environ
    also cat /proc/1234/environ


    Andreas

  • Zitat

    Original von memed
    also wenn des mit dem 2-zeilen patch klappt mach ich sofort ne 0.0.8a :)


    ansonsten ne super idee endlich mal den /usr/local schmonz zu nutzen, ich wollte den ja schon mehrmals per general dekret aushebeln (cp -R /usr/local/bin /usr/bin;mount --bind /usr/bin /usr/local/bin) ... ;)


    Hi


    Ja mit "stow" ist alles getrennt, auch mal frisch installiert unter /usr/local nur leere verzeichnisse, würde bedeuten:


    rm -rf /usr/local


    Und alles ist "clean", dazu kommt noch das man die Source Ordner nicht benötigt, die sonnst für "make uninstall" zwingend waren, soviel zur Theorie, alles geht aber nicht mit "stow" automake/autoconf ist /usr zwingend.


    Versionen "switchen" ist wohl das beste, dazu kann man ebend noch so Sachen einbauen, wie INSTALLATION von neuen Sachen ohne ERFOLG -> behalte alte Sourcen in (../stow).


    Eine komplette Installation kann man wirklich bequem sichern/einspielen.


    Schaue mal beim FRANZOSEN, da habe ich zum ersten mal von stow gelesen, da auf Debian.


    MFG Ronny


  • Mein VDR-1.33 läuft auch noch wegen (älterem) grafiklcd unter root :(


    Aber '/usr/bin' bzw. besser '/user/local/bin' (und Links von dort) sollten für root und user OK sein.
    Schreib' bitte nochmal: WAS wird nicht gefunden, WIE genau wird es VON WO als root aufgerufen und WO LIEGT es tatsächlich bzw. von WO zeigt ein Link WOHIN?


    Sollten wir noch herausbekommen :)

    Gentoo Linux 6.1.46, VDR 2.6.4 elchie, epgsearch, xineliboutput-2.2.0 + xvdr, vnsiserver-1.8.3 (mt KODI 19.5)

    vorher

    Gentoo Linux 5.10.52, VDR 2.4.7 (liemikuutio), burn, radio, streamdev-server, text2skin, timeline, xineliboutput-2.2.0 + xvdr


    SILENTMAXX HTPC, ASUS P7P55D-E, INTEL i5-660, 4G RAM, GeForce GT710, 2 x Hauppauge NOVA-HD-S2

  • Hi


    Das Transfron Plugin, findet sämmtliche "Binärys" nicht wenn sie unter /usr/local/bin liegen, folgende fallen mir gerade ein:


    transcode
    mpeg4ip
    vcdimager
    faac


    (es sind aber mehr)


    Unter /usr/bin geht alles seinen Gang, ist somit auch "wurscht" ob Sie als LINK oder "REAL" vorhanden sind.


    MFG Ronny

  • Hm, dann sollte es an der "Art liegen wie das Plugin aufruft"?
    Wird da eventuell mit absoluten Pfaden gearbeitet?


    Funktioniert es wenn das Programm unter '/usr/local/bin/proggi' liegt und ein Link von '/usr/bin' dorthin zeigt?

    Gentoo Linux 6.1.46, VDR 2.6.4 elchie, epgsearch, xineliboutput-2.2.0 + xvdr, vnsiserver-1.8.3 (mt KODI 19.5)

    vorher

    Gentoo Linux 5.10.52, VDR 2.4.7 (liemikuutio), burn, radio, streamdev-server, text2skin, timeline, xineliboutput-2.2.0 + xvdr


    SILENTMAXX HTPC, ASUS P7P55D-E, INTEL i5-660, 4G RAM, GeForce GT710, 2 x Hauppauge NOVA-HD-S2

  • Wird da eventuell mit absoluten Pfaden gearbeitet?
    ---------
    Nein das ist ja das kommische.


    Funktioniert es wenn das Programm unter '/usr/local/bin/proggi' liegt und ein Link von '/usr/bin' dorthin zeigt?
    ---------
    Müßte ich mal testen, aber beim image plugin funktionierts so, ich denke mal als link in /usr/bin wirds das gleiche sein.


    Code
    grep faac *
    INSTALL:- faac
    videomp4.cpp:   // TODO: currently faac always segfaults at the end
    videomp4.cpp:   command = "faac -m4 -pLC -b128 " + tempWav + " " + tempAac;


    Im Log steht dann einfach nur exec "$command" oder so ähnlich, gerade ein "nacktes image" eingespielt, kanns auch noch nicht probieren.


    MFG Ronny

  • Hallo


    Ich weiß nun auch nicht ob das Sinn macht Plugins wegen der Geschichte zu ändern.


    Da es nun einmal die Option "--target=/usr" in "stow" giebt, ist es leichter, die paar Programme auch so zu installieren.


    Das der Link in /usr/bin liegt, meine das macht ja letztendlich auch nichts, sind mit stow installiert, und man bekommt sie letztendlich auch sauber wieder runter.


    Soviel ist es nicht "vcdimager/transcode/mpeg4ip/faac/mjpegtools/ogmtools".


    Falls doch was schief geht, einen "DEADLINK" findet man doch immer.


    MFG Ronny

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!