Table of Content

This is a three-parts article. There are few sections here.

Part One
  • Preface
  • Preparing Docker
  • IRSIF: slackpkg install, removepkg, Query Search, Show Info, List File
  • Container: Slackware64, Minimal Install, Package Series
  • Mirror
  • System Wide: Installed Packages
  • History: The Log File
  • No Dependency: Example, slpkg deps-status
  • Hold: Blacklist
  • Cleanup
Part Two
  • Using slackbuild, manual compilation, and installpkg
  • Using sbopkg, automatic compilation
  • Using slapt-get: Reading, Install, Dependencies, Update, Upgrade, Install, Show Info
  • Using slapt-src: Update, Install
Part Three
  • Install slpkg: Dependency, Install, No certificate
  • Using slpkg: Documentation, Update, Install, The Log File
  • Repository: List, Configuration, Enable, List Package, Install Package
  • Conclusion
There are still other topic uncovered here
  • slackpkgplus

Install slpkg

I have been wondering how to add other repository, such as alien and slacky. And I found this slpkg.

Dependency

$ slackpkg install python

Docker slackpkg: Install Python

Install

Now you can install slpkg using any method you like.

$ sbopkg -i slpkg

No certificate

My first attempt, is always failure as usual.

$ slpkg update 

To connect to mirrors.slackware.com insecurely, use --no-check-certificate.

Docker slpkg: Update Certificate Error

If you encounter this error, you need to install ca-certificates.

$ slackpkg install ca-certificates

Docker slackpkg: CA Certificates

Now you should be ready.


Using slpkg

The name slpkg in Slackware, remind me of dpkg in Debian.

We can manage repository very nicely using slpkg

Official Documentation

Update

First Thing First
$ slpkg update 

Check and update repositories:

Check repository [slack] ... Done
Check repository [sbo] ... Done

Docker slpkg: Update Succeed

Install:

$ slpkg -s sbo fish
Reading package lists... Done
Resolving dependencies... Done

The following packages will be automatically installed or upgraded 
with new version:

+==============================================================================
| Package                 New version        Arch    Build  Repos          Size
+==============================================================================
Installing:
  fish                    2.6.0              x86_64         SBo
Installing for dependencies:
  man-db                  2.7.6.1            x86_64         SBo

Installing summary
===============================================================================
Total 2 packages.
2 packages will be installed, 0 already installed and 0 package
will be upgraded.

Would you like to continue [y/N]? 

Unfortunately installation failed, we need to solve some dependency first.

$ slackpkg install gdbm

And install again. Do the installation command over again.

$ slpkg -s sbo fish

Docker slpkg: Install sbo fish

Mission accomplished, Now I can fish.

$ fish
Welcome to fish, the friendly interactive shell
root@662f86a36b6d ~# 

You are freely to try other package other than fish.

$ slpkg -s sbo ncdu

The slpkg Log File

$ tail -n 15 /var/log/slpkg/sbo/build_logs/build_fish_log 
etc/fish/conf.d/
install/
install/doinst.sh
install/slack-desc

Slackware package /tmp/fish-2.6.0-x86_64-1_SBo.tgz created.

Docker Slackware: slpkg build log


Repository

We can utilize slpkg to manage repository in Slackware

List

$ slpkg repo-list

+==============================================================================
| Repo id  Repo URL                                            Default   Status
+==============================================================================
  alien    http://bear.alienbase.nl/mirrors/people/alien/sb~   yes     disabled
  connos   https://connochaetos.org/slack-n-free/              yes     disabled
  conrad   http://slack.conraid.net/repository/slackware64-~   yes     disabled
  csb      http://slackware.uk/csb/                            yes     disabled
  ktown    http://alien.slackbook.org/ktown/                   yes     disabled
  mles     http://slackware.uk/microlinux/                     yes     disabled
  msb      http://slackware.org.uk/msb/                        yes     disabled
  multi    http://bear.alienbase.nl/mirrors/people/alien/mu~   yes     disabled
  rested   http://bear.alienbase.nl/mirrors/people/alien/re~   yes     disabled
  rlw      http://slackware.uk/people/rlworkman/               yes     disabled
  salix    http://download.salixos.org/                        yes     disabled
  sbo      http://slackbuilds.org/slackbuilds/                 yes      enabled
  slack    http://mirrors.slackware.com/slackware/             yes      enabled
  slacke   http://ngc891.blogdns.net/pub/                      yes     disabled
  slackl   http://www.slackel.gr/repo/                         yes     disabled
  slacky   http://repository.slacky.eu/                        yes     disabled
  slonly   https://slackonly.com/pub/packages/                 yes     disabled

Repositories summary
===============================================================================
2/17 enabled default repositories and 0 custom.
For enable or disable default repositories edit '/etc/slpkg/repositories.conf'
file or run 'slpkg repo-enable' command.

Docker slpkg: Repo List

Configuration

You can edit directly to enable repository.

$ cat /etc/slpkg/repositories.conf
[REPOSITORIES]
slack
sbo
# alien
# rlw
...

Docker slpkg: repositories.conf

Enable Repository

Alternatively you can use interactive dialog to enable repository.

$ slpkg -s sbo python2-pythondialog

$ slpkg repo-enable
+==============================================================================
| Enabled repositories:
+==============================================================================
| slacky, slack, sbo, alien
+==============================================================================
Total 4/17 repositories enabled.

Docker slpkg: Repository Dialog

Do not forget to update as usual.

$ slpkg update

List Package

$ slpkg -l alien

BeautifulSoup-4.1.1-x86_64-1alien
NetworkManager-openconnect-1.2.4-x86_64-1alien
OpenAL-1.18.0-x86_64-1alien
SDL_sound-1.0.3-x86_64-2alien
...
openbox-3.6.1-x86_64-1alien
...
xvidcore-1.3.2-x86_64-1alien
zope.interface-4.1.0-x86_64-1alien

Docker slpkg: Repository's Packages

Install Package

Now we can install openbox package from alien repository but without openbox dependency.

$ slpkg -s alien openbox 
Reading package lists... Done
Resolving dependencies... Done

The following packages will be automatically installed or upgraded 
with new version:

+==============================================================================
| Package                 New Version        Arch    Build  Repos          Size
+==============================================================================
Installing:
  openbox                 3.6.1              x86_64  1      alien         432 K

Installing summary
===============================================================================
Total 1 package.
1 package will be installed, 0 will be upgraded and 0 will be reinstalled.
Need to get 432 Kb of archives.
After this process, 1.48 Mb of additional disk space will be used.

Would you like to continue [y/N]? y

[1/1][ Download ] --> openbox-3.6.1-x86_64-1alien.tgz

Docker slpkg: repositories.conf


Conclusion

It is said that “Slackware does not resolve dependency”. I haven’t got enough experience about this situation. I simply do not understand what it means.

I guess I have to learn slackware more.

Thank you for reading