2023-06-12 12:52:35 +02:00
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/logo.png" title = "slpkg" >
2023-06-12 08:06:01 +02:00
2023-06-12 11:33:33 +02:00
### About
2023-06-12 08:06:01 +02:00
2023-06-12 11:58:00 +02:00
Slpkg is a software package manager that installs, updates and removes packages on < a href = "https://www.slackware.com" target = "_blank" > Slackware< / a > -based systems.
2023-06-12 08:06:01 +02:00
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.
2023-06-12 11:58:00 +02:00
Slpkg works in accordance with the standards of the < a href = "https://www.slackbuilds.org" target = "_blank" > slackbuilds.org< / a > organization to build packages.
2023-06-12 08:06:01 +02:00
It also uses the Slackware Linux instructions for installing, upgrading or removing packages.
### Screenshots
```
$ slpkg repo-info
```
2023-06-12 12:50:26 +02:00
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/slpkg_repo_info.png" width = "900" title = "slpkg repo-info" >
2023-06-12 08:06:01 +02:00
```
$ slpkg install lilv --repository=alien
```
2023-06-12 12:52:35 +02:00
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/slpkg_install.png" width = "900" title = "slpkg install" >
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/slpkg_install_done.png" width = "900" title = "slpkg install" >
2023-06-12 08:06:01 +02:00
```
$ slpkg remove lilv
```
2023-06-12 12:52:35 +02:00
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/slpkg_remove.png" width = "900" title = "slpkg remove" >
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/slpkg_remove_done.png" width = "900" title = "slpkg remove" >
2023-06-12 08:06:01 +02:00
```
$ slpkg dependees --pkg-version --full-reverse greenlet
```
2023-06-12 12:52:35 +02:00
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/slpkg_dependees.png" width = "900" title = "slpkg dependees" >
2023-06-12 08:06:01 +02:00
```
$ slpkg tracking --pkg-version Flask awscli pychess
```
2023-06-12 12:52:35 +02:00
< img src = "https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/slpkg_tracking.png" width = "900" title = "slpkg tracking" >
2023-06-12 08:06:01 +02:00
### Recommended
Stay always updated, see my other project SUN [(Slackware Update Notifier) ](https://gitlab.com/dslackw/sun )
### Testing
The majority of trials have been made in Slackware x86_64 'stable' environment.
2023-06-12 11:01:02 +02:00
### CLI Usage
2023-06-12 08:06:01 +02:00
```
slpkg - version 4.8.9
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 ](https://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
```
2023-06-12 11:03:18 +02:00
### Configuration
2023-06-12 08:06:01 +02:00
```
/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.
```
2023-06-12 11:03:18 +02:00
### Multilib
2023-06-12 08:06:01 +02:00
Slackware for x86_64 - multilib packages & install instructions:
2023-06-12 12:00:03 +02:00
Please read the file < a href = "https://gitlab.com/dslackw/slpkg/-/raw/master/filelists/multilib/README" target = "_blank" > README< / a >
you will find in the folder < a href = "https://gitlab.com/dslackw/slpkg/-/tree/master/filelists/multilib" target = "_blank" > multlib< / a >
2023-06-12 08:06:01 +02:00
### Donate
2023-06-12 10:17:56 +02:00
⬇ Did you know that we developers love coffee? Please, treat me to a coffee ☕ !
2023-06-12 08:06:01 +02:00
2023-06-12 12:48:08 +02:00
[<img src="https://gitlab.com/dslackw/slpkg/-/raw/site/docs/images/paypaldonate.png" alt="paypal" title="donate"> ](https://www.paypal.me/dslackw )
2023-06-12 08:06:01 +02:00
### Support
Please support:
2023-06-12 12:02:56 +02:00
* < a href = "https://www.patreon.com/slackwarelinux" target = "_blank" > Slackware</ a > project.
2023-06-12 12:07:58 +02:00
* < a href = "https://slackbuilds.org/contributors/" target = "_blank" > SlackBuilds</ a > project.
* < a href = "https://alien.slackbook.org/blog/" target = "_blank" > AlienBob</ a > project.
2023-06-12 08:06:01 +02:00
Thank you all for your support!
Slackware® is a Registered Trademark of Patrick Volkerding.
Linux is a Registered Trademark of Linus Torvalds.