Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

 How to build an rpm package for PBS Pro 14.0.0 (Locally and on OBS)

Building an rpm Package Locally on CentOs 7

Prerequisites

1. Source (mainline)

2. Dependencies installed on Centos 7

3. RPM development tree

Steps to Create an rpm Development Tree (if it does not exist)

1. Go to home directory

2. mkdir            rpmbuild

3. cd                 rpmbuild

4. mkdir            BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS

Installing Dependencies

Below is the list of dependencies specified in the "pbspro.spec" file:

gcc
autoconf
automake
hwloc-devel
libX11-devel
libXt-devel
libedit-devel
libical-devel
ncurses-devel
perl
postgresql-devel
python-devel >= 2.6
python-devel < 3.0
tcl-devel
tk-devel
swig
expat-devel (if suse then libexpat-devel)
openssl-devel (if suse then libopenssl-devel)

  • We can install the dependencies specified in the "pbspro.spec" file using the command below:
    yum-builder pbspro.spec 
    or 
    yum install gcc autoconf automake hwloc-devel libX11-devel libXt-devel libedit-devel libical-devel ncurses-devel perl postgresql-devel python-devel tcl-devel tk-devel swig expat-devel openssl-devel

    Note: If any error in installing any dependency we can try installing dependencies individually using below command:
    yum   install   "dependency name"
    example : yum   install   postgresql

Source directory and creation of tar.gz file

  1. Go to pbs-13.0.800 directory

      2. change directory to src/pbs

[maltesh@maltesh pbs-13.0.800]# cd src/pbs

[maltesh@maltesh pbs]# ls
aclocal.m4 autogen.sh autom4te.cache buildutils config.log configure configure.ac COPYRIGHT doc INSTALL LICENSE m4 Makefile.am Makefile.in pbs_startup README src win_configure

      3. run autogen.sh script.

./autogen.sh

(generates configure script and makefile templates)

4. run ./configure

5. run the below command

make dist

make dist generates .tar.gz (pbs-13.0.800.tar.gz) file in the same directory.

6.move the pbs-13.0.800.tar.gz file to ~/rpmbuild/SOURCES

7. move pbs-13.0.800/src/pbspro.spec file to  ~/rpmbuild/SPECS

8. change directory to ~/rpmbuild/SPECS

9. Run the below command

rpmbuild -ba pbspro.spec

This command will generate the rpm packages namely  pbspro-client-13.0.800-0.x86_64.rpm, pbspro-debuginfo-13.0.800-0.x86_64.rpm,

pbspro-execution-13.0.800-0.x86_64.rpm, pbspro-server-13.0.800-0.x86_64.rpm  in ~/rpmbuild/RPMS dirctory.


Build & test an rpm package locally on centos7

1. get pbs/pbspro

2. cd pbs/pbspro

3. yum -y update

4. yum -y install yum-utils epel-release rpmdevtools   (NOTE: epel-release is only require if you want to install PTL see below)

5. rpmdev-setuptree

6. yum-builddep -y ./pbspro.spec

7. cd pbs

8. ./autogen.sh

9. ./configure

10. make dist

11. cp pbspro-*.tar.gz ~/rpmbuild/SOURCES/

12. cp ../pbspro.spec ~/rpmbuild/SPECS/

13. rpmbuild -bb ../pbspro.spec   (Build is complete on these step You can find RPMs in ~/rpmbuild/RPMS/x86_64/)

(Below steps are to run PTL)

14. yum -y install /root/rpmbuild/RPMS/x86_64/pbspro-server-*.x86_64.rpm

15. /etc/init.d/pbs start

16. yum -y install python-pip sudo which net-tools

17. cd test/fw

18. pip install -r requirements.txt .

19. pbs_config --make-ug

20. cd ../tests

21. pbs_benchpress -l INFOCLI2 -o ptl.txt

One pbs_benchpress completes you can find PTL log in ptl.txt


Build & test rpm package  locally on Opensuse 13.2

Here is steps for OSS build on local machine (OpenSuse 13.2):

1. get pbs/pbspro

2. cd pbs/pbspro

3. zypper -n ar -f -G http://download.opensuse.org/repositories/devel:/tools/openSUSE_13.2/devel:tools.repo

4. zypper -n ref

5. zypper -n install rpmdevtools python-xml  (NOTE: without python-xml PBS compilation will fail while generating *.c from *.xml for all attr of PBS)

6. rpmdev-setuptree

7. zypper -n install $(rpmspec --buildrequires -q pbspro.spec)  (NOTE: ignore any warning)

8. cd pbs

9. ./autogen.sh

10. ./configure

11. make dist

12. cp pbspro-*.tar.gz ~/rpmbuild/SOURCES/

13. cp ../pbspro.spec ~/rpmbuild/SPECS/

14. rpmbuild -bb ../pbspro.spec   (Build is complete on these step You can find RPMs in ~/rpmbuild/RPMS/x86_64/)

(Below steps are to run PTL)

15. zypper -n install /root/rpmbuild/RPMS/x86_64/pbspro-server-*.x86_64.rpm

16. /etc/init.d/pbs start

17. zypper -n install python-pip sudo which net-tools

18. cd test/fw

19. pip install -r requirements.txt .

20. pbs_config --make-ug

21. cd ../tests

22. pbs_benchpress -l INFOCLI2 -o ptl.txt

One pbs_benchpress completes you can find PTL log in ptl.txt

 


 Building an rpm Package on OBS

OBS: The Open Build Service (OBS) is a generic system to build and distribute binary packages from sources in an automatic, consistent, and reproducible way.

Prerequisites

1.Source (13.0.800).

Generating the rpm

1. Follow the same above steps 1-5 to generate .tar.gz file.

2. Log in to the OBS system using the link below:

https://172.16.77.234/package/show/home:subhasisb2003/pbs

 

3. Under Source Files, add pbspro.spec and pbspro-13.0.800.tar.gz files (if the files exist, delete them using delete option  ).

4. The rpm build starts automatically after adding .spec and .tar.gz files. We can see the Build Results column for the status of rpm build.

5. After the status becomes "succeeded" we can download the .rpm packages from the link below:

http://172.16.77.234:82/

6. Go to Home/Subhasis2003/CentOs_7/x86_64/  which displays the download link for rpm packages. Clicking on these downloads the respective  rpm packages.

pbspro-client-13.0.800-50.1.x86_64.rpm 2016-03-11 19:11 1.5M
pbspro-debuginfo-13.0.800-50.1.x86_64.rpm 2016-03-11 19:11 5.4M
pbspro-execution-13.0.800-50.1.x86_64.rpm 2016-03-11 19:11 1.9M
pbspro-server-13.0.800-50.1.x86_64.rpm 2016-03-11 19:11 2.7M

    


Site Map


 

  • No labels