wiki:npl/perl/Parse_RecDescent

Version 1 (modified by rick, 16 years ago) (diff)

--

Voorbeeld van een package dat niet in 1x build met newpackage:

Het blijkt dat we eerst het perl 'version' pakketje nodig hebben:

psy npl # ./newpackage perl Parse_RecDescent http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Parse-RecDescent-1.96.0.tar.gz
Using perl/buildmods.SlackBuild as slackbuild..
--2009-02-21 13:32:10--  http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Parse-RecDescent-1.96.0.tar.gz
Resolving search.cpan.org... 84.45.68.23
Connecting to search.cpan.org|84.45.68.23|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://mirror.hostfuss.com/CPAN/authors/id/D/DC/DCONWAY/Parse-RecDescent-1.96.0.tar.gz [following]
--2009-02-21 13:32:10--  http://mirror.hostfuss.com/CPAN/authors/id/D/DC/DCONWAY/Parse-RecDescent-1.96.0.tar.gz
Resolving mirror.hostfuss.com... 88.85.76.7
Connecting to mirror.hostfuss.com|88.85.76.7|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 152818 (149K) [application/x-tar]
Saving to: `Parse-RecDescent-1.96.0.tar.gz'

100%[====================================================================================>] 152,818      695K/s   in 0.2s

2009-02-21 13:32:10 (695 KB/s) - `Parse-RecDescent-1.96.0.tar.gz' saved [152818/152818]

/home/psy/syn3/npl
Rebuild required: ./Parse_RecDescent.SlackBuild has changed!
REBUILDING /home/psy/syn3/npl/perl/Parse_RecDescent/Parse_RecDescent.SlackBuild:
Buildroot up-to-date check: (nopkgcheck to skip)......................................................................................................DONE
Buildroot /tmp/buildroot0._home_psy_syn3_builder repareren/syncen...OK
Build-dependency perl installeren: /home/psy/syn3/npl/.tmp/D/perl-5.8.7-i486-2056.tgz
Nieuwe packages ldconfiggen...
etc-update doen
stderr is not a tty - where are you?
/home/psy/syn3/npl/perl/Parse_RecDescent word gekopieerd naar werkdirectory /tmp/buildroot0._home_psy_syn3_builder/tmp/build
*** Chroot naar /tmp/buildroot0._home_psy_syn3_builder en starten van Parse_RecDescent.SlackBuild in /tmp/build:
/dev/pts/33: No such file or directory
1 /tmp/build > pwd
8 /tmp/build > CWD=/tmp/build
1 /tmp/build > pwd
9 /tmp/build > PKGROOT=/tmp/build/pkgtmp
1 /tmp/build > echo Parse-RecDescent-1.96.0.tar.gz
1 /tmp/build > sed s/.tar.gz//
12 /tmp/build > TARDIR=Parse-RecDescent-1.96.0
1 /tmp/build > echo Parse-RecDescent-1.96.0
1 /tmp/build > sed 's/.*-//'
13 /tmp/build > VER=1.96.0
1 /tmp/build > echo Parse-RecDescent-1.96.0
1 /tmp/build > sed 's/-[^-]*$//'
1 /tmp/build > sed s/-/_/
14 /tmp/build > NAME=perlmod_Parse_RecDescent
16 /tmp/build > rm -r /tmp/build/pkgtmp
17 /tmp/build > mkdir -p /tmp/build/pkgtmp
20 /tmp/build > cd /tmp/build
21 /tmp/build > export PERL_INSTALL_ROOT=/tmp/build/pkgtmp
21 /tmp/build > PERL_INSTALL_ROOT=/tmp/build/pkgtmp
22 /tmp/build > tar -xzf Parse-RecDescent-1.96.0.tar.gz
23 /tmp/build > cd Parse-RecDescent-1.96.0
24 /tmp/build/Parse-RecDescent-1.96.0 > perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite version 0 not found.
Could not eval '
            package ExtUtils::MakeMaker::_version;
            no strict;

            local $VERSION;
            $VERSION=undef; do {
                use version; $VERSION = qv('1.96.0');
            }; $VERSION
        ' in lib/Parse/RecDescent.pm: Can't locate version.pm in @INC (@INC contains: /usr/lib/perl5/5.8.7/i486-linux /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i486-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl .) at (eval 14) line 7, <FH> line 1722.
BEGIN failed--compilation aborted at (eval 14) line 7, <FH> line 1722.
WARNING: Setting VERSION via file 'lib/Parse/RecDescent.pm' failed
 at /usr/lib/perl5/5.8.7/ExtUtils/MakeMaker.pm line 486
Writing Makefile for Parse::RecDescent
25 /tmp/build/Parse-RecDescent-1.96.0 > make
cp lib/Parse/RecDescent.pm blib/lib/Parse/RecDescent.pm
Manifying blib/man3/Parse::RecDescent.3
26 /tmp/build/Parse-RecDescent-1.96.0 > make test
PERL_DL_NONLAZY=1 /usr/bin/perl5.8.7 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00.load....NOK 1
#     Failed test (t/00.load.t at line 4)
#     Tried to use 'Parse::RecDescent'.
#     Error:  Can't locate version.pm in @INC (@INC contains: /tmp/build/Parse-RecDescent-1.96.0/blib/lib /tmp/build/Parse-RecDescent-1.96.0/blib/arch /usr/lib/perl5/5.8.7/i486-linux /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i486-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl .) at /tmp/build/Parse-RecDescent-1.96.0/blib/lib/Parse/RecDescent.pm line 1722.
# BEGIN failed--compilation aborted at t/00.load.t line 4.
# Compilation failed in require at (eval 3) line 2.
# BEGIN failed--compilation aborted at (eval 3) line 2.
Use of uninitialized value in concatenation (.) or string at t/00.load.t line 7.
# Testing Parse::RecDescent
# Looks like you failed 1 test of 1.
t/00.load....dubious
        Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
        Failed 1/1 tests, 0.00% okay
t/basics.....Can't locate version.pm in @INC (@INC contains: /tmp/build/Parse-RecDescent-1.96.0/blib/lib /tmp/build/Parse-RecDescent-1.96.0/blib/arch /usr/lib/perl5/5.8.7/i486-linux /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i486-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl .) at /tmp/build/Parse-RecDescent-1.96.0/blib/lib/Parse/RecDescent.pm line 1722.
BEGIN failed--compilation aborted at /tmp/build/Parse-RecDescent-1.96.0/blib/lib/Parse/RecDescent.pm line 1722.
Compilation failed in require at t/basics.t line 11.
BEGIN failed--compilation aborted at t/basics.t line 11.
t/basics.....dubious
        Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-19
        Failed 19/19 tests, 0.00% okay
t/pod........skipped
        all skipped: Test::Pod 1.14 required for testing POD
Failed Test Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/00.load.t    1   256     1    1 100.00%  1
t/basics.t     2   512    19   37 194.74%  1-19
1 test skipped.
Failed 2/3 test scripts, 33.33% okay. 20/20 subtests failed, 0.00% okay.
make: *** [test_dynamic] Error 255
26 /tmp/build/Parse-RecDescent-1.96.0 > 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/perl/Parse_RecDescent/Parse_RecDescent.SlackBuild!

Nadat we het version pakketje gebouwd hebben dat nodig is, voegen we deze toe met een #DEP:perlmod_version in de Slackbuild:

psy npl # mcedit perl/Parse_RecDescent/Parse_RecDescent.SlackBuild

psy npl # ./rebuildcheck perl/Parse_RecDescent/Parse_RecDescent.SlackBuild
Rebuild required: ./Parse_RecDescent.SlackBuild has changed!
REBUILDING /home/psy/syn3/npl/perl/Parse_RecDescent/Parse_RecDescent.SlackBuild:
Buildroot up-to-date check: (nopkgcheck to skip)......................................................................................................DONE
Buildroot /tmp/buildroot0._home_psy_syn3_builder repareren/syncen...OK
Build-dependency perl installeren: /home/psy/syn3/npl/.tmp/D/perl-5.8.7-i486-2056.tgz
Build-dependency perlmod_version installeren: /home/psy/syn3/npl/.tmp/D/perlmod_version-0.76-i586-new.tgz
Nieuwe packages ldconfiggen...
etc-update doen
stderr is not a tty - where are you?
/home/psy/syn3/npl/perl/Parse_RecDescent word gekopieerd naar werkdirectory /tmp/buildroot0._home_psy_syn3_builder/tmp/build
*** Chroot naar /tmp/buildroot0._home_psy_syn3_builder en starten van Parse_RecDescent.SlackBuild in /tmp/build:
/dev/pts/33: No such file or directory
1 /tmp/build > pwd
9 /tmp/build > CWD=/tmp/build
1 /tmp/build > pwd
10 /tmp/build > PKGROOT=/tmp/build/pkgtmp
1 /tmp/build > echo Parse-RecDescent-1.96.0.tar.gz
1 /tmp/build > sed s/.tar.gz//
13 /tmp/build > TARDIR=Parse-RecDescent-1.96.0
1 /tmp/build > echo Parse-RecDescent-1.96.0
1 /tmp/build > sed 's/.*-//'
14 /tmp/build > VER=1.96.0
1 /tmp/build > echo Parse-RecDescent-1.96.0
1 /tmp/build > sed 's/-[^-]*$//'
1 /tmp/build > sed s/-/_/
15 /tmp/build > NAME=perlmod_Parse_RecDescent
17 /tmp/build > rm -r /tmp/build/pkgtmp
18 /tmp/build > mkdir -p /tmp/build/pkgtmp
21 /tmp/build > cd /tmp/build
22 /tmp/build > export PERL_INSTALL_ROOT=/tmp/build/pkgtmp
22 /tmp/build > PERL_INSTALL_ROOT=/tmp/build/pkgtmp
23 /tmp/build > tar -xzf Parse-RecDescent-1.96.0.tar.gz
24 /tmp/build > cd Parse-RecDescent-1.96.0
25 /tmp/build/Parse-RecDescent-1.96.0 > perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Parse::RecDescent
26 /tmp/build/Parse-RecDescent-1.96.0 > make
cp lib/Parse/RecDescent.pm blib/lib/Parse/RecDescent.pm
Manifying blib/man3/Parse::RecDescent.3
27 /tmp/build/Parse-RecDescent-1.96.0 > make test
PERL_DL_NONLAZY=1 /usr/bin/perl5.8.7 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00.load....ok 1/1# Testing Parse::RecDescent 1.96.0
t/00.load....ok
t/basics.....Name "main::D" used only once: possible typo at t/basics.t line 15.
t/basics.....ok
t/pod........skipped
        all skipped: Test::Pod 1.14 required for testing POD
All tests successful, 1 test skipped.
Files=3, Tests=20,  1 wallclock secs ( 0.22 cusr +  0.03 csys =  0.25 CPU)
28 /tmp/build/Parse-RecDescent-1.96.0 > make install
Manifying blib/man3/Parse::RecDescent.3
Installing /tmp/build/pkgtmp/usr/lib/perl5/site_perl/5.8.7/Parse/RecDescent.pm
Installing /tmp/build/pkgtmp/usr/man/man3/Parse::RecDescent.3
Writing /usr/lib/perl5/site_perl/5.8.7/i486-linux/auto/Parse/RecDescent/.packlist
Appending installation info to /usr/lib/perl5/5.8.7/i486-linux/perllocal.pod
30 /tmp/build/Parse-RecDescent-1.96.0 > cd /tmp/build/pkgtmp
31 /tmp/build/pkgtmp > makepkg -l y -c n /tmp/build/perlmod_Parse_RecDescent.pkg
tar-1.13: perlmod_Parse_RecDescent.pkg.tar is the archive; not dumped
32 /tmp/build/pkgtmp > echo 1.96.0
33 /tmp/build/pkgtmp > arch
*** Build gelukt.
* Packages terugmoven naar originele directory..
/tmp/buildroot0._home_psy_syn3_builder/tmp/build/perlmod_Parse_RecDescent.arch ...
/tmp/buildroot0._home_psy_syn3_builder/tmp/build/perlmod_Parse_RecDescent.version ...
/tmp/buildroot0._home_psy_syn3_builder/tmp/build/perlmod_Parse_RecDescent.pkg ...

* Klaar ja!
Updating md5 for /home/psy/syn3/npl/perl/Parse_RecDescent/Parse_RecDescent.SlackBuild...
Updating dependency information for /home/psy/syn3/npl/perl/Parse_RecDescent/Parse_RecDescent.SlackBuild...
All rebuilds completed.