User setup

Pip install

Install pulpcore

Follow the installation instructions provided with pulpcore.

Install prerequisites

Install build dependencies

pulp_rpm depends on some C libraries that must be compiled from source as Python extentions. Unfortunately, some of these packages are only available as Python “source distributions”, meaning that they must be compiled on your own machine. But, luckily, you won’t have to do that yourself! Simply install the build dependencies on your machine and the build process itself will happen behind the scenes when you install the packages.

Caveat: Unfortunately, a fully-featured createrepo_c can only be built on Red Hat based distros, as not all of its build dependencies are available on Debian-based platforms.

If you are on Fedora, install the build dependencies with this command:

sudo dnf install -y gcc make cairo-devel cairo-gobject-devel cmake bzip2-devel expat-devel file-devel glib2-devel gobject-introspection-devel libcurl-devel libmodulemd-devel libxml2-devel openssl-devel python3-devel rpm-devel sqlite-devel xz-devel zchunk-devel zlib-devel

If on CentOS or RHEL, use this commands:

Ensure you have enabled epel and powertools (in RHEL it is CodeReady) repositories

sudo yum install -y epel-release
sudo yum config-manager --set-enabled powertools
# sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
sudo yum install -y gcc make cairo-devel cairo-gobject-devel cmake bzip2-devel expat-devel file-devel glib2-devel gobject-introspection-devel libcurl-devel libmodulemd-devel libxml2-devel openssl-devel python3-devel rpm-devel sqlite-devel swig xz-devel zchunk-devel zlib-devel

Ensure your virtual environment uses system wide packages

pyevn.cfg can be found usually in /usr/local/lib/pulp/ as root directory of virtual environment.

grep "include-system-site-packages" pyvenv.cfg

You should get include-system-site-packages = true.

This is a necessary prerequisite for libmodulemd and libcomps along with the build dependencies listed above for createrepo_c.

Install Python build dependencies (CentOS / RHEL only)

Users on CentOS or RHEL must manually install the Python build dependencies for createrepo_c and libcomps.

sudo -u pulp -i
source ~/pulpvenv/bin/activate
pip install scikit-build nose

Install pulp_rpm

Users should install from either PyPI or source or use pulp_installer installer. In case of PyPI or source installation in virtual environment make sure the environment has enabled usage of system wide packages. You can achieve that with flag --system-site-packages at environment creation time or with option in pyvenv.cfg file in root directory of virtual environment.

Install pulp-rpm From PyPI

sudo -u pulp -i
source ~/pulpvenv/bin/activate
pip install pulp-rpm

Install pulp_rpm from source

sudo -u pulp -i
source ~/pulpvenv/bin/activate
git clone https://github.com/pulp/pulp_rpm.git
cd pulp_rpm
pip install -e .

Run Migrations

django-admin migrate rpm

Run Services

django-admin runserver 24817
gunicorn pulpcore.content:server --bind 'localhost:24816' --worker-class 'aiohttp.GunicornWebWorker' -w 2
sudo systemctl restart pulpcore-resource-manager
sudo systemctl restart pulpcore-worker@1
sudo systemctl restart pulpcore-worker@2