On Mon, Nov 8, 2021 at 12:19 PM Steve Dickson <steved@xxxxxxxxxx> wrote: > > > > On 11/8/21 12:15, Steve Dickson wrote: > > Hello, > > > > On 10/28/21 14:35, schumaker.anna@xxxxxxxxx wrote: > >> From: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> > >> > >> And create a shell script that launches the python program from the > >> $(libdir) > >> > >> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> > >> --- > >> configure.ac | 1 + > >> tools/Makefile.am | 2 +- > >> tools/rpcctl/Makefile.am | 20 ++++++++++++++++++++ > >> tools/rpcctl/rpcctl | 5 +++++ > >> 4 files changed, 27 insertions(+), 1 deletion(-) > >> create mode 100644 tools/rpcctl/Makefile.am > >> create mode 100644 tools/rpcctl/rpcctl > >> > >> diff --git a/configure.ac b/configure.ac > >> index 93626d62be40..dcd3be0c8a8b 100644 > >> --- a/configure.ac > >> +++ b/configure.ac > >> @@ -737,6 +737,7 @@ AC_CONFIG_FILES([ > >> tools/rpcgen/Makefile > >> tools/mountstats/Makefile > >> tools/nfs-iostat/Makefile > >> + tools/rpcctl/Makefile > >> tools/nfsdclnts/Makefile > >> tools/nfsconf/Makefile > >> tools/nfsdclddb/Makefile > >> diff --git a/tools/Makefile.am b/tools/Makefile.am > >> index 9b4b0803db39..c3feabbec681 100644 > >> --- a/tools/Makefile.am > >> +++ b/tools/Makefile.am > >> @@ -12,6 +12,6 @@ if CONFIG_NFSDCLD > >> OPTDIRS += nfsdclddb > >> endif > >> -SUBDIRS = locktest rpcdebug nlmtest mountstats nfs-iostat nfsdclnts > >> $(OPTDIRS) > >> +SUBDIRS = locktest rpcdebug nlmtest mountstats nfs-iostat rpcctl > >> nfsdclnts $(OPTDIRS) > >> MAINTAINERCLEANFILES = Makefile.in > >> diff --git a/tools/rpcctl/Makefile.am b/tools/rpcctl/Makefile.am > >> new file mode 100644 > >> index 000000000000..f4237dbc89e5 > >> --- /dev/null > >> +++ b/tools/rpcctl/Makefile.am > >> @@ -0,0 +1,20 @@ > >> +## Process this file with automake to produce Makefile.in > >> +PYTHON_FILES = rpcctl.py client.py switch.py sysfs.py xprt.py > >> +tooldir = $(DESTDIR)$(libdir)/rpcctl > >> + > >> +man8_MANS = rpcctl.man > >> + > >> +all-local: $(PYTHON_FILES) > >> + > >> +install-data-hook: > >> + mkdir -p $(tooldir) > >> + for f in $(PYTHON_FILES) ; do \ > >> + $(INSTALL) -m 644 $$f $(tooldir)/$$f ; \ > >> + done > >> + chmod +x $(tooldir)/rpcctl.py > >> + $(INSTALL) -m 755 rpcctl $(DESTDIR)$(sbindir)/rpcctl > >> + sed -i "s|LIBDIR=.|LIBDIR=$(tooldir)|" $(DESTDIR)$(sbindir)/rpcctl > > A couple issues here.... > > > > * Changing a file after installed breaks rpm process since it > > changes the checksum of the file so the process thinks it is > > an undeclared file. > > > > * Why is the $(sbindir)/rpcctl wrapper even needed? > > Why not simply put the code that is in $(tooldir)/rpcctl.py > > in the /usr/sbin/rpcctl? > > > > * It appears the proper place to put .py modules is > > under /usr/lib/python-<ver>/rpcctl not /usr/lib64/rpcctl > Correction: under /usr/lib/python-<ver>/site-packages/ Sure > > > > Finally when I manually set LIBDIR=/usr/lib64/rpcctl in > > the /usr/sbin/rpcctl wrapper all I got was > > # rpcctl --help > > ERROR: sysfs is not mounted > > > > So I know it was seeing sys.py module but not seeing > > /sys/kernel/sunrpc/ which does exist. > > > > # ls /sys/kernel/sunrpc/ > > ./ ../ rpc-clients/ xprt-switches/ > > > > So my suggestion is get rid of that wrapper > > and look under /usr/lib/python-<ver>/rpcctl > The same correction here... under > /usr/lib/python-<ver>/site-packages/rpcctl Okay, I will try all that. Thanks for looking it over! Anna > > steved. > > for the .py modules. > > > > steved. > > > >> + > >> + > >> + > >> +MAINTAINERCLEANFILES=Makefile.in > >> diff --git a/tools/rpcctl/rpcctl b/tools/rpcctl/rpcctl > >> new file mode 100644 > >> index 000000000000..4cc35e1ea3f9 > >> --- /dev/null > >> +++ b/tools/rpcctl/rpcctl > >> @@ -0,0 +1,5 @@ > >> +#!/bin/bash > >> +LIBDIR=. > >> +PYTHON3=/usr/bin/python > >> + > >> +exec $PYTHON3 $LIBDIR/rpcctl.py $* > >> >