This file documents the instructions for upgrading to Slackware -current, the
packages added, removed, renamed, and/or split during the development cycle
from Slackware 14.2 through -current, and some potential "gotchas" that users
can avoid by arming themselves with a little knowledge.


*** INSTRUCTIONS FOR UPGRADING FROM 14.2 ***

Follow the instructions detailed in the UPGRADE.TXT located in this
  directory.  

Note that upgrading from a Slackware version earlier than 14.2 is NOT 
  supported at all and will most likely not work.


*** NEW USERS/GROUPS SINCE 14.2 ***

cgred group, GID 41
dovecot user and group, UID and GID 94
dovenull user and group, UID and GID 95
icecc user and group, UID and GID 49
ldap user and group, UID and GID 330
ntp user and group, UID and GID 44
postfix user and group, UID and GID 91
postdrop group, GID 92


*** NOTABLE CHANGES AND HINTS ***

User authentication is PAM-based now; in short, Slackware ships PAM.
  The out-of-the-box configuration should be exactly what you expect
  from Slackware.  Enjoy.

The stock networking scripts now use iproute2 instead of net-tools and
  bridge-utils and friends. All of the previous functionality is still
  supported with the same config file syntax in /etc/rc.d/rc.inet1.conf,
  but added functionality includes:
    - support for creating virtual interfaces (e.g. tun/tap) and adding 
      them to bridges as well as binding additional IP addresses to 
      virtual and/or real interfaces
    - VLAN (802.1Q) support
    - Link Aggregation (bonding) support
    - IPv6 support
  The added functionality required some additional options and changes 
  to the format of rc.inet1.conf, but for basic configurations, you can
  still use /sbin/ifconfig to view and/or configure interfaces manually.
  For IPv6 support, note that SLAAC is now disabled by default (the 
  rationale is that a newly installed machine should not have internet
  connectivity without admin intervention) - see the USE_SLAAC config
  parameter in the new rc.inet1.conf file.

Slackware packages no longer install libtool's .la files, which have been
  deprecated in favor of pkg-config's .pc files. Because of this, it's
  possible if you're upgrading from Slackware 14.2 that you may have .la
  files that were installed by software that you built yourself or as part
  of third-party packages. These other .la files may contain references
  to .la files that Slackware no longer ships, which would cause compile
  failures to occur. The good news is that you really don't need to do
  much more than remove the .la files and everything will work fine
  without them. This command will remove these files for you:
    rm -f --verbose /{,usr/,usr/local/}lib{,64}/*.la
  
The ntp package has changed such that ntpd now drops privileges and runs as
  user ntp and group ntp. Be sure to move/merge the changes to rc.ntpd and
  /etc/ntp.conf.

The gnupg2 package has changed such that the gpg agent is autostarted on 
  demand now, so be sure to remove any local profile script changes to 
  handle that. Also, there is a new keyring format used by gnupg2-2.2.x,
  so have a look at https://www.gnupg.org/faq/whats-new-in-2.1.html#keybox
  for migration tips.

n/postfix replaces n/sendmail as the default MTA.
  However, postfix is sendmail compatible with respect to function; in
  other words, any scripts or other applications expecting to *use*
  sendmail should work just fine, as postfix installs a sendmail binary
  at /usr/sbin/sendmail. This is all fine and wonderful unless you want
  to use sendmail *instead* of postfix and thus decided to leave sendmail
  installed on the system. The postfix package will overwrite the
  /usr/sbin/sendmail file on the system. Long story short: if you plan 
  to use the sendmail MTA instead of postfix, you will need to reinstall 
  sendmail after postfix. Many distros provide a means of having both MTAs 
  (and even others, such as exim and courier) installed at the same time, 
  but we don't see a reason to bother with that. If for some reason you 
  DO want both:
    1: First, install the MTA you do NOT plan to use
    2. Rename the /usr/sbin/sendmail binary with a suffix, e.g.
       # mv /usr/sbin/sendmail /usr/sbin/sendmail.postfix
    3: Next, install the MTA you DO plan to use
  Finally, you might want to configure the first-installed MTA to look at
  the changed path for its sendmail binary. We're not going to cover that 
  here. Also note that only one of the installed MTAs will be able to bind
  the common SMTP ports, if you want to have both MTAs running.

The cciss driver has been replaced by the hpsa driver, so if you're
  running an HP server, this may be relevant to you. This is mostly an
  issue with respect to device references -- if you have references to
  /dev/cciss/* in e.g. /etc/fstab and/or /etc/smartd.conf, you'll need
  to fix those.  Reference: https://tinyurl.com/cciss-hpsa

The default location for packaged dbus configs and polkit rules are now
  /usr/share/dbus-1/system.d/ and /usr/share/polkit-1/rules.d/ ; as such,
  all packaged files have been moved to those locations. If you upgraded
  from 14.2, you will have the previous copies of those still inside
  /etc/dbus-1/system.d/ and /etc/polkit-1/rules.d/ (as they used to be
  installed with .new suffixes). The upgrade process will not (and should
  not) automatically remove those, as the locations in /etc are intended
  to override the locations in /usr/share, and it's possible that the
  system administrator had edited the files in /etc and intends for those
  edits to be persistent. If that does not apply, *and* the files remaining
  in there were not installed by non-stock packages, you may remove the
  dbus configs and polkit rules files in the /etc locations.

elogind now manages cgroups (cgmanager is removed), so the leftover files
  at /etc/rc.d/rc.cgmanager and /etc/rc.d/rc.cgproxy should be removed.

Use one of the provided generic kernels for daily use.  Do not report
  bugs until/unless you have reproduced them using one of the stock 
  generic kernels.  You will need to create an initrd in order to boot
  the generic kernels - see /boot/README.initrd for instructions.
  The huge kernels are primarily intended as "installer" and "emergency" 
  kernels in case you forget to make an initrd.  For most systems, you 
  should use the generic SMP kernel if it will run, even if your system is 
  not SMP-capable.  Some newer hardware needs the local APIC enabled in the 
  SMP kernel, and theoretically there should not be a performance penalty 
  with using the SMP-capable kernel on a uniprocessor machine, as the SMP 
  kernel tests for this and makes necessary adjustments.  Furthermore, the 
  kernel sources shipped with Slackware are configured for SMP usage, so you 
  won't have to modify those to build external modules (such as NVidia or 
  ATI proprietary drivers) if you use the SMP kernel.

  If you decide to use one of the non-SMP kernels, you will need to follow the
  instructions in /extra/linux-5.13.9-nosmp-sdk/README.TXT to modify your
  kernel sources for non-SMP usage.  Note that this only applies if you are
  using the Slackware-provided non-SMP kernel - if you build a custom kernel,
  the symlinks at /lib/modules/$(uname -r)/{build,source} will point to the
  correct kernel source so long as you don't (re)move it.

If you want to change the resolution of the KMS console, that can be done
  with something like this as a kernel append in lilo.conf:
    append="video=1024x768"

Speaking of lilo.conf and KMS, make sure you use either vga=normal or 
  vga=extended -- some of the framebuffers don't like KMS very much...

If you have set up an encrypted root partition, you will need to have access 
  to your keyboard in order to type the passphrase.  This may require you to 
  add the uhci-hcd and usbhid modules to your initrd image if you have a USB 
  keyboard.  Also note that if you are using a non-US keyboard, you can use the
  '-l' parameter to the 'mkinitrd' command in order to add support for this
  keyboard to your initrd.

Subpixel hinting in freetype has been enabled upstream by default, but you 
  may adjust this in /etc/profile.d/freetype.{csh,sh}.


*** PACKAGE ADDITIONS SINCE 14.2 ***

a/aaa_glibc-solibs (replaces a/glibc-solibs)
a/aaa_libraries (replaces a/aaa_elflibs)
a/cracklib
a/efivar
a/elogind
a/exfatprogs
a/f2fs-tools
a/haveged
a/hostname (split from n/net-tools)
a/inih
a/lbzip2
a/lhasa (replaces a/lha)
a/libblockdev
a/libbytesize
a/libpwquality
a/lzlib
a/mlocate (replaces a/slocate)
a/ndctl
a/nvi
a/pam
a/plzip
a/volume_key
a/zerofree
ap/dash (replaces ap/ash)
ap/inxi
ap/man-db (replaces ap/man)
ap/neofetch
ap/nvme-cli
ap/opus-tools
ap/sc-im (replaces ap/sc)
ap/undervolt
ap/xorriso
d/autoconf-archive
d/check
d/gcc-brig
d/gcc-gdc
d/gnucobol (replaces d/gnu-cobol)
d/gyp
d/icecream
d/meson
d/ninja
d/opencl-headers
d/parallel
d/patchelf
d/poke
d/python-pip
d/python2 (replaces d/python)
d/python3
d/re2c
d/rinutils
d/rust
d/sassc
d/vala
e/emacspeak
kde/* (too many to reasonably list here - see UPGRADE.TXT)
l/Mako
l/PyQt5
l/QtAV
l/SDL2
l/SDL2_gfx
l/SDL2_image
l/SDL2_mixer
l/SDL2_net
l/SDL2_ttf
l/accountsservice
l/argon2
l/brotli
l/cfitsio
l/cryfs
l/cryptopp
l/dotconf
l/dvdauthor
l/editorconfig-core-c
l/espeak-ng
l/farstream
l/ffmpeg
l/fluidsynth
l/freecell-solver
l/frei0r-plugins
l/fuse3
l/gdk-pixbuf2-xlib
l/gexiv2
l/gjs
l/glade
l/gnome-themes-extra (replaces l/gnome-themes-standard)
l/graphene
l/graphite2
l/gst-plugins-bad-free
l/gst-plugins-libav
l/gtk4
l/gtksourceview3
l/hyphen
l/id3lib
l/isl
l/jansson
l/jmtpfs
l/json-glib
l/kdsoap
l/keybinder3
l/lame
l/lensfun
l/libappindicator
l/libbluray
l/libburn
l/libclc
l/libcue
l/libdbusmenu
l/libdmtx
l/libedit
l/libgnt
l/libgtop
l/libidn2
l/libimobiledevice-glue
l/libindicator
l/libnice
l/libnsl
l/libnss_nis
l/libopusenc
l/libpsl
l/libqalculate
l/libsass
l/libseccomp
l/libsigc++3
l/libsodium
l/libunwind
l/liburing
l/libuv
l/libwebp
l/libwnck3
l/libxkbcommon
l/lmdb
l/lz4
l/mlt
l/mozjs78 (replaced l/js185)
l/ocl-icd
l/oniguruma
l/openal-soft
l/opencv
l/opus
l/opusfile
l/pcaudiolib
l/pcre2
l/phonon-backend-gstreamer
l/pipewire
l/pyparsing
l/python-Jinja2
l/python-MarkupSafe
l/python-PyYAML
l/python-appdirs
l/python-certifi
l/python-cffi
l/python-chardet
l/python-charset-normalizer
l/python-distro
l/python-dnspython
l/python-docutils
l/python-doxypypy
l/python-doxyqml
l/python-future
l/python-idna
l/python-markdown
l/python-notify2
l/python-packaging
l/python-pbr
l/python-ply
l/python-pycparser
l/python-pygments
l/python-pysol_cards
l/python-random2
l/python-requests
l/python-sane
l/python-setuptools_scm
l/python-six
l/python-tomli
l/python-urllib3
l/python2-module-collection
l/qrencode
l/qt5
l/qt5-webkit
l/qtkeychain
l/quazip
l/rpcsvc-proto
l/rttr
l/rubygem-asciidoctor
l/speech-dispatcher
l/speex
l/spirv-llvm-translator
l/talloc
l/tdb
l/tevent
l/tidy-html5
l/utf8proc
l/vid.stab
l/woff2
l/xxHash
l/zstd
n/c-ares
n/daemon
n/dehydrated
n/dovecot
n/krb5
n/libmilter
n/nghttp2
n/npth
n/nss-pam-ldapd
n/openldap
n/pam-krb5
n/postfix
n/s-nail (replaces mailx)
n/socat
n/sshfs
n/wget2
n/wireguard-tools
n/wireless_tools (renamed from n/wireless-tools)
t/fig2dev (replaces t/transfig)
t/texlive (replaces t/tetex and t/tetex-doc)
x/OpenCC
x/cldr-emoji-annotation
x/egl-wayland
x/eglexternalplatform
x/fcitx
x/fcitx-anthy
x/fcitx-configtool
x/fcitx-hangul
x/fcitx-kkc
x/fcitx-libpinyin
x/fcitx-m17n
x/fcitx-qt5
x/fcitx-sayura
x/fcitx-table-extra
x/fcitx-table-other
x/fcitx-unikey
x/hack-fonts-ttf
x/ibus
x/ibus-anthy
x/ibus-hangul
x/ibus-kkc
x/ibus-libpinyin
x/ibus-m17n
x/ibus-table
x/ibus-unikey
x/igt-gpu-tools (replaces x/intel-gpu-tools)
x/intel-vaapi-driver (replaces x/libva-intel-driver)
x/libXfont2
x/libgee
x/libglvnd
x/libinput
x/libkkc
x/libkkc-data
x/libmypaint
x/libpinyin
x/libva-utils
x/libwacom
x/marisa
x/mypaint-brushes
x/noto-cjk-fonts-ttf
x/noto-fonts-ttf
x/pyxdg
x/skkdic
x/ttf-tlwg
x/urw-core35-fonts-otf
x/vulkan-sdk
x/wayland
x/wayland-protocols
x/xdg-desktop-portal
x/xf86-input-libinput
x/xf86-video-vboxvideo
x/xisxwayland
x/xorg-server-xwayland
x/xorgproto (replaces all of the other x/*proto packages)
xap/NetworkManager-openvpn
xap/easytag
xap/ffmpegthumbnailer
xap/freerdp
xap/libnma
xap/rxvt-unicode (replaces xap/rxvt)
xap/ssr
xap/xsnow
xfce/Greybird
xfce/elementary-xfce
xfce/mousepad
xfce/thunar (replaces xfce/Thunar)
xfce/xfce4-panel-profiles
xfce/xfce4-screensaver
xfce/xfce4-whiskermenu-plugin
y/nethack


*** PACKAGE REMOVALS SINCE 14.2 ***

a/aaa_elflibs (replaced by a/aaa_libraries)
a/eject (included in a/util-linux)
a/getty-ps (moved to /extra)
a/glibc-solibs (replaced by a/aaa_glibc-solibs)
a/lha (replaced by a/lhasa)
a/openssl10-solibs
a/slocate (replaced by a/mlocate)
ap/ash (replaced by ap/dash)
ap/cgmanager (obsoleted by a/elogind)
ap/man (replaced by ap/man-db)
ap/pm-utils (obsoleted by a/elogind)
ap/sc (replaced by ap/sc-im)
ap/workbone
d/gcc-java
d/gnu-cobol (replaced by d/gnucobol)
d/python (replaced by d/python2)
kde/* (too many to reasonably list here - see UPGRADE.TXT)
kdei/* (too many to reasonably list here)
l/ConsoleKit2 (obsoleted by a/elogind)
l/PyQt
l/automoc4
l/db42
l/db44
l/eigen2
l/glade3 (replaced by l/glade)
l/gnome-themes-standard (replaced by l/gnome-themes-extra)
l/gst-plugins-base0
l/gst-plugins-good0
l/gstreamer0
l/herqq
l/ilmbase
l/js185 (replaced by l/mozjs78)
l/keybinder (replaced by l/keybinder3)
l/libart_lgpl
l/libbluedevil
l/libcroco
l/liblastfm
l/libmcs
l/libmowgli
l/libmsn
l/libtermcap
l/libwmf-docs (merged with l/libwmf)
l/notify-python (replaced by python-notify2)
l/phonon-gstreamer
l/pyrex
l/qimageblitz
l/qjson
l/qt (replaced by l/qt5)
l/qt-gstreamer
l/qtscriptgenerator
l/raptor2
l/rasqal
l/redland
l/seamonkey-solibs
l/soprano
l/strigi
l/urwid
l/virtuoso-ose
n/dirmngr
n/idnkit
n/imapd
n/mailx (replaced by n/s-nail)
n/openldap-client
n/openssl10
n/pth
n/rfkill (included in a/util-linux)
n/sendmail (moved to /extra ; replaced by n/postfix and n/libmilter)
n/sendmail-cf (moved to /extra ; replaced by n/postfix and n/libmilter)
n/trn
n/wireless-tools (renamed to n/wireless_tools)
t/tetex (replaced by t/texlive)
t/tetex-doc (replaced by t/texlive)
t/transfig (replaced by t/fig2dev)
x/bigreqsproto (replaced by x/xorgproto)
x/compositeproto (replaced by x/xorgproto)
x/damageproto (replaced by x/xorgproto)
x/dmxproto (replaced by x/xorgproto)
x/dri2proto (replaced by x/xorgproto)
x/dri3proto (replaced by x/xorgproto)
x/evieext (replaced by x/xorgproto)
x/fixesproto (replaced by x/xorgproto)
x/fontcacheproto (replaced by x/xorgproto)
x/fontsproto (replaced by x/xorgproto)
x/glproto (replaced by x/xorgproto)
x/inputproto (replaced by x/xorgproto)
x/intel-gpu-tools (replaced by x/igt-gpu-tools)
x/kbproto (replaced by x/xorgproto)
x/libXfont (deprecated)
x/libva-intel-driver (replaced by x/intel-vaapi-driver)
x/mkfontdir (absorbed into x/mkfontscale)
x/presentproto (replaced by x/xorgproto)
x/printproto (replaced by x/xorgproto)
x/randrproto (replaced by x/xorgproto)
x/recordproto (replaced by x/xorgproto)
x/renderproto (replaced by x/xorgproto)
x/resourceproto (replaced by x/xorgproto)
x/scim
x/scim-anthy
x/scim-hangul
x/scim-input-pad
x/scim-m17n
x/scim-pinyin
x/scim-tables
x/scrnsaverproto (replaced by x/xorgproto)
x/videoproto (replaced by x/xorgproto)
x/xcmiscproto (replaced by x/xorgproto)
x/xextproto (replaced by x/xorgproto)
x/xf86-video-xgi
x/xf86-video-xgixp
x/xf86bigfontproto (replaced by x/xorgproto)
x/xf86dgaproto (replaced by x/xorgproto)
x/xf86driproto (replaced by x/xorgproto)
x/xf86miscproto (replaced by x/xorgproto)
x/xf86vidmodeproto (replaced by x/xorgproto)
x/xineramaproto (replaced by x/xorgproto)
x/xproto (replaced by x/xorgproto)
xap/rxvt (replaced by xap/rxvt-unicode)
xap/xfractint (moved to /extra)
xap/xv (moved to /extra)
xfce/Thunar (replaced by xfce/thunar)
xfce/gtk-xfce-engine
xfce/orage
extra/bittorrent/bittorrent
extra/mplayerplug-in/mplayerplug-in
extra/recordmydesktop/recordmydesktop