Generating RPMs for XrootD/XrdCeph

XrootD and XrdCeph are compiled seperately to generate their respective rpms:

Prerequisites (SL7): devtoolset-9

See:
https://wiki.e-science.cclrc.ac.uk/web1/bin/view/EScienceInternal/NoAquilonXrootdInstallationAndSetup

or

Manual installation for XrootD development

XrootD

  1. git clone https://github.com/stfc/xrootd.git -b <your_branch>

  2. cd xrootd/packaging

  3. ./makesrpm.sh --version <version no.(e.g. 5.5.4-5)> --define "_with_python3 1" --define "_with_tests 1" --define "_with_scitokens 1"  -D "dist .el<os version(7/8/9)>"

  4. cd to the output directory (said in the last ~5 lines of the output)

  5. mkdir RPMS

  6. rpmbuild --rebuild --define "_rpmdir RPMS/" --define "_with_python3 1" --define "_with_scitokens 1"  --define "_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" -D "dist .el7" *.src.rpm

XrdCeph

  1. git clone GitHub - stfc/xrootd: The XRootD central repository -b <your_branch>

  2. cd xrootd-ceph/packaging

  3. ./makesrpm.sh --output <outputdir> --version <version>

  4. cd <outputdir>

  5. rpm2cpio xrootd-ceph-<version>.el7.src.rpm | cpio -imdv --no-absolute-filenames

    1. If needing to change the name of the rpm, edit xrootd-ceph.spec, line 41 (under package definition) and set the name to your desired one

  6. rpmbuild -ba xrootd-ceph.spec --define "_rpmdir <output dir>"