forked from Controls/gitea-pages
163 lines
5.7 KiB
ReStructuredText
163 lines
5.7 KiB
ReStructuredText
Prepare a new release
|
|
=====================
|
|
|
|
Introduction
|
|
------------
|
|
|
|
This document describes the preparation of a new SLP major or minor
|
|
release for SL >= 5.4.
|
|
|
|
Requirements
|
|
------------
|
|
|
|
Before you start you need a clean copy of the original SL repositories
|
|
of interest from http://www.scientificlinux.org.
|
|
|
|
The SL repositories shall be mirrored to our AFS mirror on its own
|
|
volume, e.g. `/afs/psi.ch/software/mirror/scientific/54/` is on AFS
|
|
volume `sw.mirror.sl54.nb`.
|
|
|
|
However, the mirror is usually made automatically by the script
|
|
`/afs/psi.ch/software/mirror/scripts/mirror.sh` which is run by cron
|
|
on pxeserv01. To add a new distribution to the mirror script you have
|
|
to edit the file `/afs/psi.ch/software/mirror/scripts/mirror.conf`.
|
|
|
|
You also need a separate AFS distribution volume, e.g. `sw.dist.sl54`
|
|
for `/afs/psi.ch/software/linux/dist/scientific/54`.
|
|
|
|
Once this is done, you're ready to start with the Procedure section.
|
|
|
|
|
|
Procedure
|
|
---------
|
|
|
|
1. Go to the SL distribution B<top> directory, change to the
|
|
subdirectory `scripts` and run the following scripts::
|
|
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/
|
|
# cd scripts/Sl60/
|
|
# sh 1-create_the_new_dist-config_file.sh <new_osversion>
|
|
# sh 2-copy_the_kernel_and_initrd_for_tftp_boot.sh
|
|
# sh 3-copy_the_puppet_environment_for_desktop.sh # If a new one should be used,
|
|
# usually only for major release
|
|
# changes
|
|
# Note: Some of the files might need some manual customization, e.g.
|
|
#
|
|
# module_gdm (pictures)
|
|
# module_splash (pictures)
|
|
# module_background_image (pictures)
|
|
# module_buildsystem
|
|
|
|
|
|
# sh 4-create_new_dist_directory_structure.sh <new_osversion> <pre_osversion>
|
|
|
|
### Check and edit the new files if necessary, especially the following ones:
|
|
# scripts/dist-config
|
|
# scripts/KERNEL_MODULES_TO_BUILD/sl6.i386.kms-to-be-built
|
|
# scripts/KERNEL_MODULES_TO_BUILD/sl6.x86_64.kms-to-be-built
|
|
# scripts/build-gpfs.sl6x.sh
|
|
# scripts/build-openafs.sl6x.i686.sh
|
|
# scripts/build-openafs.sl6x.x86_64.sh
|
|
# scripts/copy_the_sl_base_repos_from_the_local_mirror.sh
|
|
# scripts/rsync_security_updates_to_all_directories.sh
|
|
|
|
<pre_osversion> is the distribution which serves as a template for
|
|
<new_osversion>.
|
|
|
|
The scripts will prepare most of the stuff automatically based on
|
|
the previous version. Some of the new files, however, still have to
|
|
be edited manually.
|
|
|
|
2. Go to the SL distribution directory, change to the subdirectory
|
|
`scripts` and run the following scripts::
|
|
|
|
# cd /afs/psi.ch/software/linux/dist/scientific/60/scripts/
|
|
|
|
2.1 Copy the SL Base Repos
|
|
|
|
The script below copies the sl6base repository from the mirror on
|
|
AFS to the dist SL6 directory taking into account the
|
|
`rsync_exclude.rpmlist`, i.e. not all RPMS will be copied. To keep
|
|
the repodata consistent with the RPMS in the Packages directory,
|
|
the repodata has to be updated, too, by running the second script
|
|
shown here::
|
|
|
|
# sh copy_the_sl_base_repos_from_the_local_mirror.sh
|
|
# sh run_createrepo_on_base_i386.sh #sl64: still to do
|
|
# sh run_createrepo_on_base_x86_64.sh #sl64: still to do
|
|
|
|
2.2 Copy the Security Updates::
|
|
|
|
# sh rsync_security_updates_to_all_directories.sh
|
|
|
|
2.3 Build kernel module if minor release
|
|
|
|
If you prepare a new major release skip this section.
|
|
|
|
If you prepare a new minor release you already have build systems
|
|
where you can build kernel modules.
|
|
|
|
Thus check whether you have to build at least the openafs and the
|
|
gpfs modules. If the kernel versions of this and the previous SL
|
|
minor versions do not differ you should already have the modules
|
|
copied to e.g. the nonfree and psi repos, then there's nothing to
|
|
do here.
|
|
|
|
2.4 Update The Symbolic Links in RPMS_all::
|
|
|
|
# sh update_symlinks_in_RPMS_all.sh
|
|
|
|
3. Create new snaphots, release UNSTABLE and set the initial PSI
|
|
version.
|
|
|
|
# ./create_new_snapshots.sh alldirs > \
|
|
# INITIAL_LOG/2011-02-25-create_new_snapshots.log 2>&1
|
|
# ./release_unstable.sh
|
|
# ./create_new_psi_version.sh
|
|
# ./create_file_psiversion-info.sh
|
|
|
|
6. Write the new kickstart conig files.
|
|
|
|
Goto the kickstart config directory and use one of the old
|
|
kickstart config files as a template::
|
|
|
|
# cd /afs/psi.ch/software/linux/kickstart/configs/
|
|
|
|
8. Make the new entries in the tftpd file.
|
|
|
|
Goto the tftpd directory and edit the file default::
|
|
|
|
# cd /afs/psi.ch/service/linux/tftpboot/pxelinux.cfg/
|
|
# vi default
|
|
|
|
#<<< sl64: hereiam:
|
|
#<<< to do: fix /usr/bin/psi-fix_file_permission, module_localadmin
|
|
|
|
9. Now perform first installation tests and debug where necessary.
|
|
|
|
10. If you prepare a new major release, install new build systems.
|
|
|
|
12. If you prepare a new major release, go to
|
|
`/afs/psi.ch/project/linux/dist` and create the directory
|
|
structure below for the RPM build environment::
|
|
|
|
slp6
|
|
|-- RPMS/
|
|
| |-- i386/
|
|
| |-- i486/
|
|
| |-- i586/
|
|
| |-- i686/
|
|
| |-- noarch/
|
|
| `-- x86_64/
|
|
`-- SRPMS/
|
|
|
|
14. Build kernel modules.
|
|
|
|
15. Also get new software versions for non SL repos (psi, others,
|
|
etc.).
|
|
|
|
16. Again create new snapshots and a new PSI version.
|
|
|
|
17. Now perform the second test installation and debugging suite.
|
|
|