I tried upgrading my gentoo box from parrot 0.4.0 to 0.4.2 by copying the ebuild for 0.4.0 to 0.4.2 and emerging that.
It failed in the make install phase when it tried to install the installable_ files to the live filesystem rather than to the install target tree. The ebuild calls make install with args that result in this invocation of install_files.pl: ,---- | /usr/bin/perl5.8.8 tools/dev/install_files.pl \ | --buildprefix=/portage/parrot-0.4.2/image/ \ | --prefix=/usr/lib/parrot-0.4.2 \ | --exec-prefix=/usr/lib/parrot-0.4.2 \ | --bindir=/usr/lib/parrot-0.4.2/bin \ | --libdir=/usr/lib/parrot-0.4.2/lib \ | --includedir=/usr/lib/parrot-0.4.2/include \ | --destdir= \ | --docdir=/usr/lib/parrot-0.4.2/share/doc/parrot \ | MANIFEST MANIFEST.generated `---- Running that with --dry-run=1 results in this at the end: ,---- | ... | runtime/parrot/library/parrotlib.pbc -> /portage/parrot-0.4.2/image/usr/lib/parrot-0.4.2/lib/parrot/library/parrotlib.pbc | runtime/parrot/library/pcre.pbc -> /portage/parrot-0.4.2/image/usr/lib/parrot-0.4.2/lib/parrot/library/pcre.pbc | installable_disassemble -> /usr/lib/parrot-0.4.2/bin/disassemble | installable_disassemble.exe -> /usr/lib/parrot-0.4.2/bin/disassemble.exe | ... `---- As you can see, the installable files are not prefixed by the value of the --buildprefix as every other file in the MANIFEST.generated is. The install_files.pl in 0.4.0 lacked @installable_exe and just used @files. Just before pushing to @files, this is run: ,---- | $dest = File::Spec->catdir($options{buildprefix}, $dest) | if $options{buildprefix}; `---- but that is not run before pushing to @installable_exe. I see that --destdir was also added since 0.4.0, and changing the ebuild to use DESTDIR=${D} instead of BUILDPREFIX=${D} does allow the install to complete. But I wonder what the correct results should be when both DESTDIR and BUILDPREFIX are specified to make? -JimC -- James H. Cloos, Jr. <[EMAIL PROTECTED]>