Bug 168046 - sys-* ebuilds abusing ROOT
|
Bug#:
168046
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: NEW
|
Severity: normal
|
Priority: P2
|
|
Resolution:
|
Assigned To: qa@gentoo.org
|
Reported By: ciaran.mccreesh@googlemail.com
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: sys-* ebuilds abusing ROOT
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-02-22 21:57 0000
|
Some notes on ROOT:
* The idea behind ROOT is that one can build a system with ROOT=/somewhere and
then chroot into it or tar up /somewhere as a system image. It is not designed
to allow the user to run /somewhere/usr/bin/foo.
* ROOT can't be used correctly in src_*, since ROOT might be different when
merging a binary package. For example, a binary package might be built with
ROOT=/ and then installed onto a system using ROOT=/somewhere.
* ROOT isn't used for library dependencies. When building, libraries, headers
etc. on / have to be used. Cross-compiling etc is done by configuring the
toolchain correctly, not by hacking ebuilds in a way that breaks binary
packages.
Summary of all mentioned herds:
Java base-system bsd cluster cron embedded gentopia hppa no-herd toolchain
Summary of all mentioned maintainers:
<cardoe@gentoo.org>
<gmsoft@gentoo.org>
<johnm@gentoo.org>
<solar@gentoo.org>
<tantive@gentoo.org>
<vapier@gentoo.org>
Saleem Abdulrasool <compnerd@gentoo.org>
Stefan Briesenick <sbriesen@gentoo.org>
Thilo Bangert <bangert@gentoo.org>
QA checks for package directory /sys-apps/baselayout:
/sys-apps/baselayout/baselayout-1.13.0_alpha10-r2.ebuild: root:
src_install 153: if has_multilib_profile && [[ -d ${ROOT}lib32 || -d
${ROOT}lib32 ]] && ! hasq lib32 ${libdirs}; then
src_install 163: # Remove the installed runlevels, as we don't know about
$ROOT yet
/sys-apps/baselayout/baselayout-1.13.0_alpha11-r1.ebuild: root:
src_install 148: if has_multilib_profile && [[ -d ${ROOT}lib32 || -d
${ROOT}lib32 ]] && ! hasq lib32 ${libdirs}; then
src_install 158: # Remove the installed runlevels, as we don't know about
$ROOT yet
/sys-apps/baselayout/baselayout-1.13.0_alpha11-r2.ebuild: root:
src_install 149: if has_multilib_profile && [[ -d ${ROOT}lib32 || -d
${ROOT}lib32 ]] && ! hasq lib32 ${libdirs}; then
src_install 159: # Remove the installed runlevels, as we don't know about
$ROOT yet
/sys-apps/baselayout/baselayout-1.13.0_alpha12.ebuild: root:
src_install 145: if has_multilib_profile && [[ -d ${ROOT}lib32 || -d
${ROOT}lib32 ]] && ! hasq lib32 ${libdirs}; then
src_install 155: # Remove the installed runlevels, as we don't know about
$ROOT yet
herds: base-system
QA checks for package directory /sys-apps/baselayout-lite:
/sys-apps/baselayout-lite/baselayout-lite-1.0_pre1.ebuild: root:
src_install 26: [ "${ROOT}" = "/" ] && rm -rf ${D}/proc
src_install 27: [ "${ROOT}" = "" ] && rm -rf ${D}/proc
herds: embedded
QA checks for package directory /sys-apps/busybox:
/sys-apps/busybox/busybox-1.2.2.1.ebuild: root:
src_unpack 117: for root in "${PORTAGE_CONFIGROOT}" "${ROOT}" / ; do
/sys-apps/busybox/busybox-1.3.1.ebuild: root:
src_unpack 133: for root in "${PORTAGE_CONFIGROOT}" "${ROOT}" / ; do
/sys-apps/busybox/busybox-1.4.1-r1.ebuild: root:
src_unpack 132: for root in "${PORTAGE_CONFIGROOT}" "${ROOT}" / ; do
/sys-apps/busybox/busybox-1.4.1-r2.ebuild: root:
src_unpack 133: for root in "${PORTAGE_CONFIGROOT}" "${ROOT}" / ; do
herds: embedded
QA checks for package directory /sys-apps/hal:
/sys-apps/hal/hal-0.5.7.1-r3.ebuild: root:
src_compile 132: if [ -r "${ROOT}/usr/share/misc/pci.ids.gz" ] ; then
src_compile 133: hwdata="${ROOT}/usr/share/misc/pci.ids.gz"
src_compile 134: elif [ -r "${ROOT}/usr/share/misc/pci.ids" ] ; then
src_compile 135: hwdata="${ROOT}/usr/share/misc/pci.ids"
/sys-apps/hal/hal-0.5.7.1-r4.ebuild: root:
src_compile 139: if [ -r "${ROOT}/usr/share/misc/pci.ids.gz" ] ; then
src_compile 140: hwdata="${ROOT}/usr/share/misc/pci.ids.gz"
src_compile 141: elif [ -r "${ROOT}/usr/share/misc/pci.ids" ] ; then
src_compile 142: hwdata="${ROOT}/usr/share/misc/pci.ids"
herds: gentopia
maintainer: <cardoe@gentoo.org>
QA checks for package directory /sys-apps/netboot-base:
/sys-apps/netboot-base/netboot-base-20041007.ebuild: root:
src_install 31: [[ ${ROOT} = "/" ]] && die "refusing to install to /"
herds: base-system
maintainer: <gmsoft@gentoo.org>
maintainer: <vapier@gentoo.org>
QA checks for package directory /sys-apps/pcfclock:
/sys-apps/pcfclock/pcfclock-0.44-r2.ebuild: root:
src_install 48: if [ -e ${ROOT}dev/.udev ]; then
/sys-apps/pcfclock/pcfclock-0.44-r3.ebuild: root:
src_install 49: if [ -e ${ROOT}dev/.udev ]; then
herds: no-herd
maintainer: Stefan Briesenick <sbriesen@gentoo.org>
QA checks for package directory /sys-apps/ucspi-proxy:
/sys-apps/ucspi-proxy/ucspi-proxy-0.96.ebuild: root:
src_compile 22: echo "${ROOT}/usr/include/bglibs/" > conf-bgincs
src_compile 23: echo "${ROOT}/usr/lib/bglibs/" > conf-bglibs
herds: base-system
maintainer: Thilo Bangert <bangert@gentoo.org>
QA checks for package directory /sys-apps/ucspi-unix:
/sys-apps/ucspi-unix/ucspi-unix-0.36-r1.ebuild: root:
src_compile 25: echo "$(tc-getCC) ${CFLAGS} -I${ROOT}/usr/lib/bglibs/include"
> conf-cc
src_compile 26: echo "$(tc-getCC) -s -L${ROOT}/usr/lib/bglibs/lib" > conf-ld
/sys-apps/ucspi-unix/ucspi-unix-0.36-r2.ebuild: root:
src_compile 26: echo "$(tc-getCC) ${CFLAGS} -I${ROOT}/usr/lib/bglibs/include
${PEERCRED}" > conf-cc
src_compile 27: echo "$(tc-getCC) ${LDFLAGS} -L${ROOT}/usr/lib/bglibs/lib" >
conf-ld
herds: base-system
maintainer: Thilo Bangert <bangert@gentoo.org>
QA checks for package directory /sys-cluster/torque:
/sys-cluster/torque/torque-2.1.6.ebuild: root:
src_install 120: if [[ -f "${ROOT}etc/pbs_environment" ]]; then
src_install 121: cp "${ROOT}etc/pbs_environment" "${D}"/etc/pbs_environment
src_install 126: if [ -f "${ROOT}var/spool/PBS/server_name" ]; then
src_install 127: cp "${ROOT}var/spool/PBS/server_name"
"${D}/var/spool/PBS/server_name"
herds: cluster
QA checks for package directory /sys-devel/binutils-hppa64:
/sys-devel/binutils-hppa64/binutils-hppa64-2.16.1.ebuild: root:
src_compile 87: emake tooldir="${ROOT}/usr/bin" \
herds: hppa
QA checks for package directory /sys-devel/gcc:
/sys-devel/gcc/gcc-3.3.2-r7.ebuild: root:
src_install 495: [ -f "${ROOT}/etc/env.d/99glibc_ssp" ]
/sys-devel/gcc/gcc-3.4.1-r3.ebuild: root:
src_install 734: [ -f "${ROOT}/etc/env.d/99glibc_ssp" ]
herds: toolchain
QA checks for package directory /sys-devel/gcc-compat:
/sys-devel/gcc-compat/gcc-compat-1.4.ebuild: root:
src_install 27: cd $ROOT || die "Failed to chdir to root: $ROOT"
herds: base-system
QA checks for package directory /sys-devel/gettext:
/sys-devel/gettext/gettext-0.14.1-r1.ebuild: root:
src_install 66: if [ -e "${ROOT}"/usr/$(get_libdir)/libintl.so.2 ] ; then
src_install 67: cp -pPR ${ROOT}/usr/$(get_libdir)/libintl.so.2*
${D}/usr/$(get_libdir)/
/sys-devel/gettext/gettext-0.14.2.ebuild: root:
src_install 78: if [ -e "${ROOT}"/usr/$(get_libdir)/libintl.so.2 ] ; then
src_install 79: cp -pPR ${ROOT}/usr/$(get_libdir)/libintl.so.2*
${D}/usr/$(get_libdir)/
/sys-devel/gettext/gettext-0.14.4.ebuild: root:
src_install 79: if [ -e "${ROOT}"/usr/$(get_libdir)/libintl.so.2 ] ; then
src_install 80: cp -pPR ${ROOT}/usr/$(get_libdir)/libintl.so.2*
${D}/usr/$(get_libdir)/
/sys-devel/gettext/gettext-0.14.5.ebuild: root:
src_install 86: if [ -e "${ROOT}"/usr/$(get_libdir)/libintl.so.2 ] ; then
src_install 87: cp -pPR ${ROOT}/usr/$(get_libdir)/libintl.so.2*
${D}/usr/$(get_libdir)/
/sys-devel/gettext/gettext-0.14.6.ebuild: root:
src_install 86: if [ -e "${ROOT}"/usr/$(get_libdir)/libintl.so.2 ] ; then
src_install 87: cp -pPR ${ROOT}/usr/$(get_libdir)/libintl.so.2*
${D}/usr/$(get_libdir)/
/sys-devel/gettext/gettext-0.15-r1.ebuild: root:
src_install 78: if [[ -e ${ROOT}/usr/$(get_libdir)/${libname} ]] ; then
src_install 79: cp -pPR ${ROOT}/usr/$(get_libdir)/${libname}*
"${D}"/usr/$(get_libdir)/
src_install 82: if [[ -e ${ROOT}/$(get_libdir)/${libname} ]] ; then
src_install 84: cp -pPR ${ROOT}/$(get_libdir)/${libname}*
"${D}"/$(get_libdir)/
/sys-devel/gettext/gettext-0.15.ebuild: root:
src_install 83: if [[ -e ${ROOT}/usr/$(get_libdir)/${libname} ]] ; then
src_install 84: cp -pPR ${ROOT}/usr/$(get_libdir)/${libname}*
"${D}"/usr/$(get_libdir)/
src_install 87: if [[ -e ${ROOT}/$(get_libdir)/${libname} ]] ; then
src_install 89: cp -pPR ${ROOT}/$(get_libdir)/${libname}*
"${D}"/$(get_libdir)/
/sys-devel/gettext/gettext-0.16.1.ebuild: root:
src_install 78: if [[ -e ${ROOT}/usr/$(get_libdir)/${libname} ]] ; then
src_install 79: cp -pPR ${ROOT}/usr/$(get_libdir)/${libname}*
"${D}"/usr/$(get_libdir)/
src_install 82: if [[ -e ${ROOT}/$(get_libdir)/${libname} ]] ; then
src_install 84: cp -pPR ${ROOT}/$(get_libdir)/${libname}*
"${D}"/$(get_libdir)/
herds: base-system
QA checks for package directory /sys-fs/e2fsprogs:
/sys-fs/e2fsprogs/e2fsprogs-1.39-r1.ebuild: root:
src_unpack 66: ln -s "${ROOT}"/usr/$(get_libdir)/libcom_err.a
lib/libcom_err.a
src_unpack 67: ln -s "${ROOT}"/$(get_libdir)/libcom_err.so lib/libcom_err.so
src_unpack 69: ln -s "${ROOT}"/usr/include/ss/ss_err.h lib/ss/
src_unpack 70: ln -s "${ROOT}"/$(get_libdir)/libss.so lib/libss.so
/sys-fs/e2fsprogs/e2fsprogs-1.39.ebuild: root:
src_unpack 62: ln -s "${ROOT}"/usr/$(get_libdir)/libcom_err.a
lib/libcom_err.a
src_unpack 63: ln -s "${ROOT}"/$(get_libdir)/libcom_err.so lib/libcom_err.so
src_unpack 65: ln -s "${ROOT}"/usr/include/ss/ss_err.h lib/ss/
src_unpack 66: ln -s "${ROOT}"/$(get_libdir)/libss.so lib/libss.so
herds: base-system
QA checks for package directory /sys-fs/fuse4bsd:
/sys-fs/fuse4bsd/fuse4bsd-0.3.0.ebuild: root:
src_unpack 26: cp "${ROOT}/usr/include/fuse/fuse_kernel.h" fuse_module/
herds: bsd
QA checks for package directory /sys-fs/jdiskreport-bin:
/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.2.ebuild: root:
src_install 30: local INSTROOT=${ROOT}opt/${MY_PN}
/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.3.ebuild: root:
src_install 30: local INSTROOT=${ROOT}opt/${MY_PN}
/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5.ebuild: root:
src_install 30: local INSTROOT=${ROOT}opt/${MY_PN}
herds: Java
maintainer: Saleem Abdulrasool <compnerd@gentoo.org>
QA checks for package directory /sys-fs/mtd:
/sys-fs/mtd/mtd-20040825.ebuild: root:
src_compile 25: emake LINUXDIR=${ROOT}/usr/src/linux/ || die
/sys-fs/mtd/mtd-20050519.ebuild: root:
src_compile 25: emake LINUXDIR=${ROOT}/usr/src/linux/ || die
herds: base-system
maintainer: <solar@gentoo.org>
QA checks for package directory /sys-fs/ocfs2-tools:
/sys-fs/ocfs2-tools/ocfs2-tools-1.2.1.ebuild: root:
src_compile 28: econf --prefix=${ROOT} \
herds: cluster
QA checks for package directory /sys-fs/static-dev:
/sys-fs/static-dev/static-dev-0.1.ebuild: root:
src_install 58: export PATH=${ROOT}/dev:/dev:${PATH}
herds: no-herd
maintainer: <johnm@gentoo.org>
QA checks for package directory /sys-fs/trustees:
/sys-fs/trustees/trustees-2.10.ebuild: root:
src_compile 22: if [ ! -e
"${ROOT}/usr/src/linux/include/linux/trustee_struct.h" ] ; then
src_compile 30: append-flags -I${ROOT}/usr/src/linux/include -include errno.h
herds: no-herd
QA checks for package directory /sys-libs/detect:
/sys-libs/detect/detect-0.9.72.ebuild: root:
src_compile 30: econf --with-kernel-source="${ROOT}/usr" || die
herds: base-system
QA checks for package directory /sys-libs/glibc:
/sys-libs/glibc/glibc-2.3.2-r12.ebuild: root:
src_compile 548: # && myconf="${myconf}
--with-headers=${ROOT}usr/include"
src_compile 549: myconf="${myconf} --with-headers=${ROOT}usr/include"
src_compile 551: # If kernel version and headers in ${ROOT}/usr/include are
ok,
src_compile 554: -n "$(get_KHV "`KV_to_int ${MIN_KV}`"
"${ROOT}/usr/include")" ]
herds: toolchain
QA checks for package directory /sys-libs/uclibc:
/sys-libs/uclibc/uclibc-0.9.28-r1.ebuild: root:
src_unpack 320: configfile=${ROOT}/etc/${PN}/${CTARGET}/${conf}.config
/sys-libs/uclibc/uclibc-0.9.28-r2.ebuild: root:
src_unpack 320: configfile=${ROOT}/etc/${PN}/${CTARGET}/${conf}.config
/sys-libs/uclibc/uclibc-0.9.28.1.ebuild: root:
src_unpack 321: configfile=${ROOT}/etc/${PN}/${CTARGET}/${conf}.config
/sys-libs/uclibc/uclibc-0.9.28.ebuild: root:
src_unpack 320: configfile=${ROOT}/etc/${PN}/${CTARGET}/${conf}.config
herds: embedded
maintainer: <solar@gentoo.org>
maintainer: <vapier@gentoo.org>
QA checks for package directory /sys-power/apcupsd:
/sys-power/apcupsd/apcupsd-3.10.18-r2.ebuild: root:
src_install 85: einfo "The configuration file
${ROOT}/etc/lighttpd/apcupsd.conf should"
/sys-power/apcupsd/apcupsd-3.12.2-r1.ebuild: root:
src_install 88: einfo "The configuration file
${ROOT}/etc/lighttpd/apcupsd.conf should"
/sys-power/apcupsd/apcupsd-3.12.2.ebuild: root:
src_install 88: einfo "The configuration file
${ROOT}/etc/lighttpd/apcupsd.conf should"
herds: base-system
maintainer: <tantive@gentoo.org>
QA checks for package directory /sys-process/bcron:
/sys-process/bcron/bcron-0.09.ebuild: root:
src_compile 28: echo "${ROOT}/usr/include/bglibs" > conf-bgincs
src_compile 29: echo "${ROOT}/usr/lib/bglibs" > conf-bglibs
herds: cron
maintainer: Thilo Bangert <bangert@gentoo.org>
(that's them all)
i'm really not worried about the old versions as they'll get trimmed in due
time:
- gcc glibc gettext etc...
netboot is fixed in stable version already
gcc-compat is punted
stable gettext is fixed
busybox/uclibc will be fixed when moved to savedconfig.eclass
sys-process/bcron
sys-apps/ucspi-proxy
sys-apps/ucspi-unix
fixed!
thanks.
I don't see anything java listed in this bug. Please add us bug if there is
something for us to fix.
(In reply to comment #5)
> I don't see anything java listed in this bug. Please add us bug if there is
> something for us to fix.
sys-fs/jdiskreport-bin is in java herd
Removed binutils-hppa64-2.16.1.
(In reply to comment #6)
> (In reply to comment #5)
> > I don't see anything java listed in this bug. Please add us bug if there is
> > something for us to fix.
>
> sys-fs/jdiskreport-bin is in java herd
>
Which is now fixed by switching to use your eclasses. I did not catch that one
before because the herd was written as Java not java as usual.
individual reports for:
pcfclock (bug #258119), static-dev (bug #258121), ocfs2-tools (bug #258122)
the ones still left to check:
baselayout, busybox, gcc, gettext, glibc and uclibc