Automatisch pakketje creeren via newpackage
Hierin beschrijven we hoe je een pakketje maakt met behulp van het ./newpackage script.
We gaan libvmime maken.
Eerst zoeken we de url naar het source pakketje op en dan geven we het volgende commando:
r3m0t3h0st npl # ./newpackage overig libvmime "http://mesh.dl.sourceforge.net/sourceforge/vmime/libvmime-0.8.1.tar.bz2" /home/psy/syn3/npl/overig/libvmime /home/psy/syn3/npl --2008-09-19 15:50:42-- http://mesh.dl.sourceforge.net/sourceforge/vmime/libvmime-0.8.1.tar.bz2 Resolving mesh.dl.sourceforge.net... 213.203.218.122 Connecting to mesh.dl.sourceforge.net|213.203.218.122|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 478197 (467K) [application/x-bzip2] Saving to: `libvmime-0.8.1.tar.bz2' 100%[====================================================================================>] 478,197 1.28M/s in 0.4s 2008-09-19 15:50:42 (1.28 MB/s) - `libvmime-0.8.1.tar.bz2' saved [478197/478197] /home/psy/syn3/npl REBUILD REQUIRED: ./libvmime.SlackBuild has changed! REBUILDING /home/psy/syn3/npl/overig/libvmime/libvmime.SlackBuild: Buildroot up-to-date check: (nopkgcheck to skip)........................................................................................................DONE Buildroot /tmp/buildroot0._home_psy_syn3_builder repareren/syncen...OK /home/psy/syn3/npl/overig/libvmime word gekopieerd naar werkdirectory /tmp/buildroot0._home_psy_syn3_builder/tmp/build *** Chroot naar /tmp/buildroot0._home_psy_syn3_builder en starten van libvmime.SlackBuild in /tmp/build: /dev/pts/10: No such file or directory 1 /tmp/build > basename ./libvmime.SlackBuild 1 /tmp/build > sed s/.SlackBuild// ... checking gsasl.h usability... no checking gsasl.h presence... no checking for gsasl.h... no configure: error: can't find an usable version of GNU SASL library 19 /tmp/build/libvmime-0.8.1 > exit 1 61 /tmp/build > exit 1 *** Er ging iets mis tijdens het bakken in de buildroot! Om verder te testen/onderzoeken, tik: chroot /tmp/buildroot0._home_psy_syn3_builder Error while rebuilding /home/psy/syn3/npl/overig/libvmime/libvmime.SlackBuild!
Zoals je ziet gaat alles automatisch, maar stopt de configure omdat hij blijkbaar de GNU sasl library nodig is.
We zouden dit pakketje ook kunnen maken en als dependency instellen, maar we willen toch geen SASL support.
Om te kijken of deze optie uitkan gaan we de buildroot in en voeren we ./configure --help uit:
r3m0t3h0st npl # chroot /tmp/buildroot0._home_psy_syn3_builder stderr is not a tty - where are you? [Syn-3] root@darkstar.example.net /# cd /tmp/build/libvmime-0.8.1 [Syn-3] root@darkstar.example.net /tmp/build/libvmime-0.8.1# ./configure --help `configure' configures VMime Library 0.8.1 to adapt to many kinds of systems. ... --enable-sasl Enable SASL support with GNU SASL, default: enabled --enable-tls Enable TLS/SSL support with GNU TLS, default: enabled ...
We zien dat sasl en tls uitkunnen, dit zijn dingen die we niet nodig denken te zijn. (en anders komen we er wel achter tijdens het builden van andere pakketjes)
We wijzigen de zojuist automatisch gecreerde slackbuild:
r3m0t3h0st npl # mcedit overig/libvmime/libvmime.SlackBuild (we voegen --disable-tls en --disable-sasl toe aan de CONFIGURE_OPTS variabelle)
We proberen hem nogmaals te builden:
r3m0t3h0st npl # ./rebuildcheck libvmime REBUILD REQUIRED: ./libvmime.SlackBuild has changed! ... (duurt lang) All rebuilds completed.
Woei gelukt!
Nu nog kijken of de inhoud van de .pkg er goed uitziet, en dan toevoegen aan svn/testen.
update 1
Dit pakketje had ik nodig voor zarafa:
Het bleek dat je persee 0.7.1 moest hebben, en nog een aantal patches nodig bent van de zarafa site op http://drupal.zarafa.com/wiki/index.php/Libvmime_patches