Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 471790

Summary: sys-libs/gdbm-1.8.3-r4 installs files outside the prefix $EPREFIX
Product: Gentoo Linux Reporter: Daa Jaa <dREPLACEeLETTEReEjBYeLETTEReA>
Component: [OLD] Core systemAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED NEEDINFO    
Severity: normal CC: heroxbd, prefix
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: patch to $PORTDIR/sys-libs/gdbm/gdbm-1.8.3-r4.ebuild

Description Daa Jaa 2013-05-30 09:34:20 UTC
Created attachment 349634 [details, diff]
patch to $PORTDIR/sys-libs/gdbm/gdbm-1.8.3-r4.ebuild

Providing small patch needed on $EPREFIX/usr/portage/sys-libs/gdbm/gdbm-1.8.3-r4.ebuild to make it work with eprefix.

Steps to show error message by current ebuild (tested on system described by http://wiki.gentoo.org/wiki/Raspberry_Pi_Quick_Install_Guide ):

wget http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/scripts/bootstrap-prefix.sh?format=txt
EPREFIX=/myprefix ./bootstrap-prefix.sh

Error message:

>>> Completed installing gdbm-1.8.3-r4 into /run/xdej/var/tmp/portage/sys-libs/gdbm-1.8.3-r4/image/^M
^M
Fixing .la files^M
   data/data/com.spartacusrex.spartacuside/gentoo_armv6l/usr/lib/libgdbm_compat.la^M
strip: armv6j-hardfloat-linux-gnueabi-strip --strip-unneeded -R .comment -R .GCC.command.line -R .note.gnu.gold-version^M
   usr/lib/libgdbm.so.3.0.0^M
   usr/lib/libgdbm.a^M
   usr/lib/libgdbm_compat.so.3.0.0^M
   usr/lib/libgdbm_compat.a^M
ecompressdir: bzip2 -9 /usr/share/man^M
ecompressdir: bzip2 -9 /usr/share/info^M
 ^[[33;01m*^[[0m QA Notice: the following files are outside of the prefix:^M
 ^[[33;01m*^[[0m /usr^M
 ^[[33;01m*^[[0m /usr/include^M
 ^[[33;01m*^[[0m /usr/include/gdbm.h^M
 ^[[33;01m*^[[0m /usr/include/gdbm^M
 ^[[33;01m*^[[0m /usr/include/gdbm/dbm.h^M
 ^[[33;01m*^[[0m /usr/include/gdbm/ndbm.h^M
 ^[[31;01m*^[[0m ERROR: sys-libs/gdbm-1.8.3-r4 failed:^M
 ^[[31;01m*^[[0m   Aborting due to QA concerns: there are files installed outside the prefix^M
 ^[[31;01m*^[[0m ^M
 ^[[31;01m*^[[0m Call stack:^M
 ^[[31;01m*^[[0m   misc-functions.sh, line 1893:  Called install_qa_check^M
 ^[[31;01m*^[[0m   misc-functions.sh, line  244:  Called install_qa_check_prefix^M
 ^[[31;01m*^[[0m   misc-functions.sh, line  932:  Called die^M
 ^[[31;01m*^[[0m The specific snippet of code:^M
 ^[[31;01m*^[[0m                        die "Aborting due to QA concerns: there are files installed outside the prefix"^M
 ^[[31;01m*^[[0m ^M
 ^[[31;01m*^[[0m If you need support, post the output of `emerge --info '=sys-libs/gdbm-1.8.3-r4'`,^M
 ^[[31;01m*^[[0m the complete build log and the output of `emerge -pqv '=sys-libs/gdbm-1.8.3-r4'`.^M
 ^[[31;01m*^[[0m The complete build log is located at '/run/xdej/var/tmp/portage/sys-libs/gdbm-1.8.3-r4/temp/build.log'.^M
 ^[[31;01m*^[[0m The ebuild environment file is located at '/run/xdej/var/tmp/portage/sys-libs/gdbm-1.8.3-r4/temp/environment'.^M
 ^[[31;01m*^[[0m Working directory: '/run/xdej/var/tmp/portage/sys-libs/gdbm-1.8.3-r4/image'^M
 ^[[31;01m*^[[0m S: '/run/xdej/var/tmp/portage/sys-libs/gdbm-1.8.3-r4/work/gdbm-1.8.3'^M
!!! post install failed; exiting.^M
^M
>>> ^[[31;01mFailed^[[39;49;00m to emerge ^[[32msys-libs/gdbm-1.8.3-r4^[[39;49;00m, Log file:^M
^M
>>>  '^[[32m/run/xdej/var/tmp/portage/sys-libs/gdbm-1.8.3-r4/temp/build.log^[[39;49;00m'^M
Comment 1 Daa Jaa 2013-05-30 09:39:18 UTC
I have similar patches for :
sys-devel/bison/bison-2.4.3.ebuild 
sys-devel/binutils/files/binutils-2.22-mint.patch 
sys-devel/binutils/binutils-2.23.51.0.8.ebuild 
sys-apps/portage/portage-2.2.01.21864.ebuild 
eclass/kernel-2.eclass  
dev-lang/python/python-2.7.3-r3.ebuildn  
dev-lang/perl/perl-5.12.4-r1.ebuild 
app-admin/eselect-python/eselect-python-20111108.ebuild

Please tell me, here or by e-mail, if these patches, all related to prefix, are welcomed in https://bugs.gentoo.org, and if I should file a new bug for each of them.
Comment 2 SpanKY gentoo-dev 2013-05-31 18:30:57 UTC
Comment on attachment 349634 [details, diff]
patch to $PORTDIR/sys-libs/gdbm/gdbm-1.8.3-r4.ebuild

why do you care about gdbm-1.8.x ?  the latest version is gdbm-1.9.x and that should work fine for prefix.

your change won't work w/out bumping the EAPI.

>-               --includedir=/usr/include/gdbm \
>+               --includedir=$EPREFIX/usr/include/gdbm \

quoting is missing, and vars should braces around them

however, this would probably be better:
--includedir='$(prefix)/include/gdbm'

>+               --oldincludedir=$EPREFIX/usr/include \      

why do you need to set oldincludedir ?
                                                                                                    
>+       mv "${D}"$EPREFIX/usr/include/gdbm/gdbm.h "${D}"$EPREFIX/usr/include/ || die

no ... this is what $ED is for
Comment 3 SpanKY gentoo-dev 2013-05-31 18:32:04 UTC
(In reply to Daa Jaa from comment #1)

we don't care about old versions.  for prefix work, you should *only* be looking at the very latest.

please cc prefix@gentoo.org when you file EPREFIX related bugs.
Comment 4 Daa Jaa 2013-06-05 13:18:01 UTC
Thank you SpanKY for all your remarks.

@SpanKY : "we don't care about old versions.  for prefix work, you should *only* be looking at the very latest."

Is there a difference between the normal portage tree and the EPREFIX portage tree ? Where can I find the latest version of the latter ?

When the EPREFIX will be working, I will test the adaptation of my patch to gdbm-1.9 before submitting it here.
Comment 5 Benda Xu gentoo-dev 2013-11-05 10:58:44 UTC
(In reply to Daa Jaa from comment #4)
> Thank you SpanKY for all your remarks.
> 
> @SpanKY : "we don't care about old versions.  for prefix work, you should
> *only* be looking at the very latest."
> 
> Is there a difference between the normal portage tree and the EPREFIX
> portage tree ? Where can I find the latest version of the latter ?

What tree are you using?

Have you ever done "emerge --sync"?

My Prefix installation have sys-libs/gdbm-1.10
Comment 6 Daa Jaa 2013-11-05 12:44:50 UTC
@Benda Xu: "Have you ever done "emerge --sync"?"

emerge --sync has been done by bootstrap-prefix.sh, but my patch addresses a bug of bootstrap-prefix.sh happening BEFORE that emerge --sync, with the portage tree hardcoded in bootstrap-prefix.sh.
Comment 7 Benda Xu gentoo-dev 2013-11-09 01:58:58 UTC
(In reply to Daa Jaa from comment #6)
> @Benda Xu: "Have you ever done "emerge --sync"?"
> 
> emerge --sync has been done by bootstrap-prefix.sh, but my patch addresses a
> bug of bootstrap-prefix.sh happening BEFORE that emerge --sync, with the
> portage tree hardcoded in bootstrap-prefix.sh.

I speculate that bug is fixed. The portage snapshot used by bootstrap-prefix.sh is updated regularly.