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

Bug 433515

Summary: emerge app-text/NaturalDocs-1.52 : request Prefix support
Product: Gentoo/Alt Reporter: Raboo Treed <britta_22>
Component: Prefix SupportAssignee: Gentoo Prefix <prefix>
Status: CONFIRMED ---    
Severity: normal CC: britta_22, titanofold
Priority: Normal Keywords: NeedPatch
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: patch for NaturalDocs-1.52 so it works in prefix
added ~x86-linux to this one..
Final patch based on Fabians + ~x86-linux KEYWORDS

Description Raboo Treed 2012-08-31 09:39:02 UTC
emerge NaturalDocs fail.
NaturalDocs-1.52
First of I had to add it to etc/portage/package.accept_keywords. Don't really know why it was masked..

Secondly it fails during emerge.
I believe that it is because it does try to install using a double prefix..

>>> Emerging (1 of 4) app-doc/NaturalDocs-1.52
 * NaturalDocs-1.52.zip SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                                                                            [ ok ]
>>> Unpacking source...
>>> Unpacking NaturalDocs-1.52.zip to /usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/work
>>> Source unpacked in /usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/work
>>> Preparing source in /usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/work ...
>>> Source prepared.
>>> Configuring source in /usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/work ...
 * No Make or Build file detected...
>>> Source configured.
>>> Compiling source in /usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/work ...
>>> Source compiled.
>>> Test phase [not enabled]: app-doc/NaturalDocs-1.52

>>> Install NaturalDocs-1.52 into /usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/image/ category app-doc
-------------------------------------------------------
You should not use ${EPREFIX} with helpers.
  --> /usr/local/prefix/usr/lib/perl5/vendor_perl/5.16.1
-------------------------------------------------------
>>> Completed installing NaturalDocs-1.52 into /usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/image/

ecompressdir: bzip2 -9 /usr/share/doc
 * QA Notice: usr/local/prefix///usr/local/prefix/ double prefix
 * QA Notice: usr/local/prefix///usr/local/prefix/usr double prefix
 * QA Notice: usr/local/prefix///usr/local/prefix/usr/lib double prefix
 * QA Notice: usr/local/prefix///usr/local/prefix/usr/lib/perl5 double prefix
 * QA Notice: usr/local/prefix///usr/local/prefix/usr/lib/perl5/vendor_perl double prefix
 * QA Notice: usr/local/prefix///usr/local/prefix/usr/lib/perl5/vendor_perl/5.16.1 double prefix
 * ERROR: app-doc/NaturalDocs-1.52 failed:
 *   Aborting due to QA concerns: double prefix files installed
 * 
 * Call stack:
 *   misc-functions.sh, line 1877:  Called install_qa_check
 *   misc-functions.sh, line  253:  Called install_qa_check_prefix
 *   misc-functions.sh, line  892:  Called die
 * The specific snippet of code:
 *   		die "Aborting due to QA concerns: double prefix files installed"
 * 
 * If you need support, post the output of `emerge --info '=app-doc/NaturalDocs-1.52'`,
 * the complete build log and the output of `emerge -pqv '=app-doc/NaturalDocs-1.52'`.
 * The complete build log is located at '/usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/temp/build.log'.
 * The ebuild environment file is located at '/usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/temp/environment'.
 * Working directory: '/usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/image'
 * S: '/usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/work'
!!! post install failed; exiting.

>>> Failed to emerge app-doc/NaturalDocs-1.52, Log file:

>>>  '/usr/local/prefix/var/tmp/portage/app-doc/NaturalDocs-1.52/temp/build.log'
Comment 1 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-08-31 13:48:55 UTC
(In reply to comment #0)
> emerge NaturalDocs fail.
> NaturalDocs-1.52
> First of I had to add it to etc/portage/package.accept_keywords. Don't
> really know why it was masked..

Because it didn't have your KEYWORD. Actually, this ebuild doesn't have any Prefix keywords, so you are using an untested (and unported) package and that is why it failed.
Comment 2 Raboo Treed 2012-09-04 10:03:26 UTC
Do you have a tip on how I can help with this? Because I have a feeling that this wont be my only bump in the road.
Comment 3 Fabian Groffen gentoo-dev 2012-09-29 14:07:50 UTC
Helpers like insinto and dosym handle $EPREFIX transparently, however vars from eclasses often include $EPREFIX, hence we need to strip that when we use them with helpers.
Second, we should of course check locations in our Prefix, and not the host system.

--- NaturalDocs-1.52.ebuild     18 Mar 2012 15:57:13 -0000      1.7
+++ NaturalDocs-1.52.ebuild     29 Sep 2012 14:06:33 -0000
@@ -31,10 +31,10 @@
        dosym /etc/${PN} /usr/share/${PN}/Config
 
        perlinfo
-       insinto ${VENDOR_LIB}
+       insinto ${VENDOR_LIB#${EPREFIX}}
        doins -r Modules/NaturalDocs
        dodir /usr/share/${PN}/Modules
-       dosym ${VENDOR_LIB}/NaturalDocs /usr/share/${PN}/Modules/NaturalDocs
+       dosym ${VENDOR_LIB#${EPREFIX}}/NaturalDocs /usr/share/${PN}/Modules/NaturalDocs
 
        exeinto /usr/share/${PN}
        doexe ${PN}
@@ -49,7 +49,7 @@
 }
 
 pkg_preinst() {
-       if [[ -e /usr/share/${PN}/Config && ! -L /usr/share/${PN}/Config ]] ; then
+       if [[ -e ${EPREFIX}/usr/share/${PN}/Config && ! -L ${EPREFIX}/usr/share/${PN}/Config ]] ; then
                mkdir -p /etc/${PN}
                mv /usr/share/${PN}/Config/* /etc/${PN}/
                rm -rf /usr/share/${PN}/Config
Comment 4 Raboo Treed 2012-10-09 13:37:24 UTC
Ok Here is  the patch:

--- /usr/local/prefix/usr/portage/app-doc/NaturalDocs/NaturalDocs-1.52.ebuild	2012-03-18 19:03:07.000000000 +0300
+++ NaturalDocs-1.52-r1.ebuild	2012-10-09 17:35:51.000000000 +0400
@@ -31,10 +31,10 @@
 	dosym /etc/${PN} /usr/share/${PN}/Config
 
 	perlinfo
-	insinto ${VENDOR_LIB}
+	insinto ${VENDOR_LIB#${EPREFIX}}
 	doins -r Modules/NaturalDocs
 	dodir /usr/share/${PN}/Modules
-	dosym ${VENDOR_LIB}/NaturalDocs /usr/share/${PN}/Modules/NaturalDocs
+	dosym ${VENDOR_LIB#${EPREFIX}}/NaturalDocs /usr/share/${PN}/Modules/NaturalDocs
 
 	exeinto /usr/share/${PN}
 	doexe ${PN}
Comment 5 Raboo Treed 2012-10-09 14:38:37 UTC
Created attachment 326094 [details, diff]
patch for NaturalDocs-1.52 so it works in prefix

Added attachment patch for NaturalDocs-1.52 so it works in prefix
Comment 6 Raboo Treed 2012-10-10 08:26:01 UTC
I didn't add a ~x86-linux KEYWORDS, should I do that aswell?
Comment 7 Raboo Treed 2012-10-10 08:29:46 UTC
Created attachment 326164 [details, diff]
added ~x86-linux to this one..
Comment 8 Fabian Groffen gentoo-dev 2012-10-10 09:30:25 UTC
I gave you the patch in comment #3, so why do you ignore it?
Comment 9 Raboo Treed 2012-10-10 12:37:59 UTC
Basically this is the same..

Just removed
+       if [[ -e ${EPREFIX}/usr/share/${PN}/Config && ! -L ${EPREFIX}/usr/share/${PN}/Config ]] ; then

Because it didn't seem to work.. Not sure why, perhaps because i didn't run ebuild clean...

But it works now.. I can submit a new patch with that as well..
Comment 10 Raboo Treed 2012-10-10 12:41:47 UTC
Created attachment 326186 [details, diff]
Final patch based on Fabians + ~x86-linux KEYWORDS

This one is same as Fabians Patch, but i added ~x86-linux keyword since I've tested that it works with ~x86-linux.
Comment 11 Fabian Groffen gentoo-dev 2017-11-15 17:57:26 UTC
I'm sorry, we have to revisit this.
Comment 12 Niklaus Hofer 2021-05-20 07:30:12 UTC
Please add the patched ebuild to the main repository. The problem still exists to this date and the patch provided by Raboo Treed solved the issue for me.
Comment 13 Fabian Groffen gentoo-dev 2021-05-20 08:27:07 UTC
@Aaron: please review patch from comment #10, ok to commit?