GNU bug report logs - #14024
Test failure in coreutils 8.13

Previous Next

Package: coreutils;

Reported by: "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>

Date: Fri, 22 Mar 2013 00:37:05 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 14024 in the body.
You can then email your comments to 14024 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Fri, 22 Mar 2013 00:37:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>:
New bug report received and forwarded. Copy sent to bug-coreutils <at> gnu.org. (Fri, 22 Mar 2013 00:37:06 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>
To: bug-coreutils <at> gnu.org
Subject: Test failure in coreutils 8.13
Date: Thu, 21 Mar 2013 16:55:14 +0000
	Test failure in coreutils 8.13

To: <bug-coreutils <at> gnu.org>

1 Background

	The release used was NOT the latest, so it is quite likely that these  
matters
have been previously addressed.  On the other hand, it is possible that
installation has not been attempted for this actual Unix version.

Running Mac OS X:

  System Version:	Mac OS X 10.5.8 (9L30)
  Kernel Version:	Darwin 9.8.0
  >uname -mpv
  Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009;  
root:xnu-1228.15.4~1/RELEASE_I386 i386 i386

	The reason for installing 8.13 was that version 8.21 from the ftp area
(ftp://ftp.gnu.org/gnu/coreutils/) was an xz version and there seemed  
to be
no support for that format on this machine.  The latest gz was 8.13 from
Sep 2011, so also downloaded version 8.13, and proceeded to install  
this.

	This problem was formerly included in bug#13912, but has now been
split off from other topics covered there.


2 An error reported by make check.

	Tried `make check'.  Ran to completion, recording one failure

  FAIL: install/install-C

There was also a log in tests/test-suite.log, but it seemed to be  
removed later
by make clean.

	The `make installcheck' has not been done.  If it is of help to you,
then this can be done, or partially done, to identify the exact failure.


3 Test failure reported in README

	There is a test failure in 'make check' reported in README concerning
Mac OS X 10.5.1 (Darwin 9.1).  This concerns ACL support, and suggests  
using
--disable-acl.

	This machine has Mac OS X 10.5.8 (Darwin 9.8.0).  The 'make check' was
performed without having done --disable-acl, but the "numerous  
failures" stated
did not arise, although there was one error (see previous section).   
The tests
were done as a normal user (not root), but having the privilege to use  
sudo (not
used at this point).  It is not clear whether or not the FAIL above  
was one of those
with Darwin 9.1.

	The different effect for this Mac version might or might not be of
relevance to Gnu developers!


4 Conclusion

	The config.log file is available (5.3MB), plus config.status (96kB).   
There
is also a file from redirecting standard output during the run of  
configure (60kB).

	If extra information about the matters reported above would be of
value please contact:

	ExtraLeveLInSoftware <at> ntlworld.com

Ellis N. Thomas/21-Mar-2013






Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Fri, 22 Mar 2013 12:48:03 GMT) Full text and rfc822 format available.

Message #8 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Fri, 22 Mar 2013 12:45:56 +0000
On 03/21/2013 04:55 PM, Ellis N. Thomas wrote:
>     Test failure in coreutils 8.13
> 
> To: <bug-coreutils <at> gnu.org>
> 
> 1 Background
> 
>     The release used was NOT the latest, so it is quite likely that these matters
> have been previously addressed.  On the other hand, it is possible that
> installation has not been attempted for this actual Unix version.
> 
> Running Mac OS X:
> 
>   System Version:    Mac OS X 10.5.8 (9L30)
>   Kernel Version:    Darwin 9.8.0
>   >uname -mpv
>   Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 i386
> 
>     The reason for installing 8.13 was that version 8.21 from the ftp area
> (ftp://ftp.gnu.org/gnu/coreutils/) was an xz version and there seemed to be
> no support for that format on this machine.  The latest gz was 8.13 from
> Sep 2011, so also downloaded version 8.13, and proceeded to install this.

Testing and Max OS X is appreciated.
It would be better to start with the latest.

A quick google suggests that xz should be easy to get for MacOSX,
in any case for convenience I've made it available at:
http://www.pixelbeat.org/cu/coreutils-8.21.tar.gz

which was generated using:

rel=8.21
wget -O- http://ftp.gnu.org/gnu/coreutils/coreutils-$rel.tar.xz |
xz -dc | gzip -9 > coreutils-$rel.tar.gz
gpg --sign -ab -o coreutils-$rel.tar.gz.sig coreutils-$rel.tar.gz

thanks,
Pádraig.




Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Wed, 27 Mar 2013 11:51:01 GMT) Full text and rfc822 format available.

Message #11 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Wed, 27 Mar 2013 11:47:30 +0000
Pádraig,

	Thanks for your response and provision of 8.21.

	I have  rebuilt coreutils just to see if the test bug
is still present.  Unfortunately, this shows two more!

	I am reporting them as part of 14024, but can split
as three bugs if you wish.

	Latest information appended below

	Thanks,
		Ellis


On 22 Mar 2013, at 12:45, Pádraig Brady wrote:

> Testing and Max OS X is appreciated.
> It would be better to start with the latest.
>
> A quick google suggests that xz should be easy to get for MacOSX,
> in any case for convenience I've made it available at:
> http://www.pixelbeat.org/cu/coreutils-8.21.tar.gz
>


*******************************************************************************

        Update on installation of coreutils 8.21

To: <bug-coreutils <at> gnu.org>

1. Introduction

	The bug number 14024 was first reported for coreutils 8.13.

	Following the response on 22 March 2013 from Pádraig Brady,  
installation
was tried for 8.21.

	The reported test failures included the one seen before, plus two more.
The results are reported, as it is possible that installation has not  
been
previously attempted for this actual Unix version.

	Running Mac OS X:

 System Version:	Mac OS X 10.5.8 (9L30)
 Kernel Version:	Darwin 9.8.0
 >uname -mpv
 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009;  
root:xnu-1228.15.4~1/RELEASE_I386 i386 i386


2. Installation

	As a result of problems previously encountered when installing 8.13
(see also bug 14025), GMP was explicitly omitted for 8.21.

./configure --without-gmp &> config1.log

make &> make1.log

	Seems OK.  Proceeded with make check.


3. Errors reported by make check.

make check &> makechk1.log

	Exit status 2. Last few lines of makechk1.log:
======================================
3 of 391 tests failed
(147 tests were not run)
See ./tests/test-suite.log
Please report to bug-coreutils <at> gnu.org
======================================
make[4]: *** [tests/test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2

	The `make installcheck' has not been done.  If it is of help to you,
then this can be done, or partially done, to identify the exact failure.

	Results of grep FAIL /Gnu/coreutils/coreutils-8.21/makechk1.log
FAIL: tests/cp/nfs-removal-race.sh
FAIL: tests/install/install-C.sh
FAIL: tests/ls/getxattr-speedup.sh
FAIL: tests/cp/nfs-removal-race.sh (exit: 99)
FAIL: tests/install/install-C.sh (exit: 1)
FAIL: tests/ls/getxattr-speedup.sh (exit: 99)

	Results of grep FAIL: tests/test-suite.log
FAIL: tests/cp/nfs-removal-race.sh (exit: 99)
FAIL: tests/install/install-C.sh (exit: 1)
FAIL: tests/ls/getxattr-speedup.sh (exit: 99)

	The README says to "include the output of running 'make check'
in verbose mode for each failing test."

	Ran make check TESTS=tests/$xxx VERBOSE=yes SUBDIRS=. >> faillog 2>&1
for xxx as each of the 3 FAILs.  The file faillog is appended to this  
message.


5. Test failure reported in README

	There is a test failure in 'make check' reported in README concerning
Mac OS X 10.5.1 (Darwin 9.1).  This concerns ACL support, and suggests  
using
--disable-acl.

	This machine has Mac OS X 10.5.8 (Darwin 9.8.0).  The 'make check' was
performed without having done --disable-acl, but the "numerous  
failures" stated
did not arise, although there were three errors (see previous  
section).  (In
8.13 there was one error.)  The tests were done as a normal user (not  
root), but
having the privilege to use sudo (not used at this point).

	The different effect for this Mac version might or might not be of
relevance to Gnu developers!


6. Summary

	This report updates the experience with coreutils, 8.13.  The following
points were observed - more details above.

  - Three errors reported by make check.

  - No test failure as reported in README for Mac OS X 10.5.1 (Darwin  
9.1).

	If extra information about the matters reported above would be of value
please contact:
	ExtraLeveLInSoftware <at> ntlworld.com

Ellis N. Thomas/27-Mar-2013

*******************************************************************************
*** /Gnu/coreutils/coreutils-8.21/faillog
*******************************************************************************

  GEN    public-submodule-commit
make  check-recursive
Making check in .
make  check-TESTS check-local
nfs-removal-race.sh: set-up failure: failed to compile with -shared - 
fPIC
FAIL: tests/cp/nfs-removal-race.sh
================================================
   GNU coreutils 8.21: ./tests/test-suite.log
================================================

1 of 1 test failed.

.. contents:: :depth: 2


FAIL: tests/cp/nfs-removal-race.sh (exit: 99)
=============================================

++ initial_cwd_=/Gnu/coreutils/coreutils-8.21
++ fail=0
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /Gnu/coreutils/coreutils-8.21 gt-nfs-removal-race.sh.XXXX
+++ case $# in
+++ destdir_=/Gnu/coreutils/coreutils-8.21
+++ template_=gt-nfs-removal-race.sh.XXXX
+++ MAX_TRIES_=4
+++ case $destdir_ in
+++ case $template_ in
++++ unset TMPDIR
+++ d=/Gnu/coreutils/coreutils-8.21/gt-nfs-removal-race.sh.PIG6
+++ case $d in
+++ test -d /Gnu/coreutils/coreutils-8.21/gt-nfs-removal-race.sh.PIG6
++++ ls -dgo /Gnu/coreutils/coreutils-8.21/gt-nfs-removal-race.sh.PIG6
++++ tr S -
+++ perms='drwx------ 2 68 Mar 27 10:40 /Gnu/coreutils/coreutils-8.21/ 
gt-nfs-removal-race.sh.PIG6'
+++ case $perms in
+++ test 0 = 0
+++ echo /Gnu/coreutils/coreutils-8.21/gt-nfs-removal-race.sh.PIG6
+++ return
++ test_dir_=/Gnu/coreutils/coreutils-8.21/gt-nfs-removal-race.sh.PIG6
++ cd /Gnu/coreutils/coreutils-8.21/gt-nfs-removal-race.sh.PIG6
++ gl_init_sh_nl_='
'
++ IFS=' 	
'
++ for sig_ in 1 2 3 13 15
+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
++ for sig_ in 1 2 3 13 15
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
++ for sig_ in 1 2 3 13 15
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
++ for sig_ in 1 2 3 13 15
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
++ for sig_ in 1 2 3 13 15
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ trap remove_tmp_ 0
+ path_prepend_ ./src
+ test 1 '!=' 0
+ path_dir_=./src
+ case $path_dir_ in
+ abs_path_dir_=/Gnu/coreutils/coreutils-8.21/./src
+ case $abs_path_dir_ in
+ PATH=/Gnu/coreutils/coreutils-8.21/./src:/Gnu/coreutils/ 
coreutils-8.21/src:.:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/ 
X11/bin:/usr/X11/bin
+ create_exe_shims_ /Gnu/coreutils/coreutils-8.21/./src
+ case $EXEEXT in
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ print_ver_ cp
+ test yes = yes
+ local i
+ for i in '$*'
+ env cp --version
cp (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html 
>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Torbj"orn Granlund, David MacKenzie, and Jim Meyering.
+ cat
+ gcc -std=gnu99 -shared -fPIC -O2 k.c -o k.so -ldl
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
+ framework_failure_ 'failed to compile with -shared -fPIC'
+ warn_ 'nfs-removal-race.sh: set-up failure: failed to compile with - 
shared -fPIC'
+ case $IFS in
+ printf '%s\n' 'nfs-removal-race.sh: set-up failure: failed to  
compile with -shared -fPIC'
nfs-removal-race.sh: set-up failure: failed to compile with -shared - 
fPIC
+ test 9 = 2
+ printf '%s\n' 'nfs-removal-race.sh: set-up failure: failed to  
compile with -shared -fPIC'
+ sed 1q
+ Exit 99
+ set +e
+ exit 99
+ exit 99
+ remove_tmp_
+ __st=99
+ cleanup_
+ :
+ cd /Gnu/coreutils/coreutils-8.21
+ chmod -R u+rwx /Gnu/coreutils/coreutils-8.21/gt-nfs-removal- 
race.sh.PIG6
+ rm -rf /Gnu/coreutils/coreutils-8.21/gt-nfs-removal-race.sh.PIG6
+ exit 99
======================================
1 of 1 test failed
See ./tests/test-suite.log
Please report to bug-coreutils <at> gnu.org
======================================
make[4]: *** [tests/test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
  GEN    public-submodule-commit
make  check-recursive
Making check in .
make  check-TESTS check-local
FAIL: tests/install/install-C.sh
================================================
   GNU coreutils 8.21: ./tests/test-suite.log
================================================

1 of 1 test failed.

.. contents:: :depth: 2


FAIL: tests/install/install-C.sh (exit: 1)
==========================================

++ initial_cwd_=/Gnu/coreutils/coreutils-8.21
++ fail=0
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /Gnu/coreutils/coreutils-8.21 gt-install-C.sh.XXXX
+++ case $# in
+++ destdir_=/Gnu/coreutils/coreutils-8.21
+++ template_=gt-install-C.sh.XXXX
+++ MAX_TRIES_=4
+++ case $destdir_ in
+++ case $template_ in
++++ unset TMPDIR
+++ d=/Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
+++ case $d in
+++ test -d /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
++++ ls -dgo /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
++++ tr S -
+++ perms='drwx------ 2 68 Mar 27 10:44 /Gnu/coreutils/coreutils-8.21/ 
gt-install-C.sh.45M1'
+++ case $perms in
+++ test 0 = 0
+++ echo /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
+++ return
++ test_dir_=/Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
++ cd /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
++ gl_init_sh_nl_='
'
++ IFS=' 	
'
++ for sig_ in 1 2 3 13 15
+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
++ for sig_ in 1 2 3 13 15
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
++ for sig_ in 1 2 3 13 15
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
++ for sig_ in 1 2 3 13 15
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
++ for sig_ in 1 2 3 13 15
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ trap remove_tmp_ 0
+ path_prepend_ ./src
+ test 1 '!=' 0
+ path_dir_=./src
+ case $path_dir_ in
+ abs_path_dir_=/Gnu/coreutils/coreutils-8.21/./src
+ case $abs_path_dir_ in
+ PATH=/Gnu/coreutils/coreutils-8.21/./src:/Gnu/coreutils/ 
coreutils-8.21/src:.:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/ 
X11/bin:/usr/X11/bin
+ create_exe_shims_ /Gnu/coreutils/coreutils-8.21/./src
+ case $EXEEXT in
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ print_ver_ ginstall
+ test yes = yes
+ local i
+ for i in '$*'
+ env ginstall --version
install (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html 
>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
+ skip_if_setgid_
+ setgid_tmpdir=setgid-84207
+ umask 77
+ mkdir setgid-84207
++ stat --printf %A setgid-84207
+ perms=drwx------
+ rmdir setgid-84207
+ case $perms in
+ mode1=0644
+ mode2=0755
+ mode3=2755
+ echo test
+ echo ''\''a'\'' -> '\''b'\'''
+ echo 'removed '\''b'\''
'\''a'\'' -> '\''b'\'''
+ :
+ ginstall -Cv -m0644 a b
+ compare out out_installed_first
+ compare_dev_null_ out out_installed_first
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_first = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_first
+ diff -u out out_installed_first
+ ginstall -Cv -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-03-27 10:44:28.000000000 +0000
+++ out_empty	2013-03-27 10:44:28.000000000 +0000
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -v --compare -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-03-27 10:44:28.000000000 +0000
+++ out_empty	2013-03-27 10:44:28.000000000 +0000
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -v -m0644 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m2755 a b
ginstall: the --compare (-C) option is ignored when you specify a mode  
with non-permission bits
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m2755 a b
ginstall: the --compare (-C) option is ignored when you specify a mode  
with non-permission bits
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ln -s a c
+ ln -s b d
+ ginstall -Cv -m0644 c d
+ echo 'removed '\''d'\''
'\''c'\'' -> '\''d'\'''
+ compare out out_installed_second_cd
+ compare_dev_null_ out out_installed_second_cd
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second_cd = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second_cd
+ diff -u out out_installed_second_cd
+ echo test1
+ ginstall -Cv -m0644 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-03-27 10:44:28.000000000 +0000
+++ out_empty	2013-03-27 10:44:28.000000000 +0000
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ echo test2
+ ginstall -Cv -m0644 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-03-27 10:44:28.000000000 +0000
+++ out_empty	2013-03-27 10:44:28.000000000 +0000
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -Cv -m0755 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m0755 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-03-27 10:44:28.000000000 +0000
+++ out_empty	2013-03-27 10:44:28.000000000 +0000
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -C --preserve-timestamps a b
ginstall: options --compare (-C) and --preserve-timestamps are  
mutually exclusive
Try 'ginstall --help' for more information.
+ ginstall -C --strip --strip-program=echo a b
ginstall: options --compare (-C) and --strip are mutually exclusive
Try 'ginstall --help' for more information.
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ cd /Gnu/coreutils/coreutils-8.21
+ chmod -R u+rwx /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
+ rm -rf /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.45M1
+ exit 1
======================================
1 of 1 test failed
See ./tests/test-suite.log
Please report to bug-coreutils <at> gnu.org
======================================
make[4]: *** [tests/test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
  GEN    public-submodule-commit
make  check-recursive
Making check in .
make  check-TESTS check-local
getxattr-speedup.sh: set-up failure: failed to compile with -shared - 
fPIC
FAIL: tests/ls/getxattr-speedup.sh
================================================
   GNU coreutils 8.21: ./tests/test-suite.log
================================================

1 of 1 test failed.

.. contents:: :depth: 2


FAIL: tests/ls/getxattr-speedup.sh (exit: 99)
=============================================

++ initial_cwd_=/Gnu/coreutils/coreutils-8.21
++ fail=0
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /Gnu/coreutils/coreutils-8.21 gt-getxattr-speedup.sh.XXXX
+++ case $# in
+++ destdir_=/Gnu/coreutils/coreutils-8.21
+++ template_=gt-getxattr-speedup.sh.XXXX
+++ MAX_TRIES_=4
+++ case $destdir_ in
+++ case $template_ in
++++ unset TMPDIR
+++ d=/Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh.5fdT
+++ case $d in
+++ test -d /Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh.5fdT
++++ ls -dgo /Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh.5fdT
++++ tr S -
+++ perms='drwx------ 2 68 Mar 27 10:46 /Gnu/coreutils/coreutils-8.21/ 
gt-getxattr-speedup.sh.5fdT'
+++ case $perms in
+++ test 0 = 0
+++ echo /Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh.5fdT
+++ return
++ test_dir_=/Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh.5fdT
++ cd /Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh.5fdT
++ gl_init_sh_nl_='
'
++ IFS=' 	
'
++ for sig_ in 1 2 3 13 15
+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
++ for sig_ in 1 2 3 13 15
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
++ for sig_ in 1 2 3 13 15
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
++ for sig_ in 1 2 3 13 15
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
++ for sig_ in 1 2 3 13 15
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ trap remove_tmp_ 0
+ path_prepend_ ./src
+ test 1 '!=' 0
+ path_dir_=./src
+ case $path_dir_ in
+ abs_path_dir_=/Gnu/coreutils/coreutils-8.21/./src
+ case $abs_path_dir_ in
+ PATH=/Gnu/coreutils/coreutils-8.21/./src:/Gnu/coreutils/ 
coreutils-8.21/src:.:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/ 
X11/bin:/usr/X11/bin
+ create_exe_shims_ /Gnu/coreutils/coreutils-8.21/./src
+ case $EXEEXT in
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ print_ver_ ls
+ test yes = yes
+ local i
+ for i in '$*'
+ env ls --version
ls (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html 
>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard M. Stallman and David MacKenzie.
+ cat
+ gcc -std=gnu99 -shared -fPIC -O2 k.c -o k.so
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
+ framework_failure_ 'failed to compile with -shared -fPIC'
+ warn_ 'getxattr-speedup.sh: set-up failure: failed to compile with - 
shared -fPIC'
+ case $IFS in
+ printf '%s\n' 'getxattr-speedup.sh: set-up failure: failed to  
compile with -shared -fPIC'
getxattr-speedup.sh: set-up failure: failed to compile with -shared - 
fPIC
+ test 9 = 2
+ printf '%s\n' 'getxattr-speedup.sh: set-up failure: failed to  
compile with -shared -fPIC'
+ sed 1q
+ Exit 99
+ set +e
+ exit 99
+ exit 99
+ remove_tmp_
+ __st=99
+ cleanup_
+ :
+ cd /Gnu/coreutils/coreutils-8.21
+ chmod -R u+rwx /Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh. 
5fdT
+ rm -rf /Gnu/coreutils/coreutils-8.21/gt-getxattr-speedup.sh.5fdT
+ exit 99
======================================
1 of 1 test failed
See ./tests/test-suite.log
Please report to bug-coreutils <at> gnu.org
======================================
make[4]: *** [tests/test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2






Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Wed, 27 Mar 2013 13:16:01 GMT) Full text and rfc822 format available.

Message #14 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Wed, 27 Mar 2013 13:13:02 +0000
[Message part 1 (text/plain, inline)]
On 03/27/2013 11:47 AM, Ellis N. Thomas wrote:
> Pádraig,
> 
>     Thanks for your response and provision of 8.21.
> 
>     I have  rebuilt coreutils just to see if the test bug
> is still present.  Unfortunately, this shows two more!

>     Results of grep FAIL: tests/test-suite.log
> FAIL: tests/cp/nfs-removal-race.sh (exit: 99)
> FAIL: tests/ls/getxattr-speedup.sh (exit: 99)

Both of those are caused by:

> + gcc -std=gnu99 -shared -fPIC -O2 k.c -o k.so
> Undefined symbols:
>   "_main", referenced from:
>       start in crt1.10.5.o
> ld: symbol(s) not found

It seems like older  OS X doesn't support the gcc -shared option:
http://blog.yimingliu.com/2008/01/23/building-dynamic-library-on-os-x/
The attached should avoid those tests on your platform.

As for:

> FAIL: tests/install/install-C.sh (exit: 1)

> + echo test

> + ginstall -Cv -m0644 a b

> + ginstall -Cv -m0644 a b
> + compare out out_empty

> + diff -u out out_empty
> --- out    2013-03-27 10:44:28.000000000 +0000
> +++ out_empty    2013-03-27 10:44:28.000000000 +0000
> @@ -1,2 +0,0 @@
> -removed 'b'
> -'a' -> 'b'
> + fail=1

This might actually be a problem in ginstall, but I don't have enough
info to diagnose. Could you indicate the file system you're using,
give the output of:

echo test > a
ginstall -Cv -m0644 a b
stat a b
ginstall -Cv -m0644 a b

thanks,
Pádraig.
[osx-shared.patch (text/x-patch, attachment)]

Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Wed, 27 Mar 2013 18:58:01 GMT) Full text and rfc822 format available.

Message #17 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Bernhard Voelker <mail <at> bernhard-voelker.de>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 14024 <at> debbugs.gnu.org,
	"Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Wed, 27 Mar 2013 19:54:55 +0100
On 03/27/2013 02:13 PM, Pádraig Brady wrote:
> On 03/27/2013 11:47 AM, Ellis N. Thomas wrote:
>>     Results of grep FAIL: tests/test-suite.log
>>   FAIL: tests/cp/nfs-removal-race.sh (exit: 99)
>>   FAIL: tests/ls/getxattr-speedup.sh (exit: 99)
>
> Both of those are caused by:
> 
>>  + gcc -std=gnu99 -shared -fPIC -O2 k.c -o k.so
>>  Undefined symbols:
>>    "_main", referenced from:
>>        start in crt1.10.5.o
>>  ld: symbol(s) not found
>
> It seems like older  OS X doesn't support the gcc -shared option:
> http://blog.yimingliu.com/2008/01/23/building-dynamic-library-on-os-x/
> The attached should avoid those tests on your platform.

Hi Padraig,

the patch looks good (at least on Linux).

Have a nice day,
Berny




Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Wed, 27 Mar 2013 21:11:02 GMT) Full text and rfc822 format available.

Message #20 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Wed, 27 Mar 2013 21:08:09 +0000
Pádraig,

	Concerning the file system:  The Apple Finder 'get info' on the hard  
drive says:
Format :	Mac OS Extended (Journaled)

and mount for root says:
 >mount
 /dev/disk0s2 on / (hfs, local, journaled)

	I could not locate ginstall on this machine, nor
by searching on the Gnu website.
 >type {g,}install
 bash: type: ginstall: not found
 install is /usr/bin/install
 >which -a {g,}install
 /usr/bin/install
 /usr/local/bin/install

 >ls  /bin/{g,}install
 ls: /bin/ginstall: No such file or directory
 ls: /bin/install: No such file or directory
 >ls  /usr/bin/{g,}install
 ls: /usr/bin/ginstall: No such file or directory
 /usr/bin/install
 >ls  /usr/local/bin/{g,}install
 ls: /usr/local/bin/ginstall: No such file or directory
 /usr/local/bin/install

	One Google match gave a 'man'  page suggesting
that it's a version of install.  So I tried using install
 > echo test > a
 > install -Cv -m0644 a b
 install: a -> b
 > stat a b
 234881026 6243208 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27  
18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27  
18:22:25 2013" 4096 8 0 a
 234881026 6243209 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27  
18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27  
18:22:25 2013" 4096 8 0 b
 > install -Cv -m0644 a b

	and with usr/local/bin/install
 >echo test > a
 >/usr/local/bin/install  -Cv -m0644 a b
 'a' -> 'b'
 >stat a b
 234881026 6243501 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27  
20:11:58 2013" "Mar 27 20:11:29 2013" "Mar 27 20:11:29 2013" "Mar 27  
20:11:29 2013" 4096 8 0 a
 234881026 6243502 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27  
20:11:58 2013" "Mar 27 20:11:58 2013" "Mar 27 20:11:58 2013" "Mar 27  
20:11:58 2013" 4096 8 0 b
 >/usr/local/bin/install  -Cv -m0644 a b


	Hope this helps
		Ellis

On 27 Mar 2013, at 13:13, Pádraig Brady wrote:

> Could you indicate the file system you're using,
> give the output of:
>
> echo test > a
> ginstall -Cv -m0644 a b
> stat a b
> ginstall -Cv -m0644 a b





Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Wed, 27 Mar 2013 21:34:01 GMT) Full text and rfc822 format available.

Message #23 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Wed, 27 Mar 2013 21:30:39 +0000
On 03/27/2013 09:08 PM, Ellis N. Thomas wrote:
> Pádraig,
> 
>     Concerning the file system:  The Apple Finder 'get info' on the hard drive says:
> Format :    Mac OS Extended (Journaled)
> 
> and mount for root says:
>  >mount
>  /dev/disk0s2 on / (hfs, local, journaled)
> 
>     I could not locate ginstall on this machine, nor
> by searching on the Gnu website.
>  >type {g,}install
>  bash: type: ginstall: not found

Sorry ginstall is the built binary which will be copied
from your $build_dir/src to the system
(usually as install(1) as you've noticed).

>  > echo test > a
>  > install -Cv -m0644 a b
>  install: a -> b
>  > stat a b
>  234881026 6243208 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" 4096 8 0 a
>  234881026 6243209 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" "Mar 27 18:22:25 2013" 4096 8 0 b
>  > install -Cv -m0644 a b
> 
>     and with usr/local/bin/install
>  >echo test > a
>  >/usr/local/bin/install  -Cv -m0644 a b
>  'a' -> 'b'
>  >stat a b
>  234881026 6243501 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27 20:11:58 2013" "Mar 27 20:11:29 2013" "Mar 27 20:11:29 2013" "Mar 27 20:11:29 2013" 4096 8 0 a
>  234881026 6243502 -rw-r--r-- 1 ellisnthomas staff 0 5 "Mar 27 20:11:58 2013" "Mar 27 20:11:58 2013" "Mar 27 20:11:58 2013" "Mar 27 20:11:58 2013" 4096 8 0 b
>  >/usr/local/bin/install  -Cv -m0644 a b

OK with both of those we see that the second install(1)
invocation did nothing as one would expect,
but that's not what happened in the failing test.

Does that test failure happen every time?
I.E. does this fail every time?

  make check TESTS=tests/install/install-C.sh VERBOSE=yes SUBDIRS=.

Can you confirm the versions of install available:

install --version
/usr/local/bin/install --version
src/ginstall --version

If src/ginstall is different to the other two,
then it would be worth repeating the following with it:

>> Could you indicate the file system you're using,
>> give the output of:
>>
>> echo test > a
>> ginstall -Cv -m0644 a b
>> stat a b
>> ginstall -Cv -m0644 a b

thanks,
Pádraig.





Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Wed, 10 Apr 2013 21:16:01 GMT) Full text and rfc822 format available.

Message #26 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: "Ellis N. Thomas" <extralevelinsoftware <at> ntlworld.com>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Wed, 10 Apr 2013 22:11:43 +0100
Pádraig,

	The "make check TESTS..." failed the same on two runs.
(The first performed many compilations, but ended the same.)

	After this had been run, src/ginstall was present (previously
when I failed to find it last time, it must have been removed by
"make clean").

	Versions you requested:
(Could not find how to get version from /usr/bin/install !  Its man
page refers to "BSD  May 7, 2001", and mentions FreeBSD 4.4.)

install --version
install: illegal option -- -
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 file2
       install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
               [-o owner] file1 ... fileN directory
       install -d [-v] [-g group] [-m mode] [-o owner] directory ...

/usr/local/bin/install --version
install (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html 
>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.

src/ginstall --version
install (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html 
>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.

	The full stdout&stderr from "make check TESTS..." was redirected to
testinst.log. which is the same as /tests/test-suite.log, except for  
extra lines
at the start and end.  This file is included at the end, after ***  
lines.

	Thanks,
		Ellis

On 27 Mar 2013, at 21:30, Pádraig Brady wrote:

> Does that test failure happen every time?
> I.E. does this fail every time?
>
>  make check TESTS=tests/install/install-C.sh VERBOSE=yes SUBDIRS=.
>
> Can you confirm the versions of install available:
>
> install --version
> /usr/local/bin/install --version
> src/ginstall --version
>
> If src/ginstall is different to the other two,
> then it would be worth repeating the following with it:

*******************************************************************************
** make check TESTS=tests/install/install-C.sh VERBOSE=yes SUBDIRS=.  
&>testinst.log
*******************************************************************************
  GEN    public-submodule-commit
make  check-recursive
Making check in .
make  check-TESTS check-local
FAIL: tests/install/install-C.sh
================================================
   GNU coreutils 8.21: ./tests/test-suite.log
================================================

1 of 1 test failed.

.. contents:: :depth: 2


FAIL: tests/install/install-C.sh (exit: 1)
==========================================

++ initial_cwd_=/Gnu/coreutils/coreutils-8.21
++ fail=0
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /Gnu/coreutils/coreutils-8.21 gt-install-C.sh.XXXX
+++ case $# in
+++ destdir_=/Gnu/coreutils/coreutils-8.21
+++ template_=gt-install-C.sh.XXXX
+++ MAX_TRIES_=4
+++ case $destdir_ in
+++ case $template_ in
++++ unset TMPDIR
+++ d=/Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
+++ case $d in
+++ test -d /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
++++ ls -dgo /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
++++ tr S -
+++ perms='drwx------ 2 68 Apr 10 21:27 /Gnu/coreutils/coreutils-8.21/ 
gt-install-C.sh.DBq8'
+++ case $perms in
+++ test 0 = 0
+++ echo /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
+++ return
++ test_dir_=/Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
++ cd /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
++ gl_init_sh_nl_='
'
++ IFS=' 	
'
++ for sig_ in 1 2 3 13 15
+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
++ for sig_ in 1 2 3 13 15
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
++ for sig_ in 1 2 3 13 15
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
++ for sig_ in 1 2 3 13 15
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
++ for sig_ in 1 2 3 13 15
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ trap remove_tmp_ 0
+ path_prepend_ ./src
+ test 1 '!=' 0
+ path_dir_=./src
+ case $path_dir_ in
+ abs_path_dir_=/Gnu/coreutils/coreutils-8.21/./src
+ case $abs_path_dir_ in
+ PATH=/Gnu/coreutils/coreutils-8.21/./src:/Gnu/coreutils/ 
coreutils-8.21/src:.:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/ 
X11/bin:/usr/X11/bin
+ create_exe_shims_ /Gnu/coreutils/coreutils-8.21/./src
+ case $EXEEXT in
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ print_ver_ ginstall
+ test yes = yes
+ local i
+ for i in '$*'
+ env ginstall --version
install (GNU coreutils) 8.21
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html 
>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.
+ skip_if_setgid_
+ setgid_tmpdir=setgid-7780
+ umask 77
+ mkdir setgid-7780
++ stat --printf %A setgid-7780
+ perms=drwx------
+ rmdir setgid-7780
+ case $perms in
+ mode1=0644
+ mode2=0755
+ mode3=2755
+ echo test
+ echo ''\''a'\'' -> '\''b'\'''
+ echo 'removed '\''b'\''
'\''a'\'' -> '\''b'\'''
+ :
+ ginstall -Cv -m0644 a b
+ compare out out_installed_first
+ compare_dev_null_ out out_installed_first
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_first = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_first
+ diff -u out out_installed_first
+ ginstall -Cv -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-04-10 21:27:53.000000000 +0100
+++ out_empty	2013-04-10 21:27:53.000000000 +0100
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -v --compare -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-04-10 21:27:53.000000000 +0100
+++ out_empty	2013-04-10 21:27:53.000000000 +0100
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -v -m0644 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m2755 a b
ginstall: the --compare (-C) option is ignored when you specify a mode  
with non-permission bits
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m2755 a b
ginstall: the --compare (-C) option is ignored when you specify a mode  
with non-permission bits
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ln -s a c
+ ln -s b d
+ ginstall -Cv -m0644 c d
+ echo 'removed '\''d'\''
'\''c'\'' -> '\''d'\'''
+ compare out out_installed_second_cd
+ compare_dev_null_ out out_installed_second_cd
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second_cd = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second_cd
+ diff -u out out_installed_second_cd
+ echo test1
+ ginstall -Cv -m0644 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-04-10 21:27:53.000000000 +0100
+++ out_empty	2013-04-10 21:27:53.000000000 +0100
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ echo test2
+ ginstall -Cv -m0644 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m0644 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-04-10 21:27:53.000000000 +0100
+++ out_empty	2013-04-10 21:27:53.000000000 +0100
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -Cv -m0755 a b
+ compare out out_installed_second
+ compare_dev_null_ out out_installed_second
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_installed_second = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_installed_second
+ diff -u out out_installed_second
+ ginstall -Cv -m0755 a b
+ compare out out_empty
+ compare_dev_null_ out out_empty
+ test 2 = 2
+ test xout = x/dev/null
+ test xout_empty = x/dev/null
+ return 2
+ case $? in
+ compare_ out out_empty
+ diff -u out out_empty
--- out	2013-04-10 21:27:53.000000000 +0100
+++ out_empty	2013-04-10 21:27:53.000000000 +0100
@@ -1,2 +0,0 @@
-removed 'b'
-'a' -> 'b'
+ fail=1
+ ginstall -C --preserve-timestamps a b
ginstall: options --compare (-C) and --preserve-timestamps are  
mutually exclusive
Try 'ginstall --help' for more information.
+ ginstall -C --strip --strip-program=echo a b
ginstall: options --compare (-C) and --strip are mutually exclusive
Try 'ginstall --help' for more information.
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ cd /Gnu/coreutils/coreutils-8.21
+ chmod -R u+rwx /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
+ rm -rf /Gnu/coreutils/coreutils-8.21/gt-install-C.sh.DBq8
+ exit 1
======================================
1 of 1 test failed
See ./tests/test-suite.log
Please report to bug-coreutils <at> gnu.org
======================================
make[4]: *** [tests/test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2






Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Wed, 10 Apr 2013 21:55:01 GMT) Full text and rfc822 format available.

Message #29 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Ellis N. Thomas" <extralevelinsoftware <at> ntlworld.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Wed, 10 Apr 2013 22:50:21 +0100
Could you indicate the file system you're using,
and give the output of:

echo test > a
/usr/local/bin/install -Cv -m0644 a b
/usr/local/bin/stat a b
/usr/local/bin/install -Cv -m0644 a b

thanks,
Pádraig.




Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Thu, 11 Apr 2013 14:35:12 GMT) Full text and rfc822 format available.

Message #32 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: "Ellis N. Thomas" <extralevelinsoftware <at> ntlworld.com>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Thu, 11 Apr 2013 15:30:37 +0100
Pádraig,

	The Gnu "bug-coreutils Archives" does not seem to have linked
my reply message of April 10, 2013, and your reply as below, to our
previous messages for bug#14024 on and before March 27, 2013.

	See my message of 27 March 2013 21:08:09 GMT (in archive as 17:08)
for details about the file system.

	I have repeated the echo... sequence below (remember this is now 8.21
not 8.13 following your message of Fri, 22 March 2013 12:45:56 GMT and  
my
response of Wed, 27 March 2013 11:47:30 GMT).

 >echo test > a
 >/usr/local/bin/install -Cv -m0644 a b
'a' -> 'b'
 >/usr/local/bin/stat a b
  File: 'a'
  Size: 5               Blocks: 8          IO Block: 4096   regular  
file
Device: e000002h/234881026d     Inode: 6260011     Links: 1
Access: (0644/-rw-r--r--)  Uid: (  501/ellisnthomas)   Gid: (   80/    
admin)
Access: 2013-04-11 15:08:12.000000000 +0100
Modify: 2013-04-11 15:07:52.000000000 +0100
Change: 2013-04-11 15:07:52.000000000 +0100
 Birth: 2013-04-11 15:07:52.000000000 +0100
  File: 'b'
  Size: 5               Blocks: 8          IO Block: 4096   regular  
file
Device: e000002h/234881026d     Inode: 6260013     Links: 1
Access: (0644/-rw-r--r--)  Uid: (  501/ellisnthomas)   Gid: (   80/    
admin)
Access: 2013-04-11 15:08:12.000000000 +0100
Modify: 2013-04-11 15:08:12.000000000 +0100
Change: 2013-04-11 15:08:12.000000000 +0100
 Birth: 2013-04-11 15:08:12.000000000 +0100
 >/usr/local/bin/install -Cv -m0644 a b
removed 'b'
'a' -> 'b'

	The result in my message of 27 March 2013 21:08:09 GMT used /usr/bin/ 
stat
not /usr/local/bin/stat and there was no response to the second install.

	Hope this helps
		Ellis

On 10 Apr 2013, at 22:50, Pádraig Brady wrote:

> Could you indicate the file system you're using,
> and give the output of:
>
> echo test > a
> /usr/local/bin/install -Cv -m0644 a b
> /usr/local/bin/stat a b
> /usr/local/bin/install -Cv -m0644 a b
>
> thanks,
> Pádraig.





Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Thu, 11 Apr 2013 20:48:02 GMT) Full text and rfc822 format available.

Message #35 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Bob Proulx <bob <at> proulx.com>
To: "Ellis N. Thomas" <extralevelinsoftware <at> ntlworld.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Thu, 11 Apr 2013 14:43:20 -0600
Ellis N. Thomas wrote:
> 	The Gnu "bug-coreutils Archives" does not seem to have linked
> my reply message of April 10, 2013, and your reply as below, to our
> previous messages for bug#14024 on and before March 27, 2013.

The mailing list archive tracks messages on the mailing list.  The BTS
(bug tracking system) tracks messages to the bug log.  And of course
the BTS mail forwards to the mailing list.  The mailing list archive
only knows about your email.  If your email doesn't reply to a
message, has missing In-Reply-To: and no References: headers, then it
isn't threaded.  Some mailers always (nastily) break threads.
Conversely if someone replies creating those headers but changes the
Subject line then the message is threaded as per the headers.

Also the mailing list archive is rotated every month.  If a thread of
discussion cross month boundaries then the thread will be split across
the monthly archives.  I think that is what you are seeing here.  It
is in a different month.

The BTS log on the other hand is a continuous trail of messages that
are sent to the bug log.  These will be a duplicate of the messages to
the mailing list but the archive is a separate one and it is bug
ticket centric.  All information about the bug is in the bug log.

> 	See my message of 27 March 2013 21:08:09 GMT (in archive as 17:08)
> for details about the file system.

For referencing bug related items I suggest using the BTS archive.  I
believe you are refering to this message:

  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14024#26

And now that I have added this information it too will appear in the
bug log.

Bob




Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Fri, 12 Apr 2013 01:42:02 GMT) Full text and rfc822 format available.

Message #38 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Ellis N. Thomas" <extralevelinsoftware <at> ntlworld.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Fri, 12 Apr 2013 02:37:18 +0100
On 04/11/2013 03:30 PM, Ellis N. Thomas wrote:
> Pádraig,
> 
>     The Gnu "bug-coreutils Archives" does not seem to have linked
> my reply message of April 10, 2013, and your reply as below, to our
> previous messages for bug#14024 on and before March 27, 2013.
> 
>     See my message of 27 March 2013 21:08:09 GMT (in archive as 17:08)
> for details about the file system.
> 
>     I have repeated the echo... sequence below (remember this is now 8.21
> not 8.13 following your message of Fri, 22 March 2013 12:45:56 GMT and my
> response of Wed, 27 March 2013 11:47:30 GMT).
> 
>  >echo test > a
>  >/usr/local/bin/install -Cv -m0644 a b
> 'a' -> 'b'
>  >/usr/local/bin/stat a b
>   File: 'a'
>   Size: 5               Blocks: 8          IO Block: 4096   regular file
> Device: e000002h/234881026d     Inode: 6260011     Links: 1
> Access: (0644/-rw-r--r--)  Uid: (  501/ellisnthomas)   Gid: (   80/   admin)
> Access: 2013-04-11 15:08:12.000000000 +0100
> Modify: 2013-04-11 15:07:52.000000000 +0100
> Change: 2013-04-11 15:07:52.000000000 +0100
>  Birth: 2013-04-11 15:07:52.000000000 +0100
>   File: 'b'
>   Size: 5               Blocks: 8          IO Block: 4096   regular file
> Device: e000002h/234881026d     Inode: 6260013     Links: 1
> Access: (0644/-rw-r--r--)  Uid: (  501/ellisnthomas)   Gid: (   80/   admin)
> Access: 2013-04-11 15:08:12.000000000 +0100
> Modify: 2013-04-11 15:08:12.000000000 +0100
> Change: 2013-04-11 15:08:12.000000000 +0100
>  Birth: 2013-04-11 15:08:12.000000000 +0100
>  >/usr/local/bin/install -Cv -m0644 a b
> removed 'b'
> 'a' -> 'b'

Great thanks.

That shows that the gid of the files is 80, which I presume is
separate to your gid. That can happen if you're in a dir hierarchy
that's g+s to a group other than your own.
Hmm I see the test already detects this case and skips the test
with skip_if_setgid_(). Perhaps POSIX default ACLs or something are
setting this admin group for you?
Can you confirm that the dir isn't setgid by showing the output of:
/usr/local/bin/stat .
Can you display ACLs with `getfacl .` ?

Anyway it highlights a shortcoming in the test,
and a possible shortcoming in install(1) itself.

So let's setup such a setgid directory for illustration:

$ mkdir -m g+s ti && cd ti
$ chgrp wheel .
$ touch a
$ install -Cv -m0664 a b
`a' -> `b'
$ ls -l
total 0
-rw-rw-r--. 1 padraig wheel 0 Apr 12 02:08 a
-rw-rw-r--. 1 padraig wheel 0 Apr 12 02:08 b

So we see above that the files are the same,
so shouldn't need a subsequent install, but:

$ install -Cv -m0664 a b
removed `b'
`a' -> `b'

That's because install(1) sees that b does not have our gid
and assumes that the gid of b would be set to our gid if we
did install, and so does the redundant operation.

However switching things around, illustrates a possible
problem with this logic in install(1). If we set the dest
file to our group id, then install(1) assumes that that's
what would be used for the file and does nothing, when it
probably should to ensure that the group is reset?

$ chgrp $USER b
$ install -Cv -m0664 a b
$ ls -l
total 0
-rw-rw-r--. 1 padraig wheel   0 Apr 12 02:08 a
-rw-rw-r--. 1 padraig padraig 0 Apr 12 02:08 b

Now install couldn't really infer all the combinations
of auto metadata settings that might occur on file creation,
so we should probably put a warning with --compare in the
texinfo to say it makes assumptions about default
users and permissions which may be incorect in the
presence of POSIX default ACLs or setgid directories
for example.

thanks,
Pádraig.




Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Fri, 12 Apr 2013 21:35:01 GMT) Full text and rfc822 format available.

Message #41 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: "Ellis N. Thomas" <extralevelinsoftware <at> ntlworld.com>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: 14024 <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Fri, 12 Apr 2013 22:30:22 +0100
Pádraig,

	Following your points below about groups, I checked the owner/groups
of the various directories where I variously ran and repeated the  
coreutils tests
and did sequences for you like:

echo test > a
/usr/local/bin/install -Cv -m0644 a b
/usr/local/bin/stat a b
/usr/local/bin/install -Cv -m0644 a b

	I now see why my latest ones gave different results from the earlier  
ones,
and why the earlier ones did not seem to match the reported test  
failures.

	The earlier sequences were run in my own directory ~/tmp, so that the  
files
a and b were in a temporary directory.  However, the latest ones, that  
responded
with:
	removed 'b'
	'a' -> 'b'
were run where I had just rerun the
	"make check TESTS=tests/install/install-C.sh VERBOSE=yes SUBDIRS=."
which is /Gnu/coreutils/coreutils-8.21.  This dir hierarchy is not g+s  
to a group other than
my own, but does have group values that are not my own.  There do not  
seem to be ACLs
on these directories, but some have "extended attributes".

	I was not able to use getfacl on this system, but ls -e shows ACLs,  
and if the file or
directory has extended security information, the permissions field  
printed by the -l option
is followed by a '+' character (from man ls).

	My user on this iMac has Administrator privileges, which in practice  
means that
it is in group 'admin', and several other groups.  These users have  
the ability to create
"top-level" directories, like /Gnu.  This ability seems to arise  
because '/' has group
'admin', and the created directories do too, but are owned by the  
creator (the result
seems to be the same whether the directory is created by a Unix mkdir,  
or using the
Mac gui Finder application):

ls -Ald@ / /Gnu /Gnu/coreutils/ /Gnu/coreutils/coreutils-8.21
drwxrwxr-t  45 root          admin  1598 Apr 12 20:40 /
drwxrwxr-x  12 admin         admin   408 Feb 16 12:12 /Gnu
drwxr-xr-x  11 ellisnthomas  admin   374 Apr 12 20:42 /Gnu/coreutils/
drwxr-xr-x@ 57 ellisnthomas  admin  1938 Apr 11 15:27 /Gnu/coreutils/ 
coreutils-8.21
        com.apple.quarantine      78

	(I am not clear what this extended attribute does.  It seems related  
to Mac regarding
downloaded files with suspicion - the directory tree was originally  
extracted from
/Gnu/coreutils/coreutils-8.21.tar.gz)

	In my own directories, the group is staff:
ls -Ald ~
drwxr-xr-x+ 53 ellisnthomas  staff  1802 Apr 12 20:04 /Users/ 
ellisnthomas

ls -Alde ~/tmp/ drwxr-xr-x 8 ellisnthomas staff 272 Mar 27 20:59 / 
Users/ellisnthomas/tmp/

	To clarify the gids and uids I checked the groups, using dscacheutil
(man says "dscacheutil does various operations against the Directory  
Service cache
     including gathering statistics, initiating lookups, inspection,  
cache
     flush, etc.  This tool replaces most of the functionality of the  
lookupd
     tool previously available
 Darwin   Jan 14, 2007")

	One aspect here is that there is both a user 'admin' and a group  
'admin'.
It seems that user admin created the directory /Gnu, but user  
ellisnthomas
created /Gnu/coreutils/ later.

dscacheutil -q group -a name admin
name: admin
password: *
gid: 80
users: root ellisnthomas admin

dscacheutil -q group -a gid 20
name: staff
password: *
gid: 20
users: root ellisnthomas admin susanthomas

dscacheutil -q user -a name ellisnthomas
name: ellisnthomas
password: ********
uid: 501
gid: 20
dir: /Users/ellisnthomas
shell: /bin/bash
gecos: Ellis Thomas

dscacheutil -q user -a name admin
name: admin
password: ********
uid: 502
gid: 20
dir: /Users/admin
shell: /bin/bash
gecos: ExtraLeveLInSoftware

	The usage of getfacl is not possible, but tried ls -e.
type -a getfacl
bash: type: getfacl: not found

ls -Alde /Gnu/coreutils/coreutils-8.21
drwxr-xr-x@ 57 ellisnthomas  admin  1938 Apr 11 15:27 /Gnu/coreutils/ 
coreutils-8.21

ls -Alde /Gnu/
drwxrwxr-x  12 admin  admin  408 Feb 16 12:12 /Gnu/

ls -Alde ~/tmp/
drwxr-xr-x  8 ellisnthomas  staff  272 Mar 27 20:59 /Users/ 
ellisnthomas/tmp/

ls -Alde ~
drwxr-xr-x+ 53 ellisnthomas  staff  1802 Apr 12 09:01 /Users/ 
ellisnthomas
 0: group:everyone deny delete

	This seems to be the only one with an ACL.

	So in summary it seems that install is seeing the two different groups:
'admin' in the existing 'a' file, and expecting to set 'staff' in the  
new 'b' file
as you suggested, but because the parent directory already has 'admin'
without either the g+s or ACL involvement.

	It seems it is now explained, anyway.

	Ellis

On 12 Apr 2013, at 02:37, Pádraig Brady wrote:

> Great thanks.
>
> That shows that the gid of the files is 80, which I presume is
> separate to your gid. That can happen if you're in a dir hierarchy
> that's g+s to a group other than your own.
> Hmm I see the test already detects this case and skips the test
> with skip_if_setgid_(). Perhaps POSIX default ACLs or something are
> setting this admin group for you?
> Can you confirm that the dir isn't setgid by showing the output of:
> /usr/local/bin/stat .
> Can you display ACLs with `getfacl .` ?





Reply sent to Pádraig Brady <P <at> draigBrady.com>:
You have taken responsibility. (Fri, 12 Apr 2013 22:02:02 GMT) Full text and rfc822 format available.

Notification sent to "Ellis N. Thomas" <ExtraLeveLInSoftware <at> ntlworld.com>:
bug acknowledged by developer. (Fri, 12 Apr 2013 22:02:02 GMT) Full text and rfc822 format available.

Message #46 received at 14024-done <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: "Ellis N. Thomas" <extralevelinsoftware <at> ntlworld.com>
Cc: 14024-done <at> debbugs.gnu.org
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Fri, 12 Apr 2013 22:57:36 +0100
[Message part 1 (text/plain, inline)]
On 04/12/2013 10:30 PM, Ellis N. Thomas wrote:
> On 12 Apr 2013, at 02:37, Pádraig Brady wrote:
> 
>> Great thanks.
>>
>> That shows that the gid of the files is 80, which I presume is
>> separate to your gid. That can happen if you're in a dir hierarchy
>> that's g+s to a group other than your own.
>> Hmm I see the test already detects this case and skips the test
>> with skip_if_setgid_(). Perhaps POSIX default ACLs or something are
>> setting this admin group for you?
>> Can you confirm that the dir isn't setgid by showing the output of:
>> /usr/local/bin/stat .
>> Can you display ACLs with `getfacl .` ?
>
> Pádraig,
>
>     Following your points below about groups, I checked the owner/groups
> of the various directories where I variously ran and repeated the coreutils tests
> and did sequences for you like:
>
> echo test > a
> /usr/local/bin/install -Cv -m0644 a b
> /usr/local/bin/stat a b
> /usr/local/bin/install -Cv -m0644 a b
>
>     I now see why my latest ones gave different results from the earlier ones,
> and why the earlier ones did not seem to match the reported test failures.
>
>     The earlier sequences were run in my own directory ~/tmp, so that the files
> a and b were in a temporary directory.  However, the latest ones, that responded
> with:
>     removed 'b'
>     'a' -> 'b'
> were run where I had just rerun the
>     "make check TESTS=tests/install/install-C.sh VERBOSE=yes SUBDIRS=."
> which is /Gnu/coreutils/coreutils-8.21.  This dir hierarchy is not g+s to a group other than
> my own, but does have group values that are not my own.  There do not seem to be ACLs
> on these directories, but some have "extended attributes".
>
>     I was not able to use getfacl on this system, but ls -e shows ACLs, and if the file or
> directory has extended security information, the permissions field printed by the -l option
> is followed by a '+' character (from man ls).
>
>     My user on this iMac has Administrator privileges, which in practice means that
> it is in group 'admin', and several other groups.  These users have the ability to create
> "top-level" directories, like /Gnu.  This ability seems to arise because '/' has group
> 'admin', and the created directories do too, but are owned by the creator (the result
> seems to be the same whether the directory is created by a Unix mkdir, or using the
> Mac gui Finder application):
>
> ls -Ald@ / /Gnu /Gnu/coreutils/ /Gnu/coreutils/coreutils-8.21
> drwxrwxr-t  45 root          admin  1598 Apr 12 20:40 /
> drwxrwxr-x  12 admin         admin   408 Feb 16 12:12 /Gnu
> drwxr-xr-x  11 ellisnthomas  admin   374 Apr 12 20:42 /Gnu/coreutils/
> drwxr-xr-x@ 57 ellisnthomas  admin  1938 Apr 11 15:27 /Gnu/coreutils/coreutils-8.21
>         com.apple.quarantine      78
>
>     (I am not clear what this extended attribute does.  It seems related to Mac regarding
> downloaded files with suspicion - the directory tree was originally extracted from
> /Gnu/coreutils/coreutils-8.21.tar.gz)
>
>     In my own directories, the group is staff:
> ls -Ald ~
> drwxr-xr-x+ 53 ellisnthomas  staff  1802 Apr 12 20:04 /Users/ellisnthomas
>
> ls -Alde ~/tmp/ drwxr-xr-x 8 ellisnthomas staff 272 Mar 27 20:59 /Users/ellisnthomas/tmp/
>
>     To clarify the gids and uids I checked the groups, using dscacheutil
> (man says "dscacheutil does various operations against the Directory Service cache
>      including gathering statistics, initiating lookups, inspection, cache
>      flush, etc.  This tool replaces most of the functionality of the lookupd
>      tool previously available
>  Darwin   Jan 14, 2007")
>
>     One aspect here is that there is both a user 'admin' and a group 'admin'.
> It seems that user admin created the directory /Gnu, but user ellisnthomas
> created /Gnu/coreutils/ later.
>
> dscacheutil -q group -a name admin
> name: admin
> password: *
> gid: 80
> users: root ellisnthomas admin
>
> dscacheutil -q group -a gid 20
> name: staff
> password: *
> gid: 20
> users: root ellisnthomas admin susanthomas
>
> dscacheutil -q user -a name ellisnthomas
> name: ellisnthomas
> password: ********
> uid: 501
> gid: 20
> dir: /Users/ellisnthomas
> shell: /bin/bash
> gecos: Ellis Thomas
>
> dscacheutil -q user -a name admin
> name: admin
> password: ********
> uid: 502
> gid: 20
> dir: /Users/admin
> shell: /bin/bash
> gecos: ExtraLeveLInSoftware
>
>     The usage of getfacl is not possible, but tried ls -e.
> type -a getfacl
> bash: type: getfacl: not found
>
> ls -Alde /Gnu/coreutils/coreutils-8.21
> drwxr-xr-x@ 57 ellisnthomas  admin  1938 Apr 11 15:27 /Gnu/coreutils/coreutils-8.21
>
> ls -Alde /Gnu/
> drwxrwxr-x  12 admin  admin  408 Feb 16 12:12 /Gnu/
>
> ls -Alde ~/tmp/
> drwxr-xr-x  8 ellisnthomas  staff  272 Mar 27 20:59 /Users/ellisnthomas/tmp/
>
> ls -Alde ~
> drwxr-xr-x+ 53 ellisnthomas  staff  1802 Apr 12 09:01 /Users/ellisnthomas
>  0: group:everyone deny delete
>
>     This seems to be the only one with an ACL.
>
>     So in summary it seems that install is seeing the two different groups:
> 'admin' in the existing 'a' file, and expecting to set 'staff' in the new 'b' file
> as you suggested, but because the parent directory already has 'admin'
> without either the g+s or ACL involvement.
>
>     It seems it is now explained, anyway.

Thanks for the detail.
I'll probably work around that test failure with the attached.

thanks,
Pádraig.
[osx-install-C-skip.patch (text/x-patch, attachment)]

Information forwarded to bug-coreutils <at> gnu.org:
bug#14024; Package coreutils. (Sat, 13 Apr 2013 23:57:01 GMT) Full text and rfc822 format available.

Message #49 received at 14024 <at> debbugs.gnu.org (full text, mbox):

From: Pádraig Brady <P <at> draigBrady.com>
To: 14024 <at> debbugs.gnu.org, ExtraLeveLInSoftware <at> ntlworld.com
Subject: Re: bug#14024: Test failure in coreutils 8.13
Date: Sun, 14 Apr 2013 00:52:33 +0100
[Message part 1 (text/plain, inline)]
I had another look and I see another report querying
why the group for new files is set to that of the dir,
rather than that of the current user:
http://unix.stackexchange.com/q/63865/37127

I'll apply the two attached patches to avoid the issue,
and also document the related install -C caveats in this area.

thanks,
Pádraig.

[install-C-group-osx.patch (text/x-patch, attachment)]
[install-C-caveats.patch (text/x-patch, attachment)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 12 May 2013 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 323 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.