Hi!
I dived into packaging LNST for Fedora. Right now I'm exploring the
standard python way of installing packages through distutils (setup.py).
There's a couple of problems that we need to address before we proceed
to the packaging itself.
Installation of a python program works like this:
* packages (in our case Common, NetConfig, NetTest etc.) go to
/usr/lib/python2.7/site-packages/lnst/
* scripts (in our case nettestctl.py, nettestslave.py, netconfig.py)
go directly to
/usr/bin/
* data files (in our case test_tools/*, lnst.conf.example etc.) go
to wherever we want, so probably
/usr/share/lnst/
So we need to remove any fixed paths from the code. This will be
necessary at least for the multicast test suite. We already discussed
it.
We will probably need the system-wide configuration anyway to tell
LNST where to look for the /usr/share data (because the installation
can be performed with a different prefix).
We should also think about removing the '.py' from the executables,
since they will be available system-wide from $PATH.
Another problem is with remote execution of nettestslave.py. Currently,
LNST wraps up everything it has and sends itself over to all the slave
machines. This will not be possible any more since it will be scattered
all over the system. The executable doesn't know where are the packages
loaded from (since they're in sys.path).
We will probably need to create the archive during the installation and
keep it in /usr/share/lnst.
We should definitely discuss this at some meeting. Maybe tomorrow?
-Radek
Show replies by date