summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2018-03-18 06:46:44 +0100
committerBartłomiej Piotrowski <bpiotrowski@archlinux.org>2018-03-24 20:54:24 +0100
commit40f0179a5e74d6d3babbefdeae21fd374be0e090 (patch)
tree1b0e1a72642d8959e5d7ef9aa859679fccf233ac
parentffb5003fdacaece3540ba167f7e965a122133af0 (diff)
downloaddevtools-40f0179a5e74d6d3babbefdeae21fd374be0e090.tar.gz
devtools-40f0179a5e74d6d3babbefdeae21fd374be0e090.tar.xz
makechrootpkg: fix verifysource with pacman-git
In pacman-git commit d8717a6a9666ec80c8645d190d6f9c7ab73084ac makepkg started checking that the setuid/setgid bit could be removed on the $BUILDDIR in order to prevent this propagating to the packages themselves. Unfortunately, this requires the temporary builddir used during the --verifysource stage of makepkg, to be owned by $makepkg_user which was not the case as it is created as root using mktemp (and given world rwx in addition to the restricted deletion bit.) Obviously makepkg cannot chmod a directory that it does not own. Fix this by making $makepkg_user the owner of that directory, as should have been the case all along. (Giving world rwx is illogical on general principle. The fact that this is a workaround for makepkg demanding these directories be writable even when they are not going to be used for the makepkg options in question, is not justification for being careless.) Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
-rw-r--r--makechrootpkg.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/makechrootpkg.in b/makechrootpkg.in
index 653847f..8e33499 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -249,7 +249,7 @@ download_sources() {
local builddir
builddir="$(mktemp -d)"
- chmod 1777 "$builddir"
+ chown "$makepkg_user:$makepkg_user" "$builddir"
# Ensure sources are downloaded
sudo -u "$makepkg_user" --preserve-env=GNUPGHOME \