Improvements/CentOS-RedHat support

From Archivematica
< Improvements
Revision as of 11:43, 7 October 2015 by Jhs (talk | contribs) (Created page with " == User Story: == As a systems administrator, I would like to be able to run Archivematica on an rpm based version of linux like CentOS or RedHat. == Analysis: == === The...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

User Story:

As a systems administrator, I would like to be able to run Archivematica on an rpm based version of linux like CentOS or RedHat.

Analysis:

The Current Situation

Currently, Archivematica only works on LTS versions of Ubuntu (14.04 and 12.04). This is not due to any specific limitations in the Archivematica codebase, it is entirely a matter of packaging and bundling the large number of dependencies required in an Archivematica installation.

Archivematica is comprised of a set of 5 separate packages, written primarily in python. Artefactual currently builds .deb packages for Ubuntu of all 5 packages, and makes them available via launchpad (e.g, the most current stable version is at https://launchpad.net/~archivematica/+archive/ubuntu/1.4).

It is not necessary to use those .deb packages to install Archivematica. For example see these instructions for installing Archivematica using Ansible and Vagrant (https://wiki.archivematica.org/Getting_started#Installation). In that example, the 5 Archivematica packages are installed directly from github, as source, not from .deb packages. However, the longer list of external dependencies are still installed from .deb packages.

Some of those .deb packages are available in the standard Ubuntu repositories, like apache and mysql. Others, like jhove, are in the Ubuntu multiverse repository, which is not always enabled by default in Ubuntu, but is easy to enable. Others are either not available from Ubuntu repositories, or the versions available there are too old to work in Archivematica. For these packages, Artefactual has taken on the responsibility for building .deb packages, and hosting them on launchpad. There are several listed here for example https://launchpad.net/~archivematica/+archive/ubuntu/1.4, like bagit, bulk_extractor, ffmpeg and others.


RPM Support

This analysis is based on the use of CentOS/Redhat 7, for a port to CentOS 6, there would be more work than is outlined here.

In order to get Archivematica running on an rpm based linux distribution, a set of 5 rpm packages for the different Archivematica applications would need to be created. RPM's for about 30 different dependencies would also have to be created.

Archivematica Packages:

Archivematica Common Dashboard MCP Server MCP Client Archivematica Storage Service

optional (not all of these are currently being packaged as .debs): MCP rpc Client automation-tools archivematica-devtools

Other Open Source applications required in rpm packages for Archivematica:

  • atool
  • bagit
  • bulk_extractor
  • exiftool (repoforge has this, but we want to package a specific version)
  • ffmpeg
   * libasound2
   * jack
   * openjpeg - 1.5.x is packaged, might be new enough to avoid packaging
   * libraw1394 - we might be able to live without this
   * libvpx
  • fido
  • fits
  • gearman / python-gearman
  • jhove
  • mediainfo
  • nailgun / nailgun-client
  • nfs - should work without extra packages, but requires testing
  • python-elementtree
  • python-mimeparse
  • siegfried
   * go 1.4
  • sleuthkit
   * afflib
   * libbfio
   * libewf (version in repoforge is 3 years older)
  • tika
  • ufraw
  • unar
  • unidecode
  • unrar-free

All of the remaining required dependencies are either included in the stock RHEL/CentOS 7 repositories, or in the third-party Repoforge repository. (TODO: list which repo each dependency is maintained in).

Artefactual already produces Ubuntu packages for most of the packages listed here, and we have some tooling in place to automate some of this process. See: https://github.com/hakamine/am-packbuild for an example set of python scripts used to create Ubuntu packages for the 5 Archivematica packages. (TODO: move ubuntu packaging scripts to github).