I simply ran: emerge udev Reproducible: Always Steps to Reproduce: 1. emerge udev 2. 3. Actual Results: # emerge -1 udev Calculating dependencies... done! >>> Verifying ebuild manifests >>> Starting parallel fetch >>> Emerging (1 of 2) sys-fs/udev-182 >>> Failed to emerge sys-fs/udev-182, Log file: >>> '/var/log/portage/sys-fs:udev-182:20120320-011352.log' >>> Jobs: 0 of 2 complete, 1 failed Load avg: 0.12, 0.40, 0.96 * Package: sys-fs/udev-182 * Repository: gentoo * Maintainer: udev-bugs@gentoo.org * USE: amd64 elibc_glibc gudev hwdb kernel_linux keymap multilib openrc rule_generator userland_GNU * FEATURES: ccache sandbox usersandbox * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/3.3.0-gentoo/build * Found sources for kernel version: * 3.3.0-gentoo * Checking for suitable kernel configuration options... [ ok ] * * udev-182 does not support Linux kernel before version 2.6.34! >>> Unpacking source... >>> Unpacking udev-182.tar.bz2 to /var/tmp/portage/sys-fs/udev-182/work >>> Source unpacked in /var/tmp/portage/sys-fs/udev-182/work >>> Preparing source in /var/tmp/portage/sys-fs/udev-182/work/udev-182 ... /var/tmp/portage/sys-fs/udev-182/temp/environment: line 3395: /var/tmp/portage/sys-fs/udev-182/work/udev-182/rules/rules.d/50-udev-default.rules: No such file or directory * 50-udev-default.rules has been updated, please validate! * md5sum: * ERROR: sys-fs/udev-182 failed (prepare phase): * 50-udev-default.rules has been updated, please validate! * * Call stack: * ebuild.sh, line 85: Called src_prepare * environment, line 3400: Called die * The specific snippet of code: * die "50-udev-default.rules has been updated, please validate!"; * * If you need support, post the output of 'emerge --info =sys-fs/udev-182', * the complete build log and the output of 'emerge -pqv =sys-fs/udev-182'. * The complete build log is located at '/var/log/portage/sys-fs:udev-182:20120320-011352.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-fs/udev-182/temp/environment'. * S: '/var/tmp/portage/sys-fs/udev-182/work/udev-182' Expected Results: udev emerges successfully. I have not modified /lib64/udev/rules.d/50-udev-default.rules
I think the problem is that line 133 of udev-182.ebuild reads: MD5=$(md5sum < "${S}/rules/rules.d/50-udev-default.rules") which resolves to this path: /var/tmp/portage/sys-fs/udev-182/work/udev-182/rules/rules.d/50-udev-default.rules That file doesn't exist, as it's not part of the udev package. I think the ebuild intends to refer to the installed path, /lib64/udev/rules/rules.d/50-udev-default.rules
No, it is meant to refer to the default.rules that are about to be installed; I need to fix the ebuild; I'll take care of it now.
This is now fixed in the ebuild; you should be able to compile udev-182. Thanks for the report.