+NAME
+ PATCHES - track and distribute your code changes
-PATCHES(1) LilyPond documentation PATCHES(1)
+DESCRIPTION
+ This page documents how to distribute your changes to
+GNU lilypond
-NAME
- PATCHES - track and distribute your code changes
+ABSTRACT
-DESCRIPTION
- This page documents how to distribute your changes to GNU
- LilyPond
+ We would like to have unified context diffs with full
+pathnames. A script automating supplied with Lily. Dis-
+tributing a change normally goes like this:
-ABSTRACT
- Distributing a change normally goes like this:
+o make your fix/add your code
- o make your fix/add your code
+o Add changes to NEWS, and add yourself to Documenta-
+ tion/AUTHORS.yo
- o generate a patch,
+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 (or if
- you're a bit shy, to the maintainer).
+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 VERSION, set MY_PATCH_LEVEL:
- In NEWS, enter a summary of changes:
+ VERSION:
+ ...
+ MY_PATCH_LEVEL=jcn1
- NEWS:
- pl 0.1.48.jcn1
- - added PATCHES.pod
+In NEWS, enter a summary of changes:
- Then, from the top of Lily's source tree, type
+ NEWS:
+ pl 0.1.73.jcn1
+ - added PATCHES.yo
- make-patch
+Then, from the top of Lily's source tree, type
- which leaves your patch as ./patch-0.1.48.jcn1.
+ make dist
+ make diff
- If you didn't configure Lily using --srcdir, you can do:
+which rolls the tarball ../releases/lilypond-0.1.73.tar.gz
+and leaves your patch as ./lilypond-0.1.73.jcn1.diff. [1]
+We assume that there is a tarball lilypond-0.1.73.tar.gz in
+the directory ../releases.
- release
+If you didn't configure Lily using --srcdir, you can do:
- tar-ball: ../patches/patch-0.1.48.jcn1.gz
- patch: ../patches/patch-0.1.48.jcn1.gz
- updeet: ../test/updeet
+ make release
+ tar-ball: ../patches/lilypond-0.1.73.jcn1.gz
+ patch: ../patches/lilypond-0.1.73.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?
-
- o GNU Diff
-
-
+For creating a patch you need
-28/Apr/98 LilyPond 0.1.62 1
+o All items mentioned in INSTALL. You're not going to
+ send a patch that you haven't even built, right?
+o GNU diff
+o Python (version 1.5 or newer). You can of course make
+ a patch by hand, which would go something like:
+-----------
+[1] 'Make diff' generates a patch between two tar-
+balls. For more info type 'make diff help=='.
+ make distclean
+ cd ..
+ diff -urN lilypond-0.1.73 lilypond-0.1.73.jcn1 > lilypond-0.1.73.jcn1
-PATCHES(1) LilyPond documentation PATCHES(1)
+ 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:
- o Python (version 1.4 or newer). You can of course
- make a patch by hand, which would go something like:
+ doos/ # gnu/windows32 build and binary releases
+ harmonia -> harmonia-x.y.z
+ harmonia-x.y.z/
+ lilypond -> lilypond-x.y.z # symlink to development directory
+ lilypond-x.y.z/ # current development
+ patches/ # patches between different releases
+ RedHat/BUILD # RedHat build and binary releases
+ RedHat/RPMS
+ RedHat/SPECS
+ releases/ # .tar.gz releases
+ test/ # tarballs and diffs from current version
+ yodl -> yodl-1.30.17
+ yodl-1.30.17
- make distclean
- cd ..
- diff -urN lilypond-0.1.48 lilypond-0.1.48.jcn1 > patch-0.1.48.jcn1
+ with prefix $HOME/usr/src and (for building rpms only)
+ in $HOME/.rpmrc:
- but there are handy python scripts available. If
- you're doing development, you'll need Python for
- other LilyPond scripts anyway.
+ topdir: /home/fred/usr/src/RedHat
- o The Lily directory structure, which looks like:
+APPLYING PATCHES
- 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/lilypond-0.1.74.diff.gz | patch -p1 -E
- 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:
+and don't forget to make automatically generated files:
- gzip -dc ../patches/patch-0.1.49.gz | patch -p1 -E
-
- and don't forget to make automatically generated files:
-
- autoconf 1)
- configure
+ autoconf footnote(patches don't include automatically generated files,
+ i.e. file(configure) and files generated by file(configure).)
+ 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.
-
-MAINTAINER
- Han-Wen Nienhuys <hanwen@cs.ruu.nl>
-
-
-
-28/Apr/98 LilyPond 0.1.62 2
-
-
-
-
-
-PATCHES(1) LilyPond documentation PATCHES(1)
-
-
- Just keep on sending those patches!
-
-
-
-
-
-
-
-
-
-
-
-
+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, 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.74
+ gzip -dc ../patches/lilypond-0.1.73.jcn1.diff.gz | patch -p1 -E
+ autoconf
+ configure
+Then, make a patch as shown above.
+SEE ALSO
+stepmake/INSTALL.txt
+MAINTAINER
+Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-28/Apr/98 LilyPond 0.1.62 3
-
-
+Just keep on sending those patches!