/etc/init.d/udev-postmount with sys-fs/udev-149 fails to populate /etc/udev/rules.d when running under SELinux V2Ref policy, due to udev-postmount's attempt to create a subdirectory under the rules.d directory, when it only needs permissions (and has) permissions to create files. Reproducible: Always Steps to Reproduce: 1. Load SElinux V2Ref policy 2. Remove rules in /etc/udev/rules.d 3. Reboot system Actual Results: Rules not generated in /etc/udev/rules.d Expected Results: Rules should be regenerated in /etc/udev/rules.d The failure is due to the fact that the udev-postmount script tests its ability to write to the /etc/udev/rules.d directory by creating a DIRECTORY named test.$$ and then deleting the directory. Under V2Ref policy, the init script only has permissions to create FILES, and in fact this is all the permission the init script actually needs.
Created attachment 229467 [details, diff] Change udev-postmount testing behavior This patch modifies udev-postmount so that it tests to see if it has permissions to create and delete files in the /etc/udev/rules.d directory, rather than trying to create and delete directories.
Please paste your emerge --info output, to see your profile.
Created attachment 230155 [details] emerge --info
Fixed on udev-156 and newer. Thanks for providing a fix.