As per summary, the attached patch makes env-update actually update the password and capability databases needed on FreeBSD. Although running those commands is not technically needed every time env-update is called, it's probably simpler to always run them for safety, so that users still only need env-update if they changed settings like login.conf. This is needed to get the stage correctly building with catalyst and latest baselayout by the way :) Thanks, Diego
Created attachment 100513 [details, diff] portage-mkdb-env.patch
Uhm maybe this is not really needed, Roy what you think, this implementation works, but might be overkill, as nobody should change master.passwd by hand anyway...
If you do decide that this is needed, can we make those commands ${ROOT} friendly? The relevant variable in that scope is target_root.
Err okay remind me not to send patches without having my coffee first. I did put %s for adding target_root and forgot about it -_-
Created attachment 100516 [details] pkg_postinst method IMO that's overkill. What is needed is that we only run pwd_mkdb and cap_mkdb when we need to. For Linux, baselayout installs /etc/passwd and the shadow ebuild runs grpconv if a file is missing, so we can take the same approach here. Attached is a pkg_postinst() snippet for the freebsd-usbin ebuild - as that is the ebuild that installs pwd_mkdb and cap_mkdb.
Created attachment 100519 [details] pkg_postinst method Better in respect to ${ROOT}
bsd team will change our ebuilds for this.
Fixored