manpages

slackrepo(8)slackrepo.conf(5)slackrepo.hint(5)

slackrepo.conf (5)

NAME

slackrepo.conf - repository configuration files for slackrepo

CONTENTS

Synopsis
Description
     Default repo ID and configuration directory
     Repository filestore locations
     Building packages
     Defaults for control arguments
     Calling gen_repos_files.sh
     Initial setup
     Environment variables
See Also

SYNOPSIS

/etc/slackrepo/slackrepo_ID.conf (where ID is a repository ID, for example, SBo)
~/.genreprc
~/.slackreporc

DESCRIPTION

slackrepo(8) reads configuration data from ~/.slackreporc and ~/.genreprc and /etc/slackrepo/slackrepo_ID.conf

These files contain assignments of configuration variables, one per line, in the form

NAME=VALUE

The files are 'sourced' by bash, so spaces are not permitted either side of '='. Lines starting with '#' and empty lines are ignored. Assigned values may optionally be enclosed in single or double quotes. The strings %REPO%, %SLACKVER% and %ARCH% are automatically replaced by the repo ID, Slackware version, and arch, respectively.

Any values specified in the configuration files are overridden by environment variables or control arguments on the slackrepo command line. Values specified in ~/.slackreporc and ~/.genreprc override values specified in /etc/slackrepo/slackrepo_ID.conf.

Note that all the examples below show the values that are set in the supplied configuration file for the SBo (SlackBuilds.org) repository ID.

    Default repo ID and configuration directory

The following configuration variables can be set only in ~/.slackreporc.

REPO The default repo ID. This determines the configuration file slackrepo_ID.conf from which other configuration variables will be read. For example:
REPO="SBo"
This variable can be set only in ~/.slackreporc, but can be overridden by the REPO environment variable or by the command line option '--repo=ID'.
CONFIGDIR The configuration directory. This specifies an alternative directory to be used instead of /etc/slackrepo to find the configuration files. For example:
CONFIGDIR="/etc/slackrepo"
This variable can be set only in ~/.slackreporc, but can be overridden by the CONFIGDIR environment variable.

    Repository filestore locations

The following configuration variables determine repository filestore locations. These variables can be set in ~/.slackreporc or /etc/slackrepo/slackrepo_ID.conf, or can be overridden by environment variables.

SBREPO Filestore location of the local SlackBuilds repository. For example:
SBREPO="/var/lib/slackrepo/%REPO%/slackbuilds"
SRCREPO
  Where to store cached sources. (You will need plenty of space.) For example:
SRCREPO="/var/lib/slackrepo/%REPO%/source"
PKGREPO
  Filestore location of the local package repository, i.e., where to store built packages. (You will need plenty of space.) For example:
PKGREPO="/var/lib/slackrepo/%REPO%/packages/%SLACKVER%/%ARCH%"
  If you intend to use the package repository with slackpkg+, you may wish to change this path or symlink it to a location accessible by a local web server (e.g., somewhere under /var/www/htdocs/).
PKGBACKUP
  Where to keep backups. (You will need plenty of space.) For example:
PKGBACKUP="/var/lib/slackrepo/%REPO%/backups/%SLACKVER%/%ARCH%"
  You can disable backups by commenting out or deleting this line.
HINTDIR Where to find hintfiles for this repository. For example:
HINTDIR="/etc/slackrepo/%REPO%/hintfiles"
DEFAULT_HINTDIR
  Where to find default hintfiles for this repository. For example:
DEFAULT_HINTDIR="/etc/slackrepo/%REPO%/default_hintfiles/%SLACKVER%"
  You can disable all the default hintfiles for this repository by commenting out or deleting this line.
LOGDIR Where to store log files, for example:
LOGDIR="/var/log/slackrepo/%REPO%"
DATABASE
  Where to keep the database for this repository, for example:
DATABASE="/var/lib/slackrepo/%REPO%/database_%REPO%.sqlite3"
TMP Where to store temporary files. (You will need plenty of space.) For example:
TMP="/tmp/%REPO%"

    Building packages

The following configuration variables affect the building of packages. These variables can be set in ~/.slackreporc or /etc/slackrepo/slackrepo_ID.conf, or can be overridden by environment variables.

NUMJOBS
  Number of make jobs to set in MAKEFLAGS (e.g., '-j2'). Leave blank to have this automatically determined as one more than the number of processors on the build host, for example:
NUMJOBS=''
ARCH Arch for built packages. Leave this blank to have the arch automatically determined by the build host, for example:
ARCH=''
TAG Tag for built packages, for example:
TAG='_SBo'
If you are publishing packages from SlackBuilds.org, please change SBo to something else (see SlackBuilds.org FAQ, item 20).
PKGTYPE
  Package compression type. This can be tgz (gzip compressed), txz (xz), tbz (bzip2), or tlz (lzma). For example:
PKGTYPE='tgz'

    Defaults for control arguments

The configuration variables QUIET, VERBOSE, VERY_VERBOSE, DRY_RUN, INSTALL, CHROOT, LINT, KEEP_TMP, COLOR and NICE set the defaults for slackrepo's command line control arguments. These variables can be set in ~/.slackreporc or /etc/slackrepo/slackrepo_ID.conf.

Examples:

VERBOSE='n'
VERY_VERBOSE='n'
DRY_RUN='n'
INSTALL='n'
CHROOT='n'
LINT='n'
KEEP_TMP='n'
COLOR='auto'
NICE='5'

    Calling gen_repos_files.sh

The following configuration variables relate to the optional use of gen_repos_files.sh. They can be set in ~/.slackreporc or /etc/slackrepo/slackrepo_ID.conf, or can be overridden by environment variables.

USE_GENREPOS
  Whether to use gen_repos_files.sh. For SBo, the value supplied is 0 (disabled). To enable it, change this to 1, for example:
USE_GENREPOS=0
REPOSROOT="$PKGREPO"
  Don't change this! it is needed so gen_repos_files.sh can find your package repository.
The following gen_repos_files.sh configuration variables can be set in ~/.genreprc, ~/.slackreporc, or /etc/slackrepo/slackrepo_ID.conf, or can be overridden by environment variables.
If USE_GENREPOS is enabled, you must review and set correct values for all these variables - the default values will not be sufficient.
REPOSOWNER
  Repository maintainer, for example:
REPOSOWNER="Local administrator <root@localhost>"
REPOSOWNERGPG
  The GPG key for the repository owner can contain a different string than the value of $REPOSOWNER . If you leave $REPOSOWNERGPG empty, the script will use the value you've set for $REPOSOWNER instead to search the GPG keyfile, for example:
REPOSOWNERGPG=""
DL_URL Under what URL is the repository accessible, for example:
DL_URL="http://localhost/pkgrepo/%REPO%/%SLACKVER%/%ARCH%"
RSS_TITLE
  The title of the generated RSS feed, for example:
RSS_TITLE="Local SlackBuild Packages"
RSS_ICON
  The logo picture used for the RSS feed, for example:
RSS_ICON="http://www.slackware.com/~alien/graphics/blueorb.png"
RSS_LINK
  The URL linked to when clicking on the logo, for example:
RSS_LINK="file://$REPOSROOT/ChangeLog.txt"
RSS_CLURL
  URL to the full ChangeLog.txt, for example:
RSS_CLURL="file://$REPOSROOT/ChangeLog.txt"
RSS_DESCRIPTION
  The descriptive text for the RSS feed, for example:
RSS_DESCRIPTION="Local SlackBuild Packages"
RSS_FEEDMAX
  Maximum number of RSS feed entries to display, for example:
RSS_FEEDMAX=15
RSS_UUID
  The RSS generator must use a unique feed identifier. Generate one for your feed by using the string returned by "uuidgen -t". Example:
RSS_UUID=""
GPGBIN Either use gpg or gpg2, for example:
GPGBIN="/usr/bin/gpg"
USE_GPGAGENT
  Optionally use gpg-agent to cache the gpg passphrase instead of letting the script keep it in the environment (note that if you define USE_GPGAGENT=1 but gpg-agent is not running, you will get prompted for a passphrase every single time gpg runs). For example:
USE_GPGAGENT=0
FOR_SLAPTGET
  Generate slack-requires, slack-suggests, and slack-conflicts lines in the metadata files by setting FOR_SLAPTGET to "1" — these are used by slapt-get. Example:
FOR_SLAPTGET=0
FOLLOW_SYMLINKS
  Follow symlinks in case the repository has symlinks like 14.0 -> 13.37 indicating that one package works for those two Slackware releases. If the script does not follow symlinks, then the symlinks will appear in the repository listing instead of the packages they point to. Example:
FOLLOW_SYMLINKS=1
REPO_SUBDIRS
  If the repository has separate package subdirectories (for separate Slackware releases or architectures) then define them here. Separate FILELIST.TXT, MANIFEST etc.. files will be created for all of them. Example:
REPO_SUBDIRS=""
REPO_EXCLUDES
  If you want to exclude certain directories or files from being included in the repository metadata, define them here (space-separated). Example:
REPO_EXCLUDES=".revision"

    Initial setup

The following configuration variables determine how the SlackBuilds repository will be created if it does not already exist. These variables are set in /etc/slackrepo/slackrepo_ID.conf. Normally, they are only used the first time that slackrepo is run.

INIT_GITCLONE
  The remote git repository to be cloned. For example:
INIT_GITCLONE='git://slackbuilds.org/slackbuilds'
INIT_GITBRANCH
  The local git branch to be created, tracking the remote branch of the same name. For example:
INIT_GITBRANCH='%SLACKVER%'

    Environment variables

The slackrepo configuration file can be a useful place to set environment variables for the build process. You can simply add export commands at the end of the configuration file.

For example, you can add the following commands to compile everything with clang instead of gcc (but please note, there are a few packages do not build correctly with clang).

export CC=clang
export CXX=clang++

SEE ALSO

slackrepo(8), slackrepo.hint(5), installpkg(8), upgradepkg(8), removepkg(8), pkgtool(8), slackpkg(8).


slackrepo-0.2.0 SLACKREPO.CONF (5) 2015-05-01