= Frugalware Release HOWTO == 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.5, the previous release is 0.4. == A testing release Just because I don't know where to document this, here is the command line what I use to sync changes from -current to -testing before a release: -------------------------------------------------------------------- $ rsync -avP --delete-after frugalware-current/ frugalware-testing/ -------------------------------------------------------------------- == Preparing - send a mail to -devel about "please stop version and release bumps" - check if the artwork has been updated completely. see http://frugalware.org/pipermail/frugalware-devel/2007-February/003163.html[this] mail from Nadfoka on what items should be checked - ask someone to update the screenshots - 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 git tag == Creating the stable tree Copy the full tree on genesis: ---------------------------------------- $ cd /home/ftp/pub/frugalware $ cp -av frugalware-current frugalware-0.5 ---------------------------------------- == Updating the -current tree Now one have two tree. All what one should do in -current is to bump `--from-tag` version to 0.5 in tools/genpkgs. == Updating the -stable tree - rename the frugalware-current fdbs to frugalware - rebuild the initrd with ------------- STABLE = true ------------- in the Makefile - s/-current// in tools/mkpkglst - update VERSION in docs/Makefile - update `\.git/description` - update kernel FrugalBuild to hardwire the kernel release (`\_F_kernel_rel`) - update `/source/include/kernel-module.sh` (s/=/>=/) and rebuild the fdbs again - run the just modified genpkgs to regenerate the ChangeLog.txt to start from the 0.4 tag to the 0.5 tag - update pacman{,-tools} so that -stable will be the default on -Syu / repoman upd, not -current - upload the fdbs to the mysql db using fpm2db, just run all2db.sh from the /tools dir - create a new chroot tarball for each arch == Testing - generate isos, test _all_ of them (net,cd,dvd for each arch) - create an usb stick installer tarball for each arch - create an tftp boot image for each arch - check if the upgrade from 0.4->0.5 works or not, probably a simple -Syu is not enough, then write a howto and rebuild the manual == Announcement - put the isos online and wait at least 24h so that the mirrors will be in sync at release time - create torrents for the isos and make sure at least one machine seeds them - add the new version to the bts - write an announcement, put it out to somewhere and ask Alex or LGee to spellcheck it - push it to the homepage-ng repo - mark the release as "done" in `/frugalware/xml/roadmap.xml` (homepage-ng repo) and add the proper newsid value - update the topic of `#frugalware` - update the freshmeat entry == For the next release - find a codename - update roadmap.xml Done!