Release howto
From FrugalWiki
Contents |
Warning
This howto now has been moved to the official documentation. If you modify this page, please send a patch to keep the official text in sync. Thanks.
Introduction
The aim of this howto is to show what's the procedure of a stable Frugalware release. The to-be-created release in this howto is 0.4, the previous release is 0.3.
Preparing
- send a mail to -devel about "please stop version and release bumps"
- generate a new documentation with
cd $fst/docs/texi/en_US make install clean
- sync the archs, checkpkgs shouldn't have any red pkg in it's output
- run gensync to rebuild the fdbs
- generate isos and test if everything is ok (ie. install from cd1-cd2 on i686, and start kde, or something)
- tag the release using darcs tag
Creating the stable tree
Copy the full tree on genesis:
cd /home/ftp/pub/frugalware cp -av frugalware-current frugalware-0.4
Updating the -current tree
Now one have two tree. All what one should do in -current:
- bump --from-tag version to 0.4 in tools/genpkgs
Updating the -stable tree
- rename the frugalware-current and extra-current fdbs to frugalware and extra
- rebuild the initrd with
STABLE = true
in the Makefile
- update $fst/boot/grub/menu.lst
- s/-current// in tools/{genpkgdbs,mkpkglst}
- remove the archs marked "development-only" from archs() in tools/genpkgdbs
- run the just modified genpkgs to regenerate the ChangeLog.txt to start from the 0.3 tag to the 0.4 tag
- update $tree and $isotree (see the comments) in tools/mkiso
- update pacman so that -stable will be the default on -Syu, not -current
- upload the fdbs to the mysql db using fdb2db, for example you can use the following script:
for i in i686 x86_64 do cd /home/ftp/pub/frugalware/frugalware-0.4/frugalware-$i/ ../tools/fdb2db -v -b ../source/ -r frugalware -e 0.4 -f frugalware.fdb -a $i <params> cd ../extra/frugalware-$i/ ../../tools/fdb2db -v -b ../source/ -r extra -e 0.4 -f extra.fdb -a $i <params> done
where <params> are the db host, user, pass, etc (of course not listed here)
Testing
- generate isos, test _all_ of them (net,cd,dvd for each arch)
- check if the upgrade from 0.3->0.4 works or not, probably a simple -Syu is not enough, then write a howto
Announcement
- Put the isos online and wait at least 24h so that the mirrors will be in sync at release time.
- ask Mark (mcangeli at gmail.com) via mail to upload the torrents for the isos to linuxtracker.org
- Add the new version to the bts
- Write an announcement, put it out to somewhere and ask Alex or LGee to spellcheck it
- Add the new version to the releases table of the frugalware mysql db on genesis
- Push it to the news page
- Send it to -announce
- Mark the release as "done" on the news page
- Update the topic of #frugalware
- Update the freshmeat entry.
For the next release
- find a codename
- update roadmap.php
Done!