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.

Forumhttp://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

DebianRHELOpenSUSE
python-nosepython-nosepython-nose
python-beautifulsouppython-beautifulsouppython-beautifulsoup
python-pexpectpexpectpython-pexpect
python-defusedxmlpython2-defusedxmlpython-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.