PATCHES(1) LilyPond documentation PATCHES(1) NAME PATCHES - track and distribute your code changes DESCRIPTION This page documents how to distribute your changes to GNU LilyPond ABSTRACT Distributing a change normally goes like this: o make your fix/add your code o Add changes to NEWS, and add yourself to Documentation/AUTHORS.pod o generate a patch, o e-mail your patch to one of the mailing lists gnu- music-discuss@gnu.org or bug-gnu-music@gnu.org GENERATING A PATCH In VERSION, set TOPLEVEL_MY_PATCH_LEVEL: VERSION: ... TOPLEVEL_MY_PATCH_LEVEL = jcn1 In NEWS, enter a summary of changes: NEWS: pl 0.1.48.jcn1 - added PATCHES.pod Then, from the top of Lily's source tree, type make-patch which leaves your patch as ./patch-0.1.48.jcn1. If you didn't configure Lily using --srcdir, you can do: release tar-ball: ../patches/patch-0.1.48.jcn1.gz patch: ../patches/patch-0.1.48.jcn1.gz updeet: ../test/updeet PREREQUISITES For creating a patch you need o All items mentioned in INSTALL. You're not going to send a patch that you haven't even built, right? 12/May/98 LilyPond 0.1.63 1 PATCHES(1) LilyPond documentation PATCHES(1) o GNU Diff o Python (version 1.4 or newer). You can of course make a patch by hand, which would go something like: make distclean cd .. diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1 but there are handy python scripts available. If you're doing development, you'll need Python for other LilyPond scripts anyway. o The Lily directory structure, which looks like: lilypond-0.1.48/ patches/ releases/ test/ If you're following LilyPond development regularly, you probably want to download just the patch for each subsequent release. After downloading the patch (into the patches directory, of course), simply apply it: gzip -dc ../patches/patch-0.1.49.gz | patch -p1 -E and don't forget to make automatically generated files: autoconf 1) configure SYNCHRONISE If you're not very quick with sending your patch, there's a good chance that an new release of LilyPond comes available. In such a case (and sometimes for other unkown reasons :-), the maintainer will probably ask you to make a new patch against the latest release. Your best bet is to download the latest release, and apply your patch against this new source tree: cd lilypond-0.1.49 gzip -dc ../patches/patch-0.1.48.jcn1.gz | patch -p1 -E autoconf 1) configure Then, make a patch as shown above. 1) patches don't include automatically generated files, i.e. configure and files generated by configure. 12/May/98 LilyPond 0.1.63 2 PATCHES(1) LilyPond documentation PATCHES(1) MAINTAINER Han-Wen Nienhuys Just keep on sending those patches! 12/May/98 LilyPond 0.1.63 3