slackpkg+ priorities
I am using sbopkg with ponce's SBo repo for slackbuilds on -current.
I am also using slackpkg+, with PKGS_PRIORITY=( csb restricted alienbob ). I notice slackpkg sometimes wants to downgrade or "crossgrade" a package - libxkbcommon from 0.8.4 to libxkbcommon 0.8.3, for example. Or lua 5.1.5 in the ponce repo to lua 5.1.5 in the alienbob repo. How should we deal with these dilemmas? slackpkg+ obviously doesn't handle package priority for SBo packages handled by sbopkg. |
If you don't want to accidentally downgrade, or crossgrade, a given package that may be in different repositories you can try adding the package name to the "greylist" config file for slackpkg+.
Packages listed in the greylist still show up in the list of available updates, but unchecked by default. This helps ensure you don't accidentally install the wrong version, and it still allows you to see that other versions are available for that package. |
Or you can simply add all SBo packages to your /etc/slackpkg/blacklist
Code:
[0-9]+_SBo |
Quote:
|
Quote:
On slackpkg+, if you used those repositories, you'd *have* to keep them off the blacklist. But considering SBo typically does not replace stock packages, the only time you'd run into it is if you preferred to use alien's packages, but your automated SBo tool overwrites them (like sbopkg build and installs qt5 as a dependency for another program, and it overwrote alien's qt5 version). |
Note: "sbopkg -k ..." doesn't build already installed.
|
Quote:
|
Having multiple package managers will make it difficult to keep a tidy system (too many cooks in the kitchen).
One way to improve things would be to create your own local SBo repo (using sbopkg, slackrepo, etc...) and point slackpkg+ to it. This way you'll have only one tool to manage your packages their priorities. You can also skip this and slackpkg+ point to an already existing SBo repo, although you'll lose a bit of control (you might have some optional dependencies when building some package, slackonly will build with default/essential dependencies). |
For a number of reasons, I've switched to using slackpkg+. I've been using sbotools to manage and install software from SBo, but as indicated this has caused a couple of issues.
Quote:
Code:
$ cat /etc/sboui/package_blacklist Quote:
Quote:
Bottom line: It seems to me the best options would be to add a blacklist capability to first line SBo tools (like sbotools/sbopkg) - unless I'm missing that capability somehow now. Sboui works for blacklisting non-SBo software now, but can be cumbersome. |
Quote:
As a side note, I'm not sure why sbopkg and sbotools have never implemented a blacklisting feature. |
Quote:
|
Quote:
Quote:
Quote:
|
Quote:
|
Quote:
The only downside with using slackpkg+ to install from a slackrepo generated repo is it doesn't know anything about dependencies, so you'd either have to manually go through and check or just install everything. If you use something like slapt-get, it is able to resolve dependencies, so you can just tell it to install kodi, and it will install all the dependencies for kodi. NOTE: While you do need to specify any users or groups required for package compilation, they are not provided in the package itself, just temporarily created in the chroot during slackrepo's build process. You will still need to create any users or groups required by the programs manually when installing the packages. |
With regard to slackrepo, and the other tools used to build and install slackbuilds, my opinion is that the tool itself should be part of Slackware. I tried to visit the slackrepo site a few days ago and it was down. It hardly inspires confidence in the long run. And it's nearly 4 years now since it had an update.
I don't mind dealing with third-party repos, but at least some of the tools used to deal with them (slackrepo, sbopkg, sbotools, slackpkg+) should be given a more secure footing, preferably by shipping them with Slackware itself. |
Quote:
https://idlemoor.github.io/slackrepo/ I don't think the download link works anymore, but that version was quite old and I think he prefers people to use git to build an updated version. Code:
git clone https://github.com/idlemoor/slackrepo.git I don't think slackrepo is a good program for beginners with Slackware and still may not be worth it if a user is only maintaining a single computer, but if they want to host a repo that multiple computers can access or have excellent control over the build process (and to keep your system up-to-date, as it will automatically rebuild programs when their dependencies were rebuilt), slackrepo is amazing with it. It is what was used by Panagiotis to make SlackOnly. Quote:
|
Quote:
These are the applicable lines from my slackpkgplus.conf Code:
REPOPLUS=( nonslack slackpkgplus multilib ktown alienbob ) The priority explained. A few packages (ffmpeg, id3lib, jansson, ninja) in the alienbob repository match slackware64 packages. If I only have 'alienbob' at the end of my priority list, those matching packages will be selected to upgrade the slackware64 packages. The only matching package name I want upgraded over a slackware64 package is ffmpeg. The 'alienbob:ffmpeg' does this by setting the priority for that package to alienbob. When I run 'slackpkg upgrade-all' the only alienbob packages that are upgraded are ffmpeg and the other packages I have installed from alienbob, but not the ones matching slackwaer64 package names. It might not be the intended way, but it works. When using search to test changes to slackpkgplus.conf though, the results are not always as expected. Code:
# slackpkg search ffmpeg-3 Code:
# slackpkg search id3lib Regardless running 'slackpkg upgrade-all' produces the desired results. Code:
s# slackpkg upgrade-all |
All times are GMT -5. The time now is 12:48 PM. |