Un Finclude pour launchpad
Frugalware utilise des scripts qui facilite la vie de packagers. Dernièrement j’en ai crée un pour les paquets sont les sources sont hébergées chez launchpad. Ce script est appellé par Finclude launchpad dans le FrugalBuild.
Prenons dexter pour exemple: https://launchpad.net/dexter-rolodex
Vous pouvez voir dans l’url que le projet se nomme dexter-rolodex.
Puis regardez l’url de la source: http://launchpad.net/dexter-rolodex/0.x/0.15.1/+download/dexter_0.15.1.tar.gz
Nous avons un séparateur qui est « _ » et que la branche se nomme 0.x.
Mon script permet de rentrer toutes ces données afin de vous éviter d’insérer les champs url(), up2date() et source().
Passons à l’action:
_F_launchpad_name pour indiquer le nom du tarball, par défaut $pkgname
_F_launchpad_dirname pour indiquer le nom du projet chez launchpad, par défaut $pkgname
_F_launchpad_sep pour indiquer le séparateur, par défaut « - »
_F_launchpad_branch pour indiquer la branche, par défaut « trunk » (car utilisé dans la majorité des cas)
_F_launchpad_ext pour indiquer l’extension du tarball, par défaut .tar.gz
Donc pour Dexter on auras juste besoin de ceci:
_F_launchpad_dirname="dexter-rolodex" _F_launchpad_sep="_" _F_launchpad_branch="0.x" Finclude launchpad
S’il y a mise à jour l’up2date fonctionneras mais bien vérifier si la branche n’a pas été renommée sinon makepkg ne trouveras pas la source. A noter que l’url sera automatiquement définie comme http://launchpad.net/$_F_launchpad_dirname.
Au final, voici notre FrugalBuild:
pkgname=dexter pkgver=0.15.1 pkgrel=1 pkgdesc="Dexter, a sexy, simple address book with end users in mind." depends=('pygtk' 'dbus-python' 'postler' 'python-distutils-extra' 'vobject' 'pyenchant' 'storm') makedepends=('intltool') groups=('xapps-extra') archs=('i686' 'x86_64') _F_launchpad_dirname="dexter-rolodex" _F_launchpad_sep="_" _F_launchpad_branch="0.x" Finclude launchpad _F_cd_path="$_F_launchpad_dirname" sha1sums=('0de257bb0b82becd1cf6886313a55a359d8e662b')
Le FrugalBuild est encore plus simplifié si on compare avec un PKGBUILD d’Archlinux.
Voilà j’espère que le script launchpad servira aux packagers en herbe sur Frugalware.