Re: df command should suppress duplicates

2012-12-18 Thread Bernhard Voelker
On 12/18/2012 12:32 AM, Pádraig Brady wrote:
 On 12/07/2012 08:48 PM, Bernhard Voelker wrote:
 http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=10d35b43
 
 FYI, there seem to be issues with this?
 https://bugzilla.redhat.com/show_bug.cgi?id=887763

Hi Padraig,

in the upstream patch, the rootfs doesn't make it into the
deduplication list. Regarding rpc_pipefs: well, it is in
/proc/mounts but it doesn't seem to be mounted (otherwise it
would have a different device number).

Could it be that rpc_pipefs was mounted in early boot, and
when /dev/sda8 became the new /, it was not mounted again,
and is therefore shadowed?

Have a nice day,
Berny





Re: numfmt (=print 'human' sizes) updates

2012-12-18 Thread Assaf Gordon
Hello,

Attached is a first shot at documenting 'numfmt' .

Comments are welcomed,
-gordon


numfmt_doc.patch.gz
Description: GNU Zip compressed data


bug#13210: [PATCH] maint: cygwin build broken

2012-12-18 Thread Stefano Lattarini
On 12/18/2012 12:20 AM, Pádraig Brady wrote:
 On 12/17/2012 11:50 AM, Z. Majeed wrote:
 Building latest git source in a non-src directory on cygwin win7 with gcc 
 4.5.3 is broken - a patch follows -
 doc/local.mk: doc subdir is not created in build dir - I made it a prereq of 
 doc/constants.texi
 
 That seems a little hacky, for what seems like an automake bug.
 Maybe this one is the culprit?
 http://git.sv.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.11-328-ge87c030

Nope, that change had been later reverted, before any stable release:
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.11-512-g40c3432

 I use automake-1.11.6 and the coreutils configured min version is 1.11.2.
 Specifically I'm not impacted as I have this in Makefile:
 
 $(srcdir)/doc/version.texi:  $(srcdir)/doc/stamp-vti
 $(srcdir)/doc/stamp-vti: doc/coreutils.texi $(top_srcdir)/configure
 test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) 
 doc/$(am__dirstamp)
 ...

This rules is there also for makefiles generated by Automake 1.12.x.

And the issue here is really not Automake's fault; the problem really likes in
the coreutil's build system, since the declaration:

   doc/constants.texi: $(top_srcdir)/src/tail.c $(top_srcdir)/src/shred.c

is hand-written in 'doc/local.mk', and is not provided by Automake.

So what suggested by the OP is not a workaround, but a fix -- and it
seems a correct fix to me (albeit a little abusing of Automake's
internal).

 BTW, Steffano, how can I see what release the above commit
 is included in?

No one :-)

 Only minor versions seem to be tagged?

How so?  I see:
http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.12

 I dislike dependency creep so am open to a workaround
 as long as we know what's going on.

See above.

HTH,
  Stefano





bug#13185: Test case 'misc/timeout-group' failed

2012-12-18 Thread Stefano Lattarini
On 12/18/2012 01:48 AM, Pádraig Brady wrote:

 So the skip was on purpose and to avoid signal propagation issues seen
 on some older systems:
 http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=v8.14-30-g6603e37
 
 This initial failure is worrying, though may be a false positive
 due to your shell or something. What versions of dash, bash, kernel
 do you have there?


  $ bash --version
  GNU bash, version 4.2.36(2)-release (i686-pc-linux-gnu)

  $ dpkg -l dash | sed -n '$p'
  ii  dash  0.5.7-3  i386  POSIX-compliant shell

  $ uname -rsv
  Linux 2.6.30-2-686 #1 SMP Sat Sep 26 01:16:22 UTC 2009

 I can't reproduce at all here with any shell, though you might
 have older versions.
 
 What is your system /bin/sh, dash or bash?

Bash.  But the affected coreutils testsuite run was done with a
more bleeding-edge version of bash, explicitly selected as SHELL
(and CONFIG_SHELL).

 Note you can force a particular SHELL as follows,
 and it would be interesting to see if the issue affected all shells.

The fact is that I haven't been able to reproduce the issue after
the first failure.  So it won't be easy to ensure whether it has
been fixed...

 make check TESTS='tests/misc/timeout-group.sh' SUBDIRS=. VERBOSE=yes 
 SHELL=bash

 Hopefully we can come up with a skip for this case too.
 
 thanks,
 Pádraig.

Regards,
  Stefano





bug#13210: [PATCH] maint: cygwin build broken

2012-12-18 Thread Pádraig Brady

On 12/18/2012 08:58 AM, Stefano Lattarini wrote:

On 12/18/2012 12:20 AM, Pádraig Brady wrote:

On 12/17/2012 11:50 AM, Z. Majeed wrote:

Building latest git source in a non-src directory on cygwin win7 with gcc 4.5.3 
is broken - a patch follows -
doc/local.mk: doc subdir is not created in build dir - I made it a prereq of 
doc/constants.texi


That seems a little hacky, for what seems like an automake bug.
Maybe this one is the culprit?
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.11-328-ge87c030


Nope, that change had been later reverted, before any stable release:
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.11-512-g40c3432


I use automake-1.11.6 and the coreutils configured min version is 1.11.2.
Specifically I'm not impacted as I have this in Makefile:

$(srcdir)/doc/version.texi:  $(srcdir)/doc/stamp-vti
$(srcdir)/doc/stamp-vti: doc/coreutils.texi $(top_srcdir)/configure
 test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) 
doc/$(am__dirstamp)
 ...


This rules is there also for makefiles generated by Automake 1.12.x.

And the issue here is really not Automake's fault; the problem really likes in
the coreutil's build system, since the declaration:

doc/constants.texi: $(top_srcdir)/src/tail.c $(top_srcdir)/src/shred.c

is hand-written in 'doc/local.mk', and is not provided by Automake.

So what suggested by the OP is not a workaround, but a fix -- and it
seems a correct fix to me (albeit a little abusing of Automake's
internal).


I misread the above rule last night, and thought Zartaj's fix
to a broken coreutils.info build was to piggy back on the
working constants.texi build. In general it's best to send
error messages along with a patch like this so that reviewers
can follow the same train of thought.

Anyway an explicit `make doc/constants.texi` fails on my system too
(with a non-src build), and so can fail in a larger build
due to ordering of rules.

Since we're manually writing the doc/constants.texi rule anyway,
I prefer to just add in the MKDIR_P which is the technique we
use elsewhere in coreutils.




BTW, Steffano, how can I see what release the above commit
is included in?


No one :-)


Only minor versions seem to be tagged?


How so?  I see:
http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.12


I was looking for a tag at each release. 1.11.6 etc.
They weren't done for the 1.11 series but they are in place
since 1.12, for example:
http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.12.5
There's probably little need to retag older releases,
so it's fine going forward.


I dislike dependency creep so am open to a workaround
as long as we know what's going on.


See above.


Thanks a lot for looking at this, and sorry for misreading
the rule last night, I shouldn't have bothered you at all,
with this now obvious issue.

It's good to know we could rely on am__dirstamp in future if needed.

Zartaj I'll apply the following in your name soon.

thanks!
Pádraig.

commit 860307bde02e12700e8a08daf3536801e86e8da8
Author: Zartaj Majeed zmaj...@sbcglobal.net
Date:   Tue Dec 18 09:50:50 2012 +

build: fix cygwin build issues

* doc/local.mk (doc/constants.texi): Ensure the doc directory
is present which is needed when doing a non source dir build,
when the doc/constants.texi target is built before other doc targets.
* src/local.mk: Add $(EXEEXT) to the make-prime-list calls.

diff --git a/doc/local.mk b/doc/local.mk
index 585faf0..ad25528 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -36,6 +36,7 @@ AM_MAKEINFOFLAGS = --no-split

 doc/constants.texi: $(top_srcdir)/src/tail.c $(top_srcdir)/src/shred.c
$(AM_V_GEN)LC_ALL=C; export LC_ALL; \
+   $(MKDIR_P) doc  \
{ sed -n -e 's/^#define \(DEFAULT_MAX[_A-Z]*\) \(.*\)/@set \1 \2/p' \
$(top_srcdir)/src/tail.c  \
  sed -n -e \
diff --git a/src/local.mk b/src/local.mk
index ead3b8b..66028c9 100644
--- a/src/local.mk
+++ b/src/local.mk
@@ -387,9 +387,9 @@ src/dircolors.h: src/dcgen src/dircolors.hin
 # known ints (currently 128-bit).
 BUILT_SOURCES += $(top_srcdir)/src/primes.h
 $(top_srcdir)/src/primes.h:
-   $(MAKE) src/make-prime-list
+   $(MAKE) src/make-prime-list$(EXEEXT)
$(AM_V_GEN)rm -f $@ $@-t
-   $(AM_V_at)src/make-prime-list 5000  $@-t
+   $(AM_V_at)src/make-prime-list$(EXEEXT) 5000  $@-t
$(AM_V_at)chmod a-w $@-t
$(AM_V_at)mv $@-t $@






bug#13210: [PATCH] maint: cygwin build broken

2012-12-18 Thread Stefano Lattarini
On 12/18/2012 11:20 AM, Pádraig Brady wrote:

 [SNIP]

 Anyway an explicit `make doc/constants.texi` fails on my system too
 (with a non-src build), and so can fail in a larger build
 due to ordering of rules.
 
 Since we're manually writing the doc/constants.texi rule anyway,
 I prefer to just add in the MKDIR_P which is the technique we
 use elsewhere in coreutils.

Yeah, but is a simpler and safer idiom.

 Only minor versions seem to be tagged?

 How so?  I see:
 http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.12
 
 I was looking for a tag at each release. 1.11.6 etc.

http://git.savannah.gnu.org/cgit/automake.git/tag/?id=v1.11.6
http://git.savannah.gnu.org/cgit/automake.git/tag/?id=v1.11.5
http://git.savannah.gnu.org/cgit/automake.git/tag/?id=v1.11.4

etc ;-)

 They weren't done for the 1.11 series but they are in place
 since 1.12, for example:
 http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commit;h=v1.12.5
 There's probably little need to retag older releases,
 so it's fine going forward.
 

 [SNIP]

 It's good to know we could rely on am__dirstamp in future if needed.

Actually, that is an automake internal (as hinted by the 'am__'
prefix), and should not be relied upon if at all possible (like
it was in this case).

Best regards, and HTH,
  Stefano





bug#13185: Test case 'misc/timeout-group' failed

2012-12-18 Thread Pádraig Brady

On 12/18/2012 09:45 AM, Stefano Lattarini wrote:

On 12/18/2012 01:48 AM, Pádraig Brady wrote:


So the skip was on purpose and to avoid signal propagation issues seen
on some older systems:
http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=v8.14-30-g6603e37

This initial failure is worrying, though may be a false positive
due to your shell or something. What versions of dash, bash, kernel
do you have there?



   $ bash --version
   GNU bash, version 4.2.36(2)-release (i686-pc-linux-gnu)

   $ dpkg -l dash | sed -n '$p'
   ii  dash  0.5.7-3  i386  POSIX-compliant shell

   $ uname -rsv
   Linux 2.6.30-2-686 #1 SMP Sat Sep 26 01:16:22 UTC 2009


I can't reproduce at all here with any shell, though you might
have older versions.

What is your system /bin/sh, dash or bash?


Bash.  But the affected coreutils testsuite run was done with a
more bleeding-edge version of bash, explicitly selected as SHELL
(and CONFIG_SHELL).


Note you can force a particular SHELL as follows,
and it would be interesting to see if the issue affected all shells.


The fact is that I haven't been able to reproduce the issue after
the first failure.  So it won't be easy to ensure whether it has
been fixed...


make check TESTS='tests/misc/timeout-group.sh' SUBDIRS=. VERBOSE=yes SHELL=bash

Hopefully we can come up with a skip for this case too.


I noticed a possible race in the test script.
So I'll apply this soon.

thanks,
Pádraig.

commit 09f72d285514a91495960ea3b0570251eed415b0
Author: Pádraig Brady p...@draigbrady.com
Date:   Tue Dec 18 13:06:15 2012 +

tests: avoid a race in timeout-group.sh

* tests/misc/timeout-group.sh: The kernel might possibly delay
signal propagation to timeout.cmd long enough, that it exits
normally without running the signal handler (as sleep will
be in the same process group and so get the signal too).
So avoid this by explicitly checking that the signal handler
is called, which should always happen under normal circumstances.
Reported by Stefano Lattarini on linux-2.6.30-2-686 and bash-4.2.36.

diff --git a/tests/misc/timeout-group.sh b/tests/misc/timeout-group.sh
index 4cefc33..7117abb 100755
--- a/tests/misc/timeout-group.sh
+++ b/tests/misc/timeout-group.sh
@@ -34,7 +34,11 @@ cat  timeout.cmd \EOF
 #!/bin/sh
 trap 'touch int.received; exit' INT
 touch timeout.running
-sleep $1
+count=$1
+until test -e int.received || test $count = 0; do
+  sleep 1
+  count=$(expr $count - 1)
+done
 EOF
 chmod a+x timeout.cmd








bug#13185: Test case 'misc/timeout-group' failed

2012-12-18 Thread Stefano Lattarini
On 12/18/2012 02:18 PM, Pádraig Brady wrote:

 I noticed a possible race in the test script.
 So I'll apply this soon.
 
 thanks,
 Pádraig.
 
 commit 09f72d285514a91495960ea3b0570251eed415b0
 Author: Pádraig Brady p...@draigbrady.com
 Date:   Tue Dec 18 13:06:15 2012 +
 
 tests: avoid a race in timeout-group.sh
 
 * tests/misc/timeout-group.sh: The kernel might possibly delay
 signal propagation to timeout.cmd long enough, that it exits
 normally without running the signal handler (as sleep will
 be in the same process group and so get the signal too).
 So avoid this by explicitly checking that the signal handler
 is called, which should always happen under normal circumstances.
 Reported by Stefano Lattarini on linux-2.6.30-2-686 and bash-4.2.36.
 
 diff --git a/tests/misc/timeout-group.sh b/tests/misc/timeout-group.sh
 index 4cefc33..7117abb 100755
 --- a/tests/misc/timeout-group.sh
 +++ b/tests/misc/timeout-group.sh
 @@ -34,7 +34,11 @@ cat  timeout.cmd \EOF
  #!/bin/sh
  trap 'touch int.received; exit' INT
  touch timeout.running
 -sleep $1
 +count=$1
 +until test -e int.received || test $count = 0; do
 +  sleep 1
 +  count=$(expr $count - 1)
 +done
  EOF
  chmod a+x timeout.cmd
 
 
Seems sensible to me.  Let's hope it works; I'll re-open this report
if I ever stumble into this problem again.

Thanks,
  Stefano