paru icon indicating copy to clipboard operation
paru copied to clipboard

Package installed with `--asexplicit` when `--asdeps` is specified

Open kyechou opened this issue 2 years ago • 6 comments

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.

kyechou avatar Jun 28 '23 05:06 kyechou

I am seeing the same issue, in my case I can solve it by removing CombinedUpgrade from paru.conf

drakkar1969 avatar Oct 01 '23 06:10 drakkar1969

I don't get the issue. The last line of the output shows it being set as a dep.

Morganamilo avatar Oct 08 '23 09:10 Morganamilo

Oh wait it's not about the target backage whoops

Morganamilo avatar Oct 08 '23 09:10 Morganamilo

I don't see this on master so i assume it got fixed.

Morganamilo avatar Oct 08 '23 10:10 Morganamilo

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'

kyechou avatar Oct 30 '23 02:10 kyechou

I forgot about one important thing. The issue only happens when CombinedUpgrade is specified in paru.conf. Sorry for the confusion!

kyechou avatar Oct 30 '23 03:10 kyechou