Anpassen der configure-Anweisung in regina-rexx-3.9.7-1-src.rpm

Hinweis: In dem Thema Anpassen der configure-Anweisung in regina-rexx-3.9.7-1-src.rpm gibt es 9 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Zuerst mal ein frohes Osterfest an alle Forummitglieder.


    Ich hoffe es kann mir hier jemand einen Tipp zur richtigen Vorgehensweise geben.


    Ich möchte aus dem regina-rexx-3.9.7-1-src.rpm mit rpmbuild --rebuild die erforderlichen Regina-REXX-RPMs bauen, weil in allen bisher gefunden Regina-REXX-rpms das libregutil fehlt und in den StandrdRepos von Leap 16.0 Regina-Rexx nicht mehr vorhanden ist. Das Source-RPM habe von Regina Rexx Interpreter runtergeladen.


    Das bzw. die RPMs konnte ich testweise mit rpmbuild --rebuilt zwar erzeugen, aber es wurde ohne das libregutil gebaut.


    Ich hab daher mir das src.rpm mir ARK angesehen und festgestellt, dass bei dem darin enthaltene regina-rexx.specs in der ./configure Zeile der Parameter --with-regutil fehlt.


    Wie gehe ich da korrekterweise vor, um die configure-Zeile zu ergänzen?


    Ich hab zwar früher schon mal kleiner Übungen von C-Programmen kompiliert, aber noch nie ein RPM gebaut und bin an der Stelle Neuling.


    Ich will meine REXX-Scripte für Leap 16.0 nicht alle auf eine andere Scriptsprache umbauen, sondern lieber dann die Regina-REXX-RPMs unter Leap 16.0 so erzeugen, dass ich meine REXX-Scripte weiterverwenden kann.

    EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 325919 haftet ausdrücklich der jeweilige Autor: Igel1954

  • Hallo Luigi,


    das Repo hatte ich gar nicht auf dem Schirm. Ich hab mir gerade mal das Regina-Rexx-RPM aus diesem Repo angeschaut. Das fehlt das addon/libregutil auch.

    Die Struktur ist auch etwas anders, keine /usr/lib64 . Hier sollte das Unterverzeichnis addons mit dem libregutil liegen. Die libregina* in /usr/lib64 fehlen auch.


    Bei Regina-REXX Version 3.9.1 legt das Addon-Verzeichnis noch unter /usr/share/Regina-REXX/, bzw. ist es beim Upgrade aus einer verherigen Leap15.x erhalten geblieben und ich nur den Link auf das libregutil neu angelegt.


    Ich hab mit Sicherheit nicht alle, außerhalb des OSS-Repos, gebauten Regina-REXX-RPMs gefunden. Daher wollte ich es aus dem src.rpm selber bauen.


    Ich hab mir dafür extra meine virtuelle Maschine nochmal auf Leap 15.6 zurück gesetzt, um das Bauen des RPM zu probieren.

    Wenn ich es unter 15.6 schaffe, dann will ich die virtuelle Maschine wieder auf 16.0 upgraden und das ganze dann noch mal durchführen. Das dann erzeugte RPM wandert dann auf meinen DesktopPC, nachdem ich dann auf 16.0 gehoben habe.


    Außerdem lerne ich gerne nach was dazu und wäre dann vor allem bei REXX in der Lage mit aus der aktuellen src-Version die entsprechenden RPMs zu erzeugen. Ich muss dann n icht bei jedem Release-/Versionswechsel nach dem passenden Regina-REXX-RPM suchen.


    Was ich noch nicht probiert habe, aus regina-rexx-3.9.7.tar.gz ein RPM zu bauen. Ich hab mir zwar von Mistral.ai mal eine Specs-Datei für Opensuse erstellen lassen, weiss aber noch nicht, ob das damit funktioniert.

    Ich müsste hier wahrscheinlich auch den configure-Propzess für Bauen der libregutil ergänzen. Ich hab da im Netz noch keine passende Doku für den Aufbau eines SPECS-File gefunden, mit dem ich was anfangen kann.


    Ich komme halt aus der IBM-Großrechnerwelt, und bin hier froh, wenn ich mein OpenSUSE mit meinem bisschen Linux-Wissen am laufen halte

    EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 325921 haftet ausdrücklich der jeweilige Autor: Igel1954

  • Füge es im spec in Zeile 98 in der %build Section am Schluß ein:

    Code
    %build
    ./configure --prefix=%{_prefix} --mandir=%{_mandir} --with-addon-dir=%{_libdir}/%{name}/addons --sysconfdir=%{_sysconfdir} --with-regutil
    make

    2 Mal editiert, zuletzt von Sauerland ()

    Für den Inhalt des Beitrages 325922 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Dann kommt das dabei heraus:

    Code
    rpm -ql /home/stephan/rpmbuild/RPMS/x86_64/libregina3-3.9.7-250327.1.x86_64.rpm
    /usr/lib64/libregina.so.3
    /usr/lib64/libregina.so.3.9
    /usr/lib64/regina-rexx
    /usr/lib64/regina-rexx/3.9.7
    /usr/lib64/regina-rexx/3.9.7/libregutil.so
    /usr/lib64/regina-rexx/addons
    /usr/lib64/regina-rexx/addons/libregutil.so

    Für den Inhalt des Beitrages 325923 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Sauerland

    Das hab ich schon vergeblich versucht. Ich bekomme das spec-file im src.rpm nicht editiert, bzw. hab keine Ahnung wie ich den File im RPM korrigieren kann, ohne das RPM zu zerstören.


    Ich hab den File aus src.rpm mit ARK entpackt, kann ihn dann editieren, bekomme ihn aber nicht wieder zurück ins src.rpm. Gibt es da eine spezielle Möglichkeit im src.rpm zu editieren, oder ist das egal, dass es auch noch einmal außerhalb des src.rpm liegt?

    EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 325924 haftet ausdrücklich der jeweilige Autor: Igel1954

  • Das hab ich schon vergeblich versucht. Ich bekomme das spec-file im src.rpm nicht editiert, bzw. hab keine Ahnung wie ich den File im RPM korrigieren kann, ohne das RPM zu zerstören.

    Installiere:

    Code
    zypper in rpm-build

    Dann als User in deinem /home ausführen:


    Code
    rpmbuild --rebuild --noclean /Pfad/zu/dem/src.rpm

    Das erstellt in deinem /home ein Verzeichnis rpmbuild, und in diesem wieder die entsprechenden Unterverzeichnisse.


    Jetzt entpackst du das src.rpm und kopierst die spec-Datei nach /SPEC und die tar.gz nach /SOURCES


    Die spec-Datei dann editieren und im Verzeichnis /SPEC als User aufrufen:

    Code
    rpmbuild -ba regina-rexx.spec

    Die entstehenden rpm liegen dann in /RPMS/x86_64


    Wenn du dir dies /home/USERNAME/rpmbuild/RPMS als Repo einbindest, kannst du ganz einfach per Paketmanager installieren.

  • Das rpmbuild --rebuild ist jetzt nur dazu da, um die entsprechenden Verzeichnisse zu erstellen.

    Es baut natürlich dann auch wieder das Paket, natürlich ohne die Änderungen.


    Wenn in der spec-Datei nichts am Namen oder der Version/Release änderst, wird dies gebaute rpm bei einem neuen Bau einfach ersetzt.


    Und zum Verständnis:

    src.rpm ist nicht rpm.


    src.rpm enthält nur die Sourcen (tar.gz, Patchdateien, changelog Datei, evtl. configs usw) sowie die Datei zum Bau des rpms, die spec-Datei.

  • Danke Sauerland,


    sorry, dass ich jetzt erst reagiere, aber ich muss eine Zwangspause vom Bildschirm einlegen. Ich soll bis zur Augen-OP (grauer Star) maximal 1 Std. am Tag am Bildschirm sitzen, die Ziet am Smartphone zählt auch. Ihc hatte es die letzten Tage mit der Bildschirm zeit etwas übertrieben.


    Der Unterschied zwischen dem RPM mit den Sourcen und dem RPM mit den Binaries war mit eigentlich schon klar.


    Das ist das SRC.RPM auspacken und dann den SPEC-File und den Source-file in die entsprechenden Unterverzeichnesse kopieren und dann bauen kann, ist mir gestern nicht mehr in mein Hirn gekommen. Ebenso die unterschiedliche Verwendung von rpmbuild --rebuild und rpmbuild -ba war gestern wohl für mein vernageltes Hirn nicht mehr greifbar.


    Jetzt weiß ich aber, wie ich "mein" REXX unter Linux gebaut bekomme. Werde ich in den nächsten Tagen dann mal richtig in Angriff nehmen.

    EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 325935 haftet ausdrücklich der jeweilige Autor: Igel1954

  • rpmbuild --rebuild

    Damit kannst du an jeder Stelle in deinem /home Verzeichnis einsrc.rpm zu einem installierbaren rpm bauen, genutzt werden die Sourcen aus dem src.rpm ohne Änderung.


    Code
    rpmbuild -xx

    -xx können verschiedene Parameter sein, sie man rpmbuild

    Damit baust du aus den Sourcen mit der spec-Datei ein installierbares rpm, vorher kannst du die Dateien natürlich bearbeiten (spec sowie alle Sourcen). Allerdings müssen bei dieser Art des Baus die Voraussetzungen passen (Verzeichnisse erstellt usw.).