artefactual-labs / am-packbuild

Archivematica package building scripts
GNU General Public License v2.0
4 stars 6 forks source link

Build packages

You need Docker installed and running.

Rocky Linux 9 packages:

make -C rpms/EL9

This also builds a local repository that you can use later from rpms/EL9-testing.

Ubuntu 22.04 Jammy packages:

make -C debs/jammy

Using parameters

Most makefiles support parameters in the form of environment variables. They may be a bit different between packages, but the most common are BRANCH, VERSION and RELEASE.

So in order to build a specific branch or version, this command can be used from the folder of the package we want to build:

make BRANCH=qa/1.x VERSION=1.16.0 RELEASE=rc5

Keep in mind that the makefiles are a bit recursive, they will invoke Docker, mount the current folder, and run the deb-build target.

Development

Some makefiles have a dev target, that give you a shell inside of the Docker container used to build packages. When you are inside the container, the command needed to build the packages is:

make deb-build

Repositories management

This repo generates Archivematica packages, but also packages that need to be installed in order for Archivematica to run. They are placed in the ubuntu-externals, rocky8-extras or rocky9-extras repos.

In order to add a package to a repo, once it's built and uploaded to a temporary folder at https://packages.archivematica.org, the steps are:

For Rocky Linux/RedHat packages:

For Ubuntu packages:

This needs to be repeated for each Ubuntu release and package. More info about managing Ubuntu repositories using reprepro can be found here.

Test package

See the tests/archivematica directory for more details.