1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
This file is included for historical reasons only. This doesn't mean that
patches aren't welcome, but mainly that the handling of patches has changed.
When you want to contribute a patch, create the differences, and recreate a
new set of macros/binaries. See INSTALL.txt for a short description for that.
Then, create your patch file and send it to the Debian Maintainer and/or Frank
(f.b.brokken@rug.nl) together with a short description about the reasons
for your patch.
Note that since Yodl 2.00 make isn't used anymore for package
maintenance. Instead, icmake is used. So don't submit Makefile(s): they won't
be used.
Frank
==============================================================================
PATCHES - track and distribute your code changes
This page documents how to distribute your changes to Yodl.
ABSTRACT
Distributing a change normally goes like this:
o make your fix/add your code
o Add changes to a file NEWS (create it if it doesn't exist yet), and add
yourself to AUTHORS.txt
o generate a patch,
o e-mail your patch to the Debian maintainer or to Frank
(f.b.brokken@rug.nl)
GENERATING A PATCH
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. [1] 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
PREREQUISITES
For creating a patch you need
-----------
[1] 'Make diff' generates a patch between two tar-
balls. For more info type 'make diff help=='.
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.4 or newer). You can of course make
a patch by hand, which would go something like:
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.
o The Yodl 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 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
SYNCHRONISE
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 unknown 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.
SEE ALSO
stepmake/INSTALL.txt
MAINTAINER
Jan Nieuwenhuizen <janneke@gnu.org>
Just keep on sending those patches!
|