SLKBUILD, le SlackBuild pour les nuls

[Slkbuild] est un outil dont le but est de simplifier la construction d'un paquet destiné aux systèmes d'exploitation [Slackware] et dérivés.

La manière habituelle de réaliser un paquet Slackware est d'écrire un script shell, plus communément appelé [slackbuild] (monbopaquet.SlackBuild).

Le contenu de ce slackbuild est très répétitif, il doit se charger de :

L'utilisation d'un squelette, d'un slackbuild modèle peut également se faire, mais il est vrai qu'à la fin toutes ces tâches redondantes sont un peu parasites et font perdre du temps. Car, ce qui nous intéresse n'est autre que ce qui est nécessaire à la compilation, à la fabrication du programme. Le tout a donc été automatisé un peu (beaucoup) à la manière d' [ArchLinux], Slkbuild est d'ailleurs très fortement inspiré de makepkg utilisé par cette dernière.

Les avantages à utiliser slkbuild sont nombreux, on peut citer :

Typiquement, pour créer facilement un paquet :

,----

| $ mkdir monbopaquet-1.0

| $ cd monbopaquet

| $ slkbuild -g # vous obtenez un SLKBUILD modèle pour compilation standard (existe aussi en gpython/gperl ...)

| $ vim SLKBUILD

,----
| #Packager: fredg
| pkgname=monbopaquet
| pkgver=1.0
| pkgrel=1fg
| #arch=noarch
| source=(http://ou/se/trouve/$pkgname-$pkgver.tar.gz)
| sourcetemplate=http://people.salixos.org/fredg/packages/$pkgname/$pkgver/
| docs=("readme" "install" "copying" "changelog" "authors" "news" "todo")
| url=http://maisondupaquet.fr
| #dotnew=() # pour gestion des fichiers de configuration .new, laisser tel que si gestion classique
| #CFLAGS= # si vous souhaitez autre chose que les options standard de Slackware
| #CXXFLAGS= # idem
| #doinst() {
| # écriture du doinst.sh si nécessaire (à décommenter)
| #}
| slackdesc=\
| (
| #|-----handy-ruler------------------------------------------------------|
| "écriture de votre slack-desc"
| )
| build() {
| cd $startdir/src/$pkgname-$pkgver
| ./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --localstatedir=/var --sysconfdir=/etc --build=$arch-slackware-linux
| make -j $numjobs || return 1
| make install DESTDIR=$startdir/pkg
| #
| # si paquet traditionnel, rien à faire
| }
| :wq # quitte vim ;)
| --
| $ fakeroot slkbuild -X
| $ ls
| $ SLKBUILD    monbopaquet-0.1.tar.gz    monbopaquet-0.1-x86_64-1fg.txz
| monbopaquet-0.1-x86_64-1fg.md5        monbopaquet-0.1-x86_64-1fg.src
| build-monbopaquet-0.1-x86_64-1fg.log
| $ su # on passe root
| # installpkg monbopaquet-0.1-x86_64-1fg.txz # et voilà

Slkbuild est utilisé activement par Salix OS qui est, je le rappelle, totalement compatible avec Slackware, les dépôts sont les mêmes. Vous pouvez voir ceux de Salix comme un [extra]. De nombreux exemples de SLKBUILD sont disponibles, par exemple sur le [répertoire des sources de la version -current].

=> Slkbuild | Slackware | slackbuild | ArchLinux | répertoire des sources de la version -current

Quelques liens

=> http://slkbuild.sourceforge.net/ | Building packages with slkbuild | http://freshmeat.net/projects/slkbuild

Proxy Information
Original URL
gemini://capsule.galusik.fr/log/2011-02-22-slkbuild-le-slackbuild-pour-les-nuls.gmi
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
176.056031 milliseconds
Gemini-to-HTML Time
2.141172 milliseconds

This content has been proxied by September (ba2dc).