How to configure the epkg tool

Preferences for epkg can be defined in the configuration file /etc/epkg/settings.ini1

Example:

Copy
[Signing]
keyPath=/etc/epkg/code-signing-key.pem
certificatePath=/etc/epkg/code-signing-cert.pem

[Global]
DevelopmentContainer=/home/containers/
Blocksize=1024
SizeOffsetInPercent=2
UniconCopyright=Copyright (C) %currentYear% SampleTec. All rights reserved.
Proxy=http://proxy.int.sampletec-01.com:3800

[WebElias]
Url=https://elias.dev.sampletec-01.com

DevelopmentContainer

It is important to define the DevelopmentContainer. This container is needed as a destination for the Install module. If a package has not changed, the old FPM is used from there to create the .zip file.

[Global]
DevelopmentContainer=<container path>

Signing

A self-signed certificate is automatically created during installation and specified in the configuration file.2 To be able to sign packages in earlier versions,3 you need to provide the certificate yourself and specify the certificate file and key file.

[Signing]
keyPath=<path and file name>
certificatePath=<path and file name>

Debian repositories as sources

Using Debian repositories is disabled by default.

If you want epkg to use packages from Debian repositories as sources for EPMs and FPMs, the repositories need to be configured in a specific configuration file.

The .ini file has the following structure:

[source<i>]
name=
base=
architecture=
source<j>=

source<i> Each section is a repository which can be referenced.

<i> needs to be incremented for each new section, start value is 0.

name The name of this repository is used as key for other references
base A repository can be based on another repository. This means that your repository includes the Debian sources of the base repository.

Use the name of the base repository as value.

architecture Debian architecture to be used in the form of a comma-separated list of architects

Example: i386,amd64

source<j> Can be included n times within a section

<j> needs to be incremented for each new value starting with 1.

Each source represents a Debian source to look for packages and has the following format:

<priority> deb <repository URL> <distribution> <component>

priorityapt Pin-Priority, can be used to give priority to one source over another
repository URLURL of the Debian repository
distributionName of the distribution
componentSpace-separated list of components

Example:

Copy
[source0]
name=rp6.0.0
architecture=i386,amd64
source1=501 deb http://repo.int.unicon-ka.de/rp6 rp6-mirror main restricted
universe multiverse
source2=502 deb http://repo.int.unicon-ka.de/rp6 rp6.0.0 main backports
source3=503 deb http://repo.int.unicon-ka.de/rp6 rp6.0.0-staging main backports

[source1]
name=rp6.1.0
architecture=i386,amd64
base=rp6.0.0
source1=504 deb http://repo.int.unicon-ka.de/rp6 rp6.1.0 main backports
source2=505 deb http://repo.int.unicon-ka.de/rp6 rp6.1.0-staging main backports

[source2]
name=rp6.2.0
architecture=i386,amd64
base=rp6.1.0
source1=506 deb http://repo.int.unicon-ka.de/rp6 rp6.2.0 main backports
source2=507 deb http://repo.int.unicon-ka.de/rp6 rp6.2.0-staging main backports

[source3]
name=rp6.2.100
architecture=i386,amd64
base=rp6.2.0
source1=508 deb http://repo.int.unicon-ka.de/rp6 rp6.2.100 main backports
source2=509 deb http://repo.int.unicon-ka.de/rp6 rp6.2.100-staging main backports

[source4]
name=rp6.2.200
architecture=i386,amd64
base=rp6.2.0
source1=510 deb http://repo.int.unicon-ka.de/rp6 rp6.2.200 main backports
source2=511 deb http://repo.int.unicon-ka.de/rp6 rp6.2.200-staging main backports

[source5]
name=rp6.3.0
architecture=amd64,i386
base=rp6.2.0
source1=512 deb http://repo.int.unicon-ka.de/rp6 rp6.3.0 main backports
source2=513 deb http://repo.int.unicon-ka.de/rp6 rp6.3.0-staging main backports

[source6]
name=rp6.4.0
architecture=amd64,i386
base=rp6.3.0
source1=514 deb http://repo.int.unicon-ka.de/rp6 rp6.4.0 main backports
source2=515 deb http://repo.int.unicon-ka.de/rp6 rp6.4.0-staging main backports