Skip to content

artefactual-labs/am-packbuild

Folders and files

NameName
Last commit message
Last commit date
Jun 20, 2024
Oct 7, 2024
Jan 30, 2024
Oct 7, 2024
Oct 9, 2024
Jan 30, 2024
Oct 18, 2023
Oct 18, 2023
Oct 13, 2023
Jan 30, 2024
Oct 7, 2024
Jan 30, 2024
Oct 7, 2024

Repository files navigation

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.17.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:

  • Copy the rpm into rocky8-extras or rocky9-extras repo
  • Run createrepo
  • Run gpg --detach-sign --armor repodata/repomd.xml to 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 here.

Test package

See the tests/archivematica directory for more details.