1. Preamble

The aim of this howto is to show how you can upgrade a Frugalware-1.8 (Cinna) system to Frugalware-1.9 (Arcturus).

2. Deprecated package removal

Some packages will not gracefully be removed because of strict dependencies. If you encounter a message such as this during a system upgrade:

:: foobar-subpkg: requires foobar=1.0.0

Then you will need to perform this command for each of the removed packages:

pacman-g2 -Rd <PACKAGES>

<PACKAGES> must be replaced by the names of each of the removed packages. This must be done prior to the system upgrade.

3. pacman-g2

The new release comes with an improved pacman-g2, you should install it first:

pacman-g2 -Sy pacman-g2

4. Upgrading the system

Now it’s time to upgrade the system itself:

pacman-g2 -Su
:: Starting local database upgrade...

You will be asked to replace some packages automatically. These are normal and you are expected to answer Y to these questions (or just hit ENTER).

After this, the list of to-be-upgraded packages is displayed. Just hit enter and wait. Make some tea, it can take a while. :-)

5. Updating config files

pacman-g2 does not touch configuration files in case you customized them. You should run

find /etc -name '*.pacnew'

and update each configuration file based on the .pacnew version. Once you’re done with one, you should remove the .pacnew file.

There is no longer a symlink provided with our packages for /bin/vi and /usr/bin/vi. It is recommend that you run the viconfig tool in order to select a new editor for these symlinks. It will also set the default value for EDITOR and VISUAL environmental variables.

7. default console font change

We have changed the default console font. If you wish to change yours to match our new default, edit /etc/vconsole.conf and change or add the FONT line to read this:

FONT=ter-v16b

8. 10-evdev.conf

We have removed the usage of 10-evdev.conf, as we are moving to how systemd handles XKB configuration. It is recommended that you run the kbconfig tool in order to select a new vconsole and XKB keymap. If you need to find your existing keymap, check the contents of /etc/vconsole.conf for your current KEYMAP.

When you are finished, remove the old 10-evdev.conf file.

rm -f /etc/X11/xorg.conf.d/10-evdev.conf

9. xorg-set-resolution

This is a new service which sets your default X resolution to match your kernel framebuffer resolution, if you are using a custom one via the video boot parameter. If this is not something you want, you can disable it via this command:

systemctl disable xorg-set-resolution.service

10. PRETTY_HOSTNAME

New installs now setup the PRETTY_HOSTNAME in addition to the HOSTNAME. If you wish to do this as well, use hostconfig from fvbeutils.

11. systemd default display manager

New installs now setup the default display manager using the new system of having a unique systemd service for each display manager. To upgrade to this new behavior, you must first disable the old display manager service like so:

systemctl disable display-manager-legacy.service

To enable a display manager using the new system, you can simply run the dmconfig tool from fvbeutils. If you prefer to do this directly, you can instead do it like so, assuming that lightdm is your preference:

systemctl enable lightdm.service

If you wish to use a different display manager, then replace the lightdm.service with the appropriate systemd service name for your display manager of choice.

Finally, delete the old display manager configuration file as shown below:

rm -f /etc/sysconfig/desktop

12. network interface changes

New systemd now changes network interface names from eth0 and such to something that is more consistent across reboots. As such, you will need to update any services you have configured to use the old interface names in order to match the new interface names.

13. netconfig removal

Our old netconfig system has finally been removed. We are now using NetworkManager as our default network configuration system. To ease the transition, we recommend using the new nmconfig from fvbeutils. It provides a simple profile editor for NetworkManager. It should be compatible with the profiles generated by the GUI editors for NetworkManager. If you need to be able to perform NetworkManager commands from a terminal then see the man page for nmcli.

Next, you will need to enable the NetworkManager service as this is not enabled automatically upon upgrade. It is only enabled automatically upon initial install. It can be enabled manually with this command:

systemctl enable NetworkManager.service

14. bluez package

The bluez bluetooth service is now enabled upon initial install. If you wish to utilize your bluetooth hardware, you should also enable the service. To do so, use this command:

systemctl enable bluetooth.service

15. lesspipe

This package now supports source highlighting by default if source-highlight is installed. If this is not something you want, you can disable it by editting /etc/profile and removing -R from the LESS environmental variable.

16. The reboot

Since the kernel is upgraded, too, you have to reboot your machine.

Done!