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
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.
If you encounter this error, you need to install ca-certificates
.
$ slackpkg install 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
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
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.
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.
Configuration
You can edit directly to enable repository.
$ cat /etc/slpkg/repositories.conf
[REPOSITORIES]
slack
sbo
# alien
# rlw
...
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.
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
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
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