On 12/26/20 1:55 PM, Simon Josefsson wrote:
Looking at that list now, the only obvious tool to remove is egrep,
since 'grep -E' subsumes it nowadays.
Yes, I think that should be dropped.
What about 'install-info'? It is quite GNU-specific. Nothing in
gnulib appears to refer to it (except for the make-stds manual..).
Sure, attached is a proposed patch to make-stds.texi. This patch also
removes fgrep, which is in the same category as egrep. I am sending this
email to bug-standards so that they can see it as a suggestion.
Also, it puzzles me that the set of pre-installation and
post-installation commands is a superset of the set of commands that can
appear in "the Makefile rules for building and installation". Since pre-
and post-installation commands appear in Makefiles, shouldn't their
commands be a subset, not a superset?
Index: make-stds.texi
===================================================================
RCS file: /sources/gnustandards/gnustandards/make-stds.texi,v
retrieving revision 1.69
diff -c -r1.69 make-stds.texi
*** make-stds.texi 1 Jun 2020 17:53:39 -0000 1.69
--- make-stds.texi 26 Dec 2020 23:08:50 -0000
***************
*** 160,166 ****
@c mkfifo mknod tee uname
@example
! awk cat cmp cp diff echo egrep expr false grep install-info ln ls
mkdir mv printf pwd rm rmdir sed sleep sort tar test touch tr true
@end example
--- 160,166 ----
@c mkfifo mknod tee uname
@example
! awk cat cmp cp diff echo expr false grep ln ls
mkdir mv printf pwd rm rmdir sed sleep sort tar test touch tr true
@end example
***************
*** 174,179 ****
--- 174,182 ----
for parallel execution. For a list of known incompatibilities, see
@ref{Portable Shell, Portable Shell Programming,, autoconf, Autoconf}.
+ Programs like @code{egrep} and @code{install-info} can be used in
+ rules that have a fallback if the programs are absent.
+ @xref{Standard Targets} for an example of this.
It is a good idea to avoid creating symbolic links in makefiles, since a
few file systems don't support them.
***************
*** 1131,1142 ****
which of the dependencies actually run.
Pre-installation and post-installation commands should not run any
! programs except for these:
@example
[ basename bash cat chgrp chmod chown cmp cp dd diff echo
! egrep expand expr false fgrep find getopt grep gunzip gzip
! hostname install install-info kill ldconfig ln ls md5sum
mkdir mkfifo mknod mv printenv pwd rm rmdir sed sort tee
test touch true uname xargs yes
@end example
--- 1134,1145 ----
which of the dependencies actually run.
Pre-installation and post-installation commands should not run any
! programs directly except for these:
@example
[ basename bash cat chgrp chmod chown cmp cp dd diff echo
! expand expr false find getopt grep gunzip gzip
! hostname install kill ldconfig ln ls md5sum
mkdir mkfifo mknod mv printenv pwd rm rmdir sed sort tee
test touch true uname xargs yes
@end example