mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-16 16:02:33 +03: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:
parent
5d4e7542f5
commit
1099e114f5
1 changed files with 10 additions and 0 deletions
10
build.py
10
build.py
|
@ -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":
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue