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