[sudo-workers] sudo-1.8.22b1 - packaging on AIX (from git)

Michael Felt michael at felt.demon.nl
Sun Dec 10 04:40:11 MST 2017


On 09/12/2017 16:18, Todd C. Miller wrote:
> Those .nfs directories usually indicate that a file or directory
> was removed while it was still open.  It looks like lib/util is
> being removed somehow.
>
>   - todd

Who/what does that?

michael at x071:[/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1]ls -a lib
.  ..  .nfs75C

And, it looks more like a rename of util, than an attempt at remove. 
rmdir would fail outright, and if something like rm -rf lib/util was 
being done - (a) it would not be there with a new name, and (b) things 
would be missing.

What looks missing to you?

michael at x071:[/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1]find lib
lib
lib/.nfs75C
lib/.nfs75C/Makefile
lib/.nfs75C/util.exp
lib/.nfs75C/.libs
lib/.nfs75C/.libs/event.o
lib/.nfs75C/.libs/fatal.o
lib/.nfs75C/.libs/key_val.o
lib/.nfs75C/.libs/gethostname.o
lib/.nfs75C/.libs/gettime.o
lib/.nfs75C/.libs/gidlist.o
lib/.nfs75C/.libs/lbuf.o
lib/.nfs75C/.libs/locking.o
lib/.nfs75C/.libs/parseln.o
lib/.nfs75C/.libs/progname.o
lib/.nfs75C/.libs/secure_path.o
lib/.nfs75C/.libs/setgroups.o
lib/.nfs75C/.libs/strsplit.o
lib/.nfs75C/.libs/strtobool.o
lib/.nfs75C/.libs/strtoid.o
lib/.nfs75C/.libs/strtomode.o
lib/.nfs75C/.libs/sudo_conf.o
lib/.nfs75C/.libs/sudo_debug.o
lib/.nfs75C/.libs/sudo_dso.o
lib/.nfs75C/.libs/term.o
lib/.nfs75C/.libs/ttysize.o
lib/.nfs75C/.libs/aix.o
lib/.nfs75C/.libs/event_poll.o
lib/.nfs75C/.libs/getgrouplist.o
lib/.nfs75C/.libs/reallocarray.o
lib/.nfs75C/.libs/utimens.o
lib/.nfs75C/.libs/fnmatch.o
lib/.nfs75C/.libs/memrchr.o
lib/.nfs75C/.libs/pipe2.o
lib/.nfs75C/.libs/pw_dup.o
lib/.nfs75C/.libs/strlcpy.o
lib/.nfs75C/.libs/strlcat.o
lib/.nfs75C/.libs/getopt_long.o
lib/.nfs75C/.libs/closefrom.o
lib/.nfs75C/.libs/mktemp.o
lib/.nfs75C/.libs/snprintf.o
lib/.nfs75C/.libs/strtonum.o
lib/.nfs75C/.libs/sha2.o
lib/.nfs75C/.libs/vsyslog.o
lib/.nfs75C/.libs/sig2str.o
lib/.nfs75C/.libs/signame.o
lib/.nfs75C/.libs/libsudo_util.so.0.0.0
lib/.nfs75C/.libs/libsudo_util.so.0
lib/.nfs75C/.libs/libsudo_util.so
lib/.nfs75C/.libs/libsudo_util.lai
lib/.nfs75C/.libs/libsudo_util.la
lib/.nfs75C/.libs/atofoo_test.o
lib/.nfs75C/.libs/atofoo_test
lib/.nfs75C/.libs/conf_test.o
lib/.nfs75C/.libs/conf_test
lib/.nfs75C/.libs/hltq_test.o
lib/.nfs75C/.libs/hltq_test
lib/.nfs75C/.libs/parseln_test.o
lib/.nfs75C/.libs/parseln_test
lib/.nfs75C/.libs/progname_test.o
lib/.nfs75C/.libs/strsplit_test.o
lib/.nfs75C/.libs/strsplit_test
lib/.nfs75C/.libs/parse_gids_test.o
lib/.nfs75C/.libs/parse_gids_test
lib/.nfs75C/.libs/fnm_test.o
lib/.nfs75C/.libs/fnm_test
lib/.nfs75C/.libs/mktemp_test.o
lib/.nfs75C/.libs/mktemp_test
lib/.nfs75C/.libs/vsyslog_test.o
lib/.nfs75C/.libs/vsyslog_test
lib/.nfs75C/.libs/lt-parse_gids_test
lib/.nfs75C/.libs/lt-strsplit_test
lib/.nfs75C/.libs/lt-fnm_test
lib/.nfs75C/.libs/lt-mktemp_test
lib/.nfs75C/.libs/lt-atofoo_test
lib/.nfs75C/.libs/lt-hltq_test
lib/.nfs75C/.libs/lt-vsyslog_test
lib/.nfs75C/setgroups.lo
lib/.nfs75C/event.lo
lib/.nfs75C/fatal.lo
lib/.nfs75C/key_val.lo
lib/.nfs75C/gettime.lo
lib/.nfs75C/gethostname.lo
lib/.nfs75C/gidlist.lo
lib/.nfs75C/lbuf.lo
lib/.nfs75C/locking.lo
lib/.nfs75C/parseln.lo
lib/.nfs75C/progname.lo
lib/.nfs75C/mksigname
lib/.nfs75C/secure_path.lo
lib/.nfs75C/strsplit.lo
lib/.nfs75C/strtobool.lo
lib/.nfs75C/strtoid.lo
lib/.nfs75C/strtomode.lo
lib/.nfs75C/sudo_conf.lo
lib/.nfs75C/sudo_debug.lo
lib/.nfs75C/sudo_dso.lo
lib/.nfs75C/term.lo
lib/.nfs75C/ttysize.lo
lib/.nfs75C/aix.lo
lib/.nfs75C/event_poll.lo
lib/.nfs75C/getgrouplist.lo
lib/.nfs75C/reallocarray.lo
lib/.nfs75C/utimens.lo
lib/.nfs75C/fnmatch.lo
lib/.nfs75C/memrchr.lo
lib/.nfs75C/pipe2.lo
lib/.nfs75C/pw_dup.lo
lib/.nfs75C/strlcpy.lo
lib/.nfs75C/strlcat.lo
lib/.nfs75C/getopt_long.lo
lib/.nfs75C/closefrom.lo
lib/.nfs75C/mktemp.lo
lib/.nfs75C/snprintf.lo
lib/.nfs75C/strtonum.lo
lib/.nfs75C/sha2.lo
lib/.nfs75C/vsyslog.lo
lib/.nfs75C/sig2str.lo
lib/.nfs75C/signame.c
lib/.nfs75C/atofoo_test
lib/.nfs75C/signame.lo
lib/.nfs75C/libsudo_util.la
lib/.nfs75C/conf_test
lib/.nfs75C/atofoo_test.lo
lib/.nfs75C/conf_test.lo
lib/.nfs75C/hltq_test
lib/.nfs75C/hltq_test.lo
lib/.nfs75C/parseln_test
lib/.nfs75C/parseln_test.lo
lib/.nfs75C/progname_test
lib/.nfs75C/progname_test.lo
lib/.nfs75C/strsplit_test
lib/.nfs75C/strsplit_test.lo
lib/.nfs75C/parse_gids_test
lib/.nfs75C/parse_gids_test.lo
lib/.nfs75C/fnm_test
lib/.nfs75C/fnm_test.lo
lib/.nfs75C/mktemp_test
lib/.nfs75C/mktemp_test.lo
lib/.nfs75C/vsyslog_test
lib/.nfs75C/vsyslog_test.lo
lib/.nfs75C/regress
lib/.nfs75C/regress/sudo_conf
lib/.nfs75C/regress/sudo_conf/test1.out
lib/.nfs75C/regress/sudo_conf/test1.err

p.s. - sometimes, when I run rm -rf ./adirectory it fails because a 
library is still open (but not linked, aka link-count = zero). I do not 
see it, but only after I run slibclean (shared library clean) is the 
'open file' removed from memory, and now I can rmdir or rm -rf 
successfully. I mention this because - imho - it is not possible to 
'remove' a directory (on NFS or local) when shared libraries are open -- 
loaded in memory.

So, thanks - I have an idea of where to look.


p.p.s. after

michael at x071:[/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1/lib]ls -l
total 0
lrwxrwxrwx 1 root felt 7 Dec 10 11:37 util -> .nfs75C
michael at x071:[/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1/lib]ls -la
total 12
drwxrwsr-x  3 michael felt 4096 Dec 10 11:37 .
drwxrws--- 12 michael felt 4096 Dec  9 09:44 ..
drwxrwsr-x  4 michael felt 4096 Dec  9 13:03 .nfs75C
lrwxrwxrwx  1 root    felt    7 Dec 10 11:37 util -> .nfs75C

make runs again.

michael at x071:[/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1]make
         for d in lib/util  plugins/group_file plugins/sudoers 
plugins/system_group src include doc examples; do  (cd $d && exec make 
all) && continue;  exit $?;  done
Target "all" is up to date.
Target "all" is up to date.
Target "all" is up to date.
Target "all" is up to date.
Target "all" is up to date.
Target "all" is up to date.
Target "all" is up to date.
Target "all" is up to date.

And - make check - fails again:

michael at x071:[/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1]make check
         for d in lib/util  plugins/group_file plugins/sudoers 
plugins/system_group src include doc examples; do  (cd $d && exec make 
check) && continue;  exit $?;  done
parse_gids_test: 6 tests run, 0 errors, 100% success rate
strsplit_test: 29 tests run, 0 errors, 100% success rate
fnmatch: 6 tests run, 0 errors, 100% success rate
Could not load program 
/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1/lib/.nfs38C/.libs/lt-atofoo_test:
         Dependent module libsudo_util.so could not be loaded.
Could not load module libsudo_util.so.
System error: No such file or directory
Could not load program 
/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1/lib/.nfs38C/.libs/lt-hltq_test:
         Dependent module libsudo_util.so could not be loaded.
Could not load module libsudo_util.so.
System error: No such file or directory
Could not load program 
/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1/lib/.nfs38C/.libs/lt-vsyslog_test:
         Dependent module libsudo_util.so could not be loaded.
Could not load module libsudo_util.so.
System error: No such file or directory
make: The error code from the last command is 1.


Stop.
make: The error code from the last command is 2.


Stop.
michael at x071:[/data/prj/aixtools/sudo/sudo-rbac-1.8.22b1]ls -la lib
total 12
drwxrwsr-x  3 michael felt 4096 Dec 10 11:39 .
drwxrws--- 12 michael felt 4096 Dec  9 09:44 ..
drwxrwsr-x  4 michael felt 4096 Dec 10 11:39 .nfs38C
lrwxrwxrwx  1 root    felt    7 Dec 10 11:37 util -> .nfs75C



More information about the sudo-workers mailing list