Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 551788 - app-arch/zip[natspec]: Unable to store Unix permissions
Summary: app-arch/zip[natspec]: Unable to store Unix permissions
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-11 14:29 UTC by Nikoli
Modified: 2018-03-01 21:39 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (automake-1.16-r1) (build.log,192.94 KB, text/plain)
2018-02-27 10:32 UTC, tka
Details
test-suite.log (automake-1.16-r1) (test-suite.log.xz,121.11 KB, application/x-xz)
2018-02-27 10:40 UTC, tka
Details
build.log (zip-3.0-r3) (build.log,14.44 KB, text/plain)
2018-03-01 20:01 UTC, tka
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikoli 2015-06-11 14:29:38 UTC
If zip or unzip is not installed:
============================================================================
Testsuite summary for GNU Automake 1.14.1
============================================================================
# TOTAL: 2981
# PASS:  2835
# SKIP:  106
# XFAIL: 40
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================


If both zip and unzip are installed (see 'have_compressor ()' from t/dist-formats.tap):
FAIL: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]
...
============================================================================
Testsuite summary for GNU Automake 1.14.1
============================================================================
# TOTAL: 2981
# PASS:  2837
# SKIP:  103
# XFAIL: 40
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================


from work/automake-1.14.1/test-suite.log:
Archive:  nogzip-zip-1.0.zip
   creating: nogzip-zip-1.0/
  inflating: nogzip-zip-1.0/missing  
  inflating: nogzip-zip-1.0/install-sh  
  inflating: nogzip-zip-1.0/aclocal.m4  
  inflating: nogzip-zip-1.0/configure.ac  
  inflating: nogzip-zip-1.0/configure  
  inflating: nogzip-zip-1.0/Makefile.am  
  inflating: nogzip-zip-1.0/Makefile.in  
chmod -R a-w nogzip-zip-1.0
chmod u+w nogzip-zip-1.0
mkdir nogzip-zip-1.0/_build nogzip-zip-1.0/_inst
chmod a-w nogzip-zip-1.0
test -d nogzip-zip-1.0/_build || exit 0; \
dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd nogzip-zip-1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
  && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \
  && am__cwd=`pwd` \
  && CDPATH="${ZSH_VERSION+.}:" && cd nogzip-zip-1.0/_build \
  && ../configure \
     \
     \
    --srcdir=.. --prefix="$dc_install_base" \
  && make  \
  && make  dvi \
  && make  check \
  && make  install \
  && make  installcheck \
  && make  uninstall \
  && make  distuninstallcheck_dir="$dc_install_base" \
        distuninstallcheck \
  && chmod -R a-w "$dc_install_base" \
  && ({ \
       (cd ../.. && umask 077 && mkdir "$dc_destdir") \
       && make  DESTDIR="$dc_destdir" install \
       && make  DESTDIR="$dc_destdir" uninstall \
       && make  DESTDIR="$dc_destdir" \
            distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \
      } || { rm -rf "$dc_destdir"; exit 1; }) \
  && rm -rf "$dc_destdir" \
  && make  dist \
  && rm -rf nogzip-zip-1.0.zip \
  && make  distcleancheck \
  && cd "$am__cwd" \
  || exit 1
/bin/bash: line 8: ../configure: Permission denied
Makefile:327: recipe for target 'distcheck' failed
make: *** [distcheck] Error 1
+ tap_result_='not ok'
+ result_ 'not ok' -D '' -r '' -- 'ac=dist-zip,no-dist-gzip [distcheck]'
+ set +x
not ok 45 - ac=dist-zip,no-dist-gzip [distcheck]
FAIL: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]


# ls -lad ./t/dist-formats.dir/nogzip-zip/{,nogzip-zip-1.0/}{,configure}
drwxr-xr-x 4 portage portage    300 Jun 11 14:50 ./t/dist-formats.dir/nogzip-zip/
-rwxr-xr-x 1 portage portage 104057 Jun 11 14:50 ./t/dist-formats.dir/nogzip-zip/configure
dr-xr-xr-x 4 portage portage    220 Jun 11 14:50 ./t/dist-formats.dir/nogzip-zip/nogzip-zip-1.0/
-r--r--r-- 1 portage portage 104057 Jun 11 14:50 ./t/dist-formats.dir/nogzip-zip/nogzip-zip-1.0/configure

Obviously the problem is in wrong permissions.
Comment 1 tka 2018-02-26 22:00:15 UTC
Same failure for automake-1.15.1-r2 and automake-1.16.
Comment 2 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-26 23:07:02 UTC
Please attach complete build.log and `emerge --info` output.

> PASS: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]
Works for me and automake-1.16.
Comment 3 tka 2018-02-27 10:32:53 UTC
Created attachment 521218 [details]
build.log (automake-1.16-r1)

(In reply to Thomas Deutschmann from comment #2)
> Please attach complete build.log and `emerge --info` output.

This is the build.log for automake-1.16-r1.
 
> > PASS: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]
> Works for me and automake-1.16.

FAIL: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]


# emerge --info '=sys-devel/automake-1.16-r1::gentoo'
Portage 2.3.24 (python 3.5.4-final-0, default/linux/amd64/17.0/no-multilib/hardened, gcc-7.3.0, glibc-2.26-r6, 4.15.6 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.15.6-x86_64-Intel-R-_Core-TM-_i7-3720QM_CPU_@_2.60GHz-with-gentoo-2.4.1
KiB Mem:    16388112 total,  12751216 free
KiB Swap:   17825788 total,  17825788 free
Timestamp of repository gentoo: Tue, 27 Feb 2018 01:30:01 +0000
Head commit of repository gentoo: 309af559ed7f4c2de32538fd1cf7df79796b9bae
sh bash 4.4_p19
ld GNU ld (Gentoo 2.30 p1) 2.30.0
app-shells/bash:          4.4_p19::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.26.1-r2::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo, 3.6.4::gentoo
dev-util/cmake:           3.10.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.34.11::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.15.1-r2::gentoo
sys-devel/binutils:       2.30::gentoo
sys-devel/gcc:            6.4.0-r1::gentoo, 7.3.0::gentoo
sys-devel/gcc-config:     1.9.1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r2::gentoo
sys-kernel/linux-headers: 4.15::gentoo (virtual/os-headers)
sys-libs/glibc:           2.26-r6::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts: 

local
    location: /var/lib/portage-local/local
    masters: gentoo
    priority: 0

testing
    location: /var/lib/portage-local/testing
    masters: gentoo
    priority: 1

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mtune=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -mtune=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs cgroup collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch preserve-libs protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS=""
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 acl acpi alsa amd64 avx bzip2 cairo caps cdda cddb cdparanoia crypt cups cxx dbus dri dts dvd fam ffmpeg fftw flac fontconfig gif gimp gmp gnutls gtk hardened iconv icu idn ipv6 jpeg lame lcms libnotify lzma mad matroska mmap mmx mmxext mp3 mpeg ncurses networkmanager nptl ogg opengl openmp pam pcre pie png policykit ppds readline sasl sdl seccomp sse sse2 sse3 sse4 sse4_1 sse4_2 ssl ssp ssse3 startup-notification svg theora threads tiff truetype udev unicode upower vaapi vorbis wayland x264 xattr xcb xinerama xml xtpax xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx f16c mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22 ruby23" USERLAND="GNU" VIDEO_CARDS="i965 intel nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

# emerge -pqv '=sys-devel/automake-1.16-r1::gentoo'
[ebuild  NS   ] sys-devel/automake-1.16-r1 [1.15.1-r2] USE="{test}" 


(In reply to Nikoli from comment #0)
> If both zip and unzip are installed (see 'have_compressor ()' from
> t/dist-formats.tap):
> FAIL: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]

I have also installed both packages:
# emerge -pqv zip unzip
[ebuild   R   ] app-arch/unzip-6.0_p21-r2  USE="bzip2 natspec unicode" 
[ebuild   R   ] app-arch/zip-3.0-r3  USE="bzip2 crypt natspec unicode"
Comment 4 tka 2018-02-27 10:40:15 UTC
Created attachment 521222 [details]
test-suite.log (automake-1.16-r1)

FAIL: t/dist-formats
====================
[...]
PASS: t/dist-formats.tap 44 - ac=dist-zip,no-dist-gzip [ark-name]
+ command_ok_if_have_compressor 'ac=dist-zip,no-dist-gzip [distcheck]' make distcheck
+ have_compressor zip
+ case " $missing_compressors " in
+ :
+ command_ok_ 'ac=dist-zip,no-dist-gzip [distcheck]' make distcheck
+ tap_directive_=
+ tap_reason_=
+ test 3 -gt 0
+ tap_description_='ac=dist-zip,no-dist-gzip [distcheck]'
+ shift
+ test 2 -gt 0
+ case $1 in
+ break
+ tap_result_=ok
+ make distcheck
make  dist-zip am__post_remove_distdir='@:'
make[1]: Entering directory '/var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip'
make  distdir-am
make[2]: Entering directory '/var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip'
if test -d "nogzip-zip-1.0"; then find "nogzip-zip-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "nogzip-zip-1.0" || { sleep 5 && rm -rf "nogzip-zip-1.0"; }; else :; fi
test -d "nogzip-zip-1.0" || mkdir "nogzip-zip-1.0"
test -n "" \
|| find "nogzip-zip-1.0" -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 /bin/sh /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "nogzip-zip-1.0"
make[2]: Leaving directory '/var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip'
rm -f nogzip-zip-1.0.zip
zip -rq nogzip-zip-1.0.zip nogzip-zip-1.0
make[1]: Leaving directory '/var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip'
if test -d "nogzip-zip-1.0"; then find "nogzip-zip-1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "nogzip-zip-1.0" || { sleep 5 && rm -rf "nogzip-zip-1.0"; }; else :; fi
case 'nogzip-zip-1.0.zip' in \
*.tar.gz*) \
  eval GZIP= gzip --best -dc nogzip-zip-1.0.tar.gz | ${TAR-tar} xf - ;;\
*.tar.bz2*) \
  bzip2 -dc nogzip-zip-1.0.tar.bz2 | ${TAR-tar} xf - ;;\
*.tar.lz*) \
  lzip -dc nogzip-zip-1.0.tar.lz | ${TAR-tar} xf - ;;\
*.tar.xz*) \
  xz -dc nogzip-zip-1.0.tar.xz | ${TAR-tar} xf - ;;\
*.tar.Z*) \
  uncompress -c nogzip-zip-1.0.tar.Z | ${TAR-tar} xf - ;;\
*.shar.gz*) \
  eval GZIP= gzip --best -dc nogzip-zip-1.0.shar.gz | unshar ;;\
*.zip*) \
  unzip nogzip-zip-1.0.zip ;;\
esac
Archive:  nogzip-zip-1.0.zip
   creating: nogzip-zip-1.0/
  inflating: nogzip-zip-1.0/missing  
  inflating: nogzip-zip-1.0/install-sh  
  inflating: nogzip-zip-1.0/Makefile.in  
  inflating: nogzip-zip-1.0/aclocal.m4  
  inflating: nogzip-zip-1.0/configure.ac  
  inflating: nogzip-zip-1.0/configure  
  inflating: nogzip-zip-1.0/Makefile.am  
chmod -R a-w nogzip-zip-1.0
chmod u+w nogzip-zip-1.0
mkdir nogzip-zip-1.0/_build nogzip-zip-1.0/_build/sub nogzip-zip-1.0/_inst
chmod a-w nogzip-zip-1.0
test -d nogzip-zip-1.0/_build || exit 0; \
dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd nogzip-zip-1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
  && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \
  && am__cwd=`pwd` \
  && CDPATH="${ZSH_VERSION+.}:" && cd nogzip-zip-1.0/_build/sub \
  && ../../configure \
     \
     \
    --srcdir=../.. --prefix="$dc_install_base" \
  && make  \
  && make  dvi \
  && make  check \
  && make  install \
  && make  installcheck \
  && make  uninstall \
  && make  distuninstallcheck_dir="$dc_install_base" \
        distuninstallcheck \
  && chmod -R a-w "$dc_install_base" \
  && ({ \
       (cd ../.. && umask 077 && mkdir "$dc_destdir") \
       && make  DESTDIR="$dc_destdir" install \
       && make  DESTDIR="$dc_destdir" uninstall \
       && make  DESTDIR="$dc_destdir" \
            distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \
      } || { rm -rf "$dc_destdir"; exit 1; }) \
  && rm -rf "$dc_destdir" \
  && make  dist \
  && rm -rf nogzip-zip-1.0.zip \
  && make  distcleancheck \
  && cd "$am__cwd" \
  || exit 1
/bin/sh: line 8: ../../configure: Permission denied
make: *** [Makefile:344: distcheck] Error 1
+ tap_result_='not ok'
+ result_ 'not ok' -D '' -r '' -- 'ac=dist-zip,no-dist-gzip [distcheck]'
+ set +x
not ok 45 - ac=dist-zip,no-dist-gzip [distcheck]
FAIL: t/dist-formats.tap 45 - ac=dist-zip,no-dist-gzip [distcheck]
Comment 5 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-27 12:15:28 UTC
When this test is failing you should end up with

> /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip/nogzip-zip-1.0.zip
file.

Now list its content/permission:

> $ unzip -Z /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip/nogzip-zip-1.0.zip
> Archive:  /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip/nogzip-zip-1.0.zip
> Zip file size: 54584 bytes, number of entries: 8
> drwxr-xr-x  3.0 unx        0 bx stor 18-Feb-27 13:02 nogzip-zip-1.0/
> -rw-r--r--  3.0 unx    27310 tx defN 18-Feb-27 13:02 nogzip-zip-1.0/aclocal.m4
> -rw-r--r--  3.0 unx      164 tx defN 18-Feb-27 13:02 nogzip-zip-1.0/Makefile.am
> -rwxr-xr-x  3.0 unx    15279 tx defN 18-Feb-27 13:02 nogzip-zip-1.0/install-sh
> -rwxr-xr-x  3.0 unx   104098 tx defN 18-Feb-27 13:02 nogzip-zip-1.0/configure
> -rw-r--r--  3.0 unx    16904 tx defN 18-Feb-27 13:02 nogzip-zip-1.0/Makefile.in
> -rwxr-xr-x  3.0 unx     6878 tx defN 18-Feb-27 13:02 nogzip-zip-1.0/missing
> -rw-r--r--  3.0 unx      109 tx defN 18-Feb-27 13:02 nogzip-zip-1.0/configure.ac
> 8 files, 170742 bytes uncompressed, 53158 bytes compressed:  68.9%
Like you can see, *my* ZIP file contains configure with executable bit set.

Now, please show us yours.

If your ZIP file also contains an executable configure file, please show us the mount option of the mount point, where the file will be extracted.
Comment 6 tka 2018-02-27 16:42:02 UTC
In my ZIP file, the configure is not marked as executable.
> $ unzip -Z /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip/nogzip-zip-1.0.zip 
> Archive:  /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/nogzip-zip/nogzip-zip-1.0.zip
> Zip file size: 54584 bytes, number of entries: 8
> drwx---     2.0 fat        0 bx stor 18-Feb-27 15:50 nogzip-zip-1.0/
> -rw----     2.0 fat     6878 tx defN 18-Feb-27 15:50 nogzip-zip-1.0/missing
> -rw----     2.0 fat    15279 tx defN 18-Feb-27 15:50 nogzip-zip-1.0/install-sh
> -rw----     2.0 fat    16904 tx defN 18-Feb-27 15:50 nogzip-zip-1.0/Makefile.in
> -rw----     2.0 fat    27310 tx defN 18-Feb-27 15:50 nogzip-zip-1.0/aclocal.m4
> -rw----     2.0 fat      109 tx defN 18-Feb-27 15:50 nogzip-zip-1.0/configure.ac
> -rw----     2.0 fat   104098 tx defN 18-Feb-27 15:50 nogzip-zip-1.0/configure
> -rw----     2.0 fat      164 tx defN 18-Feb-27 15:50 nogzip-zip-1.0/Makefile.am
> 8 files, 170742 bytes uncompressed, 53158 bytes compressed:  68.9%

The build and tests run in a tmpfs mounted as follows
> tmpfs /var/tmp/portagetmpfs		defaults,noatime,mode=1777	0 0
> tmpfs on /var/tmp/portage type tmpfs (rw,noatime)
Comment 7 tka 2018-02-27 16:43:41 UTC
The build and tests run in a tmpfs mounted as follows
> tmpfs /var/tmp/portage tmpfs defaults,noatime,mode=1777 0 0

> $ mount
> tmpfs on /var/tmp/portage type tmpfs (rw,noatime)
Comment 8 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-27 18:52:25 UTC
Please show me the output of
> tree -pug /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/defaults
Comment 9 tka 2018-02-27 21:21:04 UTC
> # tree -pug /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/defaults
> /var/tmp/portage/sys-devel/automake-1.16-r1/work/automake-1.16/t/dist-formats.dir/defaults
> ├── [-rw-r--r-- portage  portage ]  Makefile
> ├── [-rw-r--r-- portage  portage ]  Makefile.am
> ├── [-rw-r--r-- portage  portage ]  Makefile.in
> ├── [-rw-r--r-- portage  portage ]  aclocal.m4
> ├── [drwxr-xr-x portage  portage ]  autom4te.cache
> │   ├── [-rw-r--r-- portage  portage ]  output.0
> │   ├── [-rw-r--r-- portage  portage ]  requests
> │   └── [-rw-r--r-- portage  portage ]  traces.0
> ├── [-rw-r--r-- portage  portage ]  config.log
> ├── [-rwxr-xr-x portage  portage ]  config.status
> ├── [-rwxr-xr-x portage  portage ]  configure
> ├── [-rw-r--r-- portage  portage ]  configure.ac
> ├── [-rw-r--r-- portage  portage ]  defaults-1.0.zip
> ├── [-rwxr-xr-x portage  portage ]  install-sh
> └── [-rwxr-xr-x portage  portage ]  missing
> 
> 1 directory, 14 files
Comment 10 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-27 22:52:32 UTC
Interesting, please show us the output of

> $ mkdir /tmp/zip-test
> $ date > /tmp/zip-test/file.sh
> $ chmod +x /tmp/zip-test/file.sh
> $ zip -rq /tmp/zip-test.zip /tmp/zip-test/
> $ unzip -A /tmp/zip-test.zip
> $ zip -v
> $ unzip -v
Comment 11 tka 2018-02-27 23:35:44 UTC
> $ mkdir /tmp/zip-test
> $ date > /tmp/zip-test/file.sh
> $ chmod +x /tmp/zip-test/file.sh
> $ zip -rq /tmp/zip-test.zip /tmp/zip-test/
> $ unzip -A /tmp/zip-test.zip
> UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send
> bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
> 
> Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
>   Default action is to extract files in list, except those in xlist, to exdir;
>   file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).
> 
>   -p  extract files to pipe, no messages     -l  list files (short format)
>   -f  freshen existing files, create none    -t  test compressed archive data
>   -u  update files, create if necessary      -z  display archive comment only
>   -v  list verbosely/show version info       -T  timestamp archive to latest
>   -x  exclude files that follow (in xlist)   -d  extract files into exdir
> modifiers:
>   -n  never overwrite existing files         -q  quiet mode (-qq => quieter)
>   -o  overwrite files WITHOUT prompting      -a  auto-convert any text files
>   -j  junk paths (do not make directories)   -aa treat ALL files as text
>   -U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields
>   -C  match filenames case-insensitively     -L  make (some) names lowercase
>   -X  restore UID/GID info                   -V  retain VMS version numbers
>   -K  keep setuid/setgid/tacky permissions   -M  pipe through "more" pager
>   -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives
>   -I CHARSET  specify a character encoding for UNIX and other archives
> See "unzip -hh" or unzip.txt for more help.  Examples:
>   unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
>   unzip -p foo | more  => send contents of foo.zip via pipe into program more
>   unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
> $ zip -v
> Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
> This is Zip 3.0 (July 5th 2008), by Info-ZIP.
> Currently maintained by E. Gordon.  Please send bug reports to
> the authors using the web page at www.info-zip.org; see README for details.
> 
> Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
> as of above date; see http://www.info-zip.org/ for other sites.
> 
> Compiled with gcc 4.9.2 for Unix (Linux ELF) on Jan 28 2015.
> 
> Zip special compilation options:
> 	USE_EF_UT_TIME       (store Universal Time)
> 	BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
> 	    bzip2 code and library copyright (c) Julian R Seward
> 	    (See the bzip2 license for terms of use)
> 	SYMLINK_SUPPORT      (symbolic links supported)
> 	LARGE_FILE_SUPPORT   (can read and write large files on file system)
> 	ZIP64_SUPPORT        (use Zip64 to store large files in archives)
> 	UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
> 	STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
> 	UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
> 	[encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)
> 
> Encryption notice:
> 	The encryption code of this program is not copyrighted and is
> 	put in the public domain.  It was originally written in Europe
> 	and, to the best of our knowledge, can be freely distributed
> 	in both source and object forms from any country, including
> 	the USA under License Exception TSU of the U.S. Export
> 	Administration Regulations (section 740.13(e)) of 6 June 2002.
> 
> Zip environment options:
>              ZIP:  [none]
>           ZIPOPT:  [none]
> $ unzip -v
> UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send
> bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
> 
> Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
> see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
> 
> Compiled with gcc 7.2.0 for Unix (Linux ELF).
> 
> UnZip special compilation options:
>         COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)
>         SET_DIR_ATTRIB
>         SYMLINKS (symbolic links supported, if RTL and file system permit)
>         TIMESTAMP
>         UNIXBACKUP
>         USE_EF_UT_TIME
>         USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported)
>         USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)
>         UNICODE_SUPPORT [wide-chars, char coding: UTF-8] (handle UTF-8 paths)
>         LARGE_FILE_SUPPORT (large files over 2 GiB supported)
>         ZIP64_SUPPORT (archives using Zip64 for large files supported)
>         USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.6, 6-Sept-2010)
>         VMS_TEXT_CONV
>         [decryption, version 2.11 of 05 Jan 2007]
> 
> UnZip and ZipInfo environment options:
>            UNZIP:  [none]
>         UNZIPOPT:  [none]
>          ZIPINFO:  [none]
>       ZIPINFOOPT:  [none]
> $
Comment 12 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-28 00:27:11 UTC
Sorry, please re-run the commands. Last line must be "unzip -Z" because I want to know if a manually created zip file contains permissions on your system or not. So please re-run:

> $ mkdir /tmp/zip-test2
> $ date > /tmp/zip-test2/file.sh
> $ chmod +x /tmp/zip-test2/file.sh
> $ zip -rq /tmp/zip-test2.zip /tmp/zip-test2/
> $ unzip -Z /tmp/zip-test2.zip
Comment 13 tka 2018-02-28 01:19:11 UTC
> $ mkdir /tmp/zip-test2
> $ date > /tmp/zip-test2/file.sh
> $ chmod +x /tmp/zip-test2/file.sh
> $ zip -rq /tmp/zip-test2.zip /tmp/zip-test2/
> $ unzip -Z /tmp/zip-test2.zip
> Archive:  /tmp/zip-test2.zip
> Zip file size: 377 bytes, number of entries: 2
> drwx---     2.0 fat        0 bx stor 18-Feb-28 02:15 tmp/zip-test2/
> -rw----     2.0 fat       29 tx stor 18-Feb-28 02:15 tmp/zip-test2/file.sh
> 2 files, 29 bytes uncompressed, 29 bytes compressed:  0.0%
Interestingly, it doesn't. The original file however does.
> $ ls -l /tmp/zip-test2/file.sh 
> -rwxr-x--- 1 tka tka 29 Feb 28 02:15 /tmp/zip-test2/file.sh
Comment 14 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-28 22:40:53 UTC
OK, so you are having problems with app-arch/zip, not sys-devel/automake.

Please rebuild app-arch/zip on your system and attach build.log.
Comment 15 Thomas Deutschmann (RETIRED) gentoo-dev 2018-02-28 22:42:51 UTC
...of course only when the problem isn't solved after a rebuild. Note that your zip is build with GCC 4.x, unzip is build with GCC 7.x... you should make sure that all packages/deps are build with the same toolchain.
Comment 16 tka 2018-03-01 20:01:35 UTC
Created attachment 521746 [details]
build.log (zip-3.0-r3)

The executable flag is still not preserved in the ZIP file:
> $ mkdir /tmp/zip-test
> $ date > /tmp/zip-test/file.sh
> $ chmod +x /tmp/zip-test/file.sh
> $ zip -rq /tmp/zip-test.zip /tmp/zip-test/
> $ unzip -Z /tmp/zip-test.zip
> Archive:  /tmp/zip-test.zip
> Zip file size: 373 bytes, number of entries: 2
> drwx---     2.0 fat        0 bx stor 18-Mar-01 20:45 tmp/zip-test/
> -rw----     2.0 fat       29 tx stor 18-Mar-01 20:45 tmp/zip-test/file.sh
> 2 files, 29 bytes uncompressed, 29 bytes compressed:  0.0%
> $ zip -v
> Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
> This is Zip 3.0 (July 5th 2008), by Info-ZIP.
> Currently maintained by E. Gordon.  Please send bug reports to
> the authors using the web page at www.info-zip.org; see README for details.
> 
> Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
> as of above date; see http://www.info-zip.org/ for other sites.
> 
> Compiled with gcc 7.3.0 for Unix (Linux ELF) on Mar  1 2018.
> 
> Zip special compilation options:
> 	USE_EF_UT_TIME       (store Universal Time)
> 	BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
> 	    bzip2 code and library copyright (c) Julian R Seward
> 	    (See the bzip2 license for terms of use)
> 	SYMLINK_SUPPORT      (symbolic links supported)
> 	LARGE_FILE_SUPPORT   (can read and write large files on file system)
> 	ZIP64_SUPPORT        (use Zip64 to store large files in archives)
> 	UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
> 	STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
> 	UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
> 	[encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)
> 
> Encryption notice:
> 	The encryption code of this program is not copyrighted and is
> 	put in the public domain.  It was originally written in Europe
> 	and, to the best of our knowledge, can be freely distributed
> 	in both source and object forms from any country, including
> 	the USA under License Exception TSU of the U.S. Export
> 	Administration Regulations (section 740.13(e)) of 6 June 2002.
> 
> Zip environment options:
>              ZIP:  [none]
>           ZIPOPT:  [none]
> $ unzip -v
> UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send
> bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
> 
> Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
> see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
> 
> Compiled with gcc 7.3.0 for Unix (Linux ELF).
> 
> UnZip special compilation options:
>         COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)
>         SET_DIR_ATTRIB
>         SYMLINKS (symbolic links supported, if RTL and file system permit)
>         TIMESTAMP
>         UNIXBACKUP
>         USE_EF_UT_TIME
>         USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported)
>         USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)
>         UNICODE_SUPPORT [wide-chars, char coding: UTF-8] (handle UTF-8 paths)
>         LARGE_FILE_SUPPORT (large files over 2 GiB supported)
>         ZIP64_SUPPORT (archives using Zip64 for large files supported)
>         USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.6, 6-Sept-2010)
>         VMS_TEXT_CONV
>         [decryption, version 2.11 of 05 Jan 2007]
> 
> UnZip and ZipInfo environment options:
>            UNZIP:  [none]
>         UNZIPOPT:  [none]
>          ZIPINFO:  [none]
>       ZIPINFOOPT:  [none]
Comment 17 Mike Gilbert gentoo-dev 2018-03-01 20:36:08 UTC
I can reproduce this behavior by enabling the "natspec" USE flag on app-arch/zip.

This seems to cause zip to use version "2.0" and "fat" as the OS.

With natspec disabled, I see version "3.0" and "unx", and the file mode is saved.
Comment 18 Mike Gilbert gentoo-dev 2018-03-01 20:42:48 UTC
To resolve the automake test issue, I would propose adding a blocker to DEPEND:

test? ( !!app-arch/zip[natspec(-)] )
Comment 19 Thomas Deutschmann (RETIRED) gentoo-dev 2018-03-01 21:19:39 UTC
How about fixing the natspec patch? Line https://gitweb.gentoo.org/repo/gentoo.git/tree/app-arch/zip/files/zip-3.0-natspec.patch#n83 forces zip to always create archives for Windows. I would suggest to only create archives for Windows when requested per command line.
Comment 20 Mike Gilbert gentoo-dev 2018-03-01 21:39:17 UTC
(In reply to Thomas Deutschmann from comment #19)

Sounds like a good idea, but I'm not sure why the patch forces that value, or what may break if we mess with it.