+2009-11-28 Jim Meyering <meyering@redhat.com>
+
+ do not put world-writable directories in distribution tarballs
+ * lib/am/distdir.am (distdir): Do not make all directories
+ group- or world-writable. Instead, use 755.
+ * tests/subpkg4.test (test-distdir-is-readable): Check for new,
+ more restricted permissions.
+
2009-11-29 Karl Berry <karl@freefriends.org>
Rewrite `gnupload --help' examples.
top_distdir="$(top_distdir)" distdir="$(distdir)" \
dist-hook
-test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
endif %?DIST-TARGETS%
##
## This complex find command will try to avoid changing the modes of
-## links into the source tree, in case they're hard-linked. It will
-## also make directories writable by everybody, because some
-## brain-dead tar implementations change ownership and permissions of
-## a directory before extracting the files, thus becoming unable to
-## extract them.
+## links into the source tree, in case they're hard-linked.
##
## Ignore return result from chmod, because it might give an error
## if we chmod a symlink.
##
if %?TOPDIR_P%
-test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
cat >Makefile.am <<'END'
SUBDIRS = subpkg
test-distdir-is-readable:
- bad_dirs=`find $(distdir) -type d ! -perm -777 -print`; \
+ bad_dirs=`find $(distdir) -type d ! -perm -755 -print`; \
if test -n "$$bad_dirs"; then \
echo "directories not permissive: $$bad_dirs" >&2; \
exit 1; \