[SOLVED] WARNING! DO NOT APPLY the batch Sat Dec 17 21:14:11 UTC 2022 unless you have applied previously all updates. Conflict: XZ vs. aaa_libraries
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Excuse my ignorance, BUT from what I understand, a program linked against /lib64/liblzma.so.5.2.9 will find it even there /lib64/liblzma.so.5 symlink points to another library, right?
Most programs are not linked against the exact but the major version:
Maybe this is also a fault of xz that they did not increase the major version or use liblzma.so.5.2/liblzma.so.5.4 instead of liblzma.so.5 as library soname when those versions are not compatible?
1. Upgrade your glibc shared libraries. (aaa_glibc-solibs)
2. Upgrade your package utilities and related tools (pkgtools, tar, xz, findutils)
3. Upgrade everything else.
Yes, the document explains the upgrade from 14.2 to 15.0 but I think it's reasonable that this order should also be safe when keeping your slackware-current up-to-date.
Last edited by Markus Wiesner; 12-17-2022 at 08:25 PM.
1. Upgrade your glibc shared libraries. (aaa_glibc-solibs)
2. Upgrade your package utilities and related tools (pkgtools, tar, xz, findutils)
3. Upgrade everything else.
Yes, the document explains the upgrade from 14.2 to 15.0 but I think it's reasonable that this order should also be safe when keeping your slackware-current up-to-date.
This is not a user-land thing to update pkg in a specific order in a same release of Slackware (15.0 or current)
At least IF you do not did the last 2 updates (like I did) and you do them in a batch, the latest update of XZ gives:
How do you apply your batch updates? Those packages named aaa_something probably have a reason for their name. That reason is probably that when you list your packages the files starting with aaa comes first. I am not using current, but my routines to upgrade packages makes sure that all upgrades are done in alphabetical order.
This knowledge that update packages will be installed in alphabetical order can also be used to create custom packages which needs to be installed after standard packages.
Back in the days when Firefox still was capable of printing with lprng I had a custom package named mzfirefox_print_with_lpr-13.1-noarch-1.tgz , by naming it "mzfirefox..." I knew that it would get installed after "mozilla-firefox...".
How do you apply your batch updates? Those packages named aaa_something probably have a reason for their name. That reason is probably that when you list your packages the files starting with aaa comes first. I am not using current, but my routines to upgrade packages makes sure that all upgrades are done in alphabetical order.
This knowledge that update packages will be installed in alphabetical order can also be used to create custom packages which needs to be installed after standard packages.
Back in the days when Firefox still was capable of printing with lprng I had a custom package named mzfirefox_print_with_lpr-13.1-noarch-1.tgz , by naming it "mzfirefox..." I knew that it would get installed after "mozilla-firefox...".
regards Henrik
Well, I push the Slackware updates this way:
First of all, I update the master rsync mirror in the router - I have as router a small PC built around a mini-ITX motherboard with 2 Ethernet outputs and a RAID1 made from 2 laptop hard drives, which gets data from a 4G modem and gives out 2 networks: one VPN-ized and the other not. It serves also as a (local) main mirror, from where I pull updates to various PCs of mine and this permit me to minimize the Internet consumption, specially when our BDFL goes wild with a mass rebuild.
Secondly, I will (r)sync a local mirror in the target PC (or external USB hard drive) to be updated, then I will use a (custom) script to update the system.
Basically, the updates are applied sequentially, as shown in ChangeLog by our BDFL, using as parameter how many lines of ChangeLog should be processed. The script is shown bellow:
Code:
#!/bin/sh
CWD=`pwd`
SLACKREPO=$CWD/slackware64-current
if [ "$#" = "0" ]; then
echo "Usage: $(basename $0) headlines ..."; exit 1
fi
if [ ! -d $SLACKREPO ]; then
echo "The path to Slackware repository is properly configured?"
exit 1
fi
#
HEADNO="$1"
( cd $SLACKREPO/slackware64
cat ../ChangeLog.txt | head -n$HEADNO | grep ".t[gx]z:" | grep -v ": Removed." | cut -d: -f1 | \
grep -v "extra/" | \
grep -v "pasture/" | \
grep -v "testing/" | \
grep -v "a/kernel-huge" | \
grep -v "ap/hplip" | \
xargs upgradepkg --install-new --terse
)
To be honest, this script is not my own invention, but it was shown to me by (the former forum user) Darth Vader over 10 years ago. But on red is my own customization.
This is how I used since over 10 years to follow the Slackware-current, so I will feel to be very conservatory on changing it considering that it served me well since really long time, BUT I will investigate (and test) the sorting idea.
LATER:
Well, the packages sorting seems to be a really good idea, even for my custom script.
Code:
root@darkstar:/data/kit/slackware# ./slack_upgrade.sh 100
Cannot install a/aaa_libraries-15.1-x86_64-14.txz: file not found
Upgrading: aaa_libraries-15.1-x86_64-15: shared libraries needed by man [ 38M]
Upgrading: xz-5.4.0-x86_64-1: compression utility based on the LZMA alg [ 1.7M]
Upgrading: pamixer-1.5-x86_64-5: pulseaudio command line mixer ........ [ 150K]
Upgrading: kig-22.12.0-x86_64-2: interactive geometry game ............ [ 12M]
Upgrading: kopeninghours-22.12.0-x86_64-2: OSM opening hours expression [ 510K]
Upgrading: krita-5.1.4-x86_64-2: painting program ..................... [ 165M]
Upgrading: boost-1.81.0-x86_64-1: Boost C++ Libraries ................. [ 163M]
Upgrading: cryfs-0.10.3-x86_64-7: cryptographic filesystem ............ [ 3.5M]
Upgrading: harfbuzz-6.0.0-x86_64-1: OpenType text shaping engine ...... [ 6.6M]
Upgrading: libmpc-1.3.1-x86_64-1: Multiple Precision Complex Library .. [ 530K]
Upgrading: NetworkManager-1.40.8-x86_64-1: Networking that Just Works . [ 29M]
Upgrading: samba-4.17.4-x86_64-1: CIFS file and print server .......... [ 85M]
Upgrading: fcitx5-chinese-addons-5.0.16-x86_64-2: Chinese related addon [ 3.9M]
Upgrading: exo-4.18.0-x86_64-1: libexo extension library .............. [ 2.6M]
Upgrading: garcon-4.18.0-x86_64-1: menu implementation for Xfce ....... [ 1.5M]
Upgrading: libxfce4ui-4.18.0-x86_64-1: Xfce widget library ............ [ 2.5M]
Upgrading: libxfce4util-4.18.0-x86_64-1: basic utility library for Xfce [ 1.3M]
Upgrading: thunar-4.18.0-x86_64-1: file manager ....................... [ 9.2M]
Upgrading: thunar-volman-4.18.0-x86_64-1: Thunar Volume Manager Plugin [ 890K]
Upgrading: tumbler-4.18.0-x86_64-1: thumbnail generator ............... [ 1.2M]
Upgrading: xfce4-appfinder-4.18.0-x86_64-1: Application finder ........ [ 940K]
Upgrading: xfce4-dev-tools-4.18.0-x86_64-1: Xfce development tools .... [ 160K]
Upgrading: xfce4-notifyd-0.6.5-x86_64-1: Xfce Notify Daemon ........... [ 870K]
Upgrading: xfce4-panel-4.18.0-x86_64-1: panel for Xfce ................ [ 4.6M]
Upgrading: xfce4-power-manager-4.18.0-x86_64-1: Power Management Daemon [ 3.9M]
Upgrading: xfce4-session-4.18.0-x86_64-1: Xfce session manager ........ [ 1.7M]
Upgrading: xfce4-settings-4.18.0-x86_64-1: Xfce settings manager ...... [ 5.0M]
Upgrading: xfce4-weather-plugin-0.11.0-x86_64-1: weather plugin for the [ 5.0M]
Upgrading: xfconf-4.18.0-x86_64-1: Xfce configuration storage system .. [ 1.4M]
Upgrading: xfdesktop-4.18.0-x86_64-1: Xfce desktop manager ............ [ 3.6M]
Upgrading: xfwm4-4.18.0-x86_64-1: Xfce Window Manager ................. [ 3.1M]
root@darkstar:/data/kit/slackware#
This is the result of upgrading another box with sorting on the script.
Indeed, with sorting the aaa_libraries package(s) will be picked first.
Last edited by LuckyCyborg; 12-18-2022 at 11:30 AM.
Nice script! For this purpose I use a Makefile that I have written myself. That Makefile lives in a directory called "updates" which contains symbolic links to other directories containing patches or other more or less custom updated packages. Like you, I do not want to install all provided patch packages and simply avoid creating symbolic links to the packages that I do not want. My simple Makefile looks like this:
The wildcard make function will make sure that the result is sorted. Before the Makefile installs any packages it makes sure that it is being run on the right version of Slackware. Accidentally installing Slackware packages intended for another version of Slackware might end up in a slightly annoying result. A wildcard also on the slackware-version file is from the time when I also had Slamd64 machines.
The Makefile is being called from a cron job
/etc/cron.hourly/slack_update
Code:
#!/bin/sh
if [ -r /auto/slack150/updates/Makefile ]; then
( cd /auto/slack150/updates ; make ) > /var/log/slack_update
fi
The cron.hourly scripts are being run at the 47th minutes of every hour. New links are manually put in the updates directory about half an hour before that and the Makefile is being manually run on a test machine before letting it happen also on all other machines in the network.
But again, I am on stable versions of Slackware and most of the symbolic links point to the patches directory, only some of them point to updated custom packages. It would be more messy with this solution on Slackware current where you would end up with symbolic links to basically every package.
Reassure me! I update once a month, always on the 19th, which is the first day of my internet payment period. So I plan to do my update tomorrow. This is Slackware-15, not -current.
What do I need to do specially, if anything? My normal procedure is to update slackpkg, then the general update.
Sun Dec 18 02:54:27 UTC 2022
a/aaa_libraries-15.1-x86_64-15.txz: Rebuilt.
Upgraded: liblzma.so.5.4.0, libmpc.so.3.3.1.
Thanks to LuckyCyborg for the heads-up.
Reassure me! I update once a month, always on the 19th, which is the first day of my internet payment period. So I plan to do my update tomorrow. This is Slackware-15, not -current.
What do I need to do specially, if anything? My normal procedure is to update slackpkg, then the general update.
Hazel --
This thread is about -current and that issue has been fixed as of this morning.
OTOH, Slackware64 15.0 did upgrade the kernel from 5.15.63 to 5.15.80 on Tue Nov 29 20:56:03 UTC 2022
I imagine, being an old hand with Slackware, you've got your Kernel Upgrade Procedures down "pat" ( pun intended )
If not, holler here on LQ before you install -and-or- upgrade.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.