Bug 2339038

Summary: Increase compatibility with image-based systems, especially bootc
Product: [Fedora] Fedora Reporter: Colin Walters <walters>
Component: man-dbAssignee: Nikola Forró <nforro>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: jchaloup, ljavorsk, nforro, travier
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Colin Walters 2025-01-20 20:22:56 UTC
See https://gitlab.com/fedora/bootc/tracker/-/issues/57

Especially for bootc systems where we encourage derivation from the base, we basically want:

- The "cache" to live in /usr in /usr/lib/man-db or so
- We don't want systemd timers running per-machine



Reproducible: Always

Comment 1 Lukas Javorsky 2025-02-07 11:27:49 UTC
Hi,

Thank you for reporting this issue to us.

As for the request to move the man-db cache to the /usr directory, this directly violates the FHS [1] and thus, the Fedora Packaging Guidelines [2].

The FHS states [3] that any cache data should be located under /var/cache as it is in the case of man-db today.

Are there any other requests made by bootc which also requested not to adhere to the FHS? If so, how were they handled?

[1] https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s06.html#purpose22
[2] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_filesystem_layout
[3] https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s05.html#purpose33

Comment 2 Colin Walters 2025-02-09 16:39:49 UTC
The FHS doesn't require putting *all* caches in /var/cache, it's more that it's a dedicated directory for those.

The most proximate similar example is fontconfig, which we moved to `/usr/lib/fontconfig/fontconfig.cache` for similar reasons.

Not especially that I think there's two fundamentally different types of "cache"; one is where the the data comes from a remote source, and one is like man-db and fontconfig where we're generating a file based on other local files that live in /usr.

Having /var/cache/dnf for package metadata makes sense because the data comes from the network and is not lifecycle bound to the OS.

> Are there any other requests made by bootc which also requested not to adhere to the FHS?

So basically I disagree with your conclusion that this is "not adhering to the FHS".

Comment 3 Lukas Javorsky 2025-02-17 08:38:31 UTC
Still, if we want to move the cache to the /usr/lib, there are two things we need to do:

1. Get the FPC approval for moving it there as per [1]

2. Create a Fedora Change that needs to be approved and done (target will be Fedora 43 - current Rawhide)

This might take time. Isn't there a less time-consuming and easier solution for your problem?


[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_exceptions_2

Comment 4 Aoife Moloney 2025-02-26 13:25:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.