Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 741348

Summary: tmpfiles.eclass: virtual/tmpfiles dependency is not always needed
Product: Gentoo Linux Reporter: Zac Medico <zmedico>
Component: Current packagesAssignee: Gentoo systemd Team <systemd>
Status: RESOLVED FIXED    
Severity: normal CC: gyakovlev, mgorny, sam, williamh
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=774855
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 643386    

Description Zac Medico gentoo-dev 2020-09-09 04:30:16 UTC
Consumers of tmpfiles.eclass do not necessarily need virtual/tmpfiles. For example, sys-apps/portage happens to install a tmpfiles.d config for bug 490676, but the only reason is to prevent systemd from deleting ccache files. This means that tmpfiles.eclass introduces an unnecessary opentmpfiles dependency whenever systemd is not installed. This unnecessary dependency can be frowned upon by people that are trying to eliminate unnecessary dependencies in order to minimize space consumption.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-09-09 05:55:39 UTC
How many people are there, exactly?  How many space savings are we talking about?  How many packages exactly need that?  Are we talking about gains for stage3?

Or is it just a few complainers-about-everything that use busybox to boot their systems?  It might be better to just let them use package.provided and avoid the added complexity for everyone.
Comment 2 Zac Medico gentoo-dev 2020-09-09 06:06:20 UTC
(In reply to Michał Górny from comment #1)
> How many people are there, exactly?  How many space savings are we talking
> about?  How many packages exactly need that?  Are we talking about gains for
> stage3?

Well, right now opentmpfiles is pretty small and has no dependencies. But who knows what the future may bring?
Comment 3 Zac Medico gentoo-dev 2020-09-09 06:22:44 UTC
(In reply to Michał Górny from comment #1)
> Or is it just a few complainers-about-everything that use busybox to boot
> their systems?

The issue is proportional to the size of opentmpfiles and its dependencies.

> It might be better to just let them use package.provided and
> avoid the added complexity for everyone.

Hmm, I don't like package.provided much.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2020-09-09 06:39:21 UTC
(In reply to Zac Medico from comment #2)
> (In reply to Michał Górny from comment #1)
> > How many people are there, exactly?  How many space savings are we talking
> > about?  How many packages exactly need that?  Are we talking about gains for
> > stage3?
> 
> Well, right now opentmpfiles is pretty small and has no dependencies. But
> who knows what the future may bring?

Are you suggesting that a tool to create temporary directories will include a dependency on LLVM in the future, so that it could compile tmpfiles.d into machine code?
Comment 5 Zac Medico gentoo-dev 2020-09-09 06:46:24 UTC
If you promise that opentmpfiles will remain small as it is now, then that's good enough for me.
Comment 6 Mike Gilbert gentoo-dev 2020-09-09 14:53:18 UTC
I would be fine with introducing a global variable to disable the dependency.
Comment 7 Zac Medico gentoo-dev 2020-09-10 16:18:46 UTC
The idea of splitting the dotmpfiles function into separate tmpfiles-common.eclass or tmpfiles-utils.eclass as suggested in bug 643386 comment 11 sounds reasonable to me.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-03-09 12:07:00 UTC
Resolved by https://bugs.gentoo.org/774855#c3?
Comment 9 Mike Gilbert gentoo-dev 2021-03-09 16:18:02 UTC
Indeed.

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(-)