Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 317743 - app-emacs/gnuserv-programs-3.12.8: QA Notice: the following files are outside of the prefix
Summary: app-emacs/gnuserv-programs-3.12.8: QA Notice: the following files are outside...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-29 11:00 UTC by Charlie Root
Modified: 2010-04-30 14:13 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Charlie Root 2010-04-29 11:00:32 UTC
* CPV:  app-emacs/gnuserv-programs-3.12.8
 * REPO: gentoo_prefix
 * USE:  X elibc_glibc kernel_linux prefix userland_GNU x86
>>> Unpacking source...
>>> Unpacking gnuserv-3.12.8.tar.gz to /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work
>>> Source unpacked in /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work
>>> Compiling source in /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work/gnuserv-3.12.8 ...
./configure --prefix=/usr/prefix/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/prefix/usr/share/man --infodir=/usr/prefix/usr/share/info --datadir=/usr/prefix/usr/share --sysconfdir=/usr/prefix/etc --localstatedir=/usr/prefix/var/lib --enable-xauth --x-includes=/usr/include --x-libraries=/usr/lib
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-linux-gnu-gcc accepts -g... yes
checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/prefix/usr/bin/install -c
checking for an ANSI C-conforming const... yes
checking whether sys_siglist is declared... yes
checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E
checking for grep that handles long lines and -e... /usr/prefix/bin/grep
checking for egrep... /usr/prefix/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/types.h... (cached) yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking sgtty.h usability... yes
checking sgtty.h presence... yes
checking for sgtty.h... yes
checking bsd/sgtty.h usability... no
checking bsd/sgtty.h presence... no
checking for bsd/sgtty.h... no
checking for socklen_t... yes
checking for long... yes
checking size of long... 4
checking for X... libraries /usr/lib, headers /usr/include
checking X11/Xauth.h usability... yes
checking X11/Xauth.h presence... yes
checking for X11/Xauth.h... yes
checking for XauGetAuthByAddr in -lXau... yes
checking for socket in -lsocket... no
checking for inet_ntoa in -lnsl... yes
checking for gettext in -lintl... no
checking for getcwd... yes
checking for memcmp... yes
checking for strerror... yes
checking for internet-domain sockets... yes
checking "for sun_len member in struct sockaddr_un"... no
checking for unix-domain sockets... yes
checking for msgget... yes
checking for GNU libc... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
make ELC=
i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe gnuserv.c
i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe getopt.c
i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe gnuslib.c
gnuslib.c: In function 'connect_to_internet_server':
gnuslib.c:377: warning: ignoring return value of 'write', declared with attribute warn_unused_result
gnuslib.c:378: warning: ignoring return value of 'write', declared with attribute warn_unused_result
gnuslib.c:386: warning: ignoring return value of 'write', declared with attribute warn_unused_result
i686-pc-linux-gnu-gcc -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe  -o gnuserv gnuserv.o gnuslib.o -lnsl  -L/usr/lib -lXau
i686-pc-linux-gnu-gcc -c -I. -I. -DHAVE_CONFIG_H -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe gnuclient.c
i686-pc-linux-gnu-gcc -I/usr/prefix/usr/include -I/usr/include -mtune=generic -march=i686 -O6 -g0 -pipe  -o gnuclient gnuclient.o gnuslib.o getopt.o -lnsl  -L/usr/lib -lXau
>>> Source compiled.
>>> Test phase [not enabled]: app-emacs/gnuserv-programs-3.12.8

>>> Install gnuserv-programs-3.12.8 into /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/prefix/ category app-emacs
make -j1 ELC= prefix=/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr man1dir=/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1 install/usr/prefix/bin/bash ./mkinstalldirs /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share   /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3
.12.8/image//usr/share/man/man1
mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr
mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/bin
mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/share
mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/share/man
mkdir /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/share/man/man1
/usr/prefix/usr/bin/install -c gnuserv /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnuserv
/usr/prefix/usr/bin/install -c gnuclient /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnuclient
/usr/prefix/usr/bin/install -c gnuattach /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnuattach
/usr/prefix/usr/bin/install -c gnudoit /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/bin/gnudoit
/usr/prefix/usr/bin/install -c -m 644 ./gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1
ln -s /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuclient.1
ln -s /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuattach.1
ln -s /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnuserv.1 /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image//usr/share/man/man1/gnudoit.1
>>> Completed installing gnuserv-programs-3.12.8 into /usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/prefix/

find: `/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/image/usr/prefix/': No such file or directory
 * QA Notice: the following files are outside of the prefix:
 * /usr/bin
 * /usr/bin/gnuattach
 * /usr/bin/gnuserv
 * /usr/bin/gnudoit
 * /usr/bin/gnuclient
 * /usr/share
 * /usr/share/man
 * /usr/share/man/man1
 * /usr/share/man/man1/gnudoit.1
 * /usr/share/man/man1/gnuclient.1
 * /usr/share/man/man1/gnuattach.1
 * /usr/share/man/man1/gnuserv.1
 * ERROR: app-emacs/gnuserv-programs-3.12.8 failed:
 *   Aborting due to QA concerns: there are files installed outside the prefix
 *
 * Call stack:
 *   misc-functions.sh, line 1487:  Called install_qa_check
 *   misc-functions.sh, line   94:  Called install_qa_check_prefix
 *   misc-functions.sh, line  596:  Called die
 * The specific snippet of code:
 *                      die "Aborting due to QA concerns: there are files installed outside the prefix"
 *
 * If you need support, post the output of 'emerge --info =app-emacs/gnuserv-programs-3.12.8',
 * the complete build log and the output of 'emerge -pqv =app-emacs/gnuserv-programs-3.12.8'.
 * The complete build log is located at '/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/temp/build.log'.
 * The ebuild environment file is located at '/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/temp/environment'.
 * S: '/usr/prefix/var/tmp/portage/app-emacs/gnuserv-programs-3.12.8/work/gnuserv-3.12.8'


Reproducible: Always

Steps to Reproduce:
emerge gnuserv-programs
Actual Results:  
See above.

Expected Results:  
No QA warning.

N/A
Comment 1 Fabian Groffen gentoo-dev 2010-04-29 11:08:24 UTC
Not surprising, the configure call is wrong.  This package needs porting.

Can you try modifying the ebuild like this?

Index: gnuserv-programs-3.12.8.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/app-emacs/gnuserv-programs/gnuserv-programs-3.12.8.ebuild,v
retrieving revision 1.3
diff -u -r1.3 gnuserv-programs-3.12.8.ebuild
--- gnuserv-programs-3.12.8.ebuild      19 Jul 2009 17:27:32 -0000      1.3
+++ gnuserv-programs-3.12.8.ebuild      29 Apr 2010 11:07:56 -0000
@@ -26,14 +26,14 @@
        unset LDFLAGS
 
        econf $(use_enable X xauth) \
-               --x-includes=/usr/include \
-               --x-libraries=/usr/$(get_libdir) || die "econf failed"
+               --x-includes="${EPREFIX}"/usr/include \
+               --x-libraries="${EPREFIX}"/usr/$(get_libdir) || die "econf failed"
        emake ELC="" || die "emake failed"
 }
 
 src_install() {
        emake -j1 ELC="" \
-               prefix="${D}"/usr \
-               man1dir="${D}"/usr/share/man/man1 \
+               prefix="${ED}"/usr \
+               man1dir="${ED}"/usr/share/man/man1 \
                install || die "emake install failed"
 }
Comment 2 Charlie Root 2010-04-29 21:41:59 UTC
It sounds like the proposed fix would fix the problem.

Another (app-emacs) package failed in the same way, but I forgot which one.  Looking through the app-emacs ebuilds, it seems that many other packages are using ${D} instead of ${ED}.  But that's only from a quick glance.
Comment 3 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2010-04-29 22:02:46 UTC
(In reply to comment #2)

> Another (app-emacs) package failed in the same way, but I forgot which one. 
> Looking through the app-emacs ebuilds, it seems that many other packages are
> using ${D} instead of ${ED}.  But that's only from a quick glance.

That is because you are using packages that have not been tested. In your case* you are accepting the "x86" keyword when you should *only* be accepting the x86-linux keyword, unless you are prepared to fix packages. Note: Just because a package is in the tree, doesn't mean it has been tested/fixed/etc.

%% epkginfo gnuserv-programs
<snip>
Keywords:    3.12.8:0: amd64 x86 ~ppc

* I have not seen your emerge --info or package.keywords file so this is my best guess.
Comment 4 Fabian Groffen gentoo-dev 2010-04-30 10:20:09 UTC
@emacs: I need an EAPI bump to 3 for this ebuild, for which the src_compile
function obviously has to be split in two.

Are you OK with this change, and can we apply it to a -r1, or in place?
Comment 5 Ulrich Müller gentoo-dev 2010-04-30 13:47:59 UTC
(In reply to comment #4)
> @emacs: I need an EAPI bump to 3 for this ebuild, for which the src_compile
> function obviously has to be split in two.
> 
> Are you OK with this change, and can we apply it to a -r1, or in place?

Is this the patch from comment #1, plus src_configure/compile split? If yes, go ahead (but please revbump to -r1).

And while you're at it, you can drop the "|| die" from econf, too.
Comment 6 Fabian Groffen gentoo-dev 2010-04-30 14:13:21 UTC
thanks, committed.