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: apache comm-fax mobile net-dialup net-irc net-mail net-p2p net-proxy netmon no-herd perl qmail voip Summary of all mentioned maintainers: <apache-bugs@gentoo.org> <hanno@gentoo.org> <humpback@gentoo.org> <maintainer-needed@gentoo.org> <perl@gentoo.org> <robbat2@gentoo.org> <strerror@gentoo.org> Alin Năstac <mrness@gentoo.org> Jeremy Huddleston <eradicator@gentoo.org> Jon Hood <squinky86@gentoo.org> Matthew Smith <matthewsmith@iinet.net.au> Rajiv Aaron Manglani <rajiv@gentoo.org> Roy Marples <uberlord@gentoo.org> Saleem Abdulrasool <compnerd@gentoo.org> Stefan Knoblich <stkn@gentoo.org> Stefan Schweizer <genstef@gentoo.org> Sven Wegenery <swegener@gentoo.org> Thilo Bangert <bangert@gentoo.org>
QA checks for package directory /net-analyzer/net-snmp: /net-analyzer/net-snmp/net-snmp-5.2.1.2-r1.ebuild 93: --with-logfile="${ROOT}/var/log/net-snmpd.log" \ 94: --with-persistent-directory="${ROOT}/var/lib/net-snmp" \ /net-analyzer/net-snmp/net-snmp-5.2.2-r3.ebuild 91: --with-logfile="${ROOT}/var/log/net-snmpd.log" \ 92: --with-persistent-directory="${ROOT}/var/lib/net-snmp" \ /net-analyzer/net-snmp/net-snmp-5.3.0.1.ebuild 92: --with-logfile="${ROOT}/var/log/net-snmpd.log" \ 93: --with-persistent-directory="${ROOT}/var/lib/net-snmp" \ /net-analyzer/net-snmp/net-snmp-5.3.1-r1.ebuild 97: --with-logfile="${ROOT}/var/log/net-snmpd.log" \ 98: --with-persistent-directory="${ROOT}/var/lib/net-snmp" \ /net-analyzer/net-snmp/net-snmp-5.3.1.ebuild 92: --with-logfile="${ROOT}/var/log/net-snmpd.log" \ 93: --with-persistent-directory="${ROOT}/var/lib/net-snmp" \ /net-analyzer/net-snmp/net-snmp-5.4.ebuild 89: --with-logfile="${ROOT}/var/log/net-snmpd.log" \ 90: --with-persistent-directory="${ROOT}/var/lib/net-snmp" \ herds: netmon QA checks for package directory /net-analyzer/sguil-server: /net-analyzer/sguil-server/sguil-server-0.5.3.ebuild 68: if ! [ -f ${ROOT}/etc/sguil/sguild.key ]; then /net-analyzer/sguil-server/sguil-server-0.6.0_p1.ebuild 71: if ! [ -f ${ROOT}/etc/sguil/sguild.key ]; then /net-analyzer/sguil-server/sguil-server-0.6.1.ebuild 71: if ! [ -f ${ROOT}/etc/sguil/sguild.key ]; then herds: netmon maintainer: <strerror@gentoo.org> QA checks for package directory /net-dialup/ltmodem: /net-dialup/ltmodem/ltmodem-8.31_alpha10-r3.ebuild 85: if [ -e "${ROOT}/dev/.devfsd" ] ; then 87: elif [ -e "${ROOT}/dev/.udev" ] ; then herds: net-dialup QA checks for package directory /net-dialup/rp-pppoe: /net-dialup/rp-pppoe/rp-pppoe-3.8.ebuild 64: if [ -n "${PPPD_VER}" ] && [ -f "${ROOT}/usr/lib/pppd/${PPPD_VER}/rp-pppoe.so" ] ; then herds: net-dialup QA checks for package directory /net-dialup/slmodem: /net-dialup/slmodem/slmodem-2.9.11_pre20051101-r3.ebuild 100: if [ -e "${ROOT}/dev/.devfsd" ] ; then 102: elif [ -e "${ROOT}/dev/.udev" ] ; then /net-dialup/slmodem/slmodem-2.9.11_pre20061021-r1.ebuild 102: if [ -e "${ROOT}/dev/.devfsd" ] ; then 104: elif [ -e "${ROOT}/dev/.udev" ] ; then herds: net-dialup QA checks for package directory /net-dns/ddclient: /net-dns/ddclient/ddclient-3.7.0.ebuild 48: [[ -e "${ROOT}/etc/${PN}/${sample}" ]] && sample="${sample}.sample" herds: no-herd maintainer: Matthew Smith <matthewsmith@iinet.net.au> QA checks for package directory /net-dns/pdnsd: /net-dns/pdnsd/pdnsd-1.2.4-r1.ebuild 60: IPS=$(grep ^nameserver "${ROOT}/etc/resolv.conf" | sed -e 's/nameserver \(.*\)/\tip=\1;/g' | xargs) 82: [ -f "${ROOT}/var/lib/pdnsd/pdnsd.cache" ] && \ 83: cp "${ROOT}/var/lib/pdnsd/pdnsd.cache" "${D}/var/cache/pdnsd/pdnsd.cache" 87: [ -f "${ROOT}/var/cache/pdnsd/pdnsd.cache" ] && \ /net-dns/pdnsd/pdnsd-1.2.4-r3.ebuild 60: IPS=$(grep ^nameserver "${ROOT}/etc/resolv.conf" | sed -e 's/nameserver \(.*\)/\tip=\1;/g' | xargs) 82: [ -f "${ROOT}/var/lib/pdnsd/pdnsd.cache" ] && \ 83: cp "${ROOT}/var/lib/pdnsd/pdnsd.cache" "${D}/var/cache/pdnsd/pdnsd.cache" 87: [ -f "${ROOT}/var/cache/pdnsd/pdnsd.cache" ] && \ /net-dns/pdnsd/pdnsd-1.2.5.ebuild 53: IPS=$(grep ^nameserver "${ROOT}/etc/resolv.conf" | sed -e 's/nameserver \(.*\)/\tip=\1;/g' | xargs) 75: [ -f "${ROOT}/var/lib/pdnsd/pdnsd.cache" ] && \ 76: cp "${ROOT}/var/lib/pdnsd/pdnsd.cache" "${D}/var/cache/pdnsd/pdnsd.cache" 80: [ -f "${ROOT}/var/cache/pdnsd/pdnsd.cache" ] && \ herds: net-dialup QA checks for package directory /net-firewall/ipp2p: /net-firewall/ipp2p/ipp2p-0.8.2-r2.ebuild 44: local IPTABLES_VERSION="$("${ROOT}"/sbin/iptables --version | cut -f2 -dv)" 46: IPTABLES_SRC="${ROOT}/usr" IPTABLES_VERSION="${IPTABLES_VERSION}" libipt_ipp2p.so \ 52: IPTABLES_SRC="${ROOT}/usr" IPTABLES_VERSION="${IPTABLES_VERSION}" \ herds: no-herd maintainer: <eradicator@gentoo.org> maintainer: Alin Năstac <mrness@gentoo.org>
QA checks for package directory /net-firewall/ipset: /net-firewall/ipset/ipset-2.1.0.20050119.ebuild 48: if [ -L ${ROOT}/usr/src/linux -o -d ${ROOT}/usr/src/linux ]; then herds: no-herd maintainer: <robbat2@gentoo.org> QA checks for package directory /net-firewall/kmyfirewall: /net-firewall/kmyfirewall/kmyfirewall-1.0.1.ebuild 24: echo -e "[PATHS]\nDistribution=gentoo\nIPTPath=${ROOT}sbin/iptables\nModprobePath=${ROOT}sbin/modprobe\nrcDefaultPath=${ROOT}etc/runlevels/default/" >> ${S}/kmyfirewall/kmyfirewallrc} herds: netmon QA checks for package directory /net-ftp/glftpd: /net-ftp/glftpd/glftpd-2.00.ebuild 48: export MAKETLS=$(yesno [[ ! -e ${ROOT}/etc/glftpd-dsa.pem ]]) 59: if [[ -e ${ROOT}/etc/glftpd-dsa.pem ]] ; then 60: cp "${ROOT}"/etc/glftpd-dsa.pem "${D}"/etc/ /net-ftp/glftpd/glftpd-2.01.ebuild 46: export MAKETLS=$(yesno [[ ! -e ${ROOT}/etc/glftpd-dsa.pem ]]) 57: if [[ -e ${ROOT}/etc/glftpd-dsa.pem ]] ; then 58: cp "${ROOT}"/etc/glftpd-dsa.pem "${D}"/etc/ maintainer: <maintainer-needed@gentoo.org> QA checks for package directory /net-ftp/tnftp: /net-ftp/tnftp/tnftp-20050625-r1.ebuild 31: if [ ! -e "${ROOT}"/usr/bin/${x} ] herds: no-herd maintainer: Sven Wegenery <swegener@gentoo.org> QA checks for package directory /net-ftp/twoftpd: /net-ftp/twoftpd/twoftpd-1.21.ebuild 26: echo "$(tc-getCC) ${CFLAGS} -I${ROOT}/usr/include/bglibs" > conf-cc 27: echo "$(tc-getCC) -s -L${ROOT}/usr/lib/bglibs" > conf-ld herds: no-herd maintainer: Thilo Bangert <bangert@gentoo.org> QA checks for package directory /net-irc/xchatosd: /net-irc/xchatosd/xchatosd-5.19.ebuild 25: cp -f "${ROOT}"/usr/include/xchat/xchat-plugin.h "${S}"/xchat-plugin.h herds: net-irc QA checks for package directory /net-libs/libssh: /net-libs/libssh/libssh-0.1.ebuild 21: [ ! -e "${ROOT}/usr/bin/ssh" ] && dosym ${PN}-ssh /usr/bin/ssh 22: [ ! -e "${ROOT}/usr/bin/sftp" ] && dosym ${PN}-ssh /usr/bin/sftp herds: netmon QA checks for package directory /net-mail/dovecot: /net-mail/dovecot/dovecot-1.0_rc22.ebuild 123: if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \ 124: -e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then 126: insinto "${ROOT}"/etc/ssl/dovecot /net-mail/dovecot/dovecot-1.0_rc23.ebuild 123: if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \ 124: -e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then 126: insinto "${ROOT}"/etc/ssl/dovecot herds: net-mail maintainer: Roy Marples <uberlord@gentoo.org> QA checks for package directory /net-mail/mailman: /net-mail/mailman/mailman-2.1.9.ebuild 98: for i in ${ROOT}/var/mailman ${ROOT}/home/mailman \ 99: ${ROOT}/usr/local/mailman ${INSTALLDIR} /net-mail/mailman/mailman-2.1.9_rc1.ebuild 99: for i in ${ROOT}/var/mailman ${ROOT}/home/mailman \ 100: ${ROOT}/usr/local/mailman ${INSTALLDIR} herds: net-mail maintainer: <hanno@gentoo.org> QA checks for package directory /net-mail/qmail-autoresponder: /net-mail/qmail-autoresponder/qmail-autoresponder-0.96.1-r1.ebuild 38: echo "${ROOT}/usr/include/bglibs" > conf-bgincs 39: echo "${ROOT}/usr/lib/bglibs" > conf-bglibs /net-mail/qmail-autoresponder/qmail-autoresponder-0.96.2.ebuild 27: echo "${ROOT}/usr/include/bglibs" > conf-bgincs 28: echo "${ROOT}/usr/lib/bglibs" > conf-bglibs herds: qmail maintainer: Thilo Bangert <bangert@gentoo.org> QA checks for package directory /net-mail/qmail-qfilter: /net-mail/qmail-qfilter/qmail-qfilter-2.1.ebuild 28: echo "${ROOT}/usr/include/bglibs" > conf-bgincs 29: echo "${ROOT}/usr/lib/bglibs" > conf-bglibs herds: qmail maintainer: Thilo Bangert <bangert@gentoo.org> QA checks for package directory /net-misc/asterisk: /net-misc/asterisk/asterisk-1.2.13-r1.ebuild 327: elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them" 329: elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf" /net-misc/asterisk/asterisk-1.2.13.ebuild 323: elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them" 325: elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf" /net-misc/asterisk/asterisk-1.2.14.ebuild 312: elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them" 314: elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf" herds: voip maintainer: Rajiv Aaron Manglani <rajiv@gentoo.org> maintainer: Stefan Knoblich <stkn@gentoo.org> QA checks for package directory /net-misc/ebayagent: /net-misc/ebayagent/ebayagent-0.9.11-r2.ebuild 30: sed -i -e "s|X_eBayAgentLocation\ \=>\ \"\",|X_eBayAgentLocation\ \=>\ \"${ROOT}\/usr\/bin\/eBayAgent\",|" ${S}/XeBayAgent.pl herds: perl maintainer: <perl@gentoo.org>
QA checks for package directory /net-misc/gfax: /net-misc/gfax/gfax-0.7.4_pre20051223.ebuild 42: addwrite "${ROOT}/root/.gconf" "${ROOT}/root/.gconfd" herds: comm-fax maintainer: Stefan Schweizer <genstef@gentoo.org> QA checks for package directory /net-misc/ossh: /net-misc/ossh/ossh-1.5.12.ebuild 31: append-flags -I${ROOT}/usr/include/openssl maintainer: <maintainer-needed@gentoo.org> QA checks for package directory /net-misc/ssh: /net-misc/ssh/ssh-3.2.9.1-r1.ebuild 45: # TODO: fix this crap which messes with $ROOT 46: if [ -e ${ROOT}/etc/ssh2/hostkey ] ; then 49: doins ${ROOT}/etc/ssh2/hostkey{,.pub} herds: no-herd maintainer: <humpback@gentoo.org> QA checks for package directory /net-nds/ypserv: /net-nds/ypserv/ypserv-2.18.ebuild 45: if [ -f ${ROOT}/var/yp/Makefile ]; then 47: cp ${ROOT}/var/yp/Makefile ${D}/var/yp/Makefile /net-nds/ypserv/ypserv-2.19.ebuild 45: if [ -f ${ROOT}/var/yp/Makefile ]; then 47: cp ${ROOT}/var/yp/Makefile ${D}/var/yp/Makefile herds: no-herd maintainer: Jeremy Huddleston <eradicator@gentoo.org> QA checks for package directory /net-p2p/bittornado: /net-p2p/bittornado/bittornado-0.3.15.ebuild 44: cp -pPR ${ROOT}/etc/mailcap ${D}/etc/ /net-p2p/bittornado/bittornado-0.3.18.ebuild 44: cp -pPR ${ROOT}/etc/mailcap ${D}/etc/ herds: net-p2p QA checks for package directory /net-p2p/transmission: /net-p2p/transmission/transmission-0.6.1-r1.ebuild 44: make PREFIX="${D}${ROOT}usr" LOCALEDIR="\$(PREFIX)/share/locale" install \ herds: net-p2p maintainer: Saleem Abdulrasool <compnerd@gentoo.org> maintainer: Jon Hood <squinky86@gentoo.org> QA checks for package directory /net-proxy/wwwoffle: /net-proxy/wwwoffle/wwwoffle-2.9-r1.ebuild 47: if [ -f "${ROOT}/etc/wwwoffle.conf" ] ; then 49: cp "${ROOT}/etc/wwwoffle.conf" conf/wwwoffle.conf 75: #if [ -f "${ROOT}/etc/wwwoffle.conf" ]; then /net-proxy/wwwoffle/wwwoffle-2.9a.ebuild 45: if [ -f "${ROOT}/etc/wwwoffle.conf" ] ; then 47: cp "${ROOT}/etc/wwwoffle.conf" conf/wwwoffle.conf 73: #if [ -f "${ROOT}/etc/wwwoffle.conf" ]; then herds: net-proxy maintainer: Alin Nastac <mrness@gentoo.org> QA checks for package directory /net-wireless/hostapd: /net-wireless/hostapd/hostapd-0.4.8.ebuild 62: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG} /net-wireless/hostapd/hostapd-0.4.9.ebuild 62: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG} /net-wireless/hostapd/hostapd-0.5.2.ebuild 66: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG} /net-wireless/hostapd/hostapd-0.5.3.ebuild 70: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG} /net-wireless/hostapd/hostapd-0.5.4.ebuild 67: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG} /net-wireless/hostapd/hostapd-0.5.7.ebuild 66: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG} herds: mobile QA checks for package directory /net-wireless/wpa_supplicant: /net-wireless/wpa_supplicant/wpa_supplicant-0.4.9.ebuild 102: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG} /net-wireless/wpa_supplicant/wpa_supplicant-0.5.4.ebuild 105: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> "${CONFIG}" /net-wireless/wpa_supplicant/wpa_supplicant-0.5.5.ebuild 124: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> .config /net-wireless/wpa_supplicant/wpa_supplicant-0.5.6.ebuild 120: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> .config /net-wireless/wpa_supplicant/wpa_supplicant-0.5.7.ebuild 121: echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> .config herds: mobile maintainer: Roy Marples <uberlord@gentoo.org> QA checks for package directory /net-www/mod_watch: /net-www/mod_watch/mod_watch-3.18-r2.ebuild 38: keepdir "${ROOT}"/var/lib/${PN} /net-www/mod_watch/mod_watch-4.03-r2.ebuild 43: keepdir "${ROOT}"/var/lib/${PN} herds: apache maintainer: <apache-bugs@gentoo.org> (that's them all)
(In reply to comment #0) > * 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. Is it OK to create a variable in pkg_setup that references ROOT for file existance so that src_install can use it to install a file or not? Otherwise how should this be handled?
(In reply to comment #4) > Is it OK to create a variable in pkg_setup that references ROOT for file > existance so that src_install can use it to install a file or not? Otherwise > how should this be handled? Install the file. If, based on the contents of $ROOT, you decide that you don't want to merge it, remove it in pkg_preinst.
(In reply to comment #5) > (In reply to comment #4) > > Is it OK to create a variable in pkg_setup that references ROOT for file > > existance so that src_install can use it to install a file or not? Otherwise > > how should this be handled? > > Install the file. If, based on the contents of $ROOT, you decide that you don't > want to merge it, remove it in pkg_preinst. > How about a solution where it doesn't have to waste half an hour on slow machines making a file that it doesn't need once installed? SSL certs shouldn't be in a bin pkg anyway, but due to the nature of the eclass it needs to be created in src_install - unless I'm missing something.
If you have a solution that won't create incomplete binary packages when / on the build host happens to have the file in question then I'll be interested to know.
ssl certs don't belong in binary packages - they are specific to the machine it's generated on. But due to the nature of the ssl-cert eclass it has to be used in src_*. Until that is resolved dovecot and probably all server related packages that use this eclass will continue to violate this QA report.
(In reply to comment #8) > ssl certs don't belong in binary packages - they are specific to the machine > it's generated on. But due to the nature of the ssl-cert eclass it has to be > used in src_*. In which case that code is still broken, in the case when / on the build machine does not have the file and the ssl certs end up in the package. > Until that is resolved dovecot and probably all server related packages that > use this eclass will continue to violate this QA report. So we need to fix the eclass. Thanks for pointing this out.
net-irc is done
wpa_supplicant fixed
perl can neither confirm nor deny if these are our natural ROOTs.
gfax fixed
(In reply to comment #6) > How about a solution where it doesn't have to waste half an hour on slow > machines making a file that it doesn't need once installed? > > SSL certs shouldn't be in a bin pkg anyway, but due to the nature of the eclass > it needs to be created in src_install - unless I'm missing something. You'll need to modify the eclass to let you create it in pkg_preinst.
net-ftp/twoftpd net-mail/qmail-autoresponder net-mail/qmail-qfilter fixed! thanks!
I did net-p2p/*, removing herd and affected maintainers.
no asterisk-1.0.x ebuilds have issues. voip: check the 1.2.x ebuilds.
net-firewall/ipp2p and net-proxy/wwwoffle have been fixed
following net-dialup packages have been fixed: net-dns/pdnsd net-dialup/ltmodem net-dialup/rp-pppoe net-dialup/slmodem
Fixed net-wireless/hostapd for the mobile herd. That leaves wpa_supplicant but that is Uberlord's package.
(In reply to comment #20) > Fixed net-wireless/hostapd for the mobile herd. That leaves wpa_supplicant but > that is Uberlord's package. Read comment #11 - it's already fixed.
(In reply to comment #21) > (In reply to comment #20) > > Fixed net-wireless/hostapd for the mobile herd. That leaves wpa_supplicant but > > that is Uberlord's package. > > Read comment #11 - it's already fixed. > Sorry about that. Removing mobile.
Fixed netmon stuff
net-www/mod_watch fixed. Best regards, CHTEKK.
fixed net-ftp/tnftp
all fixed, except ddclient, glftpd, libssh, ossh and ypserv, for which i'll open individual reports. thanks.