[pacman-dev] [PATCH] Remove setgid bit on srcdir/pkgdir creation
Dan McGee
dan at archlinux.org
Wed Jan 20 00:27:40 EST 2010
On Tue, Jan 19, 2010 at 11:25 PM, Dan McGee <dan at archlinux.org> wrote:
> It was noted in FS#17533 that setgid bits are carried down into any created
> subdirectories, and thus could end up being in a built package if the
> original package directory was marked g+s. When we create src/ and pkg/,
> explicitly chmod them to remove any sticky bits.
>
> Signed-off-by: Dan McGee <dan at archlinux.org>
> ---
I forgot to add here that I wasn't particularly happy I had to add an
additional command in 6 places. Do we know why we create these
directories so much? Some of them are probably unnecessary...
-Dan
> scripts/makepkg.sh.in | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 5bd294c..c2045e5 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -1056,6 +1056,7 @@ create_srcpackage() {
>
> # Get back to our src directory so we can begin with sources.
> mkdir -p "$srcdir"
> + chmod a-s "$srcdir"
> cd "$srcdir"
> download_sources
> # We can only check checksums if we have all files.
> @@ -1725,6 +1726,7 @@ fi
>
> if (( GENINTEG )); then
> mkdir -p "$srcdir"
> + chmod a-s "$srcdir"
> cd "$srcdir"
> download_sources
> generate_checksums
> @@ -1824,6 +1826,7 @@ if (( INFAKEROOT )); then
> for pkg in ${pkgname[@]}; do
> pkgdir="$pkgdir/$pkg"
> mkdir -p "$pkgdir"
> + chmod a-s "$pkgdir"
> backup_package_variables
> run_package $pkg
> tidy_install
> @@ -1880,6 +1883,7 @@ umask 0022
>
> # get back to our src directory so we can begin with sources
> mkdir -p "$srcdir"
> +chmod a-s "$srcdir"
> cd "$srcdir"
>
> if (( NOEXTRACT )); then
> @@ -1915,6 +1919,7 @@ else
> rm -rf "$pkgdir"
> fi
> mkdir -p "$pkgdir"
> + chmod a-s "$pkgdir"
> cd "$startdir"
>
> # if we are root or if fakeroot is not enabled, then we don't use it
> @@ -1935,6 +1940,7 @@ else
> for pkg in ${pkgname[@]}; do
> pkgdir="$pkgdir/$pkg"
> mkdir -p "$pkgdir"
> + chmod a-s "$pkgdir"
> backup_package_variables
> run_package $pkg
> tidy_install
> --
> 1.6.6
>
>
More information about the pacman-dev
mailing list