Linux Galaxy

Dev activity in Slackware

Posted on Jan 22, 2021 by bkoenig



As a Slackware user, I often run into situations where I find myself having to prove that Slackware is in fact a current and up-to-date Linux Distribution. Since we now live in an era of "data driven" decision making here are some statistics that showcase the pace of Slackware development.

Did you look in the Changelog?

If you've ever told a Slackware user that you don't see any activity on Slackware.com, you were probably asked that question. Slackware has no marketing team, no social media influencers, or the support of a user-facing foundation. Development is handled by a small team and all official communication with users occurs within the changelog itself. To help illustrate the activity level of the Slackware project, I have been working on parsing the changelog data in python in order to present in a more human-friendly format. Changelogs are parsed using python, and charts are generated by gnuplot on Slackware -current.

Understanding the changelog

Updates in the Slackware have followed the same pattern since version 12.0, back in 2007. Take the update from January 20, 2021 as an example:

 1+--------------------------+
 2Wed Jan 20 03:08:10 UTC 2021
 3a/btrfs-progs-5.10-x86_64-1.txz:  Upgraded.
 4a/dialog-1.3_20210117-x86_64-1.txz:  Upgraded.
 5a/glibc-solibs-2.32-x86_64-1.txz:  Upgraded.
 6a/kernel-firmware-20210119_0578970-noarch-1.txz:  Upgraded.
 7a/kernel-generic-5.10.9-x86_64-1.txz:  Upgraded.
 8a/kernel-huge-5.10.9-x86_64-1.txz:  Upgraded.
 9a/kernel-modules-5.10.9-x86_64-1.txz:  Upgraded.
10d/gcc-10.2.0-x86_64-3.txz:  Rebuilt.
11d/gcc-brig-10.2.0-x86_64-3.txz:  Rebuilt.
12d/gcc-g++-10.2.0-x86_64-3.txz:  Rebuilt.
13d/gcc-gdc-10.2.0-x86_64-3.txz:  Rebuilt.
14d/gcc-gfortran-10.2.0-x86_64-3.txz:  Rebuilt.
15d/gcc-gnat-10.2.0-x86_64-3.txz:  Rebuilt.
16d/gcc-go-10.2.0-x86_64-3.txz:  Rebuilt.
17d/gcc-objc-10.2.0-x86_64-3.txz:  Rebuilt.
18d/help2man-1.47.17-x86_64-1.txz:  Upgraded.
19d/kernel-headers-5.10.9-x86-1.txz:  Upgraded.
20d/rust-1.49.0-x86_64-1.txz:  Upgraded.
21k/kernel-source-5.10.9-noarch-1.txz:  Upgraded.
22kde/krita-4.4.2-x86_64-1.txz:  Upgraded.
23l/glibc-2.32-x86_64-1.txz:  Upgraded.
24l/glibc-i18n-2.32-x86_64-1.txz:  Upgraded.
25l/glibc-profile-2.32-x86_64-1.txz:  Upgraded.
26n/dnsmasq-2.83-x86_64-1.txz:  Upgraded.
27n/openldap-2.4.57-x86_64-1.txz:  Upgraded.
28xap/mozilla-firefox-78.6.1esr-x86_64-2.txz:  Rebuilt.
29xap/mozilla-thunderbird-78.6.1-x86_64-2.txz:  Rebuilt.
30xap/seamonkey-2.53.5.1-x86_64-2.txz:  Rebuilt.
31xap/xaos-4.2.1-x86_64-1.txz:  Upgraded.
32isolinux/initrd.img:  Rebuilt.
33kernels/*:  Upgraded.
34usb-and-pxe-installers/usbboot.img:  Rebuilt.

Every update to the changelog as a timestamp, the package name, and what was done to the package. This means that on 1/20/2021 the Linux kernel was upgraded to version 5.10.9. Because the Slackware team is so consistent in how they announce changes, we can parse this and visualize the data going back an arbitrary number of years.

Counting all Slackware Updates
Gnuplot Produced by GNUPLOT 5.4 patchlevel 1 0 500 1000 1500 2000 2500 3000 Jan 2006 Jan 2008 Jan 2010 Jan 2012 Jan 2014 Jan 2016 Jan 2018 Jan 2020 Jan 2022 # of Packages Upgraded Upgraded Moved Moved Added Added Removed Removed Rebuilt Rebuilt Other Other Package Count on Release Package Count on Release gnuplot_plot_8 12.0 12.1 12.2 13.0 13.1 13.37 14.0 14.1 14.2 15.0 (current) Slackware Package Changes Number of packages changed per Month

This is count of all slackware updates, organized by type. I'm also comparing it to the number of packages total in the distribution on release. This shows that Slackware has grown significantly over time and that the time between releases has also increased.


It is important to note that"rebuilds" are situtations where a package is recompiled with no version changes. This is usually due to upgrades in the tool-chain or other core dependencies. The large spike in 2018 was due to a mass rebuild in which the entire OS was recompiled.

But what about recent updates?

Slackware is old! Has anything changed recently?

Gnuplot Produced by GNUPLOT 5.4 patchlevel 1 0 200 400 600 800 1000 1200 1400 1600 Jan 2020 Feb 2020 Mar 2020 Apr 2020 May 2020 Jun 2020 Jul 2020 Aug 2020 Sep 2020 Oct 2020 Nov 2020 # of Packages Upgraded Upgraded Moved Moved Added Added Removed Removed Rebuilt Rebuilt Other Other Package Count on Release Package Count on Release gnuplot_plot_8 Slackware Package Changes Updates by-type for 2020

Yes it has! 2020 saw the addition of KDE Plasma into the official Slackware distribution. Many Slackware users have been running KDE using an unofficial "ktown" repository but now the desktop has officially been added. The spike in added packages at the end of 2020 is largely due to that. As we approach the release of 15.0 you will also see a lot of packages being rebuilt against the newer GCC and other core libraries.

Still working on the tools..

This is part of an ongoing project. As I work on the tools used to digest the slackware changelog I'll release more detailed information. Hopefully someone out there finds this stuff interesting because I know I do :-)


Return to blog

Web 1.5

A dynamic blog without javascript.

slack-penguin-bw.gif