mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-04-28 06:33:36 +00:00
Reported by Mike Fulton <fultonm@ca.ibm.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2022-11/msg00130.html>. * gnulib-tool: Use symbolic signal names. * posix-modules: Likewise. * MODULES.html.sh: Likewise. * build-aux/bootstrap (prepare_GNULIB_SRCDIR): Likewise. * build-aux/csharpcomp.sh.in: Likewise. * build-aux/gnu-web-doc-update: Likewise. * top/autogen.sh: Likewise. * top/bootstrap-funclib.sh: Likewise. * top/gitsub.sh: Likewise. * lib/t-idcache: Likewise. * tests/havelib/rpath-1: Likewise. * tests/havelib/rpath-2_a: Likewise. * tests/havelib/rpath-2_b: Likewise. * tests/havelib/rpath-3_a: Likewise. * tests/havelib/rpath-3_b: Likewise. * tests/init.sh: Likewise. * tests/test-binary-io.sh: Likewise. * tests/test-c-stack.sh: Likewise. * tests/test-c-stack2.sh: Likewise. * tests/test-dprintf-posix.sh: Likewise. * tests/test-fpending.sh: Likewise. * tests/test-fprintf-posix.sh: Likewise. * tests/test-lseek.sh: Likewise. * tests/test-printf-posix.sh: Likewise. * tests/test-select-in.sh: Likewise. * tests/test-select-out.sh: Likewise. * tests/test-sigpipe.sh: Likewise. * tests/test-tsearch.sh: Likewise. * tests/test-update-copyright.sh: Likewise. * tests/test-vdprintf-posix.sh: Likewise. * tests/test-vfprintf-posix.sh: Likewise. * tests/test-vprintf-posix.sh: Likewise. * tests/test-xprintf-posix.sh: Likewise. * tests/uniwidth/test-uc_width2.sh: Likewise.
53 lines
1.3 KiB
Bash
Executable File
53 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# Compare the two halves (user and group) of idcache.c.
|
|
# Once xformed, they'd better be the same:
|
|
|
|
pwd=`pwd`
|
|
t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
|
|
trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' EXIT
|
|
trap '(exit $?); exit $?' HUP INT PIPE TERM
|
|
|
|
srcdir=../..
|
|
framework_failure=0
|
|
mkdir -p $tmp || framework_failure=1
|
|
cd $tmp || framework_failure=1
|
|
|
|
if test $framework_failure = 1; then
|
|
echo "$0: failure in testing framework" 1>&2
|
|
(exit 1); exit 1
|
|
fi
|
|
|
|
# Extract user-oriented functions.
|
|
perl -ne \
|
|
'print if /^static struct.*user_alist/ .. /^static struct.*group_alist/' \
|
|
$srcdir/idcache.c | head -n -3 > u
|
|
# Extract group-oriented functions.
|
|
perl -ne 'print if /^static struct.*group_alist/ .. eof' $srcdir/idcache.c > g
|
|
|
|
# Convert user-specific strings of "u" into corresponding group-specific strings
|
|
subst='
|
|
s/user_/group_/g;
|
|
s/\buser\b/group/g;
|
|
s/USER/GROUP/g;
|
|
s/\bu\b/g/g;
|
|
s/passwd/group/g;
|
|
s/pw_uid/gr_gid/g;
|
|
s/pwnam/grnam/g;
|
|
s/pwent/grent/g;
|
|
s/getpw/getgr/g;
|
|
s/pw_/gr_/g;
|
|
s/UID/GID/g;
|
|
s/uid/gid/g;
|
|
s/getuser/getgroup/;
|
|
s/login name/group name/;
|
|
s/to be the/to belong to/;
|
|
s/pwd fun/grp fun/;
|
|
'
|
|
|
|
fail=0
|
|
# Ensure that the transformed "u" is the same as g.
|
|
# Any differences here constitute an error.
|
|
perl -pe "$subst" u | diff -u - g || fail=1
|
|
|
|
exit $fail
|