Unix/Linux Repositories

Revision as of 14:48, 29 May 2008 by Manus (Talk | contribs) (Added multiversion option)


This page describes how to configure the apt or yum to look for EiffelStudio packages. Additionally it also explains how to create the actual repositories.

Client configuration

APT (Debian)

For apt, run following commands as root:

echo "
deb http://www.eiffel.com/downloads/packages/deb ./
" >> /etc/apt/sources.list
apt-get update

To be able to download and install packages with Apt, the public key is requires with which the packages were signed. To import the key run this as root:

wget -q http://www.eiffel.com/downloads/packages/eiffelsoftware-key.gpg -O- | apt-key add -

After this typing apt-cache search eiffelstudio in your console should list a number of available packages for EiffelStudio.

Yum (RPM)

For yum its quite similar:

echo "
[base]
name=Eiffel Software
baseurl=http://www.eiffel.com/downloads/packages/yum
enabled=1
" >> /etc/yum.conf

Then yum search eiffelstudio should list the available packages.

Creating repositories

Note: for simplification, we will assume all packages are located in a single directory. This is because there are no distribution/release specific packages of EiffelStudio.

Requirements

For creating an Apt (Debian) repository, following packages are required:

  • dpkg-dev
  • apt-utils
  • gnupg (signing the packages)
apt-get install dpkg-dev apt-utils gnupg

For yum (RPM), only createrepo is necessary:

yum install yum-arch createrepo

Using tools

In both cases, copy all .deb/.rpm archives into an empty directory (use different directories for Debian/RPM).

To create the Apt repository, run following commands in the directory where the .deb archives are located:

dpkg-scanpackages -m . > Packages
gzip -c9 Packages > Packages.gz

apt-ftparchive release . > Release
gpg -abs --default-key $KEY -o Release.gpg Release

Note: the uncompressed Packages file is actually not needed for an online repository. However Apt does use the uncompressed version if your repository is located on a CD-ROM.


Again for Yum its a similar procedure:

createrepo .


Finally, copy all generated files together with the archives to the location of your repository (http://www.eiffel.com/downloads/packages/deb for the Apt files, respectively http://www.eiffel.com/downloads/packages/yum for the Yum files).

See also