mirror of
https://https.git.savannah.gnu.org/git/findutils.git
synced 2026-01-26 15:39:06 +00:00
* bootstrap.conf (gnulib_modules): Add argv-iter and same-inode. * find/defs.h (struct options): Add files0_from and ok_prompt_stdin members. * find/ftsfind.c (argv-iter.h, same-inode.h, xalloc.h): Add #include for gnulib headers. (process_all_startpoints): Change loop over starting point arguments to a loop using the argv_iter gnulib module. * find/parser.c (parse_table): Add option. (parse_files0_from): Declare and define function. (insert_exec_ok): Set options flag ok_prompt_stdin to true for the -ok and -okdir action. * find/util.c (usage): Add new option. (set_option_defaults): Initialize new struct members. * doc/find.texi (node Starting points): Add new section describing the regular processing of starting points, and that with the new option. Also mention in the description of -ok and -okdir that they conflict with the new option. * find/find.1: Document the new option here as well. * tests/find/files0-from.sh: Add test. * tests/local.mk (all_tests): Reference it. * NEWS (New features in find): Mention the new option.
279 lines
6.4 KiB
Plaintext
279 lines
6.4 KiB
Plaintext
# Bootstrap configuration.
|
|
|
|
# Copyright (C) 2006-2021 Free Software Foundation, Inc.
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
# Automake requires that ChangeLog exists.
|
|
touch ChangeLog
|
|
|
|
# Random extra gnulib files needed for findutils.
|
|
# copied from 'import-gnulib.config'
|
|
gnulib_extra_files='
|
|
build-aux/config.guess
|
|
build-aux/config.sub
|
|
build-aux/depcomp
|
|
build-aux/install-sh
|
|
build-aux/mdate-sh
|
|
build-aux/mkinstalldirs
|
|
build-aux/texinfo.tex
|
|
'
|
|
|
|
|
|
# gnulib modules needed only for maintainer things.
|
|
maintainer_modules='
|
|
gitlog-to-changelog
|
|
maintainer-makefile
|
|
update-copyright
|
|
gendocs
|
|
'
|
|
|
|
# 'consider' comments copied from 'import-gnulib.config':
|
|
|
|
# consider using do-release-commit-and-tag
|
|
# consider using gendocs
|
|
# consider using getdelim
|
|
# consider using gethrxtime
|
|
# consider using getsubopt (for -D)
|
|
# consider using gnu-web-doc-update
|
|
# consider using idprov-drop and privset for locate
|
|
# consider using long-options
|
|
# consider using nproc in xargs
|
|
# consider using pmccabe2html
|
|
# consider using selinux-h
|
|
# consider using gendocs
|
|
# consider using sig2str in xargs
|
|
# consider using signal (why not: maybe we don't need those features)
|
|
# consider using the dev-ino moduile to support -samefile.
|
|
|
|
# consider removing stpcpy
|
|
# We have rpmatch, either use it for -ok and xargs or remove the dependency
|
|
# use fileblocks, filemode properly.
|
|
|
|
# Considered, but no:
|
|
# consider using autobuild (the information is not usually interesting for us)
|
|
# consider using same-inode (we don't keep a full struct stat for the ref file)
|
|
|
|
# Modules needed for findutils.
|
|
# We need regex to ensure that we can build on platforms like
|
|
# Solaris which lack those functions.
|
|
|
|
# gnulib modules used by this package.
|
|
gnulib_modules="
|
|
alloca
|
|
areadlinkat
|
|
argmatch
|
|
argv-iter
|
|
assert
|
|
byteswap
|
|
c-strcasestr
|
|
c-strstr
|
|
canonicalize
|
|
cloexec
|
|
closein
|
|
closeout
|
|
ctype
|
|
d-ino
|
|
d-type
|
|
dirent-safer
|
|
dirname
|
|
dup2
|
|
errno
|
|
error
|
|
faccessat
|
|
fchdir
|
|
fcntl
|
|
fcntl-safer
|
|
fdopendir
|
|
fflush
|
|
fileblocks
|
|
filemode
|
|
fnmatch-gnu
|
|
fopen-safer
|
|
fts
|
|
gcc-attributes
|
|
getdelim
|
|
getline
|
|
getopt-gnu
|
|
gettext-h
|
|
gettimeofday
|
|
git-version-gen
|
|
gnupload
|
|
gpl-3.0
|
|
hash
|
|
human
|
|
idcache
|
|
inline
|
|
intprops
|
|
inttypes
|
|
isblank
|
|
locale
|
|
lstat
|
|
malloc-gnu
|
|
manywarnings
|
|
math
|
|
mbrtowc
|
|
mbscasestr
|
|
mbswidth
|
|
mbsstr
|
|
mktime
|
|
modechange
|
|
modf
|
|
mountlist
|
|
nstrftime
|
|
open
|
|
openat-safer
|
|
parse-datetime
|
|
pathmax
|
|
perror
|
|
progname
|
|
quotearg
|
|
readlink
|
|
realloc-gnu
|
|
regex
|
|
rpmatch
|
|
safe-read
|
|
same-inode
|
|
save-cwd
|
|
savedir
|
|
selinux-at
|
|
snprintf
|
|
stat
|
|
stat-macros
|
|
stat-size
|
|
stat-time
|
|
stdarg
|
|
stdbool
|
|
stddef
|
|
stdio
|
|
stdint
|
|
stdlib
|
|
stpcpy
|
|
strcasestr
|
|
strdup-posix
|
|
string
|
|
strndup
|
|
strtoull
|
|
strtoumax
|
|
sys_stat
|
|
sys_time
|
|
sys_wait
|
|
timespec
|
|
uname
|
|
unistd-safer
|
|
unlinkat
|
|
verify
|
|
version-etc
|
|
version-etc-fsf
|
|
warnings
|
|
wchar
|
|
wcwidth
|
|
xalloc
|
|
xalloc-die
|
|
xgetcwd
|
|
xstrtod
|
|
xstrtol
|
|
xstrtol-error
|
|
xstrtoumax
|
|
year2038
|
|
yesno
|
|
${maintainer_modules}
|
|
"
|
|
|
|
# Override bootstrap's defaults, with values consistent with
|
|
# 'import-gnulib.sh'
|
|
local_gl_dir='gnulib-local'
|
|
source_base=gl/lib
|
|
m4_base=gl/m4
|
|
# use 'libgnulib' instead of the default lib$package (=libfindutils)
|
|
# 'libgnulib' is mentioned in various 'Makefile.am' files.
|
|
gnulib_name=libgnulib
|
|
|
|
# Create 'gl/Makefile.am' which is mentioned in 'configure.ac'.
|
|
hack_gnulib_tool_makefile() {
|
|
cat > gl/Makefile.am <<EOF
|
|
# Copyright (C) 2004, 2009 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software, distributed under the terms of the GNU
|
|
# General Public License. As a special exception to the GNU General
|
|
# Public License, this file may be distributed as part of a program
|
|
# that contains a configuration script generated by Automake, under
|
|
# the same distribution terms as the rest of that program.
|
|
#
|
|
# This file was generated by $0
|
|
#
|
|
SUBDIRS = lib
|
|
EXTRA_DIST = m4/gnulib-cache.m4
|
|
EOF
|
|
}
|
|
|
|
# after 'gnulib-tool' is done, create the 'gl/Makefile.am' to be backward
|
|
# compatible with 'import-gnulib.sh'.
|
|
bootstrap_post_import_hook() {
|
|
hack_gnulib_tool_makefile
|
|
}
|
|
|
|
# For compatibility with 'import-gnulib.sh', add gnulib's test directory.
|
|
# 'gnulib-tests/Makefile' is mentioned in 'configure.ac'
|
|
gnulib_tool_option_extras="--tests-base=gnulib-tests --with-tests --symlink"
|
|
|
|
|
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
|
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
|
|
--from-code=UTF-8\\\
|
|
--flag=asprintf:2:c-format --flag=vasprintf:2:c-format\\\
|
|
--flag=asnprintf:3:c-format --flag=vasnprintf:3:c-format\\\
|
|
--flag=wrapf:1:c-format\\\
|
|
'
|
|
|
|
|
|
# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
|
|
# appears in configure.ac, exclude some unnecessary files.
|
|
# Without grep's -E option (not portable enough, pre-configure),
|
|
# the following test is ugly. Also, this depends on the existence
|
|
# of configure.ac, not the obsolescent-named configure.in. But if
|
|
# you're using this infrastructure, you should care about such things.
|
|
|
|
gettext_external=0
|
|
grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
|
|
gettext_external=1
|
|
grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
|
|
gettext_external=1
|
|
|
|
if test $gettext_external = 1; then
|
|
# Gettext supplies these files, but we don't need them since
|
|
# we don't have an intl subdirectory.
|
|
excluded_files='
|
|
m4/glibc2.m4
|
|
m4/intdiv0.m4
|
|
m4/lcmessage.m4
|
|
m4/lock.m4
|
|
m4/printf-posix.m4
|
|
m4/size_max.m4
|
|
m4/uintmax_t.m4
|
|
m4/ulonglong.m4
|
|
m4/visibility.m4
|
|
m4/xsize.m4
|
|
'
|
|
fi
|
|
|
|
# Build prerequisites
|
|
buildreq="\
|
|
autoconf 2.64
|
|
automake 1.11.2
|
|
git 1.5.5
|
|
tar -
|
|
gettext 0.19.2
|
|
"
|