Daily Archives: November 5, 2020

Ktown becomes Vtown

So it is finally happening.
On US Election Day 2020, Pat Volkerding added “vtown” into the ‘testing’ directory of Slackware-current.

The “vtown” in Slackware is essentially my ‘ktown’ repository containing KDE Plasma5 plus its dependencies, with a few exceptions, a number of my packages removed, some caveats and a couple of renamed packages.

A lot of useful information from early adopters can already be found on linuxquestions.org in the dedicated thread about vtown.

One of the benefits of this testing version of Plasma5 in Slackware is the merging of several Slackware and ktown packages.
Mostly because I needed to provide Qt5-supporting versions of existing Slackware packages, I needed different names for the ‘ktown’ versions that I was going to provide. I could not risk that people would end up with old Slackware Qt4 based packages which would break Plasma5.
So to avoid clashing with packages like “plasma-nm”, “attica”, “baloo”, “kscreen” etc… I had to use alternative package names like “plasma5-nm”, “attica-framework”, “baloo5”, “kscreen2” and several (actually, many) more.
Here is the full list of my packages that got merged back into packages with the original Slackware names:

attica-framework -> attica
baloo5 -> baloo
baloo5-widgets -> baloo-widgets
grantlee-qt4 -> grantlee
kactivities-framework -> kactivities
kfilemetadata5 -> kfilemetadata
kscreen2 -> kscreen
libdbusmenu-gtk -> libdbusmenu (dropping Qt4 support)
libdbusmenu-qt5 -> libdbusmenu-qt
libkscreen2 -> libkscreen
phonon-qt4 -> phonon (dropping Qt4 support)
polkit-kde-framework -> polkit-kde-agent-1
polkit-qt5-1 -> polkit-qt-1

There’s also some packages that are new, but given a different name than I did for ‘ktown’: my “qtav” becomes “QtAV’, “phonon-gstreamer” becomes phonon-backend-gstreamer” and “sddm-qt5” becomes “sddm”.

Here’s a list of the packages that did not make it into ‘vtown’ at all:

ddcutil (nothing uses it anymore)
drumstick (only used by vmpk now, and that is not part of Slackware)
freecell-solver (needed by kpat)
kaudiocreator (obsoleted, use k3b or soundkonverter instead)
kblog (no longer included in Applications)
kdelibs (KDE4 - no longer relevant)
klettres (future maintenance will be in ktown, no external deps)
kpat (needs freecell-solver, maybe rename to kpatience if I keep maintaining it)
ktuberling (future maintenance will be in ktown, no external deps)
kwebkitpart (lost its relevance)
labplot (future maintenance will be in ktown, no external deps)
md4c (no longer needed, was a past dep for building qt5)
perl-path-tiny (dep for freecell-solver)
perl-template-toolkit (dep for freecell-solver)
phonon-qt4-gstreamer (obsoleted)
phonon-vlc (needs VLC and I will keep maintaining this in ktown)
python3-random2 (dep for freecell-solver)
sni-qt (nice to have for Qt4 apps with systray icon? Needs libdbusmenu-qt4 which will no longer be in Slackware)
user-manager (deprecated)

Now the big question: how to upgrade?

Assuming you use slackpkg to manage Slackware updates, first edit “/etc/slackpkg/slackpkg.conf and ensure that the line:

PRIORITY=( patches %PKGMAIN extra pasture testing )

is changed to:

PRIORITY=( testing patches %PKGMAIN extra pasture )

This gives higher priority to those new ‘vtown’ packages. Then run:

slackpkg update

The next steps depend on what you currently have installed.

Upgrade from Slackware’s KDE4 to the ‘vtown’ Plasma5 in Slackware’s testing:

That should be easy. If you still have KDE4 installed, run

slackpkg remove kde
slackpkg remove ConsoleKit2
slackpkg install vtown
slackpkg upgrade vtown

I have not tested those “slackpkg install vtown; slackpkg upgrade vtown” commands so if that does nothing, then instead, you need to download the whole testing/packages/vtown directory from an internet mirror and then run:

upgradepkg --install-new --reinstall testing/packages/vtown/deps/*.t?z
upgradepkg --install-new --reinstall testing/packages/vtown/kde/*.t?z

Upgrade safely from my ‘ktown’ to the ‘vtown’ in Slackware’s testing:

That is a good question! I am still running ‘ktown’ because due a medical emergency in the family I do not have enough free time to test this properly. People asked for a blog post so that’s about all I can manage and it has eaten most of today’s free time already unfortunately. Share your experiences in the comments section below and I will update the main article with better info as it becomes available.

What I think will work is this (assuming you are also using slackpkg+ to manage your 3rd party repositories) and thanks to akimmet who posted these instructions in another blog post after having gone through the upgrade himself:

slackpkg update
slackpkg upgrade-all
slackpkg remove ktown kde kdei ConsoleKit2

Now, edit “/etc/slackpkg/slackpkgplus.conf” to remove (or de-activate) all definitions of “ktown”, and instead add “testing:vtown” to your PKGS_PRIORITY list. Then run:

slackpkg update
slackpkg install vtown
slackpkg upgrade vtown
slackpkg install LibRaw autoconf-archive exiv2 poppler

The last line will re-install the few packages that were in my ‘ktown’ but also part of Slackware core. They were upgraded by Pat in Slackware core instead of in ‘vtown’ and thus the “slackpkg remove ktown” removed those permanently.

Remember: perform this upgrade from a console in runlevel 3!
Tell me how it went! Remember, this stuff is now in Slackware ‘testing’ not because the Plasma5 software sucks and crashes but because this means a big and intrusive update to Slackware and it is best to give way to the early adopters to find the remaining kinks in the new packages.