OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-re Date: 18-Oct-2005 10:43:51
Branch: HEAD Handle: 2005101809435000
Modified files:
openpkg-re release.txt
Log:
log how steps have been done to finish OPENPKG_2_5_RELEASE
Summary:
Revision Changes Path
1.36 +44 -258 openpkg-re/release.txt
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-re/release.txt
============================================================================
$ cvs diff -u -r1.35 -r1.36 release.txt
--- openpkg-re/release.txt 12 Oct 2005 07:43:01 -0000 1.35
+++ openpkg-re/release.txt 18 Oct 2005 08:43:50 -0000 1.36
@@ -2,6 +2,9 @@
HOW TO MAKE AN OPENPKG RELEASE
==============================
+ o Make sure CORE and BASE do not include "nameversioned" packages (e.g.
mysql41 in 2.2 and postgresql7 in 2.3)
+ o adjust aux.prereq.sh file in openpkg package to reflect the most recent
platform support
+ o make sure openpkg-X.Y.0-X.Y.0 provides: openpkg-YYYYMMDD-YYYYMMDD
$ cd src.raw
$ cvs update -A
$ cvs rtag -rHEAD OPENPKG_2_5_SOLID_BP \
@@ -36,163 +39,29 @@
# to allow "openpkg-dev" from openpkg-tools >= 0.8.45 to overwrite
existing SRPMs
$ chgrp -R openpkg-ftp /v/openpkg/ftp/release/2.5/SRC/; chmod -R g+w
/v/openpkg/ftp/release/2.5/SRC/
- ------------------------------------------
+ o prepare a empty directory and symlink /openpkg to it
+ o using "openpkg-tools" with "bf" setup a buildfarm and create binaries
+ o ensure /openpkg and /ltmp have 1GB free disk space
+ o create a %openpkg target in obmtool.conf and use obmtool
+
+ $ sh Uploadmaker.sh - it reads the buildfarm database and creates
the following batches
+ $ sh mkdir_openpkg.sh - mkdir commands required inside openpkg BIN/
directory
+ $ sh mkdir_zfos.sh - mkdir commands required inside zfos BIN/
directory
+ $ sh move_PLUS.sh - commands to move PLUS SRPMs into PLUS/ subdir
+ $ sh upload_BASE4dotf.sh - upload BASE for deprecated, obsoleted,
tentative and forecasted to zfos
+ $ sh upload_BASE4s.sh - upload BASE for supported to openpkg
+ $ sh upload_CORE4df.sh - upload CORE for deprecated and forecasted to
zfos
+ $ sh upload_CORE4ost.sh - upload CORE for obsoleted, supported and
tentative to openpkg
+ $ sh upload_PLUS.sh - upload PLUS to zfos
- The following is a step-by-step guide on how to create an OpenPKG
- N.M-RELEASE. It assumes that you have access to the C&W DE AS
- Development Team dvX.dev.de.cw.net machines and access to the OpenPKG
- master server master.openpkg.org (aka en4.engelschall.com).
-
- # switch to home directory of a non-privileged user
- $ cd $HOME
-
- # prepare working area
- $ mkdir openpkg
- $ mkdir openpkg/RE
- $ mkdir openpkg/SRC
- $ mkdir openpkg/DST
- $ mkdir openpkg/PKG
- $ mkdir openpkg/PKG/BIN
- $ mkdir openpkg/PKG/SRC
-
- # fill working area with sources
- $ cvs -d [EMAIL PROTECTED]:/e/openpkg/cvs co -d openpkg/RE openpkg-re
- $ cvs -d [EMAIL PROTECTED]:/e/openpkg/cvs co -d openpkg/SRC openpkg-src
- $ rsync -av rsync://rsync.openpkg.org/openpkg-dst/ openpkg/DST/
-
- # activate working area in RPM for commit steps
- $ vi ~/.rpmmacros
- | %_specdir %(echo $HOME)/openpkg/SRC/%{name}
- | %_sourcedir %(echo $HOME)/openpkg/DST/%{name}
- | %_rpmdir %(echo $HOME)/openpkg/PKG/BIN
- | %_srcrpmdir %(echo $HOME)/openpkg/PKG/SRC
- | %_builddir %(echo $TMPDIR)
- | %_tmppath %(echo $TMPDIR)
-
- # create an initial fresh /cw [cw:cw] OpenPKG hierarchy
- $ ftp ftp.openpkg.org
- ftp> cd release/1.0/SRC
- ftp> binary
- ftp> get openpkg-1.0.0-1.0.0.src.sh
- ftp> bye
- $ sh openpkg-1.0.0-1.0.0.src.sh --prefix=/cw --user=cw --group=cw
- $ sh openpkg-1.0.0-1.0.0.*-*.sh
- $ rm openpkg-1.0.0-1.0.0.*
-
- # update the source to the branch from where you want to release
- $ cd ~/openpkg/SRC
- # ONLY for N.[01]-RELEASE:
- $ cvs up -P -d -rHEAD
- # ONLY for N.[2-9]-RELEASE:
- $ cvs up -P -d -rOPENPKG_N_STABLE
-
- # create branch point for N.M-SOLID
- $ cd ~/openpkg/SRC
- # ONLY for N.[01]-RELEASE:
- $ cvs rtag -rHEAD OPENPKG_N_M_SOLID_BP \
- `(echo openpkg-src/00README; \
- egrep -l '\[(CORE|BASE|PLUS)\]' */*.spec |\
- sed -e 's;^\(.*\)/.*$;openpkg-src/\1;')`
- # ONLY for N.[2-9]-RELEASE:
- $ cvs rtag -rOPENPKG_N_STABLE OPENPKG_N_M_SOLID_BP openpkg-src
-
- # create N.M-SOLID branch
- $ cd ~/openpkg/SRC
- $ cvs rtag -b -rOPENPKG_N_M_SOLID_BP OPENPKG_N_M_SOLID openpkg-src
-
- # update the source to the new N.M-SOLID branch
- $ cd ~/openpkg/SRC
- $ cvs up -rOPENPKG_N_M_SOLID
-
- # bump the release numbers and bootstrap dependency of all packages
- $ cd ~/openpkg/SRC
- $ ../RE/editspec.pl 's;(Version:\s+)(\S+)[ \t]*(\nRelease:\s+)\2[
\t]*;${1}N.M.0${3}N.M.0;s'
- $ ../RE/editspec.pl 's;^(Release:\s+) .*$;$1 N.M.0;m'
- $ ../RE/editspec.pl 's;OpenPKG, openpkg >= [0-9.]+;OpenPKG, openpkg >=
N.M.0;sg'
- $ THL!20040205: make sure openpkg-2.0.0-2.0.0 provides:
openpkg-20040113-20040113
- # cvs ci -m "bump release numbers for OpenPKG N.M"
-
- # roll all source RPMs
- $ /cw/bin/rpm \
- -bs --nodeps \
- --define "_specdir `pwd`/%{name}" \
- --define "_srcrpmdir `pwd`/../release/src/master/" \
- */*.spec
- # FIXME: --norestriction ?!
-
- # generate binary build/install Makefiles
- # there exists a script ~/openpkg/re/src2make.sh also
- $ cd ~/openpkg/re
- $ ./src2make.pl \
- --prefix=/cw \
- --user=cw \
- --group=cw \
- --srcdir=$HOME/work/openpkg/PKG/SRC \
- --tmpdir=$TMPDIR \
- --outdir=. \
- --verbose
-
- # BEGIN of parallel jobs
-
- # generate binary RPMs for FreeBSD 4.x (can be done in parallel)
- $ ssh dv1.dev.de.cw.net
- $ cd ~/openpkg/RE
- $ make erase build-latest
- $ exit
-
- # generate binary RPMs for RedHat GNU/Linux 7.2 (can be done in parallel)
- $ ssh dv4.dev.de.cw.net
- $ cd ~/openpkg/RE
- $ make erase build-latest
- $ exit
-
- # generate binary RPMs for Debian GNU/Linux 2.2 (can be done in parallel)
- $ ssh dv5.dev.de.cw.net
- $ cd ~/openpkg/RE
- $ make erase build-latest
- $ exit
-
- # generate binary RPMs for Debian GNU/Linux 3.0 (can be done in parallel)
- $ ssh dv6.dev.de.cw.net
- $ cd ~/openpkg/RE
- $ make erase build-latest
- $ exit
-
- # generate binary RPMs for Solaris 8 (can be done in parallel)
- $ ssh dv8.dev.de.cw.net
- $ cd ~/openpkg/RE
- $ make erase build-latest
- $ exit
-
- # generate binary RPMs for Solaris 9 (can be done in parallel)
- $ ssh dv9.dev.de.cw.net
- $ cd ~/openpkg/RE
- $ make erase build-latest
- $ exit
-
- # END of parallel jobs
-
- # prepare master server
$ ssh [EMAIL PROTECTED]
$ cd /e/openpkg/ftp/release
$ mkdir N.M
$ mkdir N.M/SRC
$ mkdir N.M/SRC/PLUS
$ mkdir N.M/UPD
- $ mkdir N.M/BIN/freebsd-4.6
- $ mkdir N.M/BIN/redhat-7.2
- $ mkdir N.M/BIN/debian-2.2
- $ mkdir N.M/BIN/debian-3.0
- $ mkdir N.M/BIN/solaris-8
- $ mkdir N.M/BIN/solaris-9
+ $ mkdir N.M/BIN
$ mkdir N.M/ISO
- $ exit
-
- # move distribution files to master server
- $ cd ~/openpkg/PKG
- $ FIXME scp -rp SRC/* [EMAIL PROTECTED]:/e/openpkg/ftp/release/N.M/SRC/
- $ FIXME mv ... PLUS/
- $ FIXME scp -rp BIN/* [EMAIL PROTECTED]:/e/openpkg/ftp/release/N.M/SRC/
# copy text files to master server
$ cd ~/openpkg/RE
@@ -207,29 +76,11 @@
$ sed -e "s;N\.M;N.M;g" -e "s;XX-XXX-200X;`date '+%d-%b-%Y'`;g"
<readme-iso.txt >/tmp/00README
$ scp /tmp/00README [EMAIL PROTECTED]:/e/openpkg/ftp/release/N.M/ISO/
- # copy Makefiles to master server
- $ cd ~/openpkg/RE
- $ scp Makefile Makefile.rules [EMAIL
PROTECTED]:/e/openpkg/ftp/release/N.M/SRC/
-
# post-processing on master server
- $ ssh [EMAIL PROTECTED]
- $ cd tmp
- $ cvs -d [EMAIL PROTECTED]:/e/openpkg/cvs co openpkg-re
- $ cd openpkg-re
- $ ./buildrdf.pl -v --rpm=/e/openpkg/sw/bin/rpm -r 00INDEX.rdf -c \
- OpenPKG-N.M/Binary/:/e/openpkg/ftp/release/N.M/BIN/
- $ ./buildrdf.pl -v --rpm=/e/openpkg/sw/bin/rpm -r 00INDEX.rdf -c \
- OpenPKG-N.M/Source/:/e/openpkg/ftp/release/N.M/SRC/
- $ ./buildrdf.pl -v --rpm=/e/openpkg/sw/bin/rpm -r 00INDEX.rdf -c
- OpenPKG-N.M/Updates/:/e/openpkg/ftp/release/N.M/UPD/
- $ ./buildrdf.pl -v --rpm=/e/openpkg/sw/bin/rpm -r 00INDEX.rdf \
- OpenPKG-N.M/:/e/openpkg/ftp/release/N.M/
- $ ./buildrdf.pl -v --rpm=/e/openpkg/sw/bin/rpm -r 00INDEX.rdf \
- OpenPKG/:/e/openpkg/ftp/
- $ exit
# distribution file signing
$ ssh [EMAIL PROTECTED]
+ $ chown -R openpkg-ftp:openpkg-ftp /v/openpkg/ftp/release/2.5; chmod -R
go-w /v/openpkg/ftp/release/2.5
$ vi ~/.rpmmacros
| %_gpg_name OpenPKG <[EMAIL PROTECTED]>
| %_gpg_path /e/openpkg/.gnupg
@@ -237,104 +88,39 @@
| %_tmppath /e/openpkg/tmp
$ cd ftp/release/N.M/
$ rpm --resign SRC/*.rpm BIN/*.rpm
- $ rpm --checksig SRC/*.rpm BIN/*.rpm | grep "NOT OK"
+ $ rpm --checksig SRC/*.rpm BIN/*/*.rpm | grep "NOT OK"
# create indices
- echo "generating XML/RDF indices for OpenPKG 2.1"
+ $ ssh [EMAIL PROTECTED]
+ $ cd ~/etc
+ o create linking 00INDEX.rdf files in . ./SRC/ ./SRC/PLUS/ ./UPD/ ./BIN/
+ o edit and run ./do.re-mkidx
- echo "generating XML/RDF index OpenPKG-2.1/Source/PLUS/"
- /e/openpkg/sw/bin/openpkg index \
- -C /e/openpkg/tmp/index.21.cache \
- -i -r "OpenPKG-2.1/Source/PLUS/" \
- -c -o /e/openpkg/ftp/release/2.1/SRC/PLUS/00INDEX.rdf.bz2 \
- /e/openpkg/ftp/release/2.1/SRC/PLUS/
-
- echo "generating XML/RDF index OpenPKG-2.1/Source/ (with link to PLUS)"
- /e/openpkg/sw/bin/openpkg index \
- -C /e/openpkg/tmp/index.21.cache \
- -i -r "OpenPKG-2.1/Source/" \
- -c -o /e/openpkg/ftp/release/2.1/SRC/00INDEX.rdf.bz2 \
- /e/openpkg/ftp/release/2.1/SRC/
-
- echo "generating XML/RDF index OpenPKG-2.1/Update/"
- /e/openpkg/sw/bin/openpkg index \
- -C /e/openpkg/tmp/index.21.cache \
- -i -r "OpenPKG-2.1/Update/" \
- -c -o /e/openpkg/ftp/release/2.1/UPD/00INDEX.rdf.bz2 \
- /e/openpkg/ftp/release/2.1/UPD/
-
- for p in \
- alpha-freebsd5.2 \
- hppa-hpux11.11 \
- ix86-debian3.0 \
- ix86-debian3.1 \
- ix86-fedora2 \
- ix86-freebsd4.10 \
- ix86-freebsd5.2 \
- ix86-gentoo1.4.16 \
- ix86-mandrake10.0 \
- ix86-netbsd1.6.2 \
- ix86-rhel3 \
- ix86-rhl9 \
- ix86-solaris10 \
- ix86-solaris9 \
- ix86-suse9.0 \
- ix86-suse9.1 \
- sparc64-netbsd1.6.2 \
- sparc64-solaris10 \
- sparc64-solaris2.6 \
- sparc64-solaris8 \
- sparc64-solaris9 \
- ;do
- echo "generating XML/RDF index OpenPKG-2.1/Binary/$p/"
- /e/openpkg/sw/bin/openpkg index \
- -C /e/openpkg/tmp/index.21.cache \
- -i -r "OpenPKG-2.1/Binary/$p/" \
- -c -o /e/openpkg/ftp/release/2.1/BIN/$p/00INDEX.rdf.bz2 \
- -p $p \
- /e/openpkg/ftp/release/2.1/BIN/$p/
- done
+ #==== finish and clean filesystem
+ $ ssh [EMAIL PROTECTED]
+ # chown -R openpkg:openpkg /v/openpkg/ftp/release/2.5
+ # find /v/openpkg/ftp/release/2.5/ -type f | xargs chmod 644
+ # find /v/openpkg/ftp/release/2.5/ -type d | xargs chmod 755
+ # chown openpkg-ftp:openpkg-ftp /v/openpkg/ftp/release/2.5/UPD/00UPLOAD
+ # chmod 664 /v/openpkg/ftp/release/2.5/UPD/00UPLOAD
+ # find /v/openpkg/ftp/release/2.5/ -depth | xargs touch -t 200510190205
# create CDROM ISO-images
$ ssh [EMAIL PROTECTED]
- $ mkisofs \
- -v -r -J \
- -A "OpenPKG N.M-RELEASE (Source)" \
- -V "OpenPKG N.M-RELEASE (Source)" \
- -P "The OpenPKG Project <[EMAIL PROTECTED]>" \
- -p "The OpenPKG Project <[EMAIL PROTECTED]>" \
- -o /e/openpkg/ftp/release/N.M/ISO/OpenPKG-N.M-RELEASE-SRC.iso \
- /e/openpkg/ftp/release/N.M/SRC
- $ mkisofs \
- -v -r -J \
- -A "OpenPKG N.M-RELEASE (Binary)" \
- -V "OpenPKG N.M-RELEASE (Binary)" \
- -P "The OpenPKG Project <[EMAIL PROTECTED]>" \
- -p "The OpenPKG Project <[EMAIL PROTECTED]>" \
- -o /e/openpkg/ftp/release/N.M/ISO/OpenPKG-N.M-RELEASE-BIN.iso \
- /e/openpkg/ftp/release/N.M/BIN
+ o create 00READMEs before ISOs
+ o edit and run ./do.re-mkiso
+ o edit ISO/00README and add MD5 checksums
+ # chown -R openpkg:openpkg /v/openpkg/ftp/release/2.5/ISO
+ # chmod -R 644 /v/openpkg/ftp/release/2.5/ISO
+ # touch -t 200510190205 /v/openpkg/ftp/release/2.5/ISO/*
+ # find /v/openpkg/ftp/release/2.5/ -depth | xargs touch -t 200510190205
+
+ # check CDROM ISO images
$ ssh [EMAIL PROTECTED]
- # vnconfig /dev/vn0c
/e/openpkg/ftp/release/N.M/ISO/OpenPKG-N.M-RELEASE-SRC.iso
- # mount -t cd9660 /dev/vn0c /mnt
- # umount /mnt
- # ls -l /mnt
- # vnconfig -d /dev/vn0c
- # vnconfig -u /dev/vn0c
- # vnconfig /dev/vn0c
/e/openpkg/ftp/release/N.M/ISO/OpenPKG-N.M-RELEASE-BIN.iso
- # mount -t cd9660 /dev/vn0c /mnt
- # umount /mnt
- # ls -l /mnt
- # vnconfig -d /dev/vn0c
- # vnconfig -u /dev/vn0c
- # exit
+ # cd /v/openpkg/ftp/release/2.5/ISO/
+ # /v/openpkg/etc/do.re-ckiso
Drop beta download restrictions from ftp.openpkg.org
Drop beta download restrictions from rsync.openpkg.org
- create 00READMEs before ISOs
- Time stamp all release files before creating ISOs
- Check SHA1/MD5 and signature of all RPMs
- Make sure CORE and BASE do not include "nameversioned" packages (e.g.
mysql41 in 2.2 and postgresql7 in 2.3)
- Keep Buildfarm status (db.sqlite + matrix.html), logs and "rpm -qplv"
- aux.prepreq
-
+ Keep Buildfarm status (db.sqlite + matrix.html), logs and create a "rpm
-qplv" list
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]