RepoLib
September 11, 2023 ยท View on GitHub
======= RepoLib
RepoLib is a Python library and CLI tool-set for managing your software system software repositories. It's currently set up to handle APT repositories on Debian-based linux distributions.
RepoLib is intended to operate on DEB822-format sources. It aims to provide feature parity with software-properties for most commonly used functions.
Documentation
Documentation is available online at Read The Docs <https://repolib.rtfd.io/>_.
Basic CLI Usage
RepoLib includes a CLI program for managing software repositories,
:code:apt-manage
.
Usage is divided into subcommands for most tasks. Currently implemented commands are:
apt-manage add # Adds repositories to the system
apt-manage list # Lists configuration details of repositories
Additional information is available with the built-in help:
apt-manage --help
Add ^^^
Apt-manage allows entering a URL for a repository, a complete debian line, or a Launchpad PPA shortcut (e.g. "ppa:user/repo"). It also adds signing keys for PPA style repositories automatically.
List ^^^^
With no options, it outputs a list of the currently configured repositories on
the system (all those found in
:code:/etc/apt/sources.list.d/
. With a configured repository as an argument, it outputs the configuration
details of the specified repository.
Remove ^^^^^^
Accepts one repository as an argument. Removes the specified repository.
NOTE: The system repository (/etc/at/sources.list.d/system.sources) cannot be removed.
Source ^^^^^^
Allows enabling or disabling source code for the given repository.
Modify ^^^^^^
Allows changing configuration details of a given repository
Installation
From System Repository
If your operating system packages repolib, you can install it by running::
sudo apt install python3-repolib
From Pre-Compiled .deb Package
If your distro does not yet supply the package, you can download and
install the .deb package from the latest release.
A script to do this automatically can be found in quick_install.sh.
__ https://github.com/pop-os/repolib/releases/ __ https://github.com/pop-os/repolib/blob/HEAD/quick-install.sh
Uninstall ^^^^^^^^^
To uninstall, simply do::
sudo apt remove python3-repolib
From PyPI
Repolib is available on PyPI. You can install it for your current user with::
pip3 install repolib
Alternatively, you can install it system-wide using::
sudo pip3 install repolib
Uninstall ^^^^^^^^^
To uninstall, simply do::
sudo pip3 uninstall repolib
From Git
First, clone the git repository onto your local system::
git clone https://github.com/isantop/repolib
cd repolib
Debian
On debian based distributions, you can build a .deb package locally and install it onto your system. You will need the following build-dependencies:
* debhelper (>=11)
* dh-python
* python3-all
* python3-dbus
* python3-debian
* python3-distro
* python3-distutils
* python3-gnupg
* python3-launchpadlib
* python3-lazr.restfulclient
* python3-pytest
* python3-setuptools
You can use this command to install these all in one go::
sudo apt install debhelper dh-python python3-all python3-dbus python3-debian python3-distro python3-distutils python3-gnupg python3-launchpadlib python3-lazr.restfulclient python3-pytest python3-setuptools
Then build and install the package::
debuild -us -uc
cd ..
sudo dpkg -i python3-repolib_*.deb
Uninstall ^^^^^^^^^
To uninstall, simply do::
sudo apt remove python3-repolib
setuptools setup.py
You can build and install the package using python3-setuptools. First, install the dependencies::
sudo apt install python3-all python3-setuptools
Then build and install the package::
sudo python3 ./setup.py install
Uninstall ^^^^^^^^^
You can uninstall RepoLib by removing the following files/directories:
* /usr/local/lib/python3.7/dist-packages/repolib/
* /usr/local/lib/python3.7/dist-packages/repolib-\*.egg-info
* /usr/local/bin/apt-manage
This command will remove all of these for you::
sudo rm -r /usr/local/lib/python3.7/dist-packages/repolib* /usr/local/bin/apt-manage