SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I have some new code for slackpkg+ (ver 0.9.3). You will find it in attachment as a patch.
If you want to test it and you're not used to use patches, then : 1) download the attached patch, and 2) apply it as below :
$ cd /usr/libexec/slackpkg/functions.d
$ patch -p0</path/to/slackpkgplus-0.9.3.patch.txt
Here is a summary of what's the new code adds and fixes :
1. Fix a small issue when a pattern is used multiple times in argument of install/upgrade. Here is an example of this issue :
$ slackpkg dialog=off install ffmpeg alienbob:ffmpeg slacky:ffmpeg
Looking for ffmpeg ffmpeg ffmpeg in package list. Please wait... DONE
Total package(s): 9
2. Fix a small bug in install/upgrade regarding the enhanced priority rules which are inserted into the variable PRIORITY in the reverse order. For instance, if you issue "slackpkg install r1:foo r2:bar", then PRIORITY is set to ( r2:bar r1:foo ... ) instead of ( r1:foo r2:bar ).
3. Fix a small bug in search which leads to wrong information about possible upgrade. For instance, on a testing Slackware64/multilib "slackpkg search qt" outputs the following (errors in red) :
For instance, once you have uncommented the line "PKGS_PRIORITY=( multilib:.* ) in your /etc/slackpkg/slackpkgplus.conf, you can turn your pure 64-bit version of Slackware into Slackware64/multilib with the commands below :
If you want to upgrade only the multilib packages, you can issue the command :
$ slackpkg upgrade multilib
When new packages have been added to the multilib, or in case some of the multilib packages are missing, you can grab them using the command :
$ slackpkg install multilib
If you want to fully reinstall the multilib, you will issue the command :
$ slackpkg reinstall multilib
If you no longer need the multilib and want to return to true 64-bit, you can now proceed as below :
+ Comment the line "PKGS_PRIORITY=( multilib:.* ) in your /etc/slackpkg/slackpkgplus.conf
+ remove the multilib packages :
$ slackpkg remove multilib
+ reinstall the pure 64-bit gcc/glibc :
$ slackpkg upgrade gcc glibc
To prevent system breakage, slackpkg+ automatically blacklist the packages gcc/glibc when the repository passed to "remove" contains the string "multilib"
For consistency purpose, the code to install missing compat32 packages using "slackpkg install-new" should be removed. Indeed, install-new is not designed for this as stated in slackpkg documentation :
This action installs any new packages that are added to the official Slackware package set. Run this if you are upgrading your system to
another Slackware version or if you are using -current. If you want to install all uninstalled Slackware packages onto your system, use
the following command instead of the install-new action:
# slackpkg install slackware
The improvement #4 fixes this inconsistency, and user can now install the missing/new compat32 packages with "slackpkg install multilib". However, I didn't remove the "install-new" code because there's an issue with the package aaa_elflibs-compat32 which can not be installed (nor upgraded/reinstalled/removed) using "slackpkg install|upgrade|reinstall|remove multilib" because slackpkg's blacklist contains the pattern aaa_elflibs. If anybody have an idea to fix that issue, this would be great.
Hope this helps.
Last edited by phenixia2003; 08-26-2013 at 10:03 AM.
0.9.4 released, but you must download it manually (I can't generate metadata files)
Thanks for the update ... But I have some new code for you
I had an idea to fix the issue I was talking about at the end of my previous post (ie silent exclusion of aaa-elflibs-compat32). As a consequence, I removed the code to install missing compat32 packages using "slackpkg install-new".
Furthermore, I also fixed a small issue about packages selection when one of the standard slackware's directories (ie slackware, slackware64, testing,extra, patches) is passed in argument of "slackpkg install|upgrade|remove|reinstall".
For instance, if slackpkg+ is configured with the repositories "multilib" and "microlinux", running "slackpkg install slackware64" leads to select packages from slackware64 directory, but also packages from "multilib" and "microlinux" repositories, because packages from these repositories are stored in directories whose names include the word "slackware64".
In attachment, you will find the patch for slackpkg+ 0.9.4.
it's very nice tool indeed! However, if i package something myself and it happens to be a newer version than its equivalent on the repos, it shows the repo version as an update.
i.e. i have libreoffice 4.1 and it prompts me to "update" to 4.0.5.
Is it possible to circumvent this behavior somehow?
In slackware64-current my config is:
PKGS_PRIORITY=( multilib:.* )
REPOPLUS=( slackpkgplus multilib restricted_current restricted alienbob_current alienbob slacky )
so if i'm not mistaken, the priority is: multilib packages, then slackware packages, then the repoplus vector in order.
@kfn: Use a tag for your own packages, e.g. suppose you called your package libreoffice-4.1-x86_64-1kfn.txz. You could then add '[0-9]+kfn' to /etc/slackpkg/blacklist and your package would not be prompted for upgrade.
Last edited by ruario; 08-28-2013 at 11:02 AM.
Reason: wrong config file, thanks mlangdn for catching it!
If you do that though, bear in mind that you will not be prompted for updates as long as it remains blacklisted, even if one the repos starts to have a newer version in the future. Whilst blacklisted it is entirely up to you to manually manage updates for that package, should you want them. This may be obvious but I thought I would state it nonetheless, just in case it wasn't.
@kfn: Use a tag for your own packages, e.g. suppose you called your package libreoffice-4.1-x86_64-1kfn.txz. You could then add '[0-9]+kfn' to /etc/slackpkg/slackpkg.conf and your package would not be prompted for upgrade.