X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=PATCHES.txt;h=f801d8ef5aa9c69b71efeee3503b27a248851d68;hb=5f94c3ae8a1804e880693edbc28d2c6a838d3149;hp=47ec14729113cf3859aa22c1c2875d9e825dad8e;hpb=95de6911a5cd1f90dfcd72ec798f089f6522f50f;p=lilypond.git diff --git a/PATCHES.txt b/PATCHES.txt index 47ec147291..f801d8ef5a 100644 --- a/PATCHES.txt +++ b/PATCHES.txt @@ -1,198 +1,232 @@ -PATCHES(1) LilyPond documentation PATCHES(1) + NAME - PATCHES - track and distribute your code changes + + PATCHES - track and distribute your code changes DESCRIPTION - This page documents how to distribute your changes to GNU - LilyPond + + This page documents how to distribute your changes to +GNU lilypond (or in fact any other StepMake package). ABSTRACT - Distributing a change normally goes like this: - o make your fix/add your code + Distributing a change normally goes like this: + +o make your fix/add your code - o generate a patch, +o Add changes to NEWS, and add yourself to Documenta- + tion/AUTHORS.yo - 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 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 VERSION, set MY_PATCH_LEVEL: - 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. + VERSION: + ... + MY_PATCH_LEVEL=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 +In NEWS, enter a summary of changes: - o All items mentioned in INSTALL. You're not going to - send a patch that you haven't even built, right? - o GNU Diff -28/Apr/98 LilyPond 0.1.62 1 + NEWS: + pl 0.1.73.jcn1 + - added PATCHES.yo +Then, from the top of Lily's source tree, type -PATCHES(1) LilyPond documentation PATCHES(1) - 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 + make dist + make diff - 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: +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. - gzip -dc ../patches/patch-0.1.49.gz | patch -p1 -E +If you didn't configure Lily using --srcdir, you can do: - 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. + make release + + tar-ball: ../patches/lilypond-0.1.73.jcn1.gz + patch: ../patches/lilypond-0.1.73.jcn1.gz + updeet: ../test/updeet + - 1) patches don't include automatically generated files, - i.e. configure - and files generated by configure. -MAINTAINER - Han-Wen Nienhuys -28/Apr/98 LilyPond 0.1.62 2 +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 -PATCHES(1) LilyPond documentation PATCHES(1) +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=='. - Just keep on sending those patches! + make distclean + cd .. + diff -urN lilypond-0.1.73 lilypond-0.1.73.jcn1 > lilypond-0.1.73.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: + 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 + with prefix $HOME/usr/src and (for building rpms only) + in $HOME/.rpmrc: + topdir: /home/fred/usr/src/RedHat +APPLYING PATCHES +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 +and don't forget to make automatically generated files: + 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.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 -28/Apr/98 LilyPond 0.1.62 3 +Han-Wen Nienhuys +Just keep on sending those patches!