The dist directory contains files & scripts for
building distributable packages.
RPM packaging
Tools for making rpms are in dist/rpm. To build, go
to that directory and run one of the two shell scripts.
- setup-here.sh requires one argument, a version number.
It builds an appropriate source tarball,modifies the spec file
and sets a user config file (~/.rpmmacros) to use this directory.
- just-prep.sh is for users that already have their own
rpm build environment. It also takes one argument, a version number,
and simply produces an appropriate source tarball and spec file for
use elsewhere.
The build doesn't have any requirements other than rpmbuild itself (note:
if you have trouble finding it, the OS package containing rpmbuild
is often hyphenated as rpm-build.) The whole procedure looks like this
$ ./setup-here.sh
$ rpmbuild -ba SPECS/it-core.spec
This creates four RPMs. Paths given below are typical and may vary on some
distributions:
- it-core contains the license (/usr/share/it-core/license) and
an apache config directive to point http://localhost/it-core at
/usr/share/it-core. This directory is chosen to comply with Red Hat
packaging guidelines for web applications, should IT CORE ever be submitted
for formal inclusion in a distribution.
- it-core-doc contains the documentation and installs to
/usr/share/it-core/documentation
- it-core-fannie contains the backend and installs to
/usr/share/it-core/fannie. This package also assigns appropriate config
file permissions.
- it-core-is4c-nf contains the front-end and installs to
/usr/share/it-core/is4c-nf. This package also assigns appropriate config
file permissions.
All RPMs require PHP 5+, Apache 2+, MySQL 5+, and php-mysql. The subpackages
each require the main it-core but are otherwise independent.
Installation would look like this:
$ cd BUILD/noarch
$ sudo rpm -Uvh it-core-<version>.rpm
$ sudo /etc/init.d/httpd restart
$ sudo rpm -Uvh it-core-doc-<version>.rpm
$ sudo rpm -Uvh it-core-fannie-<version>.rpm
$ sudo rpm -Uvh it-core-is4c-nf-<version>.rpm
Any of the last three lines could be omitted, although omitting all three would
be kind of silly.
DEB Packaging
The dist/deb contains a single alien-based script for converting .rpm files
to .deb files. To create deb packges:
- Set up a dkpg+alien environment ($deity help you if you're on an rpm-based system
and have to do this from source packages)
- Build RPMs under dist/rpm as described above.
- Go to dist/deb and run the make-debs.sh script. This script requires
both a version number and a build number (e.g., if the RPM is it-core-0.1.0-1.noarch.rpm,
run make-debs.sh 0.1.0 1).