On one system where cron and systemd are not installed, I get: In src_configure() phase: checking for udev... yes checking for udev rules dir... /lib/udev/rules.d checking for system crontab dir... yes checking for systemd... no checking for systemd system unit dir... no In src_install() phase: making install in scrub make[1]: Entering directory '/var/tmp/portage/sys-fs/e2fsprogs-1.45.0/work/e2fsprogs-1.45.0/scrub' MKDIR_P /lib/udev/rules.d MKDIR_P yes MKDIR_P /usr/lib64/e2fsprogs MKDIR_P //sbin /usr/share/man/man8 /etc INSTALL /lib/udev/rules.d/e2scrub.rules INSTALL yes/e2scrub_all INSTALL /usr/lib64/e2fsprogs/e2scrub_all_cron INSTALL //sbin/e2scrub INSTALL //sbin/e2scrub_all INSTALL_DATA /usr/share/man/man8/e2scrub.8 INSTALL_DATA /usr/share/man/man8/e2scrub_all.8 INSTALL_DATA /etc/e2scrub.conf This actually means that build system created /var/tmp/portage/sys-fs/e2fsprogs-1.45.0/imageyes directory with e2scrub_all regular file. # cat /var/tmp/portage/sys-fs/e2fsprogs-1.45.0/imageyes/e2scrub_all 30 3 * * 0 root test -e /run/systemd/system || /usr/lib64/e2fsprogs/e2scrub_all_cron 10 3 * * * root test -e /run/systemd/system || //sbin/e2scrub_all -A -r # sed -ne "48,+5p" /var/tmp/portage/sys-fs/e2fsprogs-1.45.0/work/e2fsprogs-1.45.0/scrub/Makefile HAVE_UDEV = yes UDEV_RULES_DIR = /lib/udev/rules.d HAVE_CROND = yes CROND_DIR = yes HAVE_SYSTEMD = no SYSTEMD_SYSTEM_UNIT_DIR =
Created attachment 568162 [details, diff] Patch Passing explicit paths avoids wrong code in configure. (The policy is to install small files (e.g. systemd system units) unconditionally.) (--with-udev-rules-dir is passed for consistency.) (multilib.eclass is not used.) Results with patch: checking for udev rules dir... /lib/udev/rules.d checking for system crontab dir... /etc/cron.d checking for systemd system unit dir... /lib/systemd/system ... making install in scrub make[1]: Entering directory '/var/tmp/portage/sys-fs/e2fsprogs-1.45.0/work/e2fsprogs-1.45.0/scrub' MKDIR_P /lib/udev/rules.d MKDIR_P /etc/cron.d MKDIR_P /usr/lib64/e2fsprogs MKDIR_P /lib/systemd/system MKDIR_P //sbin /usr/share/man/man8 /etc INSTALL /lib/udev/rules.d/e2scrub.rules INSTALL /etc/cron.d/e2scrub_all INSTALL /usr/lib64/e2fsprogs/e2scrub_all_cron INSTALL /usr/lib64/e2fsprogs/e2scrub_fail INSTALL_DATA /lib/systemd/system/e2scrub@.service INSTALL_DATA /lib/systemd/system/e2scrub_all.service INSTALL_DATA /lib/systemd/system/e2scrub_all.timer INSTALL_DATA /lib/systemd/system/e2scrub_fail@.service INSTALL_DATA /lib/systemd/system/e2scrub_reap.service INSTALL //sbin/e2scrub INSTALL //sbin/e2scrub_all INSTALL_DATA /usr/share/man/man8/e2scrub.8 INSTALL_DATA /usr/share/man/man8/e2scrub_all.8 INSTALL_DATA /etc/e2scrub.conf
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=322787981b8123de14adbb033eb485552d24423c commit 322787981b8123de14adbb033eb485552d24423c Author: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> AuthorDate: 2019-03-08 06:54:34 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2019-03-08 07:20:32 +0000 sys-fs/e2fsprogs: Fix installation of crontab file and systemd system units. Closes: https://bugs.gentoo.org/679736 Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> .../{e2fsprogs-1.45.0.ebuild => e2fsprogs-1.45.0-r1.ebuild} | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
The fix for this bug broke prefix: >>> Completed installing e2fsprogs-1.45.0-r1 into /var/cache/portage/sys-fs/e2fsprogs-1.45.0-r1/image/ * Final size of build directory: 53004 KiB (51.7 MiB) * Final size of installed tree: 2516 KiB ( 2.4 MiB) * QA Notice: the following files are outside of the prefix: * /lib * /lib/udev * /lib/udev/rules.d * /lib/udev/rules.d/96-e2scrub.rules * ERROR: sys-fs/e2fsprogs-1.45.0-r1::gentoo failed: * Aborting due to QA concerns: there are files installed outside the prefix * * Call stack: * misc-functions.sh, line 586: Called install_qa_check * misc-functions.sh, line 132: Called source 'install_symlink_html_docs' * 05prefix, line 114: Called install_qa_check_prefix * 05prefix, line 27: Called die * The specific snippet of code: * die "Aborting due to QA concerns: there are files installed outside the prefix" How should this be fixed? I see two options, install the files in the right prefixed directory, or do not install at all, since on prefix it doesn't matter.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=860222a76acdf4a664a3bd829e17c04d24b416f9 commit 860222a76acdf4a664a3bd829e17c04d24b416f9 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2019-03-13 13:04:20 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2019-03-13 14:31:14 +0000 sys-fs/e2fsprogs: Make paths prefix-aware Bug: https://bugs.gentoo.org/679736 Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> sys-fs/e2fsprogs/e2fsprogs-1.45.0-r1.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)