public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: cygwin-apps@cygwin.com
Subject: Re: calm: mksetupini doesn't allow non-empty source but empty install files for an obsolete package
Date: Tue, 23 May 2017 18:16:00 -0000	[thread overview]
Message-ID: <571c1a5c-d47d-fdb6-61ef-aeeb26f4d7fa@cornell.edu> (raw)
In-Reply-To: <9db0d971-9bf7-b917-269b-79a3742e3dcc@dronecode.org.uk>

[-- Attachment #1: Type: text/plain, Size: 1192 bytes --]

On 5/23/2017 12:55 PM, Jon Turney wrote:
> On 23/05/2017 14:44, Ken Brown wrote:
>> I've created an obsolete package (as discussed starting at 
>> https://sourceware.org/ml/cygwin-apps/2017-05/msg00084.html).  But 
>> mksetupini doesn't like it:
>>
>> mksetupini: package 'texlive-collection-htmlxml' version '20170520-1' 
>> source has no non-empty install tarfiles
>> mksetupini: package set has errors, not writing setup.ini
>>
>> I thought the following would fix it:
>>
>> --- a/calm/package.py
>> +++ b/calm/package.py
>> @@ -636,6 +636,9 @@ def validate_packages(args, packages):
>>               if 
>> packages[p].tars[packages[p].vermap[v]['source']].is_empty:
>>                   continue
> 
> This should be being caught by this case (source is empty), but it 
> isn't, I guess because it's got a .keep file due to other problems 
> previously discussed.

The source contains a .cygport file and a fake upstream source tarball.

>>
>> +            if '_obsolete' in packages[p].vermap[v].get('category', ''):
>> +                continue
> 
> I think this maybe needs to be 
> packages[p].version_hints[v].get('category', '') ?

Yes, that fixes it, thanks.  Patch attached.

Ken

[-- Attachment #2: 0001-Allow-an-obsolete-package-with-source-to-have-empty-.patch --]
[-- Type: text/plain, Size: 921 bytes --]

From 53014620d8c1c54f0fc8bede458af9709c62142d Mon Sep 17 00:00:00 2001
From: Ken Brown <kbrown@cornell.edu>
Date: Tue, 23 May 2017 14:13:29 -0400
Subject: [PATCH] Allow an obsolete package with source to have empty install
 tarfiles

---
 calm/package.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/calm/package.py b/calm/package.py
index 6ddb4a5..b0ec360 100755
--- a/calm/package.py
+++ b/calm/package.py
@@ -636,6 +636,9 @@ def validate_packages(args, packages):
             if packages[p].tars[packages[p].vermap[v]['source']].is_empty:
                 continue
 
+            if '_obsolete' in packages[p].version_hints[v].get('category', ''):
+                continue
+
             if not packages[p].tars[packages[p].vermap[v]['source']].is_used:
                 logging.error("package '%s' version '%s' source has no non-empty install tarfiles" % (p, v))
                 error = True
-- 
2.12.3


  reply	other threads:[~2017-05-23 18:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-23 13:44 Ken Brown
2017-05-23 16:55 ` Jon Turney
2017-05-23 18:16   ` Ken Brown [this message]
2017-05-25 22:11     ` Jon Turney
2017-06-04 18:41       ` Ken Brown
2017-06-04 18:54         ` Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=571c1a5c-d47d-fdb6-61ef-aeeb26f4d7fa@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).