]> git.pld-linux.org Git - packages/rpm-build-tools.git/commitdiff
main()
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 23 Feb 2021 13:53:23 +0000 (14:53 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 23 Feb 2021 13:53:23 +0000 (14:53 +0100)
rediff-patches.py

index d2d6c5944f567c063bd7214f704796025c75beee..6b2f760adfdde7b52d23404e79c2724d1975a6d5 100755 (executable)
@@ -37,42 +37,46 @@ def diff(diffdir_org, diffdir, builddir, output):
             if err.returncode != 1:
                 raise
 
-specfile = sys.argv[1]
-
-tempdir = tempfile.TemporaryDirectory(dir="/dev/shm")
-topdir = tempdir.name
-builddir = os.path.join(topdir, 'BUILD')
-
-rpm.addMacro("_builddir", builddir)
-
-r = rpm.spec(specfile)
-
-patches = {}
-
-for (name, nr, flags) in r.sources:
-    if flags & RPMBUILD_ISPATCH:
-        patches[nr] = name
-
-applied_patches = {}
-re_patch = re.compile(r'^%patch(?P<patch_number>\d+)\w*(?P<patch_args>.*)')
-for line in r.parsed.split('\n'):
-    m = re_patch.match(line)
-    if not m:
-        continue
-    patch_nr = int(m.group('patch_number'))
-    patch_args = m.group('patch_args')
-    applied_patches[patch_nr] = patch_args
-
-appsourcedir = rpm.expandMacro("%{_sourcedir}")
-appbuilddir = rpm.expandMacro("%{_builddir}/%{?buildsubdir}")
-
-for (patch_nr, patch_name) in sorted(patches.items()):
-    if patch_nr not in applied_patches:
-        continue
-    print("*** patch %d: %s" % (patch_nr, patch_name), file=sys.stderr)
-    unpack(specfile, builddir, patch_nr)
-    os.rename(appbuilddir, appbuilddir + ".org")
-    unpack(specfile, builddir, patch_nr + 1)
-    diff(appbuilddir + ".org", appbuilddir, builddir, os.path.join(topdir, os.path.join(appsourcedir, patch_name + ".rediff")))
-    shutil.rmtree(builddir)
-tempdir.cleanup()
+def main():
+    specfile = sys.argv[1]
+
+    tempdir = tempfile.TemporaryDirectory(dir="/dev/shm")
+    topdir = tempdir.name
+    builddir = os.path.join(topdir, 'BUILD')
+
+    rpm.addMacro("_builddir", builddir)
+
+    r = rpm.spec(specfile)
+
+    patches = {}
+
+    for (name, nr, flags) in r.sources:
+        if flags & RPMBUILD_ISPATCH:
+            patches[nr] = name
+
+    applied_patches = {}
+    re_patch = re.compile(r'^%patch(?P<patch_number>\d+)\w*(?P<patch_args>.*)')
+    for line in r.parsed.split('\n'):
+        m = re_patch.match(line)
+        if not m:
+            continue
+        patch_nr = int(m.group('patch_number'))
+        patch_args = m.group('patch_args')
+        applied_patches[patch_nr] = patch_args
+
+    appsourcedir = rpm.expandMacro("%{_sourcedir}")
+    appbuilddir = rpm.expandMacro("%{_builddir}/%{?buildsubdir}")
+
+    for (patch_nr, patch_name) in sorted(patches.items()):
+        if patch_nr not in applied_patches:
+            continue
+        print("*** patch %d: %s" % (patch_nr, patch_name), file=sys.stderr)
+        unpack(specfile, builddir, patch_nr)
+        os.rename(appbuilddir, appbuilddir + ".org")
+        unpack(specfile, builddir, patch_nr + 1)
+        diff(appbuilddir + ".org", appbuilddir, builddir, os.path.join(topdir, os.path.join(appsourcedir, patch_name + ".rediff")))
+        shutil.rmtree(builddir)
+    tempdir.cleanup()
+
+if __name__ == '__main__':
+    main()
This page took 0.095155 seconds and 4 git commands to generate.