📦 Package manager utility for Slackware: https://dslackw.gitlab.io/slpkg/
Find a file
Dimitris Zlatanidis 3ab992b051 Updated for list
2023-04-21 12:06:49 +03:00
bin Updated for coding style 2023-03-28 09:25:06 +03:00
completion Added repo-info command 2023-04-03 13:36:26 +03:00
configs Fixed mirrors 2023-04-18 21:55:47 +03:00
filelists Updated for multilib 2023-04-06 20:46:49 +03:00
man add MUST YOU KNOW CHAPTER 2023-04-13 22:43:59 +02:00
slackbuild Updated for readme 2023-04-14 18:07:17 +03:00
slpkg Updated for list 2023-04-21 12:06:49 +03:00
tests Updated for tests 2023-04-19 17:03:34 +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
ChangeLog.txt Removed message 2023-04-20 16:38:17 +03:00
install.sh Updated for year 2023-01-11 20:03:28 +02:00
LICENSE Added setup.cfg file 2022-06-28 17:56:05 +03:00
README.md Updated for commands 2023-04-20 16:33:53 +03:00
requirements.txt Updated for optional deps 2023-04-13 17:33:21 +03:00
setup.cfg Updated for version 4.8.0 2023-04-20 16:26:30 +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 --bin-repo=alien
$ slpkg remove audacity
$ slpkg dependees --pkg-version --full-reverse greenlet
$ slpkg tracking --pkg-version slpkg Flask awscli

Installation

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

Requirements

SQLAlchemy >= 1.4.46
pythondialog >= 3.5.3
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

USAGE: slpkg [OPTIONS] [COMMAND] [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.
  -d, download [packages...]    Download only the scripts and sources.
  -R, remove [packages...]      Remove installed packages.
  -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.
  -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.
  -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.
  -G, --generate-only           Generates only the SLACKBUILDS.TXT file.
  -B, --bin-repo=[REPO]         Set a binary repository.
  -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

or for binary repositories:

    $ slpkg update --bin-repo='*'

Now you are ready to start!

To install a package from the SlackBuilds.org or Ponce repository, run:

    $ slpkg install <package_name>

or from a binary repository:

    $ slpkg install <package_name> --bin-repo=<repo_name>

You can install a whole repository with the command:

    $ slpkg install '*' --bin-repo=<repository_name> --resolve-off

To remove a package with the dependencies:

    $ slpkg remove <package_name>

If you want to search a package from all binaries repositories, run:

    $ slpkg search <package_name> --bin-repo='*'

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

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.