summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2019-01-30 01:40:09 +0100
committerAllan McRae <allan@archlinux.org>2019-01-30 04:39:35 +0100
commit6cf0548128d6d1a839ba93997b017661520395be (patch)
tree06c453355c38ec3b8a71e1a4fc35e4934d3363f2
parent776fbe1cde58739d0469d3efbc76cb13b80f18b3 (diff)
downloadpacman-6cf0548128d6d1a839ba93997b017661520395be.tar.gz
pacman-6cf0548128d6d1a839ba93997b017661520395be.tar.xz
makepkg: use --unneeded for pacman call in remove_deps()
This patch was inspired by FS#32723 which asks makepkg to install makedepends before depends. The use case is to build a package depending on a virtual package that is only provided by other packages (e.g. java-runtime in Arch Linux), but wanting to build against a specific version. Installing makedepends first (but not at the same time as depends) would allow specifying the version to build against, instead of pacman resolving to the default version when installing depends. It turns out, we can already achieve installing makedepends first by specifying dependencies only in the package function (and making sure makedepends includes everything needed). The only issue is that if we use makepkg to install the built package with the --install flag and along with the --rmdeps flag, we will try to remove any installed dependencies that are specified in the depends array in the package function. To counter this, we need to use the --unneeded flag for the pacman call. Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index c81dc801..749d074a 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -336,7 +336,7 @@ remove_deps() {
msg "Removing installed dependencies..."
# exit cleanly on failure to remove deps as package has been built successfully
- if ! run_pacman -Rn ${deplist[@]}; then
+ if ! run_pacman -Rnu ${deplist[@]}; then
warning "$(gettext "Failed to remove installed dependencies.")"
return $E_REMOVE_DEPS_FAILED
fi