[calm - Cygwin server-side packaging maintenance script] branch master, updated. 20171008-5-g7777cd8

jturney-9JcytcrH/[email protected]
Newsgroups gmane.os.cygwin.cvs.apps
Message-ID <[email protected]>


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

commit 7777cd8b753a678e50039f485d36ff134533aa87
Author: Jon Turney <[email protected]>
Date:   Wed Oct 25 12:37:25 2017 +0100

    Don't ignore scan-relarea if it arrives during scan-uploads

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

commit 855427e5e128c5a5e1aa0d9a89d8c3c0b223c6b4
Author: Jon Turney <[email protected]>
Date:   Thu Oct 19 02:56:36 2017 +0100

    Report a count of files being ignored, rather than every pathname being ignored
    
    There can be a lot of files being ignored, so this is can be spammy.

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

commit aee9c5bf548b3f16c268b841b681b076b5dedfa5
Author: Jon Turney <[email protected]>
Date:   Thu Oct 19 02:41:31 2017 +0100

    Discard rather than ignore attempts to upload identical files
    
    Just ignoring leaves the file around to then be warned that it's being
    ignored because there is no !ready...

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

commit 302b82471ae5998b22b68a47e0f55b1ed05cce74
Author: Jon Turney <[email protected]>
Date:   Wed Oct 25 12:42:01 2017 +0100

    Add subversion to timestamp_anomalies

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

commit f1cac7e148c28771c6b6a467d183cd1cdfd009d1
Author: Jon Turney <[email protected]>
Date:   Thu Oct 19 02:35:34 2017 +0100

    Add transfig-debug to nonunique_versions


Diff:
---
 calm/calm.py          |    7 ++++++-
 calm/past_mistakes.py |   10 ++++++++++
 calm/uploads.py       |   26 +++++++++++++++-----------
 3 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/calm/calm.py b/calm/calm.py
index 14d4317..729dec8 100755
--- a/calm/calm.py
+++ b/calm/calm.py
@@ -513,10 +513,15 @@ def do_daemon(args, state):
 
                         do_output(args, state)
 
-                        # if there is more work to do, but don't spin if we can't do it
+                        # if there is more work to do, but don't spin if we
+                        # can't do anything because relarea is bad
                         if read_uploads:
                             continue
 
+                    # if there is more work to do
+                    if read_relarea:
+                        continue
+
                 # we wake at a 10 minute offset from the next 240 minute boundary
                 # (i.e. at :10 past every fourth hour) to check the state of the
                 # release area, in case someone has ninja-ed in a change there...
diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py
index de99439..16ba212 100644
--- a/calm/past_mistakes.py
+++ b/calm/past_mistakes.py
@@ -140,6 +140,7 @@ nonunique_versions = [
     'sng-debuginfo',
     'socat-debuginfo',            # debuginfo for test version when curr has no debuginfo
     'sqlite3-zlib',               # sqlite3-zlib removed in 3.8.10, use sqlite3-compress instead
+    'transfig-debuginfo',         # after transfig 3.2.6 source is included in xfig
     'w3m-img',
 ]
 
@@ -161,5 +162,14 @@ mtime_anomalies = [
     'python-gtk2.0-demo',
     'python-gtk2.0-devel',
     'python-wx',  # timestamps reset when split out from wxWidgets
+    'subversion',  # 1.8 and 1.9 might be built in either order...
+    'subversion-debuginfo',
+    'subversion-devel',
+    'subversion-gnome',
+    'subversion-httpd',
+    'subversion-perl',
+    'subversion-python',
+    'subversion-ruby',
+    'subversion-tools',
     'xextproto',
 ]
diff --git a/calm/uploads.py b/calm/uploads.py
index a8a2660..886ea29 100644
--- a/calm/uploads.py
+++ b/calm/uploads.py
@@ -59,6 +59,7 @@ def scan(m, all_packages, arch, args):
     remove_success = []
     error = False
     mtimes = [('', 0)]
+    ignored = 0
 
     logging.debug('reading packages from %s' % (basedir))
 
@@ -139,18 +140,14 @@ def scan(m, all_packages, arch, args):
             if file_mtime > mtime:
                 if mtime == 0:
                     m.reminders_timestamp_checked = True
-                    lvl = logging.DEBUG
-
-                    # don't warn until file is at least REMINDER_GRACE old, and
-                    # if more than REMINDER_INTERVAL has elapsed since we warned
-                    # about files being ignored, warn again
-                    if ((file_mtime < (time.time() - REMINDER_GRACE)) and
-                        (time.time() > (m.reminder_time + REMINDER_INTERVAL))):
-                        lvl = logging.WARNING
+
+                    logging.debug("ignoring %s as there is no !ready" % fn)
+                    ignored += 1
+
+                    # don't warn until file is at least REMINDER_GRACE old
+                    if (file_mtime < (time.time() - REMINDER_GRACE)):
                         if not args.dryrun:
                             m.reminders_issued = True
-
-                    logging.log(lvl, "ignoring %s as there is no !ready" % fn)
                 else:
                     logging.warning("ignoring %s as it is newer than !ready" % fn)
                 files.remove(f)
@@ -204,7 +201,8 @@ def scan(m, all_packages, arch, args):
             if os.path.isfile(dest):
                 if not f.endswith('.hint'):
                     if filecmp.cmp(dest, fn, shallow=False):
-                        logging.info("ignoring, identical %s is already in release area" % fn)
+                        logging.info("discarding, identical %s is already in release area" % fn)
+                        remove_success.append(fn)
                     else:
                         logging.error("ignoring, different %s is already in release area (perhaps you should rebuild with a different version-release identifier?)" % fn)
                         error = True
@@ -231,6 +229,12 @@ def scan(m, all_packages, arch, args):
     if args.dryrun:
         m.reminders_timestamp_checked = True
 
+    # if files are being ignored, and more than REMINDER_INTERVAL has elapsed
+    # since we warned about files being ignored, warn again
+    if ignored > 0 and m.reminders_issued:
+        if (time.time() > (m.reminder_time + REMINDER_INTERVAL)):
+            logging.warning("ignored %d files as there is no !ready")
+
     return ScanResult(error, packages, move, vault, remove, remove_success)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.