diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2018-03-18 06:46:44 +0100 |
---|---|---|
committer | Bartłomiej Piotrowski <bpiotrowski@archlinux.org> | 2018-03-24 20:54:24 +0100 |
commit | 40f0179a5e74d6d3babbefdeae21fd374be0e090 (patch) | |
tree | 1b0e1a72642d8959e5d7ef9aa859679fccf233ac | |
parent | ffb5003fdacaece3540ba167f7e965a122133af0 (diff) | |
download | devtools-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.in | 2 |
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 \ |