Workflow for the Publicity/Press announcement
This page describe the current workflow and best practices for the creation and release of announcements.
1b. For announcements that need to be embargoed for some reason. For example, they contain information that need to be acked for a third party external to Debian: obituaries, sensitive topics, etc. A DD-only accessible repository hosted in master is used. DDs can clone it with git clone master.debian.org:/home/debian/git/embargoed.git
2. add your draft to the repository (all DDs have rw access to it) in en/$year/ with this namescheme: YYYY-MM-DD-$title.wml (where YYYY-MM-DD is the expected release date, if you've not decided it yet, just add the file under en/drafts/ with a simple title as name).
3. at least 2 days before the expected release date, send a mail to firstname.lastname@example.org (adding in CC email@example.com and firstname.lastname@example.org) asking for reviews and translations
4. Press and/or webmasters only! on $expected-release-date publish the announcement in the website: you just need to add it to the webwml CVS repository at webwml/english/News/$year with the namescheme YYYYMMDD.wml). Take care also of all the available translations (usually are just french, spanish and german) commiting also them on the appropriate dirs. Here is a hacky shell loop for moving the files. You will need to adjust the announcement name and also the path to webwml on your system.
#FIXME: read parameters #FIXME: create missing Makefiles ann=2015/20150606.wml ; year=2015 ; date=20150606 ; webwml=/home/user/path/to/webwml ; for code in $(ls */$ann | cut -d/ -f 2) ; do lang=$(grep -l LANG=$code $webwml/*/.wmlrc | sed 's/.*webwml.//;s_/.*__') ; mkdir -p $webwml/$lang/News/$year/ ; mv $code/$ann $webwml/$lang/News/$year/$date.wml ; done ; echo These announcements remain: $(ls */$ann)
4.1 Press and/or webmasters only! For stable/oldstable point releases, english/releases/codename/errata.wml and english/template/debian/release_info.wml need to be updated with the version number of the point release.
In the release_info.wml files there are 3 tags to be updated: current_release_* , current_release_date_* and current-cd-release; the 3 of them should wait until the the CD images are ready. You can go on with this workflow safely, and come back here when the CD images are ready to update these 3 tags.
When you come back to this point, you can do it this way even if the images are not ready yet:
4.1.1 Open an ssh session in www-master.debian.org
4.1.2 Stop the cron jobs that build the website:
sudo -u debwww crontab -e
- and mark as comment the lines related to the website builds the ones that launch /srv/www.debian.org/cron/often and /srv/www.debian.org/cron/lessoften
4.1.3 Commit the changes in the release_info.wml file (in your local copy, no in www-master.debian.org)
4.1.4 To build the homepage without triggering a whole website build, you should remove the SUBS line in the english/Makefile and commit the result. See this diff as reference:
4.1.5 In www-master.debian.org, cvs up /srv/www.debian.org/webwml to update the whole website
4.1.6 Build the relevant parts of the website, using the script:
sudo -u debwww /srv/www.debian.org/update-part-without-mirrors CD
(then repeat the update-part-without-mirror with other folder, until all the relevant folders are updated. At least: releases, CD, distrib, ports. Don't build the "security" folder because that one takes too long).
4.1.7 Build the homepage and files in the main folder with:
sudo -u debwww /srv/www.debian.org/webwml/make install
4.1.8 You can review the output of all the website builds in /srv/www.d.o/www
4.1.9 Once the images are ready, trigger to mirrors so the updated website gets published:
sudo -u debwww /srv/www.debian.org/cron/parts/999TriggerMirrors
4.1.10 Then in your local copy of the website, undo the changes in english/Makefile and commit. See this commit for reference:
4.1.11 And finally, undo the changes in crontab so the next website build runs as usual:
sudo -u debwww crontab -e
5. Press and/or webmasters only! run a partial rebuild of the website:
ssh -tt wolkenstein.debian.org sudo -u debwww /srv/www.debian.org/update-part News
Please note that for new Debian releases the whole website needs rebuilding.
6. now you're ready for creating the mail: the script to create it is the publicity dpn repo under scripts/DPNhtml2mail.pl Please note that the script is not perfect: a check and a couple of adjustments by hand are usually required (and a patch to improve it, as well!)
./scripts/DPNhtml2mail.pl -t news -i $year/$date
7. yay! you can finally send the mail to email@example.com or firstname.lastname@example.org plus other relevant recipients/lists, if needed (e.g. debian-lts-announce or debconf list). The publicity delegates will moderate your mail you have no permissions to write to that list! As a reminder, -news should be the default place to send things. -announce is reserved for special announcements, such as new point releases etc.
8. Follow the instructions in https://micronews.debian.org/pages/contribute.html to send a microblogging that will be mirrored in identi.ca/debian and other social networks.
9. Remove the announcement from the publicity announcements git repository once it has been published.
10. Finally, you might want to update the debian-timeline if this event is noteworthy.