# Ubuntu – the proper way to patch Wine for a custom PPA

I've been manually applying patches to Wine for use on my own machine, but I want to put it in a PPA for my friends and relations.

1. Get the latest source from an upstream PPA via apt-get source
2. Use patch to apply my unofficial, unsupported patches.
3. Create a package using dpkg-buildpackage -rfakeroot -uc -b

This is fine for creating a package that will run on my local machine. However I now want to distribute this custom build to others via a PPA.

Is this procedure sufficient, or is there a more correct and/or easier to maintain procedure I should be following specifically for Wine?

• You're pretty close with your example steps, but here's what I'd suggest:

1. Grab the sources with apt-get source wine and cd into the new directory
2. Find what sort of patch system the wine package is based on: what-patch; in this case, it tells us we that the wine package uses quilt for patch management
3. Since we're using quilt, add your custom patch(es) to the quilt series:
QUILT_PATCHES=debian/patches quilt import <your-patchfile.patch>
If you have multiple patches, do this for each patch, in the order that you want them applied.
4. Add a suitable entry to the debian/changelog file - you'll need to alter the version number to ensure that your PPA version is differentiated from the official version. Typically, you should increment the last version number, and add a tilde (~) followed by your custom version string (eg ~jbowtie1). The dch -i command can help with this too.
5. Build the source package:
debuild -S
dput ppa:<your-ppa> ../wine*.changes
It's usually a good idea to do a test build before doing the dput - the pbuilder command allows you to recreate what the PPA build system would do with your package (ie, start from a clean install, add required deps, then build).
In this case you would have to set up pbuilder first (see https://wiki.ubuntu.com/PbuilderHowto), then do this before the dput:
sudo pbuilder build ../*.dsc