develooper Front page | perl.perl5.porters | Postings from August 2019

[perl #134389] Wrong Perl's chmod behavior

Thread Previous | Thread Next
From:
Vlado -
Date:
August 31, 2019 18:16
Subject:
[perl #134389] Wrong Perl's chmod behavior
Message ID:
rt-4.0.24-27345-1567162628-438.134389-75-0@perl.org
# New Ticket Created by  Vlado - 
# Please include the string:  [perl #134389]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=134389 >


This is a bug report for perl from v.99cygwin@gmail.com,
generated with the help of perlbug 1.41 running under perl 5.28.1.


-----------------------------------------------------------------
[Please describe your issue here]

Perl's chmod command sets wrong permissions. There is a workaroud with
system's chmod (perl qx(chmod...)).

vlado@allex:~$ rm -f file{1,2} ; perl -e 'sub t{open 
$fh,">>",$_[0];close $fh} t("file1"); t("file2");' ; ls -l file{1,2}
-rw-r--r-- 1 vlado vlado 0 Aug 30 12:34 file1
-rw-r--r-- 1 vlado vlado 0 Aug 30 12:34 file2
vlado@allex:~$ perl -e 'chmod 666,"file1"; qx(chmod 666 file2)'; ls -l 
file{1,2}
--w--wx-wT 1 vlado vlado 0 Aug 30 12:34 file1
-rw-rw-rw- 1 vlado vlado 0 Aug 30 12:34 file2

vlado@allex:~$ getfacl . file{1,2}
# file: .
# owner: vlado
# group: vlado
user::rwx
group::r-x
other::r-x

# file: file1
# owner: vlado
# group: vlado
# flags: --t
user::-w-
group::-wx
other::-w-

# file: file2
# owner: vlado
# group: vlado
user::rw-
group::rw-
other::rw-

vlado@allex:~$ umask
0022

Same wrong permissions sets previous version of Perl, perl 5, version 
24, subversion 1 (v5.24.1) built for i686-linux-gnu-thread-multi-64int 
on Debian 9, or perl 5, version 26, subversion 3 (v5.26.3) built for 
x86_64-cygwin-threads-multi on Cygwin x64 on Windows 7 Pro SP1.

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
     category=core
     severity=medium
---
Site configuration information for perl 5.28.1:

Configured by Debian at Sun Mar 31 11:51:22 UTC 2019.

Summary of my perl5 (revision 5 version 28 subversion 1) configuration:

   Platform:
     osname=linux
     osvers=4.9.0
     archname=x86_64-linux-gnu-thread-multi
     uname='linux localhost 4.9.0 #1 smp debian 4.9.0 x86_64 gnulinux '
     config_args='-Dusethreads -Duselargefiles -Dcc=x86_64-linux-gnu-gcc 
-Dcpp=x86_64-linux-gnu-cpp -Dld=x86_64-linux-gnu-gcc -Dccflags=-DDEBIAN 
-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
-fdebug-prefix-map=/build/perl-5WfRyb/perl-5.28.1=. 
-fstack-protector-strong -Wformat -Werror=format-security -Dldflags= 
-Wl,-z,relro -Dlddlflags=-shared -Wl,-z,relro -Dcccdlflags=-fPIC 
-Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.28 
-Darchlib=/usr/lib/x86_64-linux-gnu/perl/5.28 -Dvendorprefix=/usr 
-Dvendorlib=/usr/share/perl5 
-Dvendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.28 
-Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.28.1 
-Dsitearch=/usr/local/lib/x86_64-linux-gnu/perl/5.28.1 
-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 
-Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 
-Duse64bitint -Dman1ext=1 -Dman3ext=3perl
-Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio 
-Uusenm -Ui_libutil -Ui_xlocale -Uversiononly -DDEBUGGING=-g 
-Doptimize=-O2 -dEs -Duseshrplib -Dlibperl=libperl.so.5.28.1'
     hint=recommended
     useposix=true
     d_sigaction=define
     useithreads=define
     usemultiplicity=define
     use64bitint=define
     use64bitall=define
     uselongdouble=undef
     usemymalloc=n
     default_inc_excludes_dot=define
     bincompat5005=undef
   Compiler:
     cc='x86_64-linux-gnu-gcc'
     ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv 
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64'
     optimize='-O2 -g'
     cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv 
-fno-strict-aliasing -pipe -I/usr/local/include'
     ccversion=''
     gccversion='8.3.0'
     gccosandvers=''
     intsize=4
     longsize=8
     ptrsize=8
     doublesize=8
     byteorder=12345678
     doublekind=3
     d_longlong=define
     longlongsize=8
     d_longdbl=define
     longdblsize=16
     longdblkind=3
     ivtype='long'
     ivsize=8
     nvtype='double'
     nvsize=8
     Off_t='off_t'
     lseeksize=8
     alignbytes=8
     prototype=define
   Linker and Libraries:
     ld='x86_64-linux-gnu-gcc'
     ldflags =' -fstack-protector-strong -L/usr/local/lib'
     libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed 
/usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib 
/usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
     libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
     perllibs=-ldl -lm -lpthread -lc -lcrypt
     libc=libc-2.28.so
     so=so
     useshrplib=true
     libperl=libperl.so.5.28
     gnulibc_version='2.28'
   Dynamic Linking:
     dlsrc=dl_dlopen.xs
     dlext=so
     d_dlsymun=undef
     ccdlflags='-Wl,-E'
     cccdlflags='-fPIC'
     lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'

Locally applied patches:
     DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS 
default for modules installed from CPAN.
     DEBPKG:debian/db_file_ver - https://bugs.debian.org/340047 Remove 
overly restrictive DB_File version check.
     DEBPKG:debian/doc_info - Replace generic man(1) instructions with 
Debian-specific information.
     DEBPKG:debian/enc2xs_inc - https://bugs.debian.org/290336 Tweak 
enc2xs to follow symlinks and ignore missing @INC directories.
     DEBPKG:debian/errno_ver - https://bugs.debian.org/343351 Remove 
Errno version check due to upgrade problems with long-running processes.
     DEBPKG:debian/libperl_embed_doc - https://bugs.debian.org/186778 
Note that libperl-dev package is required for embedded linking
     DEBPKG:fixes/respect_umask - Respect umask during installation
     DEBPKG:debian/writable_site_dirs - Set umask approproately for site 
install directories
     DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of 
libperl.a under /usr/lib
     DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or 
perllocal.pod for perl or vendor
     DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the 
binary targets.
     DEBPKG:debian/instmodsh_doc - Debian policy doesn't install 
.packlist files for core or vendor.
     DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH 
as per Debian policy.
     DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to 
/etc/perl/Net as /usr may not be writable.
     DEBPKG:debian/perlivp - https://bugs.debian.org/510895 Make perlivp 
skip include directories in /usr/local
     DEBPKG:debian/squelch-locale-warnings - 
https://bugs.debian.org/508764 Squelch locale warnings in Debian package 
maintainer scripts
     DEBPKG:debian/patchlevel - https://bugs.debian.org/567489 List 
packaged patches for 5.28.1-6 in patchlevel.h
     DEBPKG:fixes/document_makemaker_ccflags - 
https://bugs.debian.org/628522 [rt.cpan.org #68613] Document that 
CCFLAGS should include $Config{ccflags}
     DEBPKG:debian/find_html2text - https://bugs.debian.org/640479 
Configure CPAN::Distribution with correct name of html2text
     DEBPKG:debian/perl5db-x-terminal-emulator.patch - 
https://bugs.debian.org/668490 Invoke x-terminal-emulator rather than 
xterm in perl5db.pl
     DEBPKG:debian/cpan-missing-site-dirs - 
https://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with 
nonexisting site dirs if a parent is writable
     DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] 
https://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' 
option not respected
     DEBPKG:debian/makemaker-pasthru - https://bugs.debian.org/758471 
Pass LD settings through to subdirectories
     DEBPKG:debian/makemaker-manext - https://bugs.debian.org/247370 
Make EU::MakeMaker honour MANnEXT settings in generated manpage headers
     DEBPKG:debian/kfreebsd-softupdates - https://bugs.debian.org/796798 
Work around Debian Bug#796798
     DEBPKG:fixes/autodie-scope - https://bugs.debian.org/798096 Fix a 
scoping issue with "no autodie" and the "system" sub
     DEBPKG:fixes/memoize-pod - [rt.cpan.org #89441] Fix POD errors in 
Memoize
     DEBPKG:debian/hurd-softupdates - https://bugs.debian.org/822735 Fix 
t/op/stat.t failures on hurd
     DEBPKG:fixes/math_complex_doc_great_circle - 
https://bugs.debian.org/697567 [rt.cpan.org #114104] Math::Trig: clarify 
definition of great_circle_midpoint
     DEBPKG:fixes/math_complex_doc_see_also - 
https://bugs.debian.org/697568 [rt.cpan.org #114105] Math::Trig: add 
missing SEE ALSO
     DEBPKG:fixes/math_complex_doc_angle_units - 
https://bugs.debian.org/731505 [rt.cpan.org #114106] Math::Trig: 
document angle units
     DEBPKG:fixes/cpan_web_link - https://bugs.debian.org/367291 CPAN: 
Add link to main CPAN web site
     DEBPKG:debian/hppa_op_optimize_workaround - 
https://bugs.debian.org/838613 Temporarily lower the optimization of 
op.c on hppa due to gcc-6 problems
     DEBPKG:debian/installman-utf8 - https://bugs.debian.org/840211 
Generate man pages with UTF-8 characters
     DEBPKG:fixes/getopt-long-4 - https://bugs.debian.org/864544 
[rt.cpan.org #122068] Fix issue #122068.
     DEBPKG:debian/hppa_opmini_optimize_workaround - 
https://bugs.debian.org/869122 Lower the optimization level of opmini.c 
on hppa
     DEBPKG:debian/sh4_op_optimize_workaround - 
https://bugs.debian.org/869373 Also lower the optimization level of op.c 
and opmini.c on sh4
     DEBPKG:debian/perldoc-pager - https://bugs.debian.org/870340 
[rt.cpan.org #120229] Fix perldoc terminal escapes when sensible-pager 
is less
     DEBPKG:debian/prune_libs - https://bugs.debian.org/128355 Prune the 
list of libraries wanted to what we actually need.
     DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
     DEBPKG:debian/configure-regen - https://bugs.debian.org/762638 
Regenerate Configure et al. after probe unit changes
     DEBPKG:debian/deprecate-with-apt - https://bugs.debian.org/747628 
Point users to Debian packages of deprecated core modules
     DEBPKG:debian/disable-stack-check - https://bugs.debian.org/902779 
[perl #133327] Disable debugperl stack extension checks for binary 
compatibility with perl
     DEBPKG:debian/gdbm-fatal - [perl #133295] 
https://bugs.debian.org/904005 Temporarily skip GDBM_File fatal.t for 
gdbm >= 1.15 compatibility
     DEBPKG:fixes/storable-recursion - https://bugs.debian.org/912900 
[perl #133326] [120060c] (perl #133326) fix and clarify handling of 
recurs_sv.
     DEBPKG:fixes/caretx-fallback - https://bugs.debian.org/913347 [perl 
#133573] [03b94aa] RT#133573: $^X fallback when platform-specific 
technique fails
     DEBPKG:fixes/eumm-usrmerge - https://bugs.debian.org/913637 Avoid 
mangling /bin non-perl shebangs on merged-/usr systems
     DEBPKG:fixes/errno-include-path - [6c5080f] [perl #133662] 
https://bugs.debian.org/875921 Make Errno_pm.PL compatible with 
/usr/include/<ARCH>/errno.h
     DEBPKG:fixes/kfreebsd-renameat - [a3c63a9] 
https://bugs.debian.org/912521 [perl #133668] Also work around 
renameat() kernel bug on GNU/kFreeBSD
     DEBPKG:fixes/time-local-2020 - https://bugs.debian.org/915209 
[rt.cpan.org #124787] Fix Time::Local tests
     DEBPKG:fixes/inplace-editing-bugfix/part1 - 
https://bugs.debian.org/914651 (perl #133659) move argvout cleanup to a 
new function
     DEBPKG:fixes/inplace-editing-bugfix/part2 - 
https://bugs.debian.org/914651 (perl #133659) tests for global 
destruction handling of inplace editing
     DEBPKG:fixes/inplace-editing-bugfix/part3 - 
https://bugs.debian.org/914651 (perl #133659) make an in-place edit 
successful if the exit status is zero
     DEBPKG:fixes/fix-manifest-failures - https://bugs.debian.org/914962 
Fix t/porting/manifest.t failures when run in a foreign git checkout
     DEBPKG:fixes/pipe-open-bugfix/part1 - [perl #133726] 
https://bugs.debian.org/916313 Always mark pipe in pipe-open as 
inherit-on-exec
     DEBPKG:fixes/pipe-open-bugfix/part2 - [perl #133726] 
https://bugs.debian.org/916313 Always mark pipe in list pipe-open as 
inherit-on-exec
     DEBPKG:fixes/storable-probing/prereq1 - [3f4cad1] Storable: fix for 
strawberry build failures:
     DEBPKG:fixes/storable-probing/prereq2 - [perl #133411] [edf639f] 
(perl #133411) don't try to load Storable with -Dusecrosscompile
     DEBPKG:fixes/storable-probing/disable-probing - 
https://bugs.debian.org/914133 [perl #133708] [2a0bbd3] (perl #133708) 
remove build-time probing for stack limits for Storable
     DEBPKG:debian/perlbug-editor - https://bugs.debian.org/922609 Use 
"editor" as the default perlbug editor, as per Debian policy
     DEBPKG:fixes/posix-mbrlen - [25d7b7a] 
https://bugs.debian.org/924517 [perl #133928] Fix POSIX::mblen mbstate_t 
initialization on threaded perls with glibc

---
@INC for perl 5.28.1:
     /etc/perl
     /usr/local/lib/x86_64-linux-gnu/perl/5.28.1
     /usr/local/share/perl/5.28.1
     /usr/lib/x86_64-linux-gnu/perl5/5.28
     /usr/share/perl5
     /usr/lib/x86_64-linux-gnu/perl/5.28
     /usr/share/perl/5.28
     /usr/local/lib/site_perl
     /usr/lib/x86_64-linux-gnu/perl-base

---
Environment for perl 5.28.1:
     HOME=/home/vlado
     LANG=en_US.UTF-8
     LANGUAGE=en_US:en
     LD_LIBRARY_PATH (unset)
     LOGDIR (unset)
     PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
     PERL_BADLANG (unset)
     SHELL=/bin/bash


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About