📦 Package manager utility for Slackware: https://dslackw.gitlab.io/slpkg/
Find a file
Dimitris Zlatanidis e116ecdc5b Updated for naming
2023-05-18 19:30:40 +03:00
completion Added repo-info command 2023-04-03 13:36:26 +03:00
configs Updated for colors 2023-05-17 13:34:50 +03:00
filelists Updated for multilib 2023-04-06 20:46:49 +03:00
man Updated for explanation characters 2023-05-17 13:59:58 +03:00
slackbuild Removed for generating script 2023-04-28 17:18:48 +03:00
slpkg Updated for naming 2023-05-18 19:30:40 +03:00
tests Updated for test 2023-05-17 20:03:19 +03:00
tools Updated generate script 2023-03-05 16:30:31 +02:00
.gitignore Added .idea folder 2022-05-04 21:35:21 +03:00
.pyproject.toml Make it hidden 2023-05-15 18:15:04 +03:00
ChangeLog.txt Updated for changelog 2023-05-18 12:04:43 +03:00
install.sh Updated for scripts 2023-04-26 17:36:18 +03:00
LICENSE Added setup.cfg file 2022-06-28 17:56:05 +03:00
README.md Updated for version 4.8.4 2023-05-17 20:44:40 +03:00
repositories.txt Added repos file 2023-04-25 18:14:56 +03:00
requirements.txt Updated for optional deps 2023-04-13 17:33:21 +03:00
setup.cfg Updated for version 4.8.5 2023-05-18 10:00:08 +03:00
setup.py Added setup.cfg file 2022-06-28 17:56:05 +03:00

Table of contents

  1. About
  2. Screenshots
  3. Installation
  4. Requirements
  5. Recommended
  6. Testing
  7. Command Line Tool Usage
  8. How to start
  9. Configuration files
  10. Repositories
  11. Multilib Packages
  12. Issues
  13. Donate
  14. Support
  15. 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 audacity --repository=alien
$ slpkg remove audacity
$ slpkg dependees --pkg-version --full-reverse greenlet
$ slpkg tracking --pkg-version Flask awscli pychess

Installation

$ tar xvf slpkg-4.8.4.tar.gz
$ cd slpkg-4.8.4
$ ./install.sh

Requirements

SQLAlchemy >= 1.4.46
python3-pythondialog >= 3.5.3
python3-progress >= 1.6

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

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

Repositories

This is the list of the supported repositories:

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:

Thank you all for your support!

Copyright 2014-2023 © Dimitris Zlatanidis. Slackware® is a Registered Trademark of Patrick Volkerding. Linux is a Registered Trademark of Linus Torvalds.