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
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.18.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.
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
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:
- Copy the rpm into rocky8-extras or rocky9-extras repo
- Run
createrepo - Run
gpg --detach-sign --armor repodata/repomd.xmlto sign the repository contents
For Ubuntu packages:
-
Upload the package to packages.archivematica.org
-
Go to the repository folder ( mnt/st-sites-pub/packages.archivematica.org/1.7.x/ubuntu-externals )
-
Add the packages with
reprepro includedeb trusty /path/to/packages/*.deb reprepro includedsc trusty /path/to/packages/*.deb
This needs to be repeated for each Ubuntu release and package. More info about
managing Ubuntu repositories using reprepro can be found in the
Archivematica release process documentation.
See the tests/archivematica directory for more details.