Talk:Perl package guidelines
Latest comment: 13 March 2013 by Dracorp in topic Hardened Example
Hardened Example
I have created template file for vim file_templates.vba:
~/.vim/templates/perl.PKGBUILD
pkgname=perl-<+$LBASENAME$+> pkgver=<+#VERSION#+> _author=<+#AUTHOR_NAME#+> _perlmod=<+$BASENAME$+> pkgrel=1 pkgdesc='<+#DESCRIPTION#+>' arch=('any') url="http://search.cpan.org/dist/<+$BASENAME$+>/" license=('GPL' 'PerlArtistic') groups=() depends=('perl>=5.10.0') makedepends=() provides=() conflicts=() replaces=() backup=() options=(!emptydirs) install= source=("http://search.cpan.org/CPAN/authors/id/$_author/$_perlmod-$pkgver.tar.gz") noextract=() build(){ cd "$srcdir"/$_perlmod-$pkgver # Setting these env variables overwrites any command-line-options we don't want... export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps \ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \ MODULEBUILDRC=/dev/null # If using Makefile.PL if [ -r Makefile.PL ]; then /usr/bin/perl Makefile.PL make # If using Build.PL elif [ -r Build.PL ]; then /usr/bin/perl Build.PL perl Build fi } check(){ cd "$srcdir"/$_perlmod-$pkgver # If using Makefile.PL if [ -r Makefile.PL ]; then make test # If using Build.PL elif [ -r Build.PL ]; then perl Build test fi } package(){ cd "$srcdir"/$_perlmod-$pkgver # If using Makefile.PL if [ -r Makefile.PL ]; then make install # If using Build.PL elif [ -r Build.PL ]; then perl Build install fi # remove perllocal.pod and .packlist find "$pkgdir" -name .packlist -o -name perllocal.pod -delete }
--Dracorp (talk) 18:14, 13 March 2013 (UTC)
Stricter versions for XS module packages
Since XS modules only work with a given major version of Perl, I have taken to limiting my packages' required Perl version to within a single major version, like so:
depends=('perl>=5.20.0' 'perl<5.21.0')
Would this be a good idea to add to this page?
--Hoelzro