On 11/28/25 13:07, Neal Gompa wrote:
> Hey folks,
> 
> This has been percolating in my mind for a little while now, but we've
> been going through and switching things to zstd across the board (most
> recently initramfs, but we did btrfs compression, zram, and even rpm
> previously), and I wonder if we want to also switch man and info pages
> from gzip to zstd.
> 
> This has already been done at least once with OpenMandriva, so I know
> it is possible with an RPM distribution in a reasonable fashion.
> 
> At least man-db has support for zstd compression and just needs to be
> told to prefer it at build time, and OpenMandriva has a patch for
> texinfo[1]. If we want to do it, it's not hard to accomplish
> 
> Is there a compelling reason that we shouldn't consider migrating to
> zstd in an upcoming Fedora release?
> 
> 
> [1]: 
> https://github.com/OpenMandrivaAssociation/texinfo/blob/master/texinfo-6.7-zstd-compression.patch
> 
> 

I personally do not see the point in compressed man pages anymore.  A long time 
ago we would preformat man pages too since doing that was resource intensive 
and even Linux systems had both man pages and catman pages.  But we don't need 
any of that these days.

I would rather us do away with compressed man pages entirely.  What would be 
really nice if we had an option on rpm (and by extension dnf) to say "install 
this package, but I don't want any man pages from it".  Perhaps even a 
site-wide option in dnf.conf too.  They wouldn't land on the installed system, 
the rpmdb would be fine, and it could be maintained through package upgrades.  
You could even go further and add an option to dnf that says "on second 
thought, I do want man pages....(for everything|but just for <this package>)".  
Doing that would also avoid having to create yet-more-packages, like man page 
subpackages.  The advantages I see here are that you can have all the man pages 
you want, but we would introduce easy tooling that would allow you to "opt out" 
of man pages when setting up a system.  Lean images, and so on.  Shave the yak, 
but just in a slightly different way.  But that's just me.

How would rpm know what to do?  Well we could come up with a marker for man 
pages (and info pages) using rpmfileAttrs.  Like rpm has RPMFILE_DOC now and 
RPMFILE_README and RPMFILE_LICENSE.  Though I brought that up years ago and it 
was rejected.  Could use libmagic.  Or we could more broadly say "anything 
installed in %{_mandir} is a man page" and so on.  Point is, there are a number 
of ways to implement this in the package tooling without having to create more 
packages and or bigger spec files and I think it would be a nice way to both 
keep man pages but allow for building systems without the extra baggage when 
you want something extra lean.

(Also applies to info pages!)

*HYPOTHETICAL* command ideas:

    dnf install --no-man-pages coreutils tmux sl
    dnf install --no-man-pages --no-info-pages gcc make

    dnf upgrade --no-man-pages coreutils
    dnf upgrade --man-pages gcc

You get the idea.

-- 
Dave Cantrell <[email protected]>
Red Hat, Inc. | Boston, MA | EST5EDT

-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to