DLRN


NameDLRN JSON
Version 0.26.0 PyPI version JSON
download
home_pagehttp://www.openstack.org/
SummaryBuild packages
upload_time2023-05-23 09:25:51
maintainer
docs_urlNone
authorOpenStack
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ====
DLRN
====

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
-----

.. code-block:: shell-session

    # 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.

.. code-block:: shell-session

    $ 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:

.. code-block:: shell-session

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

Preparing
---------

.. code-block:: shell-session

    $ 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.

.. code-block:: shell-session

    $ 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:

.. code-block:: spec

    %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.

.. code-block:: shell-session

    $ dlrn

Troubleshooting
---------------

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

.. code-block:: shell-session

    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:

.. code-block:: shell-session

    # 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.


            

Raw data

            {
    "_id": null,
    "home_page": "http://www.openstack.org/",
    "name": "DLRN",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "OpenStack",
    "author_email": "openstack-dev@lists.openstack.org",
    "download_url": "https://files.pythonhosted.org/packages/c3/f7/8887f9284f31a58901d65cef65aaee89765d1c6244ffb01f3209a6ab751e/DLRN-0.26.0.tar.gz",
    "platform": null,
    "description": "====\nDLRN\n====\n\nDLRN builds and maintains yum repositories following OpenStack\nupstream commit streams. (DLRN is not an acronym or an abbreviation,\nand it can be pronounced \"dee el arr en\".)\n\nDocumentation is available at\nhttp://dlrn.readthedocs.org/en/latest/\n\nSetup\n-----\n\n.. code-block:: shell-session\n\n    # yum install git createrepo python-virtualenv mock gcc \\\n                  redhat-rpm-config rpmdevtools httpd libffi-devel \\\n                  openssl-devel yum-utils\n\nAdd the user you intend to run as to the mock group and login again.\n\n.. code-block:: shell-session\n\n    $ git clone https://github.com/softwarefactory-project/DLRN.git\n\nIf you want to serve the built packages and the status reports, enable the\nhttpd service, and then either add a section in the server configuration to\nmap a URL to the data directories, or create a symbolic link:\n\n.. code-block:: shell-session\n\n    # systemctl start httpd\n    # cd /var/www/html\n    # ln -s <datadir>/repos .\n\nPreparing\n---------\n\n.. code-block:: shell-session\n\n    $ cd DLRN\n    $ virtualenv ../dlrn-venv\n    $ . ../dlrn-venv/bin/activate\n    $ pip install --upgrade pip\n    $ pip install -r requirements.txt\n    $ python setup.py develop\n\n\nEdit ``projects.ini`` if needed.\n\nBootstrapping\n-------------\n\nSome of the projects require others to build. As a result, use the\nspecial option ``--order`` to build in the order computed from the\nBuildRequires and Requires fields of the spec files when you bootstrap\nyour repository.\n\n.. code-block:: shell-session\n\n    $ dlrn --order\n\nWhen using this special option, a special variable ``repo_bootstrap``\nis defined in the specs, with a value of 1. You can use this variable if\nneeded, to break dependency loops between packages. For example:\n\n.. code-block:: spec\n\n    %if 0%{?repo_bootstrap} == 0\n    BuildRequires: package-with-circular-dependency\n    %endif\n\nRunning\n-------\n\nOnce all the packages have been built once, you can get back to build\nthe packages in the order of the timestamps of the commits.\n\n.. code-block:: shell-session\n\n    $ dlrn\n\nTroubleshooting\n---------------\n\nIf you interrupt dlrn during mock build you might get an error\n\n.. code-block:: shell-session\n\n    OSError: [Errno 16] Device or resource busy: '/var/lib/mock/dlrn-fedora-x86_64/root/var/cache/yum'\n\nSolution is to clear left-over bind mount as root:\n\n.. code-block:: shell-session\n\n    # umount /var/lib/mock/dlrn-fedora-x86_64/root/var/cache/yum\n\nOther requirements\n------------------\n\nIf the git clone operation fails for a package, DLRN will try to remove\nthe source directory using sudo. Please make sure the user running DLRN\ncan run ``rm -rf /path/to/dlrn/data/*`` without being asked for a password,\notherwise DLRN will fail to process new commits.\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Build packages",
    "version": "0.26.0",
    "project_urls": {
        "Homepage": "http://www.openstack.org/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f1cf16888983fd05c1003baa6e8674c804f43faf1561bebc7794f6d5a40bfafa",
                "md5": "563ce9b892202028609721d0ee7cfde2",
                "sha256": "552da9c8ec4382ce61eafc81f1d5f73e563a691a76bda36ae031fc8725cc80e0"
            },
            "downloads": -1,
            "filename": "DLRN-0.26.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "563ce9b892202028609721d0ee7cfde2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 206508,
            "upload_time": "2023-05-23T09:25:49",
            "upload_time_iso_8601": "2023-05-23T09:25:49.128652Z",
            "url": "https://files.pythonhosted.org/packages/f1/cf/16888983fd05c1003baa6e8674c804f43faf1561bebc7794f6d5a40bfafa/DLRN-0.26.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3f78887f9284f31a58901d65cef65aaee89765d1c6244ffb01f3209a6ab751e",
                "md5": "177227ca79eb19a2f1e8e4eb7db3614d",
                "sha256": "bb14b8e0cbdc27c5b0d78268fb0c575113f70acf43b81acdc8fa09b280bc16aa"
            },
            "downloads": -1,
            "filename": "DLRN-0.26.0.tar.gz",
            "has_sig": false,
            "md5_digest": "177227ca79eb19a2f1e8e4eb7db3614d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 576970,
            "upload_time": "2023-05-23T09:25:51",
            "upload_time_iso_8601": "2023-05-23T09:25:51.146443Z",
            "url": "https://files.pythonhosted.org/packages/c3/f7/8887f9284f31a58901d65cef65aaee89765d1c6244ffb01f3209a6ab751e/DLRN-0.26.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-23 09:25:51",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "dlrn"
}
        
Elapsed time: 0.06903s