Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AUR-dependencies of nested PKGBUILDs in PKGBUILD repositories are not resolved #1112

Closed
tsuburin opened this issue Dec 18, 2023 · 0 comments · May be fixed by Morganamilo/aur-depends#16
Closed

Comments

@tsuburin
Copy link

tsuburin commented Dec 18, 2023

Affected Version

paru -V
paru v2.0.1 - libalpm v13.0.2

Description

Have you checked previous issues?
Yes.

When a package in a PKGBUILD repository depends on another package in a PKGBUILD repository, AUR-dependencies of the latter are not resolved when I try to install the former by paru -S and the command fails.

Let's say we have the following directory structure.

a/
├─ PKGBULID
b/
├─ PKGBULID

And the contents of the files are,

# a/PKGBULID

pkgname=pkgbuild-repo-pkg-a
pkgver=0.0.1
pkgrel=1
arch=(any)

depends=(
  pkgbuild-repo-pkg-b
)
# b/PKGBUILD

pkgname=pkgbuild-repo-pkg-b
pkgver=0.0.1
pkgrel=1
arch=(any)

depends=(
  yay # Any packages that are not satisfied by local repo will reproduce this behavior.
)

Then, we have the following output and the command fails.

$ paru -S ./pkgbuild-repo-pkg-a

:: Resolving dependencies...
error: could not find all required packages:
    yay (wanted by: pkgbuild-repo-pkg-a -> pkgbuild-repo-pkg-b)

The expected behavior, I believe, is that yay is built and installed as a dependency of pkgbuild-repo-pkg-b and eventually the command succeeds to install pkgbuild-repo-pkg-a.

Output

Include the FULL output of any relevant commands/configs

Don't cut parts of the input always include the FULL thing

paru.conf and pacman.conf are usually always relevant

/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

Empty paru.conf reproduces this behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant