Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 774855 - sys-libs/glibc: drop tmpfiles dependency
Summary: sys-libs/glibc: drop tmpfiles dependency
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL: https://github.com/gentoo/gentoo/comm...
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2021-03-08 13:26 UTC by David Michael
Modified: 2021-03-09 12:06 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Michael 2021-03-08 13:26:14 UTC
Commit b6f2f49b722ffba663afb68a880031c3d09a88d9 unconditionally added virtual/tmpfiles to RDEPEND, when it is never used.  The eclass is only used to install a file for NSCD, which is even disabled by default.  This change created a dependency loop that prevents building glibc with USE=-* in a new ROOT:

 * Error: circular dependencies:

(virtual/tmpfiles-0-r1:0/0::gentoo, ebuild scheduled for merge to '/usr/armv7a-gentoo-linux-gnueabihf/') depends on
 (sys-apps/systemd-tmpfiles-246:0/0::gentoo, ebuild scheduled for merge to '/usr/armv7a-gentoo-linux-gnueabihf/') (runtime)
  (sys-apps/util-linux-2.35.2:0/0::gentoo, ebuild scheduled for merge to '/usr/armv7a-gentoo-linux-gnueabihf/') (buildtime_slot_op)
   (virtual/libcrypt-1-r1:0/1::gentoo, ebuild scheduled for merge to '/usr/armv7a-gentoo-linux-gnueabihf/') (buildtime_slot_op)
    (sys-libs/glibc-2.32-r7:2.2/2.2::gentoo, ebuild scheduled for merge to '/usr/armv7a-gentoo-linux-gnueabihf/') (runtime)
     (virtual/tmpfiles-0-r1:0/0::gentoo, ebuild scheduled for merge to '/usr/armv7a-gentoo-linux-gnueabihf/') (runtime)

Maybe add a variable to tmpfiles.eclasss that will skip adding the dependency for cases like this where nothing calls it.  The related bugs also suggest separating the tmpfiles_process function into its own eclass to take the dependency with it.
Comment 1 Sergei Trofimovich (RETIRED) gentoo-dev 2021-03-08 18:20:07 UTC
That's a regression.
Comment 2 Mike Gilbert gentoo-dev 2021-03-08 19:51:24 UTC
Patch for tmpfiles.eclass.

https://archives.gentoo.org/gentoo-dev/message/4d78e21180883821541ac5ac73c7c01c
Comment 3 Larry the Git Cow gentoo-dev 2021-03-08 22:30:37 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e4f0c0765f07696ed3b10be96a54a4a6810ac46

commit 6e4f0c0765f07696ed3b10be96a54a4a6810ac46
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2021-03-08 19:35:45 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2021-03-08 22:29:42 +0000

    tmpfiles.eclass: introduce TMPFILES_OPTIONAL variable
    
    This allows the automatic dependency on virtual/tmpfiles to be disabled.
    
    Bug: https://bugs.gentoo.org/774855
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>
    Acked-by: David Seifert <soap@gentoo.org>

 eclass/tmpfiles.eclass | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
Comment 4 Larry the Git Cow gentoo-dev 2021-03-09 12:06:27 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a914eee87a6ee7261e8dea16131f9c9cb324a808

commit a914eee87a6ee7261e8dea16131f9c9cb324a808
Author:     Theo Anderson <telans@posteo.de>
AuthorDate: 2021-03-09 11:44:44 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-03-09 12:06:10 +0000

    sys-libs/glibc: remove dependency on virtual/tmpfiles
    
    Specify TMPFILES_OPTIONAL=1 to to avoid circular dependency
    
    Closes: https://bugs.gentoo.org/774855
    Signed-off-by: Theo Anderson <telans@posteo.de>
    Closes: https://github.com/gentoo/gentoo/pull/19841
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-libs/glibc/glibc-2.19-r2.ebuild | 2 ++
 sys-libs/glibc/glibc-2.30-r9.ebuild | 1 +
 sys-libs/glibc/glibc-2.31-r7.ebuild | 1 +
 sys-libs/glibc/glibc-2.32-r6.ebuild | 1 +
 sys-libs/glibc/glibc-2.32-r7.ebuild | 1 +
 sys-libs/glibc/glibc-2.32-r8.ebuild | 1 +
 sys-libs/glibc/glibc-2.33.ebuild    | 1 +
 sys-libs/glibc/glibc-9999.ebuild    | 1 +
 8 files changed, 9 insertions(+)