Update SL53 i386 and x86_64
===========================

Get Native Scientific Linux Updates
-----------------------------------

This section describes how the particular linux repositories are
updated by looking for new RPMS in our mirror and copying them from
there to the repositories.


Get the Latest Security Update RPMS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Get the latest security update RPMS from the local SL53 mirror for
both architectures, i386 and x86_64, by invoking
`update_repo_all_directories.sh` on tux50.  They will be copied to the
corresponding `.../update.${ARCH}/all/` directories.  This will take
some time::

	# cd /afs/psi.ch/software/linux/dist/scientific/53/scripts/
	# ./update_repo_all_directories.sh > ~/tmp/20090930-update_repo_all_directories.sl53.output 2>&1

Then, check for errors in the log file::

	# grep -i error ~/tmp/20090930-update_repo_all_directories.sl53.output
	...

Finally, run `update_symlinks_in_rpms_all.sh` to keep all symlinks in
the directory
`/afs/psi.ch/software/linux/dist/scientific/53/RPMS_all/` up to date.

The script removes dead links and creates new links to the new RPMS.
It is basically not necessary for running PSI updates, rather it's
just convenient to have a directory with the list of all RPMS of a
distribution::

	# ./update_symlinks_in_rpms_all.sh


Create A New PSI Version And Release The SLP Snapshots
------------------------------------------------------

Keep the following order:

- Update the "all" repositories. (Described in section texttext)

- Create new snapshots. (Described in section texttext)

- Release "unstable" from new snapshots.

- Create a new PSI version.

- Release "testing".

- Release "stable".


Release Unstable
~~~~~~~~~~~~~~~~

The "unstable" distribution is where active development of SLP occurs.
Generally, this distribution is run by developers and those who like
to live on the edge.

The command `release_unstable.sh` will update the respective symlinks
`.../unstable` to the latest snapshots.

Because `release_unstable.sh` is interactive, you should not redirect
the output to a file, as you won't be able to see the questions asked.

Before `release_unstable.sh`::

    # [gasser_m@tux50]
    # cd /afs/psi.ch/software/linux/dist/scientific/53/
    # ls -l */unstable

    # ./release_unstable.sh

After `release_unstable.sh`::

    # ls -l */unstable

As soon as an unstable distribution has become testing a new unstable
can be generated that again points to the new latest snapshots.


Create A New PSI Version
~~~~~~~~~~~~~~~~~~~~~~~~

As soon as the new PSI version is created, i.e. the symbolic links
which point to the same target snapshots as the latest unstable
snapshots, the PSI auto-update process is active again for the hosts
which are set to unstable::

	# cd /afs/psi.ch/software/linux/dist/scientific/53/scripts
	# ./create_new_psi_version.sh


Release Testing
~~~~~~~~~~~~~~~

The "testing" distribution contains packages that haven't been
accepted into a "stable" release yet, but they are in the queue for
that.  The main advantage of using this distribution is that it has
more recent versions of software.

The command `release_testing.sh` will update the respective symlinks
`.../testing` to the latest unstable snapshots.

Because `release_testing.sh` is interactive, you should not redirect
the output to a file, as you won't be able to see the questions asked.

Before `release_testing.sh`::

	# [gasser_m@tux50]
	# cd /afs/psi.ch/software/linux/dist/scientific/53/
	# ls -l */testing

	# ./release_testing.sh

After `release_testing.sh`::

	# ls -l */testing


Release Stable
~~~~~~~~~~~~~~

The "stable" distribution, formerly known as "current", contains the
latest officially released distribution of SLP.

This is the production release of SLP, the one which we primarily
recommend using.

The command `release_stable.sh` will update the respective symlinks
`.../stable` to the latest unstable snapshots.

Because `release_stable.sh` is interactive, you should not redirect
the output to a file, as you won't be able to see the questions asked.

Before `release_stable.sh`::

	# [gasser_m@tux50]
	# cd /afs/psi.ch/software/linux/dist/scientific/53/
	# ls -l */stable

	lrwxr-xr-x 1 gasser_m ait  8 Sep 18 11:25 cluster/stable -> 20090316
	lrwxr-xr-x 1 gasser_m ait  8 Sep 18 11:23 enhanced/stable -> 20090316
	lrwxr-xr-x 1 gasser_m ait 18 Sep 18 11:24 kernel/stable -> 2.6.18-128.1.1.el5
	lrwxr-xr-x 1 gasser_m ait  8 Sep 18 11:24 nonfree/stable -> 20090316
	lrwxr-xr-x 1 gasser_m ait  8 Sep 18 11:22 others/stable -> 20090316
	lrwxr-xr-x 1 gasser_m ait  8 Sep 18 11:21 psi/stable -> 20090821
	lrwxr-xr-x 1 gasser_m ait  8 Sep 18 11:22 update.i386/stable -> 20090820
	lrwxr-xr-x 1 gasser_m ait  8 Sep 18 11:21 update.x86_64/stable -> 20090820

	# ./release_stable.sh

	### begin ./release_stable.sh ###
	Sourcing configuration file ./dist-config

	TOP_DIR is /afs/psi.ch/software/linux/dist/scientific/53

	Running ./release_stable.sh ...

		Latest snapshot in psi:
			/afs/psi.ch/software/linux/dist/scientific/53/psi/testing -> 20090916
		Latest snapshot in others:
			/afs/psi.ch/software/linux/dist/scientific/53/others/testing -> 20090916
		Latest snapshot in update.i386:
			/afs/psi.ch/software/linux/dist/scientific/53/update.i386/testing -> 20090916
		Latest snapshot in update.x86_64:
			/afs/psi.ch/software/linux/dist/scientific/53/update.x86_64/testing -> 20090916
		Latest snapshot in enhanced:
			/afs/psi.ch/software/linux/dist/scientific/53/enhanced/testing -> 20090916
		Latest snapshot in kernel:
			/afs/psi.ch/software/linux/dist/scientific/53/kernel/testing -> 2.6.18-128.7.1.el5
		Latest snapshot in nonfree:
			/afs/psi.ch/software/linux/dist/scientific/53/nonfree/testing -> 20090916
		Latest snapshot in cluster:
			/afs/psi.ch/software/linux/dist/scientific/53/cluster/testing -> 20090916

	Relink stable to the latest snapshots (y/n)?


After `release_stable.sh`::

	# ls -l */stable
