manjaro / pamac-cli

Terminal Package Manager for Manjaro Linux with Alpm, AUR, Appstream, Flatpak and Snap support
GNU General Public License v3.0
1 stars 0 forks source link

Searching AUR points to unexpected db #1

Open fhdk opened 14 hours ago

fhdk commented 14 hours ago

Version

 $ pamac --version
pamac-cli 11.6.0  -  libpamac 11.7.0
Copyright © 2019-2024 Guillaume Benoit
This program is free software, you can redistribute it under the terms of the GNU GPL.

Reproduce

 $ pamac search j4335dw --aur
Failed to read AUR data from /var/lib/pacman/sync/packages-meta-ext-v1.json.gz : Error opening file /var/lib/pacman/sync/packages-meta-ext-v1.json.gz: No such file or directory

Expected result

https://aur.archlinux.org/packages?K=j4335dw

As pamac runs with user permissions - the dbs are stored in

/var/tmp/pamac/dbs
philmmanjaro commented 14 hours ago

Did you do a pamac upgrade --aur first? On my end it works after that:

pamac search j4335dw --aur
brother-mfc-j4335dw  3.5.0-1                                                 AUR
    LPR driver and CUPS wrapper for Brother MFC-J4335DW printer
fhdk commented 14 hours ago

I never use pamac upgrade --aur.

But I did try the Refresh databases in the GUI - which did not change anything (with AUR enabled).

There is no option in pamac CLI to download AUR database.

philmmanjaro commented 14 hours ago

there is: pamac upgrade --aur --force-refresh

fhdk commented 12 hours ago

I don't think you understand what I mean.

The upgrade requires superuser authentication - I don't want to upgrade.

And authentication should not be necessary to fetch aur database which is not necessary for other databases as those are downloaded to a writable location.

The problem is the location pamac looks for the aur metadata - /var/lib/pacman/sync which is not the location pamac should look in - the correct location is /var/tmp/pamac/dbs.

For a full picture

 $ ls -l /var/lib/pacman/sync
total 54188
-rw-r--r-- 1 root root   144865 27 okt 07:20 core.db
-rw-r--r-- 1 root root  2696324 27 okt 07:20 core.files
-rw-r--r-- 1 root root  8485933 27 okt 08:13 extra.db
-rw-r--r-- 1 root root 43283423 27 okt 08:13 extra.files
-rw-r--r-- 1 root root    12948 27 jul 14:55 mhwd.db
-rw-r--r-- 1 root root   144856 26 okt 19:13 multilib.db
-rw-r--r-- 1 root root   238543 26 okt 19:13 multilib.files
-rw-r--r-- 1 root root     8475  6 okt 09:12 nixrepo.db
-rw-r--r-- 1 root root   431647  6 okt 09:12 nixrepo.files
-rw-r--r-- 1 root root        0 27 okt 09:37 refresh_timestamp
-rw-r--r-- 1 root root     1869 25 sep 15:40 sublime-text.db
-rw-r--r-- 1 root root      543 25 sep 15:40 sublime-text.db.sig
-rw-r--r-- 1 root root     3141 25 sep 15:40 sublime-text.files
-rw-r--r-- 1 root root      543 25 sep 15:40 sublime-text.files.sig

 $ ls -l /var/tmp/pamac/dbs
total 4
lrwxrwxrwx 1 fh fh   21 27 okt 09:37 local -> /var/lib/pacman/local
drwxrwxrwx 2 fh fh 4096 27 okt 09:37 sync

 $ ls -l /var/tmp/pamac/dbs/sync
total 54188
-rw-rw-rw- 1 fh fh   144865 27 okt 07:20 core.db
-rw-rw-rw- 1 fh fh  2696324 27 okt 07:20 core.files
-rw-rw-rw- 1 fh fh  8485933 27 okt 08:13 extra.db
-rw-rw-rw- 1 fh fh 43283423 27 okt 08:13 extra.files
-rw-rw-rw- 1 fh fh    12948 27 jul 14:55 mhwd.db
-rw-rw-rw- 1 fh fh   144856 26 okt 19:13 multilib.db
-rw-rw-rw- 1 fh fh   238543 26 okt 19:13 multilib.files
-rw-rw-rw- 1 fh fh     8475  6 okt 09:12 nixrepo.db
-rw-rw-rw- 1 fh fh   431647  6 okt 09:12 nixrepo.files
-rw-rw-rw- 1 fh fh        0 27 okt 09:37 refresh_timestamp
-rw-rw-rw- 1 fh fh     1869 25 sep 15:40 sublime-text.db
-rw-rw-rw- 1 fh fh      543 25 sep 15:40 sublime-text.db.sig
-rw-rw-rw- 1 fh fh     3141 25 sep 15:40 sublime-text.files
-rw-rw-rw- 1 fh fh      543 25 sep 15:40 sublime-text.files.sig
philmmanjaro commented 11 hours ago

With libalpm v15 it looks in sync folder as committed here: https://github.com/manjaro/libpamac/commit/58b6781ea0020e78c668f286a9017ad663ae6fba#diff-89f8f593e2131efdb6afab6b6fb62c5e69ae27f41d0178ae271539f6d39a31fdR329. So call pamac upgrade --aur once to get the needed databases. After that you can search for files. There is no need to go thru with the upgrade. You can also do a --dry-run. more options explained here: pamac upgrade --help

philmmanjaro commented 11 hours ago

See here for the AUR database:

ls -l /var/lib/pacman/sync
total 64448
-rw-r--r-- 1 root root   144854 00:10 27 Thg 10 core.db
-rw-r--r-- 1 root root  2696311 00:10 27 Thg 10 core.files
-rw-r--r-- 1 root root  8485923 01:08 27 Thg 10 extra.db
-rw-r--r-- 1 root root 43283446 01:08 27 Thg 10 extra.files
-rw-r--r-- 1 root root   144856 00:13 27 Thg 10 multilib.db
-rw-r--r-- 1 root root   238543 00:13 27 Thg 10 multilib.files
-rw-r--r-- 1 root root 10983841 09:24 23 Thg 10 packages-meta-ext-v1.json.gz
-rw-r--r-- 1 root root        0 13:55 27 Thg 10 refresh_timestamp
philmmanjaro commented 11 hours ago

Also for pacman you need authorization to fetch databases:

pacman -Syy
error: you cannot perform this operation unless you are root.
philmmanjaro commented 11 hours ago

Here for just the files:

pacman -Fyy
error: you cannot perform this operation unless you are root
guinux commented 10 hours ago

Yes, with libalpm 15 support, AUR database location moved to /var/lib/pacman/sync. If you try to Refresh databases from the GUI, it should work.