This file documents the instructions for upgrading to Slackware 12.1, the packages added, removed, renamed, and/or split during the development cycle from Slackware 12.1 through 12.2, and some potential "gotchas" that users can avoid by arming themselves with a little knowledge. *** INSTRUCTIONS FOR UPGRADING FROM 12.1 *** Follow the instructions detailed in the UPGRADE.TXT located in this directory. Note that upgrading from a Slackware version earlier than 12.1 is NOT supported at all and will almost certainly lead to breakage. *** PACKAGE ADDITIONS SINCE 12.1 *** a/kernel-firmware: Added. This is architecture-independent firmware for devices (mostly sound cards), which was previously embedded into the kernel image. ap/gphoto2: Added. ap/libx86: Added. ap/pm-utils: Added. ap/radeontool: Added. ap/slackpkg: Added (moved from /extra). ap/sqlite: Added. ap/vbetool: Added. d/dev86: Added. Replaces d/bin86. l/beecrypt: Added. l/enchant: Added (moved from /testing/packages/kde4/deps/). l/gtkspell: Added. l/gstreamer: Added. l/gst-plugins-base: Added. l/intltool: Added. l/libcap: Added. l/libgphoto2: Added. l/liboil: Added. l/libraw1394: Added (moved from /testing/packages/kde4/deps/). l/libvisual-plugins: Added. l/parted. Moved from /extra. n/alpine: Added. Replaces n/pine. n/iwlwifi-5000-ucode: Added. x/dri2proto: Added. x/xdg-utils: Added. x/xf86-input-acecad: Added. x/xf86-input-dmc: Added. x/xf86-input-synaptics: Added. See note below. x/xf86-input-void: Added. x/xf86-video-mach64: Added. x/xf86-video-openchrome: Added. x/xf86-video-r128: Added. xap/xmms: Added (again) :-) /extra/wicd: Added. *** PACKAGE REMOVALS SINCE 12.1 *** d/bin86: Removed. Replaced by d/dev86. n/pine: Removed. Replaced by n/alpine. extra/parted: Moved to l/ series. extra/slackpkg: Moved to ap/ series. *** OTHER NOTABLE CHANGES AND HINTS *** n/imapd has been upgraded to the version shipped with alpine. 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. As usual, there are changes in udev packaging that need mentioning... First, be sure to move the /etc/rc.d/rc.udev.new over - the old /etc/rc.d/rc.udev will not work with the new udev package (and the new one won't work with the old udev package). The system udev rules now reside in /lib/udev/rules.d/ instead of /etc/udev/rules.d/ in older versions. There should never be a reason to edit anything in /lib/udev/rules.d/, so if you think you have a case where this is required, either you're wrong or it needs to be addressed in the upstream source. However, you can override default rules by placing one with an identical name inside /etc/udev/rules.d/ The rules files in /etc/udev/rules.d/ are still intended to (maybe) be edited as needed by local system administrators, and as such, the rules for optical and network devices will still be placed there. As stated earlier, it is recommended that you use one of the generic kernels rather than the huge kernels; 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-2.6.27.7-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. HP multifunction printer/scanners require that your user account be a member of the "lp" group for hp-toolbox to work properly, and to use the scanner portion of some (all?) units, you'll need to be a member of the "lp" group. This is because hplip's udev rules set the device with group "lp" ownership. If you notice Xfce's Terminal and perhaps some other applications being drawn very slowly in X, then you should try explicitly disabling the Composite extension in /etc/X11/xorg.conf, or set XLIB_SKIP_ARGB_VISUALS=1 in your environment prior to starting X. For more information on this, see: http://bugzilla.xfce.org/show_bug.cgi?id=2792 If you have an older machine (with a BIOS released prior to 2001) and it will not power off on shutdown, try adding this to your kernel's lilo stanza: append = "acpi=force" HAL is not new anymore, but here are a few notes related to it: 1. User accounts with permission to mount removable devices must be in at least the plugdev group, and the power group is also recommended to allow shutdown and reboot via HAL methods. 2. HAL will honor settings in /etc/fstab if a device is present there, so you could technically have removable devices defined in /etc/fstab, but if the fstab settings do not allow normal users to mount them (with the "user" or "users" option), then HAL/dbus will not allow them to be mounted either. In other words, for example, if your fstab line for the cdrom/dvd drive includes the "owner" option, you will not be able to mount it as a normal user. 3. If you find a need for modified fdi files, those should be placed in the relevant directories in /etc/hal/ instead of /usr/share/hal/ If you are using the pinentry-gtk2 interface (for entering passphrases with gpg-agent), be aware that there is a bug in the way scim-bridge and the pinentry-gtk2 interact. The result is that keyboard input does not register with pinentry-gtk2. For the time being, either change the /usr/bin/pinentry symlink to use the qt or curses frontend, or don't use scim. 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. If you have permission errors when attempting to burn a cdrom or dvd image, such as the following: /usr/bin/cdrecord: Operation not permitted. Cannot send SCSI cmd via ioctl then cdrecord almost certainly needs root privileges to work correctly. One potential solution is to make the cdrecord and cdrdao binaries suid root, but this has possible security implications. The safest way to do that is to make those binaries suid root, owned by a specific group, and executable by only root and members of that group. For most people, the example below will be sufficient (but adjust as desired depending on your specific needs): chown root:cdrom /usr/bin/cdrecord /usr/bin/cdrdao chmod 4750 /usr/bin/cdrecord /usr/bin/cdrdao If you don't want all members of the 'cdrom' group to be able to execute the two suid binaries, then create a special group (such as 'burning' which is recommended by k3b), use it instead of 'cdrom' in the line above, and add to it only the users you wish to have access to cdrecord and cdrdao. If you have compilation errors that look something like this: /usr/include/asm-generic/fcntl.h:117: error: redefinition of 'struct flock' /usr/include/bits/fcntl.h:142: error: previous definition of 'struct flock' /usr/include/asm-generic/fcntl.h:140: error: redefinition of 'struct flock64' /usr/include/bits/fcntl.h:157: error: previous definition of 'struct flock64' See http://patchwork.ozlabs.org/patch/316/ for information on fixing it. On many systems, the xf86-input-synaptics driver requires the psmouse kernel kernel module be loaded without any special options. This poses a problem on a default Slackware installation, as /etc/modprobe.d/psmouse causes the psmouse module to load with the imps protocol. This is easily fixed though :-) First, edit /etc/modprobe.d/psmouse so that it looks like this (note that we're simply commenting out the last line): # PS/2 mouse support: # The default options when the psmouse module is loaded will completely # break the mouse if you change consoles with several models of KVM # switches. Therefore, we'll have it use the imps protocol here, which # is a more basic protocol that is less likely to cause problems with # the mouse. If you'd rather use the kernel default options, just # comment out the line below. If you'd rather choose your own options, # then edit the line below as desired. #options psmouse proto=imps Next, unload and reload the psmouse module (do this as root): modprobe -r psmouse modprobe psmouse Due to the gutenprint upgrade, any printers that use gutenprint drivers via cups will have to be reinstalled.