On Wed, Aug 28, 2019 at 11:09 AM Thomas Deutschmann <whi...@gentoo.org> wrote: > > Hi, > > most packages are putting acct-{user,group}/* dependencies into RDEPEND. > > What about packages using tmpfiles eclass and installing tmpfiles which > will make use of acct-{user,group}/* depedencies? > > I.e. dev-db/mysql-init-scripts will install > "/usr/lib/tmpfiles.d/mysql.conf" with the following content: > > > d /var/run/mysqld 0755 mysql mysql - > > The package is a requirement for all > dev-db/{mysql,mariadb,percona-server} packages because it will provide > runscript/services. > > To be able to start your chosen database server right after > installation, we trigger tmpfiles service in pkg_postinst via > tmpfiles_process(). > > Therefore, mysql user and group provided by acct-{user,group}/mysql must > be merged *before* tmpfiles_process() will be called or > "/var/run/mysqld" will be created as root:root which will prevent your > favorite database server to start. > > However, devmanual > (https://devmanual.gentoo.org/general-concepts/dependencies/) says: > > > Items which are in RDEPEND but not DEPEND could in theory be merged > > after the target package. Portage does not currently do this. > So don't we have a conceptual problem here and are just lucky that > current used PMs don't do at the moment what specification will allow > them to do? > > Moving to (B)DEPEND will address the problem for non-binary package > users only.
There is an open bug to address this in a future EAPI. https://bugs.gentoo.org/660306 Until then, putting the deps in RDEPEND is the best we can do.