1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-09 00:40:11 +01:00

Add support for patching source packages.

Sometimes there's a need to patch upstream source. While this can be
scripted using prebuild commands, it's very verbose and unstructured,
so add dedicated patching support.

Details:

To patch source, specific build's metadata line should include:

patch=patch1.patch;patch2.patch;...

Patches are separated with ';', at least one patch should be specified.
They are applied in the order given. Patches are looked up in
metadata/<package>/ directory. Different builds obviously may reference
the same patch(es).
This commit is contained in:
Paul Sokolovsky 2011-06-16 23:57:49 +03:00
parent 5d4e7542f5
commit 1099e114f5

View File

@ -334,6 +334,16 @@ for app in apps:
print "Error running pre-build command"
sys.exit(1)
# Apply patches if any
if 'patch' in thisbuild:
for patch in thisbuild['patch'].split(';'):
print "Applying " + patch
patch_path = os.path.join('metadata', app['id'], patch)
if subprocess.call(['patch', '-p1',
'-i', os.path.abspath(patch_path)], cwd=root_dir) != 0:
print "Failed to apply patch %s" % patch_path
sys.exit(1)
# Special case init functions for funambol...
if thisbuild.get('initfun', 'no') == "yes":