RPM specs for EL6/7
Ruby Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
jetty
jvmctl
perl-MARC-Record
perl-Net-Z3950-ZOOM
simpleserver
yaz
README.md
bss.cfg
deploy-last-build.sh

README.md

This is a work in progress and really needs some better automation.

These are some specs for building RPMs of custom packages we use. These are generally for non-JVM software (Perl, C etc). If you're writing a Java webapp or library you should be using Maven and jettyctl.

Prerequisites for building

yum install -y mock rpm-build
sudo usermod -a -G mock $(whoami)
newgrp mock

sudo cp bss.cfg /etc/mock
sudo ln -s /etc/mock/{bss.cfg,default.cfg}

Note that bss.cfg just adds a our private yum repository, if you're not us then you'll need to tweak it.

Building a package

  • Run fetch_sources.sh for the package.
  • Copy the resulting tarball to ~/rpmbuild/SOURCES.
  • Run rpmbuild -bs whatever.spec.
  • Run mock --rebuild ~/rpmbuild/SRPMS/whatever-*.src.rpm.
  • RPMs and build logs end up in /var/lib/mock/epel-6-x86_64/result.

TODO

  • Figure out a scheme for naming git snapshot version (eg yaz-4.17.solr.20121108 or whatever).
  • Automate deploying to the yum repo (investigate if koji is relevant for us).