This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: import move-if-change from gnulib (was: PATCH: PR binutils/12283: bfd/doc doesn't support parallel build)


[ adding gcc-patches ]

* Steve Ellcey wrote on Fri, Jan 28, 2011 at 12:57:25AM CET:
> I tried this patch and I think it works.  Before patching I got:
> 
> mv: cannot move `chew.13844' to `chew': Text file busy
> make[3]: *** [chew] Error 1
> make[2]: *** [bfdt.texi] Error 2
> make[2]: *** Waiting for unfinished jobs....
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [info-recursive] Error 1
> make: *** [all-bfd] Error 2
> 
> After applying the patch and doing some builds, I still got the mv
> error message about 'cannot move' but the make did not fail.

Thank you for confirming this.

> Perhaps we should change move-if-needed to send the stderr of the mv
> -f to /dev/null like we do with cmpprog.

I don't think that it is generally useful to hide the error output:
in case of a full disk or a real write error, the message can provide
valuable help in diagnosing the cause.  It can otherwise be very tricky
to analyze parallel build failures.

I have meanwhile added an improved and fixed version of my proposed
patch to the (more complete) gnulib copy of move-if-change.  See here:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/24860/focus=24865

I hereby propose to just import the gnulib copy into GCC and src,
http://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/move-if-change
and document the change in status as below in patches to src/MAINTAINERS
and GCC www.  (The Autoconf copy of move-if-change has been updated from
the gnulib one anyway.)

Any reasons against doing so?

Thanks,
Ralf

ChangeLog:
2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* MAINTAINERS (mkinstalldirs): Comes from Automake.
	(move-if-change): Comes from gnulib.

diff --git a/MAINTAINERS b/MAINTAINERS
index a471c90..046c5ea 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -38,7 +38,7 @@ config.guess; config.sub; readline/support/config.{sub,guess}
 		binutils@sourceware.org
 		gdb-patches@sourceware.org
 
-depcomp
+depcomp; mkinstalldirs
         Send bug reports and patches to bug-automake@gnu.org.
 
 gdb/; readline/; sim/; GDB's part of include/
@@ -69,12 +69,8 @@ ltconfig; ltmain.sh; ltcf-*.sh
 	sources or submitted to the master file maintainer and brought
 	in via a merge.
 
-mkinstalldirs; move-if-change
-	autoconf: http://gnu.org
-	Patches to autoconf-patches@gnu.org.
-	Changes need to be done in tandem with the official AUTOCONF
-	sources or submitted to the master file maintainer and brought
-	in via a merge.
+move-if-change
+	Send bug reports and patches to bug-gnulib@gnu.org.
 
 symlink-tree
 	gcc: http://gcc.gnu.org




Index: codingconventions.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/codingconventions.html,v
retrieving revision 1.62
diff -u -r1.62 codingconventions.html
--- codingconventions.html	8 Jan 2011 12:12:42 -0000	1.62
+++ codingconventions.html	28 Jan 2011 20:13:41 -0000
@@ -490,6 +490,11 @@
 symlink-tree and ylwrap:  These are copied from mainline automake, using
 <code>automake --add-missing --copy --force-missing</code>.</li>
 
+<li>move-if-change:  gnulib hosts this now.  The latest version can be
+retrieved from
+<a href="http://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/move-if-change";>http://git.savannah.gnu.org/cgit/gnulib.git/plain/build-aux/move-if-change</a>.
+</li>
+
 <li>Top-level config.rpath:  This comes originally from gettext, but
 gnulib can be considered upstream.  The latest version can be retrieved
 from


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]