From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 69641 invoked by alias); 11 Apr 2017 10:37:56 -0000 Mailing-List: contact cygwin-apps-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cygwin-apps-cvs-owner@sourceware.org Received: (qmail 69604 invoked by uid 9795); 11 Apr 2017 10:37:55 -0000 Date: Tue, 11 Apr 2017 10:37:00 -0000 Message-ID: <20170411103755.69564.qmail@sourceware.org> From: jturney@sourceware.org To: cygwin-apps-cvs@sourceware.org Subject: [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20160705-63-gad55c8b X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: ece907f71b7148b0eb1ad207a32eb6408d2d4940 X-Git-Newrev: ad55c8b8597def4ee7f88ea902afce7276547c2b X-SW-Source: 2017-q2/txt/msg00006.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=ad55c8b8597def4ee7f88ea902afce7276547c2b commit ad55c8b8597def4ee7f88ea902afce7276547c2b Author: Jon Turney Date: Thu May 12 16:45:33 2016 +0000 Tweak email recipents Add stromeko to errors list Add jturney and yselkowitz to Bcc list https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=4bd0457d08a20933e414a5d80e3faec496b9914d commit 4bd0457d08a20933e414a5d80e3faec496b9914d Author: Jon Turney Date: Fri Jun 24 14:23:51 2016 +0100 Also check for skip: but install files Check the condition both ways, so the presence/absence of skip: matches absence/presence of an install tarfile https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=97a39eaa9e8ccb4a2889b4a9adb38b074a2f85bf commit 97a39eaa9e8ccb4a2889b4a9adb38b074a2f85bf Author: Jon Turney Date: Sun Apr 9 18:39:21 2017 +0100 Improve 'should be categorized obsolete' test to apply to each version Forgive some legitimate, historical cases of this condition Diff: --- calm/common_constants.py | 7 ++++--- calm/package.py | 8 +++++++- calm/past_mistakes.py | 11 +++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/calm/common_constants.py b/calm/common_constants.py index 763a2fd..8b17ee2 100644 --- a/calm/common_constants.py +++ b/calm/common_constants.py @@ -36,10 +36,10 @@ HOMEDIR = '/sourceware/cygwin-staging/home' FTP = '/var/ftp/pub/cygwin' # logs are emailed to these addresses if any errors occurred -EMAILS = ','.join(map(lambda m: m + '@sourceware.org', ['corinna', 'yselkowitz', 'jturney'])) +EMAILS = ','.join(list(map(lambda m: m + '@sourceware.org', ['corinna', 'yselkowitz'])) + ['Stromeko@NexGo.DE']) -# for testing purposes, every email we send is bcc'd to these addresses -ALWAYS_BCC = '' +# every email we send is bcc'd to these addresses +ALWAYS_BCC = 'jturney@sourceware.org, yselkowitz@sourceware.org' # these maintainers can upload orphaned packages as well ORPHANMAINT = "Yaakov Selkowitz" @@ -68,4 +68,5 @@ DEFAULT_KEEP_DAYS = 0 if os.uname()[1] == 'tambora': FTP = '/var/ftp/pub/cygwin-test' EMAILS = 'jon.turney@dronecode.org.uk' + ALWAYS_BCC = '' MAILHOST = 'allegra' diff --git a/calm/package.py b/calm/package.py index a2ec6f8..7d5a5d5 100755 --- a/calm/package.py +++ b/calm/package.py @@ -468,6 +468,10 @@ def validate_packages(args, packages): packages[p].skip = True logging.info("package '%s' appears to be source-only as it has no non-empty install tarfiles and no dependencies, marking as 'skip'" % (p)) + elif has_install: + logging.error("package '%s' has 'skip:' hint but also has install tarfiles" % (p)) + error = True + # verify the versions specified for stability level exist levels = ['test', 'curr', 'prev'] for l in levels: @@ -563,13 +567,15 @@ def validate_packages(args, packages): # If the install tarball is empty and there is no source tarball, we # should probably be marked obsolete + # (XXX: should consider external-source: ?) if not packages[p].skip: for vr in packages[p].version_hints: if '_obsolete' not in packages[p].version_hints[vr].get('category', ''): if 'source' not in packages[p].vermap[vr]: if 'install' in packages[p].vermap[vr]: if packages[p].tars[packages[p].vermap[vr]['install']].is_empty: - logging.info("package '%s' version '%s' has empty install tar file and no source, but it's not in the _obsolete category" % (p, vr)) + lvl = logging.WARNING if p not in past_mistakes.empty_but_not_obsolete else logging.INFO + logging.log(lvl, "package '%s' version '%s' has empty install tar file and no source, but it's not in the _obsolete category" % (p, vr)) # make another pass to verify a source tarfile exists for every install # tarfile version diff --git a/calm/past_mistakes.py b/calm/past_mistakes.py index 6770e74..e69d988 100644 --- a/calm/past_mistakes.py +++ b/calm/past_mistakes.py @@ -129,3 +129,14 @@ nonunique_versions = [ 'texinfo-debuginfo', # something went wrong with package build? 'w3m-img', ] + +# packages with an empty install file, no source, but aren't obsolete +empty_but_not_obsolete = [ + 'gcc-java', # gcc-java will be obsolete in test version 6.3 + 'gdal-debuginfo', # version 2.1.2-1 has empty debuginfo + 'libgcj-common', + 'libgcj16', + 'libpopt0', # version 1.16-1 was empty (x8_64) + 'libpopt-devel', # + 'mutt-debuginfo', # version 1.7.2-1 has empty debuginfo +]