completion | ||
configs | ||
filelists | ||
man | ||
slackbuild | ||
slpkg | ||
tests | ||
tools | ||
.gitignore | ||
.pyproject.toml | ||
ChangeLog.txt | ||
install.sh | ||
LICENSE | ||
README.md | ||
repositories.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py |
Table of contents
- About
- Screenshots
- Installation
- Requirements
- Recommended
- Testing
- Command Line Tool Usage
- How to start
- Configuration files
- Repositories
- Multilib Packages
- Issues
- Donate
- Support
- Copyright
About
Slpkg is a software package manager that installs, updates and removes packages on Slackware-based systems. It automatically calculates dependencies and figures out what things need to happen to install packages. Slpkg makes it easier to manage groups of machines without the need for manual updates. Slpkg works in accordance with the standards of the slackbuilds.org organization to build packages. It also uses the Slackware Linux instructions for installing, upgrading or removing packages.
Screenshots
$ slpkg repo-info
$ slpkg install lilv --repository=alien
$ slpkg remove lilv
$ slpkg dependees --pkg-version --full-reverse greenlet
$ slpkg tracking --pkg-version Flask awscli pychess
Installation
$ tar xvf slpkg-4.8.7.tar.gz
$ cd slpkg-4.8.7
$ ./install.sh
Requirements
SQLAlchemy >= 1.4.46
python3-pythondialog >= 3.5.3
python3-progress >= 1.6
Recommended
Stay always updated, see my other project SUN (Slackware Update Notifier)
Testing
The majority of trials have been made in Slackware x86_64 'stable' environment.
Command Line Tool Usage
slpkg - version 4.8.7
USAGE:
slpkg [COMMAND] [OPTIONS] [FILELIST|PACKAGES...]
DESCRIPTION:
Package manager utility for Slackware.
COMMANDS:
-u, update Update the package lists.
-U, upgrade Upgrade all the packages.
-c, check-updates Check for news on ChangeLog.txt.
-I, repo-info Prints the repositories information.
-g, configs Edit the configuration file.
-L, clean-logs Clean dependencies log tracking.
-T, clean-data Clean all the repositories data.
-D, clean-tmp Delete all the downloaded sources.
-b, build [PACKAGES...] Build only the packages.
-i, install [PACKAGES...] Build and install the packages.
-R, remove [PACKAGES...] Remove installed packages.
-d, download [PACKAGES...] Download only the scripts and sources.
-f, find [PACKAGES...] Find installed packages.
-w, view [PACKAGES...] View packages from the repository.
-s, search [PACKAGES...] Search packages from the repository.
-e, dependees [PACKAGES...] Show which packages depend on.
-t, tracking [PACKAGES...] Tracking the packages dependencies.
OPTIONS:
-y, --yes Answer Yes to all questions.
-j, --jobs Set it for multicore systems.
-O, --resolve-off Turns off dependency resolving.
-r, --reinstall Upgrade packages of the same version.
-k, --skip-installed Skip installed packages.
-a, --install-data Install data into the database only.
-E, --full-reverse Full reverse dependency.
-S, --search Search packages from the repository.
-n, --no-silent Disable silent mode.
-p, --pkg-version Print the repository package version.
-P, --parallel Download files in parallel.
-m, --no-case Case-insensitive pattern matching.
-o, --repository=NAME Change repository you want to work.
-z, --directory=PATH Download files to a specific path.
-h, --help Show this message and exit.
-v, --version Print version and exit.
How to start
If you are going to use only the SlackBuilds.org repository, you don't need to edit
the /etc/slpkg/repositories.toml
file, otherwise edit the file and set true
the repositories you want.
The second step is to update the package lists and install the data to the database, just run:
$ slpkg update
Now you are ready to start!
To install a package, run:
$ slpkg install <package_name>
or change the repository:
$ slpkg install <package_name> --repository=<repo_name>
You can install a whole repository with the command:
$ slpkg install '*' --repository=<repository_name>
To remove a package with the dependencies:
$ slpkg remove <package_name>
If you want to search a package from all repositories, run:
$ slpkg search <package_name> --repository='*'
Edit the configuration /etc/slpkg/slpkg.toml
file:
$ slpkg configs
For further information, please read the manpage:
$ man slpkg
Configuration files
/etc/slpkg/slpkg.toml
General configuration of slpkg
/etc/slpkg/repositories.toml
Repositories configuration
/etc/slpkg/blacklist.toml
Blacklist of packages
/etc/slpkg/rules.toml
Rules of packages.
Repositories
This is the list of the supported repositories:
- Slackbuilds
- Ponce
- Slackware
- Slackware Extra
- Slackware Patches
- Alien
- Multilib
- Restricted
- Gnome
- Msb
- Csb
- Conraid
- Slackonly
- SalixOS
- SalixOS Extra
- SalixOS Patches
- Slackel
- Slint
Multilib Packages
Slackware for x86_64 - multilib packages & install instructions:
Please read the file README you will find in the folder multlib
Issues
Please report any bugs in ISSUES
Note: With the issue, please reference the log file you will find in the /tmp/slpkg/logs/slpkg.log path and paste it too.
Donate
If you feel satisfied with this project and want to thank me, treat me to a coffee ☕ !
Support
Please support:
- Slackware project.
- SlackBuilds repository.
- AlienBob Eric Hameleers.
Thank you all for your support!
Copyright
Copyright 2014-2023 © Dimitris Zlatanidis. Slackware® is a Registered Trademark of Patrick Volkerding. Linux is a Registered Trademark of Linus Torvalds.