[packman] hallo

Marco Maske maskemarco at netcologne.de
Mon Mar 26 22:03:44 CEST 2007


marco schrieb:
und Marco antwortet :-)
> Hallo, ich würd gern ein paar Packete für die opensuse 10.2
> machen. Weiß nicht ob Ihr da auch SVN Versionen unterstützt z.B.
> von SIM-IM oder synce als Beispiel.
>
> Wenn ihr howto's habt wie ihr die Packete am besten erstellt würd
> ich diese natürlich in gewünschter Weise erstellen.

Ich poste hier mal was mir Manfred Tremmel mal auf dieser Liste dazu 
geschrieben hat, damit er sich nicht nochmal so viel Arbeit machen braucht.

##############################################
wenn ihr gestattet, würde ich mal meine Empfehlung für Repackager 
abgeben, wie man sich das am einfachsten/besten einrichtet.

1. Natürlich braucht jeder seinen eigenen gpg Key, soweit ich weiß ist
   das eh Voraussetzung für das mitmachen hier bei Packman. Mit dem Key
   sollten dann nicht nur E-Mails sondern auch Pakete signiert werden.
   Schaut euch dazu bitte in der Developer Faq folgenden Punkt an
   http://packman.links2linux.de/?action=devel-faq#3 (den Rest
   durchzulesen schadet sicher auch nicht).
   Damit die Leute die Signatur prüfen können, brauchen sie aber auch
   euren Public Key, da gibts ne Datei auf dem FTP Server die Rainer Lay
   pflegt (wenn ich mich nicht irre) und seit kurzem gibts auch noch ein
   RPM (http://packman.links2linux.de/?action=450), das ich manage. Wer
   es noch nicht getan hat, bitte schickt uns beiden die Public GPG
   Keys.

2. Wer Uploads auf den Packman-Server automatisieren will, sollte sich
   auch einen SSH2-Key generieren und die Authentifizierung damit durch-
   führen. Siehe
   http://www2.uibk.ac.at/zid/software/unix/linux/ssh-publickey.html

3. Zum Thema Automatisierung ist natürlich in erster Linie das Script
   packmanrobot.py von Hendrik Muhs zu erwähnen. Ich weiß gar nicht, wie
   viele Stunden mir das schon eingespart hat, die ich vorher mit dem
   Eintragen ins Webinterface verbracht habe (insbesondere bei nem
   neuen xine-lib Release mit all den Kommentaren zu jedem RPM).
   Wichtig für das Script ist, sich eine Konfigurationsdatei anzulegen,
   die ~/.packmanrobot enthält folgende Daten (ohne die Kommentare):

   packmanuser=zzzzzz           <- Benutzername bei Packman
   packmanpassword=xxxxx        <- Passwort bei Packman
   mantra=yyyyyyyyyy            <- GPG Passphrase, wahlfrei, spart das
                                   Tippen beim Signieren, ist aber
                                   sicherheitstechnisch riskant, wenn
                                   auch andere Zugriff auf den Rechner
                                   haben
   rpmbin=/usr/bin/rpmbuild     <- Ab SuSE 9.0 wie hier, sonst nur
                                   /usr/bin/rpm
   rpmtopdir=/usr/src/packages  <- Build directory
   gpgbin=/usr/bin/gpg          <- das gpg binary
   scpbin=/usr/bin/scp          <- das scp binary
   target=i586                  <- Standard Target, bei den AMD64ern ist
                                   das dann wohl x86_64
   distversion=9.1              <- Version der SuSE Distribution

   Wer sich ein Source-RPM installiert, das SPEC-File angepasst hat,
   ./packmanrobot.py --remove --forceremove <specfile>
   Den Upload, den Eintrag ins Webinterface und das Löschen von älteren
   Versionen selbständig machen lassen.
   Ach ja, SPEC-Files müssen entsprechend vorbereitet sein, spezielle
   Kommentare liefern die Daten, die RPM selbst nicht bieten kann.

4. Wer noch etwas mehr Automatismus haben will, kann sich meine Build
   Scripte anschaun, fürs neubauen bestehender Pakete ist
   packman_rebuild.sh gedacht, aufgerufen mit
   ./packman_rebuild.sh x86_64 <Source-RPM>
   entpackt es das RPM, passt das SPEC-File an (Eintrag des Packagers,
   und der Distribution), hängt die libGL.so.1 von NVidia aus, wenn der
   NVidia-Treiber verwendet wird (der sorgt immer für dämliche Abhängig-
   keiten) und nach dem Build wieder ein. Das RPM wird dann mit Hindriks
   Script gebaut und hochgeladen. Für vorige Tests reicht es ein
   export NICHT_UPLOADEN=yes
   einzutippen und es wird nur das RPM gebaut, es geht aber nichts nach
   außen.
   Auch für das Script gibts eine Konfigurationsdatei, nennt sich
   packager_profile und liegt im Selben Verzeichnis wie das Script (ich
   empfehle die Anlage eines Verzeichnisses ~/packmanbuild in dem man
   sich dann austoben kann). Es sind allerdings nur drei kleine
   Variablen drin und nichts geheimes, hier z.B. meine:

   #
   # Einstellungen zum Packager

   export PACKAGER="Manfred Tremmel <Manfred.Tremmel\@iiv.de>"
   export PACKAGER_NAME="Manfred Tremmel"
   export VENDOR="Packman"

   PACKAGER ist Name und E-Mail-Adresse (sollte zum GPG-Key passen),
   wobei das @ mackiert sein muß, PACKAGER_NAME ist der Name und VENDOR
   sollte man einfach auf Packman setzen.
   Wichtig zu wissen ist, dass packman_rebuild.sh nicht mit jedem RPM
   funktioniert, wenn der Aufbau nicht stimmt, klappts mit dem ersetzen
   nicht und die Sache wird abgebrochen. Sind die RPMs mit meinem Script
   packman_build.sh erstellt, sollte es grundsätzlich keine Probleme
   geben (bei den Pakete von Rainer und mir z.B.).

5. Schaut euch mal in den Home-Verzeichnissen der anderen Packager um
   (nach dem Anmelden seit Ihr im eigenen Verzeichnis, eine ebene hoch
   und ihr sollte die anderen sehen), da finden sich nicht nur die
   genannten Scripte, sondern noch einiges anderes interessante. Wer
   mein packman_build.sh script verwendet hat z.B. automatisch gleich
   zu den erstellten Paketen die Scripte und SPEC-Vorlagen mit auf dem
   Server, da lässt sich vielleicht das ein oder andere lernen.

So, dass wars fürs erste mal.

-- 
Machs gut    | http://www.iivs.de/schwinde/buerger/tremmel/

Manfred      | http://packman.links2linux.de/
#############################################

-- 
Ciao Marco, registered GNU/Linux-User 313353

Keine Macht George W. Bush und seiner Junta zu Ausbeutung, Unterdrückung,
'BigBrother-watching', Christianisierung, Terror, Wahlbetrug & Weltmacht.
Für Freiheit und Demokratie,  kauft keine U$-Waren!




More information about the Packman mailing list