GNU bug report logs -
#17798
[PATCH] build: don't make output files read-only
Previous Next
Reported by: Paul Eggert <eggert <at> CS.UCLA.EDU>
Date: Tue, 17 Jun 2014 19:07:02 UTC
Severity: normal
Tags: patch
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
This led to problems, such as the prompt "mv: try to overwrite
'egrep', overriding mode 0555 (r-xr-xr-x)? " during a build.
It can be worked around, but the cure is worse than the disease;
making output files read-only is more trouble than it's worth.
* doc/Makefile.am (grep.1, egrep.1, fgrep.1):
* lib/Makefile.am (colorize.c):
* src/Makefile.am (egrep fgrep):
Don't make output files read-only. Prefer separate commands to
'&&' when either will do.
---
doc/Makefile.am | 11 +++++------
lib/Makefile.am | 2 --
src/Makefile.am | 5 ++---
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 810e916..9a50434 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -25,11 +25,10 @@ EXTRA_DIST = grep.in.1
CLEANFILES = grep.1 egrep.1 fgrep.1
grep.1: grep.in.1
- $(AM_V_GEN)rm -f $@ $@-t
- $(AM_V_at)sed 's/@''VERSION@/$(VERSION)/' \
- < $(srcdir)/grep.in.1 > $@-t && chmod 444 $@-t && mv $@-t $@
+ $(AM_V_GEN)sed 's/@''VERSION@/$(VERSION)/' < $(srcdir)/grep.in.1 > $@-t
+ $(AM_V_at)mv $@-t $@
egrep.1 fgrep.1: Makefile.am
- $(AM_V_GEN)rm -f $@ $@-t
- $(AM_V_at)inst=`echo grep | sed '$(transform)'`.1 \
- && echo ".so man1/$$inst" > $@-t && chmod 444 $@-t && mv $@-t $@
+ $(AM_V_GEN)inst=`echo grep | sed '$(transform)'`.1 \
+ && echo ".so man1/$$inst" > $@-t
+ $(AM_V_at)mv $@-t $@
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 9bd7b0d..79d582b 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -34,9 +34,7 @@ libgreputils_a_SOURCES += colorize.h
EXTRA_DIST += colorize-posix.c colorize-w32.c
CLEANFILES += colorize.c
colorize.c:
- $(AM_V_GEN)rm -f $@-t
$(AM_V_at)echo '#include <$(COLORIZE_SOURCE)>' >$@-t
- $(AM_V_at)chmod a=rx $@-t
$(AM_V_at)mv $@-t $@
libgreputils_a_LIBADD += $(LIBOBJS) $(ALLOCA)
diff --git a/src/Makefile.am b/src/Makefile.am
index 0697c63..11acdb1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -45,8 +45,7 @@ AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib
EXTRA_DIST = dosbuf.c egrep.sh
egrep fgrep: egrep.sh Makefile
- $(AM_V_GEN)rm -f $@-t
- $(AM_V_at)grep=`echo grep | sed -e '$(transform)'` && \
+ $(AM_V_GEN)grep=`echo grep | sed -e '$(transform)'` && \
case $@ in egrep) option=-E;; fgrep) option=-F;; esac && \
shell_does_substrings='set x/y && d=$${1%/*} && test "$$d" = x' && \
if $(SHELL) -c "$$shell_does_substrings" 2>/dev/null; then \
@@ -58,7 +57,7 @@ egrep fgrep: egrep.sh Makefile
-e "$$edit_substring" \
-e "s|[@]grep@|$$grep|g" \
-e "s|[@]option@|$$option|g" <$(srcdir)/egrep.sh >$@-t
- $(AM_V_at)chmod a=rx $@-t
+ $(AM_V_at)chmod +x $@-t
$(AM_V_at)mv $@-t $@
CLEANFILES = egrep fgrep *-t
--
1.9.3
This bug report was last modified 10 years and 342 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.