I have lost count of the number of people's systems I have had to help fix after they removed 'acl' without re-emerging coreutils etc. It's a silly thing to do, but a common occurence nonetheless. Currently a lot of people's existing installations are having the acl USE flag "mysteriously" appearing on them, and so they unset it and unmerge acl, to soon find out that 'ls' and such are broken. A warning at the end of the acl emerge would probably be helpful, along the lines of: ewarn "If you ever choose to set -acl in USE, remember to emerge --newuse world" ewarn "*before* unmerging this package or sys-apps/attr, otherwise coreutils" ewarn "(including the 'ls' command) may break" Considering how easy it is to add a warning of this kind, I think it's worth it if it saves even one system. From my own experiences in #gentoo it would save many.
it wouldnt be useful at the end of the acl emerge ... they'd already shoot themselves in the foot ;) we can force a check in pkg_setup ... pkg_setup() { if built_with_use coreutils acl ; then eerror "Refusing to unmerge acl since coreutils was built with USE=acl" die "Dont shoot yourself, it hurts" fi }
there doesnt seem to be a clean solution for this when doing `emerge -C acl`, the ebuild would be read from /var/db/pkg/ rather than an updated version i put in the tree ... so users would still be screwed even if i added this check there is no good way of figuring out if the user is upgrading and thus an older acl is being auto-cleaned, or if the user just did `emerge -C acl` ... both utilize the same functions and in the first case, we wouldnt want acl to bail