Subject: | Manifying not done during ./Build test |
Date: | Thu, 18 Feb 2010 00:43:24 -0800 |
To: | bug-Module-Build [...] rt.cpan.org |
From: | craig [...] animalhead.com |
The following log shows a sneaky problem with Module::Build.
If I do the following 3 steps:
perl Build.PL
./Build test
sudo ./Build install
the following 2 steps don't happen until the install operation:
Manifying blib/lib/IP/World.pod -> blib/libdoc/IP::World.3
Manifying blib/lib/IP/World/ConfigData.pm -> blib/libdoc/
IP::World::ConfigData.3
Because these happen under a sudo, they end up owned by root:wheel
with permissions 644. This makes a step like
./Build realclean
fail because of insufficient privelege.
OTOH, if I enter a './Build' between 'perl Build.PL' and 'Build test',
the Manifying steps get done at the end of the './Build' and so the
above problem does not occur.
If you need any further info, please reply and tell me what.
Best Regards,
cmac
-----------------------------------------------------------------------
animalhead:/build/IP-World $ sudo ./Build distclean
Cleaning up build files
Cleaning up configuration files
animalhead:/build/IP-World $ perl Build.PL --verbose
Checking whether your kit is complete...
Looks good
Adding to configure_requires: Module::Build => 0.36
Checking if compiler tools configured... ok.
Checking prerequisites...
Looks good
Should the DB-update utility run a command when the DB is updated?
If so enter it (if not just return):
Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'IP-World' version '0.15'
animalhead:/build/IP-World $ ./Build test
Copying lib/IP/World.pm -> blib/lib/IP/World.pm
lib/IP/World.xs -> lib/IP/World.c
cc -I/usr/local/lib/perl5/5.10.1/i386-freebsd/CORE -DXS_VERSION="0.15"
-DVERSION="0.15" -DPIC -fPIC -DMMAPOK -c -DHAS_FPSETMASK -
DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -I/usr/local/include -
O3 -o lib/IP/World.o lib/IP/World.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/IP/World/World.bs')
cc -shared -L/usr/local/lib -o blib/arch/auto/IP/World/World.so lib/IP/
World.o
Copying lib/IP/World.pod -> blib/lib/IP/World.pod
Copying script/ip_world_dump -> blib/script/ip_world_dump
Changing sharpbang in blib/script/ip_world_dump to /usr/local/bin/
perlDeleting blib/script/ip_world_dump.bak
Copying script/maint_ip_world_db -> blib/script/maint_ip_world_db
Changing sharpbang in blib/script/maint_ip_world_db to /usr/local/bin/
perlDeleting blib/script/maint_ip_world_db.bak
Copying script/ip_cc_benchmark -> blib/script/ip_cc_benchmark
Changing sharpbang in blib/script/ip_cc_benchmark to /usr/local/bin/
perlDeleting blib/script/ip_cc_benchmark.bak
Copying lib/auto/IP/World/ipworld.le -> blib/lib/auto/IP/World/
ipworld.dat
Checking for database update (may rebuild)...
Writing config notes to blib/lib/IP/World/ConfigData.pm
t/0check_scripts.t ..
1..4
ok 1 - script/ip_world_dump syntax OK
<SNIPPED LOTS OF TEST OUTPUT>
ok 6 - blib/lib/IP/World/ConfigData.pm
ok
All tests successful.
Files=5, Tests=439, 1 wallclock secs ( 0.09 usr 0.06 sys + 0.52
cusr 0.08 csys = 0.75 CPU)
Result: PASS
animalhead:/build/IP-World $ ll blib/libdoc
ls: blib/libdoc: No such file or directory
animalhead:/build/IP-World $ sudo ./Build install
Building IP-World
Manifying blib/lib/IP/World.pod -> blib/libdoc/IP::World.3
Manifying blib/lib/IP/World/ConfigData.pm -> blib/libdoc/
IP::World::ConfigData.3
Files found in blib/arch: installing files in blib/lib into
architecture dependent library tree
Skipping /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd/auto/IP/
World/World.bs (unchanged)
Skipping /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd/auto/IP/
World/World.so (unchanged)
Skipping /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd/IP/
World.pm (unchanged)
Skipping /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd/IP/
World.pod (unchanged)
Skipping /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd/IP/World/
ConfigData.pm (unchanged)
Skipping /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd/auto/IP/
World/ipworld.dat (unchanged)
Skipping /usr/local/share/man/man3/IP::World.3 (unchanged)
Skipping /usr/local/share/man/man3/IP::World::ConfigData.3 (unchanged)
Skipping /usr/local/bin/ip_world_dump (unchanged)
Skipping /usr/local/bin/maint_ip_world_db (unchanged)
Skipping /usr/local/bin/ip_cc_benchmark (unchanged)
Writing /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd/auto/IP/
World/.packlist
animalhead:/build/IP-World $ ll blib/libdoc
total 20
-rw-r--r-- 1 root wheel 10728 Feb 18 00:15 IP::World.3
-rw-r--r-- 1 root wheel 7103 Feb 18 00:15 IP::World::ConfigData.3
animalhead:/build/IP-World $ ./Build distclean
Cleaning up build files
Deleting lib/IP/World.o
Deleting blib/arch/auto/IP/World/World.bs
Deleting blib/arch/auto/IP/World/World.so
Deleting lib/IP/World.c
Deleting blib
cannot unlink file for blib/libdoc/IP::World.3: Permission denied at /
usr/local/lib/perl5/5.10.1/Module/Build/Base.pm line 4868
cannot restore permissions to 0100644 for blib/libdoc/IP::World.3:
Permission denied at /usr/local/lib/perl5/5.10.1/Module/Build/Base.pm
line 4868
cannot unlink file for blib/libdoc/IP::World::ConfigData.3: Permission
denied at /usr/local/lib/perl5/5.10.1/Module/Build/Base.pm line 4868
cannot restore permissions to 0100644 for blib/libdoc/
IP::World::ConfigData.3: Permission denied at /usr/local/lib/
perl5/5.10.1/Module/Build/Base.pm line 4868
cannot remove directory for blib/libdoc: Directory not empty at /usr/
local/lib/perl5/5.10.1/Module/Build/Base.pm line 4868
cannot remove directory for blib: Directory not empty at /usr/local/
lib/perl5/5.10.1/Module/Build/Base.pm line 4868
Couldn't remove 'blib': Directory not empty
animalhead:/build/IP-World $