calm: mksetupini doesn't allow non-empty source but empty install files for an obsolete package

Ken Brown kbrown@cornell.edu
Tue May 23 18:16:00 GMT 2017


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
-------------- next part --------------
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



More information about the Cygwin-apps mailing list