|
|
Rivi 421: |
Rivi 421: |
| #Paketin voi kääntää eri jakeluille ja jopa eri arkkitehtuurille | | #Paketin voi kääntää eri jakeluille ja jopa eri arkkitehtuurille |
|
| |
|
| Pbuilderin käyttö aloitetaan luomalla käännösympäristö komennolla (pääkäyttäjän oikeuksin) | | Lisätietoja Pbuilderin käytöstä löytyy artikkelista [[Pbuilder]] |
| pbuilder create
| |
| Komento luo tiedoston <tt>/var/cache/pbuilder/base.tgz</tt>, joka sisältää pakatun chroot-ympäristön. Ympäristön luominen kestää jonkin aikaa, sillä se lataa tarvittavat paketit palvelimelta, asentaa ne chroot-järjestelmään ja lopuksi pakkaa luodun järjestelmän.
| |
| | |
| Tämän jälkeen Pbuilderin vaatimat valmistelut on tehty ja paketit voidaan kääntää siinä ajamalla paketin hakemistossa komento <tt>pdebuild</tt>. Käännetty paketti löytyy hakemistosta <tt>/var/cache/pbuilder/result</tt>.
| |
| | |
| === Pintaa syvemmälle ===
| |
| Monesti Pbuilderia halutaan käyttää luomaan paketteja muille jakeluille tai arkkitehtuureille (esimerkiksi 64-bittisessä [[Debian]]issa luodaan Pbuilderilla paketti 32-bittiselle [[Ubuntu]]lle). Tätä varten on luotava chroot-ympäristöt kaikille näille jakeluille ja tehtävä muutamia asetuksia.
| |
| | |
| Tehdään seuraavaksi sellaiset asetukset, että voimme luoda paketteja sekä Debianin että Ubuntun eri versioille. Muut Debian-pohjaiset jakelut on mahdollista ottaa käyttöön samalla tavalla. Tehdään Pbuilderin asetukset lisäämällä tiedostoon <tt>~/.pbuilderrc</tt> seuraavat rivit:
| |
| <pre>
| |
| #Tarvittavia muuttujia
| |
| : ${DIST:=$(lsb_release --short --codename)}
| |
| : ${ARCH:=$(dpkg --print-architecture)}
| |
| NAME="$DIST-$ARCH"
| |
| DISTRIBUTION="$DIST"
| |
| DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
| |
| BASETGZ="`dirname $BASETGZ`/$NAME-base.tgz"
| |
| BUILDRESULT="/var/cache/pbuilder/$NAME/result/" # Hakemisto luotaville paketeille
| |
| APTCACHE="/var/cache/pbuilder/$NAME/aptcache/"
| |
| | |
| case "$DIST" in
| |
| intrepid|hardy|gutsy) # Ubuntu
| |
| MIRRORSITE="http://fi.archive.ubuntu.com/ubuntu/"
| |
| COMPONENTS="main restricted universe multiverse"
| |
| ;;
| |
| sid|lenny|etch) # Debian
| |
| MIRRORSITE="http://ftp.fi.debian.org/debian/"
| |
| COMPONENTS="main contrib non-free"
| |
| ;;
| |
| *)
| |
| echo "Unknown distribution: $DIST"
| |
| exit 1
| |
| ;;
| |
| esac
| |
| </pre>
| |
| Jolloin Pbuilder tunnistaa käytettävän jakelun <tt>DIST</tt>-[[ympäristömuuttuja]]sta ja arkkitehtuurin <tt>ARCH</tt>-ympäristömuuttujasta. Jos ympäristömuuttujille ei erikseen anneta arvoja, käytetään nykyisen järjestelmän tietoja.
| |
| | |
| Nyt voimme luoda chroot-ympäristöt eri jakeluille määrittelemällä tarvittavat ympäristömuuttujat, esimerkiksi 32-bittiselle Debian Sidille (Debianin kehitysversio) luodaan ympäristö komennolla (pääkäyttäjänä)
| |
| DIST=sid ARCH=i386 pbuilder create
| |
| | |
| Kun halutut ympäristöt on luotu, voidaan paketit kääntää tässä ympäristössä käyttäen samoja ympäristömuuttujia, esimerkkitapauksessamme
| |
| DIST=sid ARCH=i386 pdebuild
| |
| Luotu paketti löytyy hakemistosta <tt>/var/cache/pbuilder/sid-i386/</tt>.
| |
|
| |
|
| == Muut pakettityypit == | | == Muut pakettityypit == |