Pacman Contrib issueshttps://gitlab.archlinux.org/pacman/pacman-contrib/-/issues2024-03-21T18:15:36Zhttps://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/127paccache: Add size filter2024-03-21T18:15:36ZGeshpaccache: Add size filterWhile my general policy is to keep packages two versions back, some packages (eg cuda, texlive) are large enough that I want to keep fewer versions.
However, while `paccache` does allow inspecting {a,c,m}time for its rules, it doesn't al...While my general policy is to keep packages two versions back, some packages (eg cuda, texlive) are large enough that I want to keep fewer versions.
However, while `paccache` does allow inspecting {a,c,m}time for its rules, it doesn't allow inspecting size.
Currently, I work around this via
```bash
#!/bin/bash
if test "$1" == '-s'; then maxsize="$2"; shift 2; fi
if test "$1" == '--maxsize'; then maxsize="$2"; shift 2; fi
if test -n "$maxsize"; then
pkgs() {
CACHEDIR=/var/cache/pacman/pkg/
find "$CACHEDIR" -type f -size +"$1" -exec tar xOf {} .PKGINFO \; \
| awk -F' = ' '$1 == "pkgbase" { print $2; }' \
| tee /dev/stderr
}
else
pkgs() { :; }
fi
exec paccache "$@" $(pkgs "$maxsize")
```
but I'd rather this be built-in.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/126pacdiff: Improve documentation accuracy and conciseness2024-03-10T18:58:43ZMartin Ryspacdiff: Improve documentation accuracy and conciseness```bash
pacdiff is a script which looks for pacorig, pacnew and pacsave files from the backup entries found in the local pacman db. For every found file the option is given to view, merge, skip, diff, remove or overwrite the found pacori...```bash
pacdiff is a script which looks for pacorig, pacnew and pacsave files from the backup entries found in the local pacman db. For every found file the option is given to view, merge, skip, diff, remove or overwrite the found pacorig, pacnew or pacsave file.
```
```bash
pacdiff is a script which looks for pacnew, pacsave and pacorig files.
By default it uses pacman to search the backup entries of currently installed packages, with an option to instead use cached locate database or running find.
For each result, the user is prompted to (v)iew the differences, (s)kip, do a 3-way (m)erge using a cached package, (r)emove, or to (o)verwrite the pre-existing file.
```
---
```bash
Search Options
-f, --find
Scan using find.
-l, --locate
Scan using locate.
-p, --pacmandb
Scan active config files from pacman database. (default)
```
```bash
Search Options
-f, --find
Scan via find, inside of DIFFSEARCHPATH.
-l, --locate
Scan via locate, using its existing database.
-p, --pacmandb
Scan via pacman, using the backup entries of currently installed packages from its database. (default)
```
---
This seems to be the default already? At least running `pacdiff` and pressing M complains about failure to find the base package.
```
-3, --threeway
View diffs in 3-way fashion if the base package is available in the cache. Fall back to regular 2-way diff otherwise.
```
```
-3, --threeway
View diffs in 3-way fashion using MERGEPROG if the base package is available in the cache. Fall back to regular 2-way diff using DIFFPROG otherwise.
```https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/122" -> Unable to find a base package." is not informative enough (pacdiff)2024-03-10T18:26:46ZVille" -> Unable to find a base package." is not informative enough (pacdiff)I was faced with the error message ` -> Unable to find a base package.` when trying to merge.
After troubleshooting and finding I have the packages in the cache (for vast majority of pacnew files I get this error, but not for some), I ...I was faced with the error message ` -> Unable to find a base package.` when trying to merge.
After troubleshooting and finding I have the packages in the cache (for vast majority of pacnew files I get this error, but not for some), I needed to look at the source of the ´pacdiff´ to find out what is going on. I've set up pacman so that it doesn't keep too much hdd space, as I have a fast internet connection in any case, and the need to downgrade comes by very seldomly, and very rarely breaks my internet connection.
For vast majority of packages I only have one package in the cache - I must admit, that many of the pacnew files are old. Pacdiff actually requires at least two packages and chooses the second to newest one from the cache?
I feel like the error message should be more descriptive, and the behavior should be documented, so that users don't set up a too conservative cache cleaning (with fast internet connections, on a rolling-release distro, it doesn't make much sense for many use cases to keep any older packages taking up disk space).
Optimally, pacdiff could fetch an older package when one is not in cache. Maybe even a version which is as old as the last time the configuration file has been updated (the second-to-newest might not be the one actually containing the configuration file the current file is based on, if the admin has been lazy =) ).
TL;DR - steps to reproduce:
1. run pacdiff
2. try to run some [M]erge
Observed results:
` -> Unable to find a base package.`
Expected results:
Either:
1. Give an error message which is more descriptive; e.g. "Unable to find older base package to base merge on.", or
2. and, optionally ask user, and automatically fetch an older package to make the merge
Cheers!https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/119updpkgsums overwrites checksum entries that are set to SKIP2023-09-09T19:25:16ZChristian Heuselupdpkgsums overwrites checksum entries that are set to SKIPI am maintaining the [spotify package](https://aur.archlinux.org/packages/spotify) together with @Antiz on the aur and we noticed something weird: when using `updpkgsums` there are shasums generated for entries which currently have no en...I am maintaining the [spotify package](https://aur.archlinux.org/packages/spotify) together with @Antiz on the aur and we noticed something weird: when using `updpkgsums` there are shasums generated for entries which currently have no entry:
```diff
--- a/spotify/PKGBUILD
+++ b/spotify/PKGBUILD
@@ -36,9 +36,9 @@ source=('spotify.protocol'
sha512sums=('999abe46766a4101e27477f5c9f69394a4bb5c097e2e048ec2c6cb93dfa1743eb436bde3768af6ba1b90eaac78ea8589d82e621f9cbe7d9ab3f41acee6e8ca20'
'2e16f7c7b09e9ecefaa11ab38eb7a792c62ae6f33d95ab1ff46d68995316324d8c5287b0d9ce142d1cf15158e61f594e930260abb8155467af8bc25779960615'
'39a57cfa059f4f61fc6a400c22b8ec3bbd87cfd6b014e1048e98c158412aa4db3e5a1fa339f2ecc3355f3ca082ee1cacba7dd3b8ffff7300f9220c90f5465459'
+ '867f2987d9d51882e2f31541b239d087f1da28583c5e4e95486ba9c334e38878f1d56142879edb165cf64b0a788d67fdb5a985d380f549d0ec8dff90b9c95a3c'
'SKIP'
- 'SKIP'
- 'SKIP')
+ 'b5b0562cefa16171bbd16a2f0f493873f184d49b7e7a76fc84ff8543d2e8266800c8a0c6220df4975568884279dfbe4bad715d909ab0e5a254ab4caeb166f96a')
```
The problem seems to be caused by the lower level call to `makepkg -g`:
```
$ makepkg -g
==> Retrieving sources...
-> Found spotify.protocol
-> Found LICENSE
-> Found spotify-1.2.18.999-g9b38fc27-x86_64.deb
-> Found spotify-1.2.18.999-1-Release
-> Found spotify-1.2.18.999-1-Release.sig
-> Found spotify-1.2.18.999-1-x86_64-Packages
==> Generating checksums for source files...
sha512sums=('999abe46766a4101e27477f5c9f69394a4bb5c097e2e048ec2c6cb93dfa1743eb436bde3768af6ba1b90eaac78ea8589d82e621f9cbe7d9ab3f41acee6e8ca20'
'2e16f7c7b09e9ecefaa11ab38eb7a792c62ae6f33d95ab1ff46d68995316324d8c5287b0d9ce142d1cf15158e61f594e930260abb8155467af8bc25779960615'
'39a57cfa059f4f61fc6a400c22b8ec3bbd87cfd6b014e1048e98c158412aa4db3e5a1fa339f2ecc3355f3ca082ee1cacba7dd3b8ffff7300f9220c90f5465459'
'867f2987d9d51882e2f31541b239d087f1da28583c5e4e95486ba9c334e38878f1d56142879edb165cf64b0a788d67fdb5a985d380f549d0ec8dff90b9c95a3c'
'SKIP'
'b5b0562cefa16171bbd16a2f0f493873f184d49b7e7a76fc84ff8543d2e8266800c8a0c6220df4975568884279dfbe4bad715d909ab0e5a254ab4caeb166f96a')
```
I think `updpkgsums` should modified so that sums which were previously specified SKIP are not inserted with new values.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/116Switch to Bats from tap.sh?2023-08-08T04:44:10ZDaniel M. CapellaSwitch to Bats from tap.sh?https://github.com/bats-core/bats-core<br>
https://github.com/andrewgregory/tap.shhttps://github.com/bats-core/bats-core<br>
https://github.com/andrewgregory/tap.shhttps://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/30pactree: get DBPath from the pacman config2023-07-13T08:26:32ZAlberto Garciapactree: get DBPath from the pacman configThe pacman database location is hardcoded at build time and initialized with `static const char *dbpath = DBPATH`.
It is possible for the user to set an alternate path using the `-b` command-line option, but it would be nice if the curr...The pacman database location is hardcoded at build time and initialized with `static const char *dbpath = DBPATH`.
It is possible for the user to set an alternate path using the `-b` command-line option, but it would be nice if the current value was automatically detected without having to do anything special, something like this:
```c
int main(int argc, char *argv[])
{
/*...*/
char cur_dbpath[PATH_MAX];
FILE *f = popen("pacman-conf DBPath", "r");
if (f) {
if (fgets(cur_dbpath, sizeof(cur_dbpath) - 1, f) != NULL) {
size_t len = strlen(cur_dbpath);
if (cur_dbpath[len - 1] == '\n') {
cur_dbpath[len - 1] = '\0';
}
dbpath = cur_dbpath;
}
pclose(f);
}
if((ret = parse_options(argc, argv)) != 0) {
/*...*/
}
```
Other tools available in pacman-contrib such as [checkupdates](https://gitlab.archlinux.org/pacman/pacman-contrib/-/blob/v1.9.0/src/checkupdates.sh.in#L125) or [pacdiff](https://gitlab.archlinux.org/pacman/pacman-contrib/-/blob/v1.9.0/src/pacdiff.sh.in#L286) do the exact same thing.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/28Use --non-interactive flag for sudo in checkupdates2023-12-18T22:37:38ZNikita IlyushkinUse --non-interactive flag for sudo in checkupdatesWithout the `--non-interactive` script gets stuck in a prompt loop if run, well, non-interactively. In my case it ate the whole core, which is unexpected for such a script, clearly used for background checking among other purposes.Without the `--non-interactive` script gets stuck in a prompt loop if run, well, non-interactively. In my case it ate the whole core, which is unexpected for such a script, clearly used for background checking among other purposes.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/26pactree: support showing check dpeendencies2023-01-10T22:02:12ZAndreas Schleiferpactree: support showing check dpeendenciesit sometimes is very helpful to see the check dependencies tree of a package.it sometimes is very helpful to see the check dependencies tree of a package.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/25new pacdiff three way merging is confusing at first use2024-01-08T19:58:40ZAndy Nitschkenew pacdiff three way merging is confusing at first useTo start with I wanted to mention that the new three way merging of pacnew files is awesome, big improvement to trying to manually guess at why things are different in the pacnew file. That being said my first time using this new feature...To start with I wanted to mention that the new three way merging of pacnew files is awesome, big improvement to trying to manually guess at why things are different in the pacnew file. That being said my first time using this new feature for me was a little confusing. Here is a quick walk through that experience for me:
```
[anitschk@RedWingBlackBird ~]$ sudo DIFFPROG="meld" pacdiff
==> pacnew file found for /etc/mkinitcpio.conf
:: (V)iew, (M)erge, (S)kip, (R)emove pacnew, (O)verwrite with pacnew, (Q)uit: [v/m/s/r/o/q] v
```
Hmm I have seen this `(M)erge` option for a while now, it is probably about time I give this a try.
Oh that gives me something like the following which has `<<<<<<<` / `|||||||` / `>>>>>>>` three way merge markers.
```
## NOTE: If you have /usr on a separate partition, you MUST include the
<<<<<<< /etc/mkinitcpio.conf
# usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf block filesystems keyboard resume fsck)
||||||| /tmp/pacdiff-merge-mkinitcpio.conf.hWS/mkinitcpio.conf.base.nXV
# usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
=======
# usr and fsck hooks.
HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems fsck)
>>>>>>> /etc/mkinitcpio.conf.pacnew
```
I know `meld` is able to handle 3 way merges, there should be a way to pass the files to meld in a way that it can handle this correctly. Oh look, on the `man` page there is an option for `--threeway` maybe that does what I want? From here I killed `pacdiff` and used `sudo DIFFPROG="meld" pacdiff --threeway` and then selected `(M)erge` to try to merge. That resulted in no change.
So lets look back at the `man` page. I see that there is something `MERGEPROG` that mentions `diff3` as the "3-way merge program" to use. So maybe I need to do `sudo DIFFPROG="meld" MMERGEPROG="meld" pacdiff --threeway`? Yes, looks like that does the trick, now I am seeing a three way merge. Actually no, now that I exit from there I am seeing a second window asking me to merge my version of mkinitcpio.conf with an empty file? Ohh it is using the output of MERGEPROG to view on the right side of the merge pane.
At this point I resorted to looking at the source to figure out what is going on and finally figured out that the answer to get this working like I wanted was to do `sudo DIFFPROG="meld" pacdiff --threeway` followed by `(V)iew` instead of `(M)erge`
This whole process took a good bit of experimentation and the `man` page wasn't exactly clear about how I am supposed to correctly do this. I am not sure what the best solution is to make this easier for other users is as I still see value for some users to have the current `(M)erge` format of viewing files while others like me would prefer the `--threeway` with `(V)iew`. Perhaps just improve the `man` page? Or maybe don't show the `(M)erge` option if the user selected `--threeway`?https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/24checkupdates feature request: option to report download size2023-01-09T21:10:22ZPaul Clarkcheckupdates feature request: option to report download sizeWhen checking for updates on a slow or metered connection, it would be useful to see the total download size of the updated packages before doing 'pacman -Syu'.When checking for updates on a slow or metered connection, it would be useful to see the total download size of the updated packages before doing 'pacman -Syu'.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/22paccache vs multiple CacheDir entries2022-09-13T23:28:41ZLex Blackpaccache vs multiple CacheDir entriesSimilar issue like the one for pacdiff.
I have since some time this line in `pacman.conf`
```
CacheDir = /var/cache/pacman/pkg/ /var/cache/pacman/packback/
```
In `packback` I place the packages that are built locally (and moved to a ...Similar issue like the one for pacdiff.
I have since some time this line in `pacman.conf`
```
CacheDir = /var/cache/pacman/pkg/ /var/cache/pacman/packback/
```
In `packback` I place the packages that are built locally (and moved to a custom repo).
And if I want to clean the caches with `paccache` it kinda seems it wants to run through the generated purge list multiple times (in my case a second time) and reports back that files cannot be found.
Here is a shortened log:
```
# paccache -d -k1
==> finished dry run: 401 candidates (disk space saved: 2.46 GiB)
# paccache -r -k1
rm: cannot remove '/var/cache/pacman/pkg/meson-0.63.1-2-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/meson-0.63.1-2-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qt5-websockets-5.15.5+kde+r3-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qt5-websockets-5.15.5+kde+r3-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/pcre-8.45-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/pcre-8.45-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-hw-s390x-virtio-gpu-ccw-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-hw-s390x-virtio-gpu-ccw-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-hw-s390x-virtio-gpu-ccw-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-hw-s390x-virtio-gpu-ccw-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-libtasn1-4.18.0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-libtasn1-4.18.0-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libgnomekbd-1:3.28.0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libgnomekbd-1:3.28.0-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-vulkan-icd-loader-1.3.221-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-vulkan-icd-loader-1.3.221-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wine-staging-7.16-2-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wine-staging-7.16-2-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libdrm-2.4.112-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libdrm-2.4.112-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-alien-build-2.52-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-alien-build-2.52-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-alien-build-2.53-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-alien-build-2.53-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-alien-build-2.56-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-alien-build-2.56-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/pacman-contrib-1.6.0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/pacman-contrib-1.6.0-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/iwd-1.29-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/iwd-1.29-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libxft-2.3.4-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libxft-2.3.4-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libxft-2.3.5-2-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libxft-2.3.5-2-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-common-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-common-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-common-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-common-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
(...)
rm: cannot remove '/var/cache/pacman/pkg/sdl2-2.24.0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/sdl2-2.24.0-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lv2-1.18.8-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lv2-1.18.8-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-system-x86-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-system-x86-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-system-x86-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-system-x86-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/numactl-2.0.14-3-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/numactl-2.0.14-3-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-glibc-2.36-3-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-glibc-2.36-3-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/nextcloud-client-2:3.5.4-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/nextcloud-client-2:3.5.4-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wolfssl-5.3.0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wolfssl-5.3.0-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wolfssl-5.4.0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wolfssl-5.4.0-1-x86_64.pkg.tar.zst.sig': No such file or directory
(...)
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-sdl-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-sdl-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-sdl-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-sdl-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/xapp-2.2.14-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/xapp-2.2.14-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qt5-translations-5.15.5+kde+r2-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qt5-translations-5.15.5+kde+r2-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-alsa-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-alsa-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-alsa-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-alsa-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qt5-graphicaleffects-5.15.5+kde+r0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qt5-graphicaleffects-5.15.5+kde+r0-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libreoffice-fresh-7.4.0-2-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libreoffice-fresh-7.4.0-2-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libreoffice-fresh-7.4.0-3-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/libreoffice-fresh-7.4.0-3-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/glib2-2.72.3-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/glib2-2.72.3-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/gc-8.2.0-3-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/gc-8.2.0-3-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wxwidgets-common-3.2.0-5-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wxwidgets-common-3.2.0-5-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wxwidgets-common-3.2.0-6-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/wxwidgets-common-3.2.0-6-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-pypdf2-1.26.0-2.1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-pypdf2-2.10.5-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-pypdf2-2.10.5-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-pypdf2-2.10.6-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-pypdf2-2.10.6-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-pyudev-0.22-7-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-pyudev-0.22-7-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/ffmpeg-2:5.1.1-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/ffmpeg-2:5.1.1-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/poppler-glib-22.08.0-2-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/poppler-glib-22.08.0-2-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-cryptography-37.0.4-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-cryptography-37.0.4-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-pipewire-1:0.3.56-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-pipewire-1:0.3.56-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-block-curl-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-block-curl-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-block-curl-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-block-curl-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/neon-0.32.2-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/neon-0.32.2-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-dbus-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-dbus-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-dbus-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-dbus-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-protobuf-21.4-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-protobuf-21.4-1-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-libva-2.15.0-2-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/lib32-libva-2.15.0-2-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-datetime-locale-1.35-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/perl-datetime-locale-1.35-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-vhost-user-gpu-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-vhost-user-gpu-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-vhost-user-gpu-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-vhost-user-gpu-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-ui-dbus-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-ui-dbus-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-ui-dbus-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-ui-dbus-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
(...)
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-jack-7.0.0-12-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-jack-7.0.0-12-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-jack-7.1.0-4-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/qemu-audio-jack-7.1.0-4-x86_64.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-importlib-metadata-4.8.2-1-any.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/python-importlib-metadata-4.8.2-1-any.pkg.tar.zst.sig': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/mupdf-1.20.0-1-x86_64.pkg.tar.zst': No such file or directory
rm: cannot remove '/var/cache/pacman/pkg/mupdf-1.20.0-1-x86_64.pkg.tar.zst.sig': No such file or directory
# paccache -d -k1
==> no candidate packages found for pruning
```
It seems mostly like a visual issue, as the files indeed aren't there anymore.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/15Port to meson2022-05-22T08:21:01ZDaniel M. CapellaPort to mesonhttps://mesonbuild.com/Porting-from-autotools.htmlhttps://mesonbuild.com/Porting-from-autotools.htmlhttps://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/13Do not download on metered connections in checkupdates2022-06-20T20:15:10ZNicholas SchwabDo not download on metered connections in checkupdatesI have a systemd job running to regularly download packages in the background. In order to not download over metered connections I use the following line for ExecStart
`ExecStart=/usr/bin/sh -c 'nmcli -t -f GENERAL.DEVICE,GENERAL.METERED...I have a systemd job running to regularly download packages in the background. In order to not download over metered connections I use the following line for ExecStart
`ExecStart=/usr/bin/sh -c 'nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show | grep -q :no && checkupdates -d`
Would a check for metered connections directly in checkupdates be interesting for the general public?https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/11Lint2023-08-16T06:39:55ZDaniel M. CapellaLint- [ ] AsciiDoc: n/a?
- [x] C: Cppcheck?
- [x] Markdown: markdownlint-cli/2
- [ ] Perl: ?
- [x] Shell: shellcheck
- [x] Vim script: Vint- [ ] AsciiDoc: n/a?
- [x] C: Cppcheck?
- [x] Markdown: markdownlint-cli/2
- [ ] Perl: ?
- [x] Shell: shellcheck
- [x] Vim script: Vinthttps://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/9Paccache doesn't delete package archives from another arch2022-05-05T03:34:54ZAndrus KaPaccache doesn't delete package archives from another archpacman.conf → Architecture = pentium4
My repositories are switched to 'pentium4' arch (after transition from i686 year ago). Now I discovered in /var/cache/pacman/pkg about 1.16Gb of 'i686' old package archives downloaded before transit...pacman.conf → Architecture = pentium4
My repositories are switched to 'pentium4' arch (after transition from i686 year ago). Now I discovered in /var/cache/pacman/pkg about 1.16Gb of 'i686' old package archives downloaded before transition to 'pentium4'. When performing 'paccache -dv', it sees only 'pentium4' and 'any' packages. All 'i686', even package archives of uninstalled programs remain untouched.
I experimented also with arch specified:
# paccache -dvk0 -a i686
...
==> finished dry run: 960 candidates (disk space saved: 1.16 GiB) // All i686 package archives, even those that are installed and not subject to deletion
# paccache -dvk1 -a i686
==> no candidate packages found for pruning
# paccache -dvu -a i686
==> no candidate packages found for pruning
My goal is to delete all older cached package archives, but last 3 versions of installed packages. The easiest way to just remove all files containing "i686" string. But the only problem, that some installed programs have only 'i686' version archived and doesn't have any newer upgrade from 'pentium4' repository.https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/7Incorrect error highlighting in syntax/PKGBUILD.vim2022-11-02T00:29:56ZDaniel M. CapellaIncorrect error highlighting in syntax/PKGBUILD.vimFrom James Harvey (jamespharvey20) via https://bugs.archlinux.org/task/61923:
> "vimfiles/syntax/PKGBUILD.vim" highlights two things as errors that it should not. As an example, the valid official PKGBUILD file for gdb: https://git.archl...From James Harvey (jamespharvey20) via https://bugs.archlinux.org/task/61923:
> "vimfiles/syntax/PKGBUILD.vim" highlights two things as errors that it should not. As an example, the valid official PKGBUILD file for gdb: https://git.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=packages/gdb
>
> pkgname=(gdb gdb-common)
> ...
> sha1sums=(...
> 'SKIP')
>
> It highlights in: "pkgname" the '(', ' ', and ')'; and "sha1sums" the "SKIP".
>
> "pkgname" can of course be an array for split packages.
>
> Any of "md5sums", "sha1sums", "sha224sums", "sha256sums", "sha384sums", and "sha512sums" can of course contain "SKIP".
>
> Even though the error highlighting is technically wrong, maybe it's desired to be left as-is to discourage "pkgname" being a single element array or "SKIP" usage when inappropriate, etc.
>
> On the mailing list, Morten Linderud pointed out that without pacman-contrib's vim PKGBUILD files, vim aliases PKGBUILD's to filetype bash, which doesn't highlight improper errors. Perhaps pacman-contrib's vim PKGBUILD files could be considered for removal. I personally like the idea of having the stricter highlighting that pacman-contrib provides. Seeing top variables as the same color as functions for a PKGBUILD just feels weird after all this time, too. https://lists.archlinux.org/pipermail/arch-general/2019-March/046195.html
>
> There might of course be other valid PKGBUILD scenarios pacman-contrib's files don't handle, these are just the 2 I see a lot.
>
> Additional info:
>
> pacman-contrib 1.1.0-1
>
> Steps to reproduce:
>
> $ vim <gdb PKGBUILD>https://gitlab.archlinux.org/pacman/pacman-contrib/-/issues/3pactree should support multiple packages2022-05-05T03:34:54ZClar Fonpactree should support multiple packagesHello! In a script I'm writing, I use pactree to grab the recursive dependencies for packages so that I can download all the packages I need ahead of time.
It would be very useful to be able to pass multiple packages to pactree and prin...Hello! In a script I'm writing, I use pactree to grab the recursive dependencies for packages so that I can download all the packages I need ahead of time.
It would be very useful to be able to pass multiple packages to pactree and print the trees for all of them, which is especially useful with the `-u` option since it would eliminate the need to deduplicate the combined list separately.
I was going to see if I could help offer the code for this myself, but it appears that it would require more than a trivial change, since the code is designed to only work with a single package.
Sorry if feature requests should be sent through the bug tracker instead -- I noticed that there was another feature request on the repo so I figured I'd try my luck posting here.