Package installed with `--asexplicit` when `--asdeps` is specified
Affected Version
paru v1.11.1 - libalpm v13.0.2
Description
When mixing official repo packages with AUR packages in one command and when --asdeps is used, the official repo packages are installed --asexplicit, while the expected behavior is that all specified packages should be installed --asdeps.
Have you checked previous issues? I did, but wasn't able to find anything related.
Output
The following command was run on a freshly installed Arch Linux.
paru -S --asdeps bc spin-git
$ paru -S --asdeps bc spin-git
:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...
Repo (1) bc-1.07.1-4
Aur (1) spin-git-6.5.2.r23.g6651f97-1
:: Proceed to review? [Y/n]:
:: Downloading PKGBUILDs...
PKGBUILDs up to date
nothing new to review
resolving dependencies...
looking for conflicting packages...
Packages (1) bc-1.07.1-4
Total Installed Size: 0.17 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [#############################################################################] 100%
(1/1) checking package integrity [#############################################################################] 100%
(1/1) loading package files [#############################################################################] 100%
(1/1) checking for file conflicts [#############################################################################] 100%
(1/1) checking available disk space [#############################################################################] 100%
:: Processing package changes...
(1/1) installing bc [#############################################################################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Updating the info directory file...
fetching devel info...
==> Making package: spin-git 6.5.2.r23.g6651f97-1 (Tue 27 Jun 2023 11:58:12 PM CDT)
==> Retrieving sources...
-> Updating spin-git git repo...
==> Validating source files with sha512sums...
spin-git ... Skipped
==> Making package: spin-git 6.5.2.r23.g6651f97-1 (Tue 27 Jun 2023 11:58:14 PM CDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating spin-git git repo...
==> Validating source files with sha512sums...
spin-git ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Creating working copy of spin-git git repo...
Cloning into 'spin-git'...
done.
==> Starting pkgver()...
==> Updated version: spin-git 6.5.2.r38.gc400fb3-1
==> Sources are ready.
spin-git-6.5.2.r23.g6651f97-1: parsing pkg list...
:: spin-git-6.5.2.r23.g6651f97-1 is up to date -- skipping build
:: Signing packages...
loading packages...
resolving dependencies...
looking for conflicting packages...
Packages (1) spin-git-6.5.2.r38.gc400fb3-1
Total Installed Size: 1.40 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [#############################################################################] 100%
(1/1) checking package integrity [#############################################################################] 100%
(1/1) loading package files [#############################################################################] 100%
(1/1) checking for file conflicts [#############################################################################] 100%
(1/1) checking available disk space [#############################################################################] 100%
:: Processing package changes...
(1/1) installing spin-git [#############################################################################] 100%
Optional dependencies for spin-git
tcl: ispin graphical interface
swarm: improved performance on large verification problems
modex: extract verification models from implementation C code
ispin: GUI for Spin
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
Please see the following snippet of pacman.log corresponding to the command. The repo package bc was set as explicit.
/var/log/pacman.log
[2023-06-27T23:58:08-0500] [PACMAN] Running 'pacman --sync -- extra/bc'
[2023-06-27T23:58:09-0500] [ALPM] transaction started
[2023-06-27T23:58:09-0500] [ALPM] installed bc (1.07.1-4)
[2023-06-27T23:58:09-0500] [ALPM] transaction completed
[2023-06-27T23:58:09-0500] [ALPM] running '30-systemd-update.hook'...
[2023-06-27T23:58:09-0500] [ALPM] running 'texinfo-install.hook'...
[2023-06-27T23:58:09-0500] [PACMAN] Running 'pacman --database --asexplicit -- bc'
[2023-06-27T23:58:17-0500] [PACMAN] Running 'pacman --upgrade --noconfirm -- /home/kyc/.cache/paru/clone/spin-git/spin-git-6.5.2.r38.gc400fb3-1-x86_64.pkg.tar.zst'
[2023-06-27T23:58:17-0500] [ALPM] transaction started
[2023-06-27T23:58:17-0500] [ALPM] installed spin-git (6.5.2.r38.gc400fb3-1)
[2023-06-27T23:58:17-0500] [ALPM] transaction completed
[2023-06-27T23:58:17-0500] [ALPM] running '30-systemd-update.hook'...
[2023-06-27T23:58:17-0500] [PACMAN] Running 'pacman --database --asdeps -- spin-git'
/etc/paru.conf
#
# GENERAL OPTIONS
#
[options]
Devel
PgpFetch
Provides
UpgradeMenu
CombinedUpgrade
DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg -fossil
RemoveMake = yes
SearchBy = name
NoWarn =
#AurOnly
BottomUp
#SudoLoop
#UseAsk
#SaveChanges
#CleanAfter
#NewsOnUpgrade
#LocalRepo
#Chroot
Sign
SignDb
#KeepRepoCache
#
# Binary OPTIONS
#
#[bin]
#FileManager = nnn
#MFlags = --skippgpcheck
#Sudo = doas
/etc/pacman.conf
#
# /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
#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 Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# 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 testing 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.
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
#[extra-testing]
#Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist
#[multilib]
#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
===
Edit (2023-10-29)
Updated the correct paru.conf.
I am seeing the same issue, in my case I can solve it by removing CombinedUpgrade from paru.conf
I don't get the issue. The last line of the output shows it being set as a dep.
Oh wait it's not about the target backage whoops
I don't see this on master so i assume it got fixed.
Hi @Morganamilo, thanks for following up! I'm still seeing the same issue with the current master.
$ paru --version
paru v1.11.2.r207.g67cc6f4 - libalpm v13.0.2
The output of pacman.log is essentially the same. I plan to install a fresh new VM this week for testing the issue. Please feel free to let me know if any test is needed.
/var/log/pacman.log (`paru -S --asdeps bc spin-git`)
[2023-10-29T21:22:18-0500] [PACMAN] Running 'pacman --sync --noconfirm -- extra/bc'
[2023-10-29T21:22:18-0500] [ALPM] transaction started
[2023-10-29T21:22:18-0500] [ALPM] installed bc (1.07.1-4)
[2023-10-29T21:22:18-0500] [ALPM] transaction completed
[2023-10-29T21:22:18-0500] [ALPM] running '30-systemd-update.hook'...
[2023-10-29T21:22:18-0500] [ALPM] running 'texinfo-install.hook'...
[2023-10-29T21:22:18-0500] [PACMAN] Running 'pacman --database --asexplicit -- bc'
[2023-10-29T21:22:33-0500] [PACMAN] Running 'pacman --upgrade --noconfirm -- /home/kyc/.cache/paru/clone/spin-git/spin-git-6.5.2.r38.gc400fb3-1-x86_64.pkg.tar.zst'
[2023-10-29T21:22:33-0500] [ALPM] transaction started
[2023-10-29T21:22:33-0500] [ALPM] installed spin-git (6.5.2.r38.gc400fb3-1)
[2023-10-29T21:22:33-0500] [ALPM] transaction completed
[2023-10-29T21:22:33-0500] [ALPM] running '30-systemd-update.hook'...
[2023-10-29T21:22:33-0500] [PACMAN] Running 'pacman --database --asdeps -- spin-git'
As a comparison, here's the pacman.log output when running yay for the same command.
/var/log/pacman.log (`yay -S --asdeps bc spin-git`)
[2023-10-29T21:34:13-0500] [PACMAN] Running 'pacman -S --config /etc/pacman.conf -- extra/bc'
[2023-10-29T21:34:17-0500] [ALPM] transaction started
[2023-10-29T21:34:17-0500] [ALPM] installed bc (1.07.1-4)
[2023-10-29T21:34:17-0500] [ALPM] transaction completed
[2023-10-29T21:34:17-0500] [ALPM] running '30-systemd-update.hook'...
[2023-10-29T21:34:17-0500] [ALPM] running 'texinfo-install.hook'...
[2023-10-29T21:34:17-0500] [PACMAN] Running 'pacman -D --asdeps -q --config /etc/pacman.conf -- bc'
[2023-10-29T21:34:24-0500] [PACMAN] Running 'pacman -U --config /etc/pacman.conf -- /home/kyc/.cache/yay/spin-git/spin-git-6.5.2.r38.gc400fb3-1-x86_64.pkg.tar.zst'
[2023-10-29T21:34:25-0500] [ALPM] transaction started
[2023-10-29T21:34:25-0500] [ALPM] installed spin-git (6.5.2.r38.gc400fb3-1)
[2023-10-29T21:34:25-0500] [ALPM] transaction completed
[2023-10-29T21:34:25-0500] [ALPM] running '30-systemd-update.hook'...
[2023-10-29T21:34:25-0500] [PACMAN] Running 'pacman -D -q --asdeps --config /etc/pacman.conf -- spin-git'
I forgot about one important thing. The issue only happens when CombinedUpgrade is specified in paru.conf. Sorry for the confusion!