Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: Pacman -Ss does not find package present in mirror  (Read 1012 times) previous topic - next topic
0 Members and 3 Guests are viewing this topic.

Pacman -Ss does not find package present in mirror

Hello,
i have a fresh install of Artix(xfce).
I am trying to install libguestfs.
Code: [Select]
pacman -Ss libguestfs 
returns only the version present in the community repositories.
Code: [Select]
community/libguestfs 1.46.0-2
    Access and modify virtual machine disk images

This version does not install due to systemd dependency issues.
So i looked around and found out that in the galaxy repo there should be a systemd-less version of this package.
The following artix mirror  has the package i want to install :
https://mirror1.artixlinux.org/repos/galaxy/os/x86_64/
libguestfs-1.46.0-1-x86_64.pkg.tar.zst             11-Oct-2021 14:55             4259438
https://mirror1.artixlinux.org/repos/galaxy/os/x86_64/libguestfs-1.46.0-1-x86_64.pkg.tar.zst

I then removed the arch repo from my pacman.conf, sync'd.
No package found at all then.
Then i outcommented the other mirrors, sync'd.
Still no package found.
I checked that pacman finds current packages from the galaxy repo, and it does find them :
Code: [Select]
$pacman -Ss bctool
galaxy/bctoolbox 5.0.58-1
    A library written in C that allows you to create and run audio and video streams

Pacman.conf file :
Code: [Select]
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ILoveCandy
#ParallelDownloads = 5

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Artix Linux
# packagers with `pacman-key --populate artix`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The gremlins repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
 # Artix
[system]
Include = /etc/pacman.d/mirrorlist

[world]
Include = /etc/pacman.d/mirrorlist

[galaxy]
Include = /etc/pacman.d/mirrorlist

[lib32]
Include = /etc/pacman.d/mirrorlist

# Arch
#[extra]
#Include = /etc/pacman.d/mirrorlist-arch

#[community]
#Include = /etc/pacman.d/mirrorlist-arch
#
#[multilib]
#Include = /etc/pacman.d/mirrorlist-arch

#[gremlins]
#Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the lib32 repositories as required here.

#[lib32-gremlins]
#Include = /etc/pacman.d/mirrorlist

#[lib32]
#Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

Mirror-list file :
Code: [Select]
##
## Artix Linux repository mirrorlist
## Generated on 2021-12-22
##

# Artix mirrors


## Europe
#Server = https://mirrors.dotsrc.org/artix-linux/repos/$repo/os/$arch
#Server = http://ftp.ntua.gr/pub/linux/artix-linux/$repo/os/$arch
#Server = https://ftp.cc.uoc.gr/mirrors/linux/artixlinux/$repo/os/$arch
#Server = https://quantum-mirror.hu/mirrors/pub/artix-linux/$repo/os/$arch
#Server = https://ftp.sh.cvut.cz/artix-linux/$repo/os/$arch
#Server = https://artix.unixpeople.org/repos/$repo/os/$arch
#Server = https://artix.cccp.io/$repo/os/$arch
#Server = https://mirror.linux.pizza/artix-linux/$repo/os/$arch
#Server = http://mirrors.redcorelinux.org/artixlinux/$repo/os/$arch
#Server = https://mirror.one.com/artix/$repo/os/$arch
#Server = https://mirror.pascalpuffke.de/artix-linux/$repo/os/$arch
#Server = https://artixlinux.qontinuum.space:4443/$repo/os/$arch
#Server = https://ftp.ludd.ltu.se/mirrors/artix/$repo/os/$arch
#Server = https://mirror.alphvino.com/artix-linux/$repo/os/$arch
#Server = http://artist.artixlinux.org/repos/$repo/os/$arch
#Server = https://mirror.theanonymouse.xyz/artix-linux/$repo/os/$arch
#Server = https://eu-mirror.artixlinux.org/repos/$repo/os/$arch
Server = https://mirror1.artixlinux.org/repos/$repo/os/$arch

Same result.
In that case
Code: [Select]
pacman -Ss libguestfs 
doesn't find anything.

I tried the various sync commands :
Code: [Select]
pacman -Syyu
Code: [Select]
pacman -Syuu
I tried removing the sync'd db's.
Code: [Select]
 sudo rm /var/lib/pacman/sync/* 
And then re-sync, but i got the same result.
The only errors i get are missing optional *.sig files for the database, that are not found on the server and then not found on the file system, but these do not seem to explain this behavior.

Debug and verbose output of pacman during the search :
Code: [Select]
$ pacman -Ss --debug -v libguestfs
debug: pacman v6.0.1 - libalpm v13.0.1
debug: config: attempting to read file /etc/pacman.conf
debug: config: new section 'options'
debug: config: HoldPkg: pacman
debug: config: HoldPkg: glibc
debug: config: Architecture: auto
debug: config: arch: x86_64
debug: config: chomp
debug: config: SigLevel: Required
debug: config: SigLevel: DatabaseOptional
debug: config: LocalFileSigLevel: Optional
debug: config: new section 'system'
debug: config file /etc/pacman.conf, line 74: including /etc/pacman.d/mirrorlist
debug: config: new section 'world'
debug: config file /etc/pacman.conf, line 77: including /etc/pacman.d/mirrorlist
debug: config: new section 'galaxy'
debug: config file /etc/pacman.conf, line 80: including /etc/pacman.d/mirrorlist
debug: config: new section 'lib32'
debug: config file /etc/pacman.conf, line 83: including /etc/pacman.d/mirrorlist
debug: config: finished parsing /etc/pacman.conf
debug: setup_libalpm called
debug: option 'logfile' = /var/log/pacman.log
debug: option 'gpgdir' = /etc/pacman.d/gnupg/
debug: option 'hookdir' = /etc/pacman.d/hooks/
debug: option 'cachedir' = /var/cache/pacman/pkg/
debug: registering sync database 'system'
debug: database path for tree system set to /var/lib/pacman/sync/system.db
debug: "/var/lib/pacman/sync/system.db.sig" is not readable: No such file or directory
debug: sig path /var/lib/pacman/sync/system.db.sig could not be opened
debug: got error 43 at _alpm_gpgme_checksig (../lib/libalpm/signing.c: 593) : missing PGP signature
debug: missing optional signature
debug: setting usage of 15 for system repository
debug: adding new server URL to database 'system': https://mirror1.artixlinux.org/repos/system/os/x86_64
debug: registering sync database 'world'
debug: database path for tree world set to /var/lib/pacman/sync/world.db
debug: "/var/lib/pacman/sync/world.db.sig" is not readable: No such file or directory
debug: sig path /var/lib/pacman/sync/world.db.sig could not be opened
debug: got error 43 at _alpm_gpgme_checksig (../lib/libalpm/signing.c: 593) : missing PGP signature
debug: missing optional signature
debug: setting usage of 15 for world repository
debug: adding new server URL to database 'world': https://mirror1.artixlinux.org/repos/world/os/x86_64
debug: registering sync database 'galaxy'
debug: database path for tree galaxy set to /var/lib/pacman/sync/galaxy.db
debug: "/var/lib/pacman/sync/galaxy.db.sig" is not readable: No such file or directory
debug: sig path /var/lib/pacman/sync/galaxy.db.sig could not be opened
debug: got error 43 at _alpm_gpgme_checksig (../lib/libalpm/signing.c: 593) : missing PGP signature
debug: missing optional signature
debug: setting usage of 15 for galaxy repository
debug: adding new server URL to database 'galaxy': https://mirror1.artixlinux.org/repos/galaxy/os/x86_64
debug: registering sync database 'lib32'
debug: database path for tree lib32 set to /var/lib/pacman/sync/lib32.db
debug: "/var/lib/pacman/sync/lib32.db.sig" is not readable: No such file or directory
debug: sig path /var/lib/pacman/sync/lib32.db.sig could not be opened
debug: got error 43 at _alpm_gpgme_checksig (../lib/libalpm/signing.c: 593) : missing PGP signature
debug: missing optional signature
debug: setting usage of 15 for lib32 repository
debug: adding new server URL to database 'lib32': https://mirror1.artixlinux.org/repos/lib32/os/x86_64
Root      : /
Conf File : /etc/pacman.conf
DB Path   : /var/lib/pacman/
Cache Dirs: /var/cache/pacman/pkg/ 
Hook Dirs : /usr/share/libalpm/hooks/  /etc/pacman.d/hooks/ 
Lock File : /var/lib/pacman/db.lck
Log File  : /var/log/pacman.log
GPG Dir   : /etc/pacman.d/gnupg/
Targets   : libguestfs
debug: loading package cache for repository 'system'
debug: opening archive /var/lib/pacman/sync/system.db
debug: added 362 packages to package cache for db 'system'
debug: searching for target 'libguestfs'
debug: loading package cache for repository 'world'
debug: opening archive /var/lib/pacman/sync/world.db
debug: added 2542 packages to package cache for db 'world'
debug: searching for target 'libguestfs'
debug: loading package cache for repository 'galaxy'
debug: opening archive /var/lib/pacman/sync/galaxy.db
debug: added 2663 packages to package cache for db 'galaxy'
debug: searching for target 'libguestfs'
debug: loading package cache for repository 'lib32'
debug: opening archive /var/lib/pacman/sync/lib32.db
debug: added 188 packages to package cache for db 'lib32'
debug: searching for target 'libguestfs'
debug: unregistering database 'local'
debug: unregistering database 'system'
debug: freeing package cache for repository 'system'
debug: unregistering database 'world'
debug: freeing package cache for repository 'world'
debug: unregistering database 'galaxy'
debug: freeing package cache for repository 'galaxy'
debug: unregistering database 'lib32'
debug: freeing package cache for repository 'lib32'

I am now quite confused on what could cause pacman not to find the package that is in the repo.
Thanks in advance.

Re: Pacman -Ss does not find package present in mirror

Reply #1
https://gitea.artixlinux.org/packagesL/libguestfs/commits/branch/master

libguestfs was removed from Artix repositories 3 weeks ago.

Edit: Why do you need libguestfs? Arch package page for libguestfs lists no packages that depend on it.


Re: Pacman -Ss does not find package present in mirror

Reply #3
If you enable the Arch repos as explained here:
https://wiki.artixlinux.org/Main/Repositories
Edit: Sorry, I see this doesn't work!!
you should be able to install it. It can also be found in the AUR if it gets removed from there too  ;D

Code: [Select]
community/libguestfs 1.46.0-2
    Access and modify virtual machine disk images
aur/libguestfs-dev 1.45.7-1 [1 / 0.149956]
    Library and tools for accessing and modifying virtual machine disk images, development version
aur/libguestfs-git 1.42.0.r21.g4837698d8-1 [0 / 0.000000]
    Access and modify virtual machine disk image
aur/python-libguestfs 1.40.2-1 [1 / 0.000001]
    Python bindings for libguestfs

Re: Pacman -Ss does not find package present in mirror

Reply #4
That tutorial doesn't use Artix nor Arch, but Debian. Debian packages organizationally often differ from packages for other distros, not to mention that they often contain Debian-specific patches by Debian developers. To give you an example, out of the top of my head, Debian included a patch for gnome-terminal transparency, a feature that mainline gnome-terminal developers decided to remove.

If you really want to follow that particular tutorial, use Debian.

If you enable the Arch repos as explained here:
https://wiki.artixlinux.org/Main/Repositories
Edit: Sorry, I see this doesn't work!!
you should be able to install it. It can also be found in the AUR if it gets removed from there too  ;D
This is a list of Debian packages related to libguestfs:

https://packages.debian.org/search?searchon=sourcenames&keywords=libguestfs
Quote
Binary packages: [hide 28 binary packages] erlang-guestfs, gir1.2-guestfs-1.0, golang-guestfs-dev, guestfsd, libguestfs-dev, libguestfs-gfs2, libguestfs-gobject-1.0-0, libguestfs-gobject-dev, libguestfs-hfsplus, libguestfs-java, libguestfs-jfs, libguestfs-nilfs, libguestfs-ocaml, libguestfs-ocaml-dev, libguestfs-perl, libguestfs-reiserfs, libguestfs-rescue, libguestfs-rsync, libguestfs-tools, libguestfs-xfs, libguestfs-zfs, libguestfs0, libguestfs0-dbg, lua-guestfs, php-guestfs, python-guestfs, python3-guestfs, ruby-guestfs
One of them is libguestfs-tools, which is in the tutorial that the OP wants to follow. That package doesn't exist in Arch nor Artix. Arch package community/libguestfs includes the following executables:
Code: [Select]
$ pkgfile -l libguestfs | grep bin
community/libguestfs    /usr/bin/
community/libguestfs    /usr/bin/erl-guestfs
community/libguestfs    /usr/bin/guestfish
community/libguestfs    /usr/bin/guestmount
community/libguestfs    /usr/bin/guestunmount
community/libguestfs    /usr/bin/libguestfs-make-fixed-appliance
community/libguestfs    /usr/bin/libguestfs-test-tool
community/libguestfs    /usr/bin/virt-copy-in
community/libguestfs    /usr/bin/virt-copy-out
community/libguestfs    /usr/bin/virt-rescue
community/libguestfs    /usr/bin/virt-tar-in
community/libguestfs    /usr/bin/virt-tar-out
community/libguestfs    /usr/lib/erlang/lib/libguestfs-1.46.0/ebin/
community/libguestfs    /usr/lib/erlang/lib/libguestfs-1.46.0/ebin/guestfs.beam
If one of them could be used as a substitute in that tutorial, by all means, OP should try installing community/libguestfs, but in Arch and not Artix, as it relies on systemd-sysvcompat, which is a systemd package.

In comparison, this is a list of files in the Debian package libguestfs-tools: https://packages.debian.org/stretch/amd64/libguestfs-tools/filelist

Much better would be if OP simply used different means to achieve what he wants. For example, boot the Windows PC from LiveUSB and create a disk snapshot by using the tools available in Artix.

Update: There's a package guestfs-tools in AUR, but it is hard to say if it would work or not, or is it a good substitute for that tutorial.

Re: Pacman -Ss does not find package present in mirror

Reply #5
Thanks for the details.
I will try to do it the disk snapshot way.

Re: Pacman -Ss does not find package present in mirror

Reply #6
I downloaded the last version from here:
https://archive.artixlinux.org/packages/l/libguestfs/
then:
Code: [Select]
sudo pacman -U libguestfs-1.46.0-1-x86_64.pkg.tar.zst

This was easier and more successful so far than this approach, although if the above doesn't work it could be pursued further:
Code: [Select]
(You would need git and build-essential installed)

$ git clone https://github.com/archlinux/svntogit-community.git -b packages/libguestfs --single-branch libguestfs
$ cd libguestfs/repos/community-x86_64
$ nano PKGBUILD
(delete both entries for systemd-sysvcompat or the build won't proceed)

$ makepkg -s
(this needed to install over 300MB of build deps for me)
 
==> Verifying source file signatures with gpg...
    libguestfs-1.46.0.tar.gz ... FAILED (unknown public key 91738F73E1B768A0)
$ gpg --recv-keys 91738F73E1B768A0

$ makepkg -s
mkdir -p tmp-u/etc/udev/rules.d
( cd tmp-d && tar zcf - * ) > supermin.d/daemon.tar.gz-t
for f in 99-guestfs-serial.rules; do ln $f tmp-u/etc/udev/rules.d/$(basename $f); done
/bin/sh: -c: line 6: syntax error near unexpected token `|'
/bin/sh: -c: line 6: `  sort -u > guestfsd.deps.t'
make[2]: *** [Makefile:1101: guestfsd.deps] Error 2

(It still fails on a build error now! No doubt a solution can be found if needed)

I don't know if the original Artix PKGBUILD is in an archive somewhere too for more inspiration!


I haven't tried any of the AUR packages, that above was based on the Arch Community PKGBUILD.

And the old Artix binary package seems to provide the same in /usr/bin as the community one, ie not as much as that Debian package.

Edit: No, there is an easy way, the package was split into lib and tools only recently - install the previous version from the archive and you get all the tools - but clearly I have no way to test them in action.

Code: [Select]
$ sudo pacman -U libguestfs-1.44.1-6-x86_64.pkg.tar.zst

$ pacman -Ql libguestfs |grep /usr/bin
libguestfs /usr/bin/
libguestfs /usr/bin/erl-guestfs
libguestfs /usr/bin/guestfish
libguestfs /usr/bin/guestmount
libguestfs /usr/bin/guestunmount
libguestfs /usr/bin/libguestfs-make-fixed-appliance
libguestfs /usr/bin/libguestfs-test-tool
libguestfs /usr/bin/virt-alignment-scan
libguestfs /usr/bin/virt-builder
libguestfs /usr/bin/virt-builder-repository
libguestfs /usr/bin/virt-cat
libguestfs /usr/bin/virt-copy-in
libguestfs /usr/bin/virt-copy-out
libguestfs /usr/bin/virt-customize
libguestfs /usr/bin/virt-df
libguestfs /usr/bin/virt-dib
libguestfs /usr/bin/virt-diff
libguestfs /usr/bin/virt-edit
libguestfs /usr/bin/virt-filesystems
libguestfs /usr/bin/virt-format
libguestfs /usr/bin/virt-get-kernel
libguestfs /usr/bin/virt-index-validate
libguestfs /usr/bin/virt-inspector
libguestfs /usr/bin/virt-log
libguestfs /usr/bin/virt-ls
libguestfs /usr/bin/virt-make-fs
libguestfs /usr/bin/virt-rescue
libguestfs /usr/bin/virt-resize
libguestfs /usr/bin/virt-sparsify
libguestfs /usr/bin/virt-sysprep
libguestfs /usr/bin/virt-tail
libguestfs /usr/bin/virt-tar-in
libguestfs /usr/bin/virt-tar-out
libguestfs /usr/bin/virt-win-reg