slackware-current/CHANGES_AND_HINTS.TXT
Patrick J Volkerding 0ff3062f77 Wed Feb 2 22:22:22 UTC 2022
Slackware 15.0 x86_64 stable is released!

Another too-long development cycle is behind us after we bit off more than
we could chew and then had to shine it up to a high-gloss finish. Hopefully
we've managed to get the tricky parts out of the way so that we'll be able
to see a 15.1 incremental update after a far shorter development cycle.
Certainly the development infrastructure has been streamlined here and things
should be easier moving forward. My thanks to the rest of the Slackware team,
all the upstream developers who have given us such great building materials,
the folks on LinuxQuestions.org and elsewhere for all the help with testing,
great suggestions, and countless bug fixes, and to everyone who helped
support this project so that the release could finally see the light of day.
I couldn't have done any of this without your help, and I'm grateful to all
of you. Thanks!

For more information, check out the RELEASE_NOTES, CHANGES_AND_HINTS.TXT,
and ANNOUNCE.15.0.

Have fun!  :-)
2022-02-04 00:29:06 +01:00

574 lines
16 KiB
Text

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