toolbx-images / images

Community maintained container images to use with toolbx and distrobox
https://containertoolbx.org/
Apache License 2.0
323 stars 29 forks source link

Arch Linux: Man pages don't work properly #112

Closed tusharhero closed 7 months ago

tusharhero commented 8 months ago

Image and version of the image where the issue happens

archlinux-toolbox:latest

Describe the bug

I am using the Image and when I run man man it doesn't show me any man pages.

Reproduction steps

  1. create toolbox using archlinux-toolbox image.
  2. Install man and man-db
  3. run man man

Host distribution and version, toolbx and podman versions

Fedora Linux 39 Kionite toolbox version 0.0.99.4 podman version 4.8.1

jelly commented 8 months ago

This does not sound like a toolbox issue, the man pages are part of the man-db package. I noticed that /usr/share/man is completely absent:

[jelle@toolbox ~]$ pacman -Qkk man-db
warning: man-db: /usr/share/doc (No such file or directory)
warning: man-db: /usr/share/man (No such file or directory)
man-db: 485 total files, 2 altered files

man-db installation shows these warnings:

sudo pacman -S man-db
warning: man-db-2.12.0-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Package (1)  Old Version  New Version  Net Change

core/man-db  2.12.0-1     2.12.0-1       0.00 MiB

Total Installed Size:  2.29 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] y
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
reinstalling man-db...
:: Running post-transaction hooks...
(1/3) Reloading system manager configuration...
Failed to check for chroot() environment: Permission denied
Reload daemon failed: Transport endpoint is not connected
error: command failed to execute correctly
(2/3) Creating temporary files...
fchownat() of /run/systemd/sessions failed: Operation not permitted
fchownat() of /run/systemd/users failed: Operation not permitted
fchownat() of /var/lib/systemd/coredump failed: Operation not permitted
fchownat() of /tmp failed: Operation not permitted
Setting access ACL "u::rwx,g::r-x,g:wheel:r-x,g:adm:r-x,g:4294967295:r-x,g:4294967295:r-x,m::r-x,o::r-x" on /var/log/journal failed: Invalid argument
Failed to re-open '/var/log/journal': Operation not permitted
fchownat() of /var/log/journal failed: Operation not permitted
Setting access ACL "u::rwx,g::r-x,g:wheel:r-x,g:adm:r-x,g:4294967295:r-x,g:4294967295:r-x,m::r-x,o::r-x" on /var/log/journal/cf1bffdc4b78481aa53e2befd784655b failed: Invalid argument
Failed to re-open '/var/log/journal/cf1bffdc4b78481aa53e2befd784655b': Operation not permitted
fchownat() of /var/log/journal/cf1bffdc4b78481aa53e2befd784655b failed: Operation not permitted
Failed to re-open '/var/log/journal/remote': Operation not permitted
fchownat() of /dev/snd/seq failed: Operation not permitted
fchownat() of /dev/snd/timer failed: Operation not permitted
fchownat() of /dev/loop-control failed: Operation not permitted
fchownat() of /dev/kvm failed: Operation not permitted
fchownat() of /dev/vhost-net failed: Operation not permitted
fchownat() of /dev/vhost-vsock failed: Operation not permitted
Setting access ACL "u::rw-,g::r-x,g:wheel:r--,g:adm:r--,g:4294967295:r-x,g:4294967295:r-x,m::r--,o::---" on /var/log/journal/cf1bffdc4b78481aa53e2befd784655b/system.journal failed: Invalid argument
fchownat() of /var/log/journal/cf1bffdc4b78481aa53e2befd784655b/system.journal failed: Operation not permitted
fchownat() of /sys/kernel/security/tpm0/binary_bios_measurements failed: Operation not permitted
error: command failed to execute correctly
(3/3) Arming ConditionNeedsUpdate...
Foxboron commented 8 months ago

@jelly the pacman.conf filters it out :)

travier commented 8 months ago

@Foxboron Should we fix that in the config by default or document how to fix it for users that want man pages? For other images we include all man pages so I would prefer we do the same for Arch Linux.

tusharhero commented 8 months ago

I expected man pages to work here because they worked on the fedora image. Very odd decision to not include man pages for Archlinux specifically.

jelly commented 8 months ago

I expected man pages to work here because they worked on the fedora image. Very odd decision to not include man pages for Archlinux specifically.

To slim down the size of the Arch Linux container the base man pages are stripped as they are usually not required for running applications. For a toolbox image one can argue that man pages should be available.

Foxboron commented 8 months ago

Should we fix that in the config by default or document how to fix it for users that want man pages? For other images we include all man pages so I would prefer we do the same for Arch Linux.

I think we should include them. But it will increase the container size a bit.

debarshiray commented 7 months ago

For the fedora-toolbox images we try to ensure the presence of a full set of UTF-8 locales, translations and documentation, just as you would expect to have when using the command line on most host operating systems.

Recently, we rewrote the images during the Fedora 39 development cycle to generate them as part of the nightly Fedora composes. This caused us to lose some of these by mistake, and we considered that serious enough to warrant a final freeze exception. :)

So, yeah, I would encourage you to do the same for the arch-toolbox images, but ultimately I would leave it to @Foxboron since he is the maintainer.

By the way, the arch-toolbox images are now maintained as part of of Toolbx. So, feel free to submit a pull request there. I believe @Foxboron has commit and merge rights.

Foxboron commented 7 months ago

I'll try and find some time to get fix this :)

travier commented 7 months ago

Closing as we'll soon withdraw the Arch Linux images in favor of the upstream ones from the toolbx project: https://github.com/toolbx-images/images/pull/82

If you can reproduce this issue with those images, please file an issue there. Thanks.