Skip to content

jraddaoui/am-packbuild

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build packages

You need Docker installed and running.

CentOS 7 packages:

make -C rpm

This also builds a local repository that you can use later from rpm-testing.

We don't have a single target yet for Xenial/Trusty packages but you can build the packages individually, for example:

make -C debs/xenial/archivematica
make -C debs/xenial/archivematica-storage-service

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.7.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-extras or centos-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 CentOS/RedHat packages:

  • Copy the rpm into centos-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

CentOS 7 packages: see the ./rpm-testing directory for more details.

Ubuntu packages: this is work in progress (see #127).

About

Archivematica package building scripts

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Makefile 45.3%
  • Shell 39.2%
  • Dockerfile 8.5%
  • Perl 5.0%
  • Ruby 0.9%
  • Elixir 0.8%
  • Python 0.3%