Skip to main content

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.

Release files for DLRN 0.26.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for DLRN 0.26.1
File Size Uploaded
DLRN-0.26.1.tar.gz 577.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for DLRN 0.26.1
File Interpreter ABI Platform
DLRN-0.26.1-py3-none-any.whl Python 3 none any Details

Total release size: 783.5 kB

Release files / DLRN-0.26.1.tar.gz

Download URL DLRN-0.26.1.tar.gz
Size 577.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ad94af5f69b2c2d267399b54b7cbd117c9a7cc512fab53137985802ed8021b7f
BLAKE2b-256 checksum
How to use checksums
9f93a38ffe3482e2ea5a73943b3e6fa13ccec1a718c5040d29b750eb070e0e24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release files / DLRN-0.26.1-py3-none-any.whl

Download URL DLRN-0.26.1-py3-none-any.whl
Size 206.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e6aa5192325044521163308b6c94f30f5682b74554ccbb7cbb6b2cfa83d1851
BLAKE2b-256 checksum
How to use checksums
2c714578ec1ba688a0ea705a78f93f29455fb126aa1f390f068d5af8537ab4a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.26.1 This release

2 release files

0.26.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.3

2 release files

0.18.1

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.3

2 release files

0.15.1

2 release files

0.14.0

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page