On preparing the FreeFont package for release.
1) Makefile
The command
make
will build the TrueType font files in the sfd directory.
The command
make package
creates four archive files: one tarball of sources (SFD files), a zip
of TrueType fonts, a tarball of OpenType fonts, and a zip of WOFF
format fonts. The naming convention is:
freefont-src-yyyymmdd.tar.gz
freefont-ttf-yyyymmdd.zip
freefont-otf-yyyymmdd.tar.gz
freefont-woff-yyyymmdd.zip
where yyyymmdd is the year, month and date of release.
The Makefile also has other targets, for building individual components
of the distribution.
2) Checking for font problems
It is important to execute all the available tests before release,
and make the fonts pass all of them. Toward this goal the fonts
should also be checked before commits.
The first check is the FontForge "Verifiy" command.
Beyond that are its checks in "Find Problems...".
Several further FreeFont checks are executed by
make tests
Note that failure of some of these will result in visible problems
when the font is used. For example, failure of some of the "ATT"
checks may cause whole font features in the lookups to be silently
shut off by the font rendering software.
3) Adding files to the download area
The gnupload script, which has some connection to automake, is the
neatest way to upload files to Savannah. You may have to acquire it
from somebody.
Requires 'ncftp'
/bin/sh ~/bin/gnupload --to ftp.gnu.org:freefont freefont-otf-20080324.zip
It prompts for a PGP password, creates the signature files required
by the Savannah upload procedures, and uploads all of them.
4) Creating detached signature file, as in the "raw" upload procedures:
http://www.gnu.org/prep/maintain/maintain.html#Automated-Upload-Registration
gpg -b freefont-ttf-20060126.zip
This creates a "detached GPD binary signature" file freefont-ttf.tar.gz.sig
5) Commiting a SVN file
svn co svn+ssh://user_name@svn.savannah.gnu.org/freefont/trunk/freefont
cd freefont/sfd
svn commit FreeSans.sfd
6) a) Tagging a release in SVN
svn copy svn://svn.savannah.gnu.org/freefont/trunk \
svn://svn.savannah.gnu.org/freefont/tags/RELEASE_20120503 \
-m "Tagging the 03.05.2012 release."
b) Tagging a release in CVS
cvs rtag RELEASE_TAG_NAME freefont
Removing a tag
cvs rtag -d RELEASE_TAG_NAME freefont
Retrieving a tagged release
cvs checkout -P -r RELEASE_TAG_NAME freefont
7) Using Change Log mode in Emacs
C-x 4 a adds a new entry to the change log file
8) New release procedures
Update the Changelog.
Review the AUTHORS and CREDITS files for competeness.
Ensure that "make tests" completes cleanly.
Tag new releases with tag named RELEASE_date, where date is the date.
Add release date field value to bug report field "Release".
Upload the archive files to Savannah.
Write to freefont-announce@gnu.org
Write to info-gnu@gnu.org
Write to pkg-fonts-devel@lists.alioth.debian.org,
and Debian freefont-ttf packager
Mark "Fix in source" bug reports as "Fixed"
9) Adding ssh keys to Savannah
Otherwise get errors like
Permission denied (publickey).
cvs [checkout aborted]: end of file from server
Log in as Savannah project admin
Click My Account Conf (from menu list on far left)
Edit the (n) SSH Public Keys registered
Paste in a public rsa key (can have up to 5)
Click Update.
10) Adding binaries (such as TrueType fonts) to CVS, as for web pages
Remember to add with the -kb flag,
cvs add -kb myfont.ttf
or it will mess the binary up and waste days of your life.
$Id: maintenance.txt 2267 2012-05-03 11:57:14Z Stevan_White $