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.
Currently I follow this procedure:
- Get the latest source from an upstream PPA via
apt-get source
- Use
patch
to apply my unofficial, unsupported patches. - 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:
apt-get source wine
andcd
into the new directorywhat-patch
; in this case, it tells us we that the wine package usesquilt
for patch managementdebian/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
). Thedch -i
command can help with this too.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
:The Ubuntu Packaging Guide has all the information how to package for Ubuntu including howto deal with patches.
You need to first build a source package-
https://wiki.ubuntu.com/PackagingGuide/Basic#Building%20the%20Source%20Package
Pushing it to a PPA is very easy for Ubuntu 9.10 or later
Just go to Terminal and type
Jeremy's answer is straight to the point.
Alternatively, you can use
bzr
to handle the source, patches and building/upload.See https://wiki.ubuntu.com/DistributedDevelopment, starting with https://wiki.ubuntu.com/DistributedDevelopment/Documentation.
While is simplifies some steps, e.g. merging for new upstream versions (if you plan to get ahead of the original Ubuntu package), the original "apt-get source" approach is probably more straight and easier in the end.
Ubuntu Tweak includes a PPA for Wine, once it is selected in Ubuntu Tweak it will stay updated via regular updates
From the winehq website:
Open the Software Sources menu by going to System->Administration->Software Sources. Then select the Third Party Software tab and click Add.
Then, copy and paste the line below.
ppa:ubuntu-wine/ppa
Then run sudo apt-get update and after it's done sudo apt-get install wine