[calm - Cygwin server-side packaging maintenance script] branch master, updated. 20230209-82-g06cbd1c

Jon Turney jturney@sourceware.org
Wed Apr 3 13:03:14 GMT 2024




https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=06cbd1c6d571b38511b5fdb02fd1174662ddec4e

commit 06cbd1c6d571b38511b5fdb02fd1174662ddec4e
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue Apr 2 16:05:29 2024 +0100

    Fix package name checking in fix-requires-by-path
    
    Also add a bit of more verbose output,
    Also make it possible to run on just a named package

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=de29eed7b46b4144053cc54e8cfb3a45002c59cc

commit de29eed7b46b4144053cc54e8cfb3a45002c59cc
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue Apr 2 16:03:44 2024 +0100

    Clean up all empty directories in stagingdir


Diff:
---
 calm/calm.py                 |  5 ++++-
 calm/fix-requires-by-path.py | 18 ++++++++++++++----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/calm/calm.py b/calm/calm.py
index ab118ee..b13d78c 100755
--- a/calm/calm.py
+++ b/calm/calm.py
@@ -213,7 +213,10 @@ def process_maintainer_uploads(args, state, all_packages, m, basedir, desc, scru
 
     # clean up any empty directories
     if not args.dryrun:
-        utils.rmemptysubdirs(os.path.join(basedir, m.name))
+        if scrub:
+            utils.rmemptysubdirs(os.path.join(basedir, m.name), depth=0)
+        else:
+            utils.rmemptysubdirs(os.path.join(basedir, m.name))
 
     return success
 
diff --git a/calm/fix-requires-by-path.py b/calm/fix-requires-by-path.py
index 0efe087..3111e08 100644
--- a/calm/fix-requires-by-path.py
+++ b/calm/fix-requires-by-path.py
@@ -42,10 +42,6 @@ from . import hint
 def fix_one_hint(args, dirpath, hintfile, tf):
     pn = os.path.join(dirpath, hintfile)
 
-    # avoid pointlessly checking to add a self-dependency
-    if pn == args.requires:
-        return
-
     hints = hint.hint_file_parse(pn, hint.pvr)
 
     hints.pop('parse-warnings', None)
@@ -72,6 +68,7 @@ def fix_one_hint(args, dirpath, hintfile, tf):
         pass
 
     if ivp:
+        logging.info('found matching path in %s' % (tf))
         requires = hints.get('requires', '').split()
         if args.requires not in requires:
             if args.replace and args.replace in requires:
@@ -101,6 +98,18 @@ def fix_hints(args):
                 if root.endswith('-src'):
                     continue
 
+                pn = root.rsplit('-', 2)[0]
+
+                # is pn in the list of packages (if specified)?
+                if args.package and (pn not in args.package):
+                    continue
+
+                # avoid pointlessly checking to add a self-dependency
+                if pn == args.requires:
+                    return
+
+                logging.info('Checking %s' % root)
+
                 fix_one_hint(args, dirpath, root + '.hint', f)
 
 #
@@ -114,6 +123,7 @@ if __name__ == "__main__":
     parser = argparse.ArgumentParser(description='Add DEPATOM to requires: of packages which contain a file starting with PATH')
     parser.add_argument('path', metavar='PATH', help='regex of path to match')
     parser.add_argument('requires', metavar='DEPATOM', help='require to add')
+    parser.add_argument('package', metavar='PACKAGE', action='extend', nargs='*', help='packages to check')
     parser.add_argument('-v', '--verbose', action='count', dest='verbose', help='verbose output', default=0)
     parser.add_argument('--releasearea', action='store', metavar='DIR', help="release directory (default: " + relarea_default + ")", default=relarea_default, dest='relarea')
     parser.add_argument('--replace', action='store', metavar='DEPATOM', help="replace existing DEPATOM if present")



More information about the Cygwin-apps-cvs mailing list