Skip to main content

Build packages

Project description

DLRN builds and maintains yum repositories following OpenStack upstream commit streams. (DLRN is not an acronym or an abbreviation, and it can be pronounced “dee el arr en”.)

Documentation is available at http://dlrn.readthedocs.org/en/latest/

Setup

# yum install git createrepo python-virtualenv mock gcc \
              redhat-rpm-config rpmdevtools httpd libffi-devel \
              openssl-devel yum-utils

Add the user you intend to run as to the mock group and login again.

$ git clone https://github.com/softwarefactory-project/DLRN.git

If you want to serve the built packages and the status reports, enable the httpd service, and then either add a section in the server configuration to map a URL to the data directories, or create a symbolic link:

# systemctl start httpd
# cd /var/www/html
# ln -s <datadir>/repos .

Preparing

$ cd DLRN
$ virtualenv ../dlrn-venv
$ . ../dlrn-venv/bin/activate
$ pip install --upgrade pip
$ pip install -r requirements.txt
$ python setup.py develop

Edit projects.ini if needed.

Bootstrapping

Some of the projects require others to build. As a result, use the special option --order to build in the order computed from the BuildRequires and Requires fields of the spec files when you bootstrap your repository.

$ dlrn --order

When using this special option, a special variable repo_bootstrap is defined in the specs, with a value of 1. You can use this variable if needed, to break dependency loops between packages. For example:

%if 0%{?repo_bootstrap} == 0
BuildRequires: package-with-circular-dependency
%endif

Running

Once all the packages have been built once, you can get back to build the packages in the order of the timestamps of the commits.

$ dlrn

Troubleshooting

If you interrupt dlrn during mock build you might get an error

OSError: [Errno 16] Device or resource busy: '/var/lib/mock/dlrn-fedora-x86_64/root/var/cache/yum'

Solution is to clear left-over bind mount as root:

# umount /var/lib/mock/dlrn-fedora-x86_64/root/var/cache/yum

Other requirements

If the git clone operation fails for a package, DLRN will try to remove the source directory using sudo. Please make sure the user running DLRN can run rm -rf /path/to/dlrn/data/* without being asked for a password, otherwise DLRN will fail to process new commits.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DLRN-0.16.0.tar.gz (546.5 kB view details)

Uploaded Source

Built Distribution

DLRN-0.16.0-py3-none-any.whl (172.3 kB view details)

Uploaded Python 3

File details

Details for the file DLRN-0.16.0.tar.gz.

File metadata

  • Download URL: DLRN-0.16.0.tar.gz
  • Upload date:
  • Size: 546.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.5

File hashes

Hashes for DLRN-0.16.0.tar.gz
Algorithm Hash digest
SHA256 0a5afcd1248bb32f3da8c7e179850ab40bfb0dd867ba4b60307c3fc6bbd859e3
MD5 2857d2704ce4fd208e6f6fdece04b78e
BLAKE2b-256 85ae3c6af39d5e6ada94493cbd1a12655e28c4ef03630b1f407a349cf3443ee1

See more details on using hashes here.

File details

Details for the file DLRN-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: DLRN-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 172.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.5

File hashes

Hashes for DLRN-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a2267329c2b21afa21cf7f4cc6943902d9ab8a1ff2aa9e61b90fc2f2cb27221b
MD5 dd51ff5b408cabdd31d0c5b03401c4a1
BLAKE2b-256 a4cbeb212cc6c1ca6408ab484e90b0201afe9ecfc87c7ef5d92969dae4c4e505

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page