Re: [PATCH v5 9/9] rpcctl: Add installation to the Makefile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 $*
> >>
>



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux