This page documents how to distribute your changes to Yodl (or in fact any other StepMake package).
Distributing a change normally goes like this:
In VERSION, set MY_PATCH_LEVEL:
VERSION:
...
MY_PATCH_LEVEL=jcn1
In NEWS, enter a summary of changes:
NEWS:
pl 1.30.0.jcn1
- added PATCHES.yo
Then, from the top of Yodl's source tree, type
make dist
make diff
which rolls the tarball ../releases/yodl-1.30.0.jcn1.diff and leaves your patch as ./yodl-1.30.0.jcn1.diff. ('Make diff' generates a patch between two tarballs. For more info type 'make diff help=='.) We assume that there is a tarball yodl-1.30.0.tar.gz in the directory ../releases.
If you didn't configure Lily using --srcdir, you can do:
make release
tar-ball: ../patches/yodl-1.30.0.jcn1.gz
patch: ../patches/yodl-1.30.0.jcn1.gz
updeet: ../test/updeet
For creating a patch you need
make distclean
cd ..
diff -urN yodl-1.30.0 yodl-1.30.0.jcn1 > yodl-1.30.0.jcn1
but there are handy python scripts available. If you're doing development, you'll need Python for other Yodl scripts anyway.
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
If you're following Yodl 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/yodl-1.30.1.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
If you're not very quick with sending your patch, there's a good chance that an new release of Yodl 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 yodl-1.30.1
gzip -dc ../patches/yodl-1.30.0.jcn1.diff.gz | patch -p1 -E
autoconf
configure
Then, make a patch as shown above.
stepmake/INSTALL.txt
Just keep on sending those patches!
Please send Yodl questions and comments to yodl@icce.rug.nl.
Please send comments on these web pages to (address unknown)
Copyright (c) 1997, 1998, 1999 Karel Kubat and Jan Nieuwenhuizen.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.