[packman] Update packman_build.sh und packman_rebuild.sh

Manfred Tremmel manfred at links2linux.de
Sat Sep 18 21:52:11 CEST 2004


Hallo Leute,

ich habe ein Update meiner beiden Build-Script bereitgestellt (in meinem 
Home-Verzeichnis auf dem Packman-Server im packmanbuild Verzeichnis).

packman_rebuild.sh
------------------
- Prüfung auf NVidia-Treiber wurde verbessert, das Setzen der libGL.so
  Links verbessert

packman_build.sh
----------------
- Prüfung auf NVidia-Treiber wurde verbessert, das Setzen der libGL.so
  Links verbessert (analog packman_rebuild.sh)
- Die Änderungen von Rainer Lay hab ich alle übernommen
- Der hardcodierte Remotecompile der PPC-Pakete auf meinem Notebook ist
  rausgeflogen (Notebook ist kaputt, das compiliert nichts mehr)
- Flexibler Remote-Compile auf entfernten Rechnern wurde eingebaut
- Flexible Ansteuerung von Chroot-Umgebungen wurde integriert
- Bei NICHT_LOESCHEN="yes" bleiben .tar.bz2 Tarballs erhalten (vorher
  nur .tar.gz)

Die beiden letztgenannten Features hab ich mit libmodplug gleich mal in 
die Praxis umgesetzt. Mein Desktoprechner (eddie) lässt die SuSE 9.1er 
Pakete auf dem Notebook (marvin2) compilieren und kümmert sich um die 
9.0er, 8.2er und 8.1er Pakete über die installierten Chroot-Umgebungen 
selbst. Das Script steht (wie alle anderen und die Spec-File-Templates) 
ebenso in meinem Home-Verzeichnis unter packmanbuild.

Konfiguration für den Remote-Compile:
=====================================

export REMOTE_SYSTEMS="marvin2:i586|i686:manfred"
                       |      ||        ||
Name des Remote Rechners      ||        ||
   Doppelpunkt als Trennzeichen|        ||
Build Architekturen durch | getrennt    ||
             Doppelpunkt als Trennzeichen|
            User, der das Paket compiliert

Die SuSE-Version muss nicht angegeben werden, sie wird dynamisch vom 
Remote-System ermittelt, das SPEC-File und der Upload demzufolge 
gesteuert.

Es können mehrere Systeme durch Blank getrennt angegeben werden. Auf dem 
Zielsystem muss der User im Homeverzeichnis ein Verzeichnis namens 
packmanbuild angelegt haben, in dem Hendriks packmanrobot.ph liegt, 
sowie das packager_profile und natürlich sollte die ~/.packmanrobot dem 
System angepasst zu finden sein. Die Fernsteuerung erfolgt per ssh und 
scp, eine entsprechende Authentifizierung per SSH-Keys ist also von 
Vorteil (sonst darf da öfters das Passwort eingetippt werden). Analoges 
gilt für den Upload auf den Packman-Server, eine entsprechende 
Hinterlegung des Publik-SSH-Keys ermöglicht den Upload direkt.


Konfiguration für den Chroot-Compile:
=====================================

export CHROOT_SYSTEMS="/home/cr_suse_8.1:i586|i686:manfred"
                       |                ||        ||
Name des Chroot-Verzeichnisses          ||        ||
             Doppelpunkt als Trennzeichen|        ||
      Build Architekturen durch | getrennt        ||
                       Doppelpunkt als Trennzeichen|
                      User, der das Paket compiliert

Die SuSE-Version muss nicht angegeben werden, sie wird dynamisch vom 
Chroot-System ermittelt, das SPEC-File und der Upload demzufolge 
gesteuert.

Auch hier können mehrere Chroot Umgebungen per Blank getrennt 
gleichzeitig angegeben werden (bei mir normalerweise drei). Die 
chroot-Umgebung muss analog der oben beschriebenen Remote-Umgebung 
konfiguriert sein. Eine Besonderheit gibt es für den Wechsel via 
chroot, dieser erfordert root-Rechte und ich baue keine Pakete als 
root, um den zu erlangen wird lokal via 'ssh root at localhost' zu root 
gewechselt, auch das lässt sich per SSH Publik-Key passwortlos 
gestalten, stellt aber eine gewisse Durchlöcherung des 
Sicherheitskonzepts dar.

Vielleicht kanns ja jemand gebrauchen.

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

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





More information about the Packman mailing list