-   Slackware (
-   -   slackpkg+: setting PKGS_PRIORITY for multiple third-party repositories (

kikinovak 09-10-2013 02:53 AM

slackpkg+: setting PKGS_PRIORITY for multiple third-party repositories

I'm happily using zerouno's slackpkg+. This nifty plugin has really changed my life as a sysadmin and saved me countless hours when managing multiple machines with the same setup.

Back in my CentOS days, I've been using the yum-priorities plugin (written by ex-Slacker Daniel de Kok), which enables the user to set fine-grained priorities for third-party repositories. Every repository has a priority between 1 and 99, and the one with the lower priority number takes precedence over another with a higher number.

Now I try to copy this behaviour with slackpkg+, but I don't know how. I'll try with an example.

I'm using two third-party repositories:
  1. Eric Hameleers' Multilib repository for Slackware64
  2. My own repository for MLWS.

In my own repository I have two modified packages, qt and freetype, and I want to provide multilib packages for these two packages. Which means:
  1. My own repo has to take precedence over Eric's Multilib repository.
  2. Eric's Multilib repository in turn has to take precedence over a standard Slackware mirror.

Any idea if this sort of cascading priority setup is possible with slackpkg+?



Raveriux 09-10-2013 03:21 AM

from slackpkg+ readme:


priority configuration:

When a package is present in more than one repository the package will be searched found in the following order:

1) as listed in PKGS_PRIORITY
2) as listed in Official Slackware Repository (as configured in slackpkg.conf)
3) as listed in REPOPLUS
4) all other defined in MIRRORPLUS

zerouno 09-10-2013 03:51 AM

PKGS_PRIORITY=( mlws:.* multilib:.* )

phenixia2003 09-10-2013 04:35 AM


You can give full priority to your repository over multilib as below :


PKGS_PRIORITY=( mwls:.* multilib:.* )
Or if you want to give priority only to your qt-compat32/freetype-compat32 packages over multilib, you can do this :


PKGS_PRIORITY=( mwls:qt-compat32 mwls:freetype-compat32 multilb:.* mwls:.* )
However, keep in mind that :
  • Your qt-compat32/freetype-compat32 must have, at least, different build numbers than in official multilib, otherwise, if the multilib is installed prior to your mwls packages, the installed qt-compat32/freetype-compat32 will not be upgraded to the versions from mwls when running "slackpkg upgrade-all"

  • Once your qt-compat32/freetype-compat32 are installed, the command "slackpkg upgrade multilib" should be avoided, otherwise this will upgrade the installed qt-compat32/freetype-compat32 packages to the versions from official multilib repository. To avoid this, the commands "slackpkg upgrade-all" or "slackpkg upgrade mwls multilib" should be used instead.

  • On a clean system (without any package from mwls and multilib repositories), even with this PKGS_PRIORITY configuration, the command "slackpkg install multilib" will install the qt-compat32/freetype-compat32 version from the multilib repository, not from mwls. To avoid this, the command "slackpkg install mwls multilib" should be used instead.


kikinovak 09-10-2013 05:55 AM

OK thanks very much everybody!

All times are GMT -5. The time now is 09:23 PM.