programm zum erstellen einer fileliste zum schreiben von specfiles

tuxlover

tuxlover

Der den Tux knuddelt
hallo allerseits,

so nachdem ich mich weiter mit dem schreiben von shellscripten beschäftigt habe, habe ich nun auch mein erstes shellscript geschrieben, welches auch sinnvoll ist. es heißt rpmgrepper und erstellt eine fileliste in /usr/src/packages/FILELIST zum schreiben für specfiles.

das programm fragt nach optionen für configure und bietet konditionen für den bau an, falls kein make oder configure vorhaneden ist. danach wird das rpm mit checkinstall installiert. hier kann man dann noch ein paar optionen übergeben, falls man das fertige rpm behalten möchte. anschließend wird das rpm installiert und die fileliste ausgelesen und wieder deinstalliert.

Nun möchte ich aber noch ein paar vernbesserungen am script vornehmen:
(1) zum auffinden des temporär erzeugten rpms wird grep verwendet, was den nachteil hat, dass das verzeichnis leer sein muss bzw. nur ein rpm beinhalten darf. wenn mehr als ein file im temporären verzeichnis liegt gibt das ein fehler und die fileliste wird unbrauchbar. gibt es eine elegentare methode die fileliste zu erstellen? mein script benutzt einen trick, der namen im verzeichnis etwa rpm-102.i686 auf rpm verkürzt und dann mittels rpm -ql > fileliste die liste erstellt.

(2) shellscripte sind ziemlich langsam in der laufzeit. welche programmiersparche eignet sich um das script in einer anderen sprache neu zu schreiben?

(3) wie kann ich das script so schreiben, dass der user optioen an das script geben kann? etwa rpmgrepper --srpm <rpm.src.rpm> und dann in diesem fall die liste aus dem src.rpm erstellt wird. das script soll also tar.gz, tar.bz2 oder src.rpms als prameter übergeben bekommen.

(4) gibt es eine einfachere möglichkeit die liste zu bekommen, als über den umweg das rpm erst erstellen und installieren zu müssen?

bitte keine vorträge zu man bash man rpm man rpmbuild oder man checkinstall
es geht hier lediglich um ein paar ideen.

gruß tuxlover
 
Hallo
Ich will mal versuchen dir zu antworten.
1) Da ich mit rpm wenig am Hut habe - bin eiserner Debiannutzer - kann ich zu Punkt 1 micht sehr viel sagen. Allerdings wenn dein Problem ist, den vollen namen des rpm- Paketes zu finden, ist eventuell eine find option mit anschließendem file die Lösung. Ich hoffe ich habe dein Anliegen richtig verstanden.

2) Da wäre perl eine gute Alternative. Nicht umsonst ist perl für fast alle Linuxe essentieller Bestandteil der Installation.

3) getopt ist hier wohl die richtige Wahl.

4) siehe 1) Zu wenig Kenntnisse über rpm und nicht unbedingt den Drang mich da einzuarbeiten. Bleibe nun mal lieber bei meinem Debian. ;)

Gruß Wolfgang
 
danke für deine antwort.

wo findet man howtos über perl?
 
danke für deine antwort.

wo findet man howtos über perl?

Das Beste ist immernoch die orginal website:
http://www.perl.org/

Aber wenn du eine Suchmaschine deiner Wahl bemühst, findest du sehr viel. Auch in deutsch.
Immerhin ist perl schon etwas älter und hat sich gut entwickelt.
Trotz php hat perl kein Nischendasein.

Gruß Wolfgang
 
vielen dank für eure antworten. hier habe ich mal das fertige script. wäre nett wenn dazu noch ein paar kritikpunkte und verbesserungsvorschläge kommen.

gruß tuxlover
 

Anhänge

  • rpmgrepper.sh.txt
    18,3 KB · Aufrufe: 9
Zuletzt bearbeitet:

Ähnliche Themen

[Debian Lenny] Dateirecht Problem

rsync: Quelle größer als Ziel => "Archiv" aufteilen/splitten

Script zur erstellung einer Softwaredatenbank für Quellcode

[HowTo] Debian Installation mit Installer über SSH

Xubuntu - AVR32-linux crosscompile sqlite

Zurück
Oben