Package Details: pacman-git 6.1.0.r15.g01e64e8b-1

Git Clone URL: https://aur.archlinux.org/pacman-git.git (read-only, click to copy)
Package Base: pacman-git
Description: A library-based package manager with dependency support
Upstream URL: https://www.archlinux.org/pacman/
Licenses: GPL-2.0-or-later
Conflicts: pacman
Provides: pacman
Submitter: None
Maintainer: eclairevoyant
Last Packager: eclairevoyant
Votes: 27
Popularity: 0.000009
First Submitted: 2009-09-07 17:32 (UTC)
Last Updated: 2024-04-01 21:09 (UTC)

Required by (263)

Sources (5)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 Next › Last »

adventurer commented on 2020-09-13 16:11 (UTC)

@eschwartz: I'm using this package because of the new parallel downloads feature (which works very well!). However, I wonder, since pacman 5.2.2 has been available since 2020-07-14, if a new pacman-git version shouldn't be available as well. Or are the changes in 5.2.2 already included in this pacman-git version?

eschwartz commented on 2020-03-15 01:15 (UTC)

What is the purpose of providing libalpm.so? The purpose of providing pacman seems to be fairly evident, since anything that uses pacman depend on pacman. On the other hand, nothing in the official repos depends on libalpm.so (and I don't believe anything other than yay-git depends on it) -- what's the objective here?

And if it did provide libalpm.so, it wouldn't help you since this is the git version which means any ABI-breaking changes won't bump the soname until release time, thus, depending on a soname version achieves precisely nothing.

LinuxUserGD commented on 2020-03-14 14:38 (UTC) (edited on 2020-03-14 14:49 (UTC) by LinuxUserGD)

@eschwartz The official pacman from core provides libalpm.so (see https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/pacman ) so it would be better to change it to that combined with provides=("pacman=${pkgver%.*.*}").

Edit: here is the diff/patch:

diff --git a/PKGBUILD b/PKGBUILD
index bca53b8..d73a3ca 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
 # Contributor: Andres Perera <aepd87@gmail.com>

 pkgname=pacman-git
-pkgver=5.1.1.r221.g8f89e509
+pkgver=5.2.1.r53.g87b74fcd
 pkgrel=1
 pkgdesc="A library-based package manager with dependency support"
 arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
@@ -18,6 +18,7 @@ optdepends=('pacman-contrib: various helper utilities'
 makedepends=('git' 'asciidoc' 'meson')
 checkdepends=('python' 'fakechroot')
 provides=("pacman=${pkgver%.*.*}")
+provides+=('libalpm.so')
 conflicts=('pacman')
 backup=("etc/pacman.conf"
         "etc/makepkg.conf")

eschwartz commented on 2019-10-29 20:19 (UTC) (edited on 2019-10-29 20:21 (UTC) by eschwartz)

Why does pacman-git doesn't provide pacman 5.2

But it does, because

$ pacman -Qi pacman-git
[...]
Provides        : pacman=5.2.0

yay-git still fails because of libalpm.so line

So, 'libalpm.so' doesn't look like 'pacman' to me.

I'm unsure why it was added to the yay-git package, and I'll tell you right now that using sonames won't work the way AUR package maintainers expect -- the result will simply be that you cannot upgrade pacman until you uninstall yay, then pacman -Syu, then rebuild and reinstall yay. Using sonames makes it harder, not easier, to use the AUR.

(There is exactly one AUR helper where it helps, and that is aurutils which can rebuild yay-git without first uninstalling it in order to upgrade pacman.)

LinuxUserGD commented on 2019-10-29 19:04 (UTC)

@rafaelff Thanks, pacman --version shows Pacman v5.2.0-6-gf37a - libalpm v12.0.0 and yay-git still fails because of libalpm.so line, maybe I should report it there. Editing yay-git PKGBUILD locally fixed it for me.

rafaelff commented on 2019-10-29 18:46 (UTC) (edited on 2019-10-29 18:47 (UTC) by rafaelff)

@hugegameartgd: That version is exactly what is in the PKGBUILD, but this is a VCS package so its version gets updated when building the package. Even if the pkgver doesn't show 5.2.0, it is updated with the pacman master branch. So it does provide latest state of this repository.

Regarding the error about libalpm, removing 'pacman' to install 'pacman-git' breaks the AUR helper dependency. Please build pacman-git without an AUR helper, as they depends on pacman. Follow https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages

LinuxUserGD commented on 2019-10-29 18:41 (UTC)

yay shows version 5.1.1

[user@archlinux ~]$ yay -S --devel --timeupdate pacman-git
:: Checking for conflicts...
:: Checking for inner conflicts...

==> Package conflicts found:
 -> Installing pacman-git will remove: pacman

==> Conflicting packages will have to be confirmed manually

[Aur: 1]  pacman-git-5.1.1.r221.g8f89e509-1

and later when trying to replace pacman with pacman-git

:: pacman-git and pacman are in conflict. remove pacman? [y / n] y
Error: Could not prepare the operation (Can not fulfill dependencies)
:: Removing pacman violates dependency 'libalpm.so> = 12', needed by yay-git
[user @ archlinux ~] $

eschwartz commented on 2019-10-29 17:52 (UTC)

It does, check again.

LinuxUserGD commented on 2019-10-29 17:40 (UTC)

Why does pacman-git doesn't provide pacman 5.2? It's already in the main repo.

brikler commented on 2019-10-25 07:56 (UTC) (edited on 2019-10-25 08:01 (UTC) by brikler)

i am not able to build because wrong reverence… a idea how to solve it?

pacman -Q gpgme
gpgme 1.13.1-1
../lib/libalpm/signing.c:177: error: undefined reference to 'gpgme_check_version_internal'
../lib/libalpm/signing.c:179: error: undefined reference to 'gpgme_set_locale'
../lib/libalpm/signing.c:181: error: undefined reference to 'gpgme_set_locale'
../lib/libalpm/signing.c:192: error: undefined reference to 'gpgme_engine_check_version'
../lib/libalpm/signing.c:196: error: undefined reference to 'gpgme_set_engine_info'
../lib/libalpm/signing.c:198: error: undefined reference to 'gpgme_get_engine_info'
../lib/libalpm/signing.c:207: error: undefined reference to 'gpgme_strerror'
../lib/libalpm/signing.c:235: error: undefined reference to 'gpgme_new'
../lib/libalpm/signing.c:254: error: undefined reference to 'gpgme_release'
../lib/libalpm/signing.c:240: error: undefined reference to 'gpgme_get_key'
../lib/libalpm/signing.c:249: error: undefined reference to 'gpgme_strerror'
../lib/libalpm/signing.c:251: error: undefined reference to 'gpgme_key_unref'
../lib/libalpm/signing.c:552: error: undefined reference to 'gpgme_key_unref'
../lib/libalpm/signing.c:276: error: undefined reference to 'gpgme_new'
../lib/libalpm/signing.c:293: error: undefined reference to 'gpgme_strerror'
../lib/libalpm/signing.c:295: error: undefined reference to 'gpgme_release'
../lib/libalpm/signing.c:326: error: undefined reference to 'gpgme_new'
../lib/libalpm/signing.c:418: error: undefined reference to 'gpgme_strerror'
../lib/libalpm/signing.c:421: error: undefined reference to 'gpgme_release'
../lib/libalpm/signing.c:329: error: undefined reference to 'gpgme_get_keylist_mode'
../lib/libalpm/signing.c:333: error: undefined reference to 'gpgme_set_keylist_mode'
../lib/libalpm/signing.c:338: error: undefined reference to 'gpgme_get_key'
../lib/libalpm/signing.c:421: error: undefined reference to 'gpgme_release'
../lib/libalpm/signing.c:446: error: undefined reference to 'gpgme_new'
../lib/libalpm/signing.c:453: error: undefined reference to 'gpgme_op_import_keys'
../lib/libalpm/signing.c:455: error: undefined reference to 'gpgme_op_import_result'
../lib/libalpm/signing.c:279: error: undefined reference to 'gpgme_get_keylist_mode'
../lib/libalpm/signing.c:281: error: undefined reference to 'gpgme_set_keylist_mode'
../lib/libalpm/signing.c:285: error: undefined reference to 'gpgme_get_key'
../lib/libalpm/signing.c:289: error: undefined reference to 'gpgme_key_unref'
../lib/libalpm/signing.c:289: error: undefined reference to 'gpgme_key_unref'
../lib/libalpm/signing.c:348: error: undefined reference to 'gpgme_get_key'
../lib/libalpm/signing.c:770: error: undefined reference to 'gpgme_data_release'
../lib/libalpm/signing.c:771: error: undefined reference to 'gpgme_data_release'
../lib/libalpm/signing.c:629: error: undefined reference to 'gpgme_data_new_from_stream'
../lib/libalpm/signing.c:642: error: undefined reference to 'gpgme_data_new_from_mem'
../lib/libalpm/signing.c:651: error: undefined reference to 'gpgme_op_verify'
../lib/libalpm/signing.c:653: error: undefined reference to 'gpgme_op_verify_result'
../lib/libalpm/signing.c:646: error: undefined reference to 'gpgme_data_new_from_stream'
collect2: Fehler: ld gab 1 als Ende-Status zurück