-*- text -*-

This is a list of random notes for GRUB maintainers. If you are not a
maintainer, you need to ask maintainers to do these instead of doing
these yourself.

How to update the online manual: (FIXME: this is obsoelete)
1. Copy docs/*.texi (excluding "multiboot.texi") to fencepost.gnu.org.
2. Make a symbolic link from ~mohit/gnudoc/gnudoc_template to the
   directory under which *.texi were copied, if the link isn't present.
3. Run ``~mohit/gnudoc/gendocs.sh grub "GNU GRUB Manual"''.
4. Copy the contents of the directory ``manual'' to
   gnudist.gnu.org:~ftp/gnu/Manuals/grub-VERSION (VERSION is, for
   example, 1.0).
5. Run ``ln -sf grub-VERSION grub'' in gnudist.gnu.org:~ftp/gnu/Manuals.
6. Run ``cd grub; ln -s grub.html index.html''.
7. Verify the new online manual with a WWW browser.
8. Update manual.html by hand.

How to release a version:
1. Check out the source tree from the CVS from scratch.
2. Check if ``make distcheck'' succeeds.
3. Run ``util/grub-image''.
4. Check the resulted images, for example, using bochs.
5. Copy grub-VERSION.tar.gz, grub-VERSION-i386-pc.tar.gz and
   grub-VERSION-i386-pc.ext2fs to fencepost.gnu.org:~ftp/gnu/grub.
6. Move older files in that directory above to the directory ``old'',
   if you think they are eyesores.
7. Post an announcement to bug-grub@gnu.org. It would be a good idea to
   send a carbon copy to bug-hurd@gnu.org and
   debian-hurd@lists.debian.org. If the announcement is for a stable
   version, you can inform info-gnu@gnu.org as well.
8. Optionally, post an announcement to Freshmeat.net.

Legal issues:
1. If a patch is not significant (in size), you don't have to care about
   the copyright.
2. If a patch is significant, you shouldn't apply the patch to the CVS.
   Before doing that, you must ask the contributor to assign or disclaim
   the copyright. Send ``/gd/gnuorg/request-assign.changes'' or
   ``/gd/gnuorg/request-assign.future'' to the contributor, and wait
   until the FSF finishes the legal work.
3. You can check if a contributor has already assigned his/her copyright
   to the FSF by looking at ``/gd/gnuorg/copyright.list''.

What you should have in your mind:
1. Don't add features unnecessarily! You may think it is a Good Thing to
   have more features, but you must be prepared for more burdens.
   DO THAT ONLY IF YOU BELIEVE THAT THE FEATURE IS ESSENTIAL.
2. Don't break backward-compatibility! Don't apply any patch which could
   break existing features. Otherwise you would receive a lot of
   complaints. DO THAT ONLY IF YOU BELIEVE THAT THE INCOMPATIBILITY IS
   INEVITABLE.
3. Write good code. Be not satisfied with ad hoc workarounds or quick
   hacks. NEVER WRITE BAD CODE.

Resources:
* http://www.gnu.org/prep/maintain_toc.html
* http://www.gnu.org/prep/standards_toc.html
* http://www.gnu.org/server/fsf-html-style-sheet.html