Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#67293 - [pacman-contrib] 'paccache' script requires 'awk' but package haven't it in dependencies

Attached to Project: Community Packages
Opened by Hanabishi (Hanabishi) - Thursday, 16 July 2020, 01:36 GMT
Last edited by freswa (frederik) - Thursday, 16 July 2020, 11:32 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
'paccache' script requires 'awk' but package haven't it in dependencies.

Additional info:
pacman-contrib 1.3.0-2

Steps to reproduce:
Just try to run 'paccache' without gawk/nawk package installed. You will get an error: '/usr/sbin/paccache: line 52: awk: command not found'.
This task depends upon

Closed by  freswa (frederik)
Thursday, 16 July 2020, 11:32 GMT
Reason for closing:  Not a bug
Additional comments about closing:  The base package is required by every other package and shall not be listed as an explicit dependency
Comment by Eli Schwartz (eschwartz) - Thursday, 16 July 2020, 01:54 GMT
You will also get errors from pacman itself, since e.g. pacman-key or makepkg depend on it. And indeed in turn, pacman-contrib depends on pacman.

awk is directly required by the base metapackage, you cannot do without it.

Should we also add a depends on coreutils, because it needs the "mv" and "rm" programs???

...

Random question: how do you end up with the path: /usr/sbin/paccache

This is not part of the official Arch Linux $PATH, as it is a symlink /usr/sbin -> /usr/bin
You should not have the $PATH repeated twice...
Comment by Hanabishi (Hanabishi) - Thursday, 16 July 2020, 02:12 GMT
> You will also get errors from pacman itself, since e.g. pacman-key or makepkg depend on it. And indeed in turn, pacman-contrib depends on pacman.
Yeah, doesn't tested pacman-key after gawk removal. Maybe pacman itself needs this dependency. I think this is just not good when you suppose that user is already has a package from another place.

> Should we also add a depends on coreutils, because it needs the "mv" and "rm" programs???
Pacman depends on coreutils actually.

> awk is directly required by the base metapackage, you cannot do without it.
You underestimate my power! © :) I've just stripped Arch down to pure minimal, already get rid of systemd etc.

> Random question: how do you end up with the path: /usr/sbin/paccache
> This is not part of the official Arch Linux $PATH, as it is a symlink /usr/sbin -> /usr/bin
> You should not have the $PATH repeated twice...
Idk, 100% official distro.
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
Comment by Eli Schwartz (eschwartz) - Thursday, 16 July 2020, 02:32 GMT
You removed systemd and you claim it's 100% official? No, that's not a supported configuration.

It's perfectly fine if you want to experiment with or tweak your system, there is a reason we have alternative init systems in the AUR, but when you remove packages like that, it's your responsibility to make sure you have replacements for the base system layer.

And ultimately, awk isn't even reasonable to remove, much like coreutils. It's part of POSIX, and ubiquitously used in shellscripts as one of the low-level glue tools necessary to get more or less anything done.

EDIT:

> Pacman depends on coreutils actually.

... no it doesn't?

$ pacman -Si core/pacman
Depends On : bash glibc libarchive curl gpgme pacman-mirrorlist archlinux-keyring
Comment by Hanabishi (Hanabishi) - Thursday, 16 July 2020, 02:47 GMT
> And ultimately, awk isn't even reasonable to remove, much like coreutils. It's part of POSIX, and ubiquitously used in shellscripts as one of the low-level glue tools necessary to get more or less anything done.
Yeah you're right. Even alpine has it out of the box.

> It's perfectly fine if you want to experiment with or tweak your system, there is a reason we have alternative init systems in the AUR, but when you remove packages like that, it's your responsibility to make sure you have replacements for the base system layer.
Btw this is for the container, it doesn't need init system at all. Systemd not running even if installed.

Sorry I was really too hasty with "fastest reporting hand in the west" :)

> ... no it doesn't?
# pactree pacman
pacman
├─curl
│ ├─ca-certificates
│ │ └─ca-certificates-mozilla
│ │ └─ca-certificates-utils provides ca-certificates-utils>=20181109-3
│ │ ├─coreutils

I've tested the system with only pacman as explicitly installed package. It has a plenty of dependencies :)

Loading...