PTL package design
Objective:
There is a need for ptl to be packaged in a way, such that it is easy to install and use along with the pbs packages.
The design document is an approach for rpm packaging of ptl similar to pbs packaging.
Forum: http://community.pbspro.org/t/proposing-method-for-ptl-packaging/1168
Package name: pbspro-ptl-{pbs_version}.{arch_type}.rpm
example if pbs version is 19.2.0.20180904081234 on x86_64 architecture machine, then package name will be pbspro-ptl-19.2.0.20180904081234.x86_64.rpm
Targeted platforms: All Linux platforms. Alien will be used to convert packages from rpm to deb.
Generating Package: Package will be created through pbspro.spec file as is the case with pbs packages, only an extra ptl package will be generated along with it.
Package contents:Package will contain test folder of pbspro repository, which includes fw folder containing the setup and commands for ptl, and tests folder which will contain all predefined test cases for ptl.
Intended package behaviour: Installing the package will install ptl commands and predefined test cases. So that the user can use ptl test cases without needing to be in the same directory.
Enabling PTL: To create ptl package users must enable it in configure script using the command
./configure --enable-ptl
Package dependencies: The following prerequisites will be present in the spec file, subject to enabling of ptl in configure:
Python >=2.6 && < 3.0
Debian | RHEL | OpenSUSE |
---|---|---|
python-nose | python-nose | python-nose |
python-beautifulsoup | python-beautifulsoup | python-beautifulsoup |
python-pexpect | pexpect | python-pexpect |
python-defusedxml | python2-defusedxml | python-defusedxml |
**Some of the above mentioned dependencies will require Extra packages for enterprise linux (EPEL) repository installed.
Install command:
rpm -i ptl_{pbs_version}.rpm
or
dpkg -i ptl_{pbs_version}.deb
Custom directory:
Users will be able to use prefix command for custom directory
rpm --prefix=/path/to/dir
Default install directory:
/opt/ptl/
|
|bin-> will contain the ptl commands
|
|lib-> will have the utils and libraries used by ptl
|
|tests-> will contain the test cases
Uninstall:
rpm -e ptl_{pbs_version}.rpm
or
dpkg -P ptl_{pbs_version}.deb
This should remove all files in the /opt/ptl directory.