public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
* [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20200401-19-gb11ef2f
@ 2020-05-19 16:40 Jon TURNEY
  0 siblings, 0 replies; only message in thread
From: Jon TURNEY @ 2020-05-19 16:40 UTC (permalink / raw)
  To: cygwin-apps-cvs




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

commit b11ef2ffff507e3e132891b29bfc83fc737d6981
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue May 19 13:47:31 2020 +0100

    Adjust gitolite configuration
    
    Allow everyone to create, push, rewind and delete a branch called
    'playground'.
    
    Turn on allowReachableSHA1InWant, so git fetches of arbitrary reachable
    non-branch tip commits are allowed.

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

commit bb467a0980d1afe753b513851d244748a923d00c
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Mon May 18 18:36:43 2020 +0100

    Disallow more hints which don't make sense for source package
    
    Future work:
    
    requires: and obsoletes: should also be disallowed, but existing hints
    need cleaning first
    
    skip: should only be allowed (and mandatory) for source package, and
    then a whole lot of logic related to it can be cleaned up

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

commit 210821dffa16b1b7042bff1a50d6003619469cfc
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Mon May 18 17:56:34 2020 +0100

    Use build-depends: hint from source package in setup.ini

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

commit 848b5b6b430417d80d9b3b5c48de73bce3a66eb6
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Mon May 18 18:21:25 2020 +0100

    Disallow build-depends: in install package hints
    
    This means we can drop the less restrictive check that an install
    package with a build-depends: hint has a sibling source.

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

commit 7bee1947e21d774a88ad7c9849b26d868d7daf72
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Mon May 18 16:43:00 2020 +0100

    Store build-depends: comma separated
    
    Store build-depends: in a comma separated form, so package linkification
    on that header works correctly.


Diff:
---
 calm/hint.py                                       | 22 +++++++++++++---------
 calm/mkgitoliteconf.py                             |  5 ++++-
 calm/package.py                                    | 17 +++++------------
 test/test_calm.py                                  |  3 +++
 .../release/test-c/test-c-1.0-1-src.expected       |  5 +----
 .../noarch/release/test-e/test-e-1.0-1.expected    |  2 +-
 .../release/cygwin/cygwin-2.3.0-0.3-src.expected   |  2 --
 .../mDNSResponder-379.32.1-1-src.expected          |  6 +-----
 .../noarch/release/test-c/test-c-1.0-1-src.hint    |  1 -
 .../noarch/release/test-e/test-e-1.0-1.hint        |  1 -
 .../x86/release/cygwin/cygwin-2.3.0-0.3-src.hint   |  2 --
 .../mDNSResponder-379.32.1-1-src.hint              |  5 -----
 12 files changed, 28 insertions(+), 43 deletions(-)

diff --git a/calm/hint.py b/calm/hint.py
index 6e709f0..7ba0a51 100755
--- a/calm/hint.py
+++ b/calm/hint.py
@@ -41,28 +41,32 @@ pvr, override, spvr = range(3)
 
 hintkeys = {}
 
-hintkeys[pvr] = {
+commonkeys = {
     'ldesc': 'multilineval',
-    'message': 'multilineval',
     'category': 'val',
-    'external-source': 'val',
     'sdesc': 'val',
     'skip': 'noval',
     'requires': 'optval',
-    'depends': 'optval',
-    'build-depends': 'optval',
     'obsoletes': 'optval',
     'test': 'noval',   # mark the package as a test version
     'version': 'val',  # version override
     'disable-check': 'val',
-    'provides': 'val',
-    'conflicts': 'val',
     'notes': 'val',    # tool notes; not significant to calm itself
 }
 
-hintkeys[spvr] = hintkeys[pvr].copy()
+hintkeys[pvr] = commonkeys.copy()
+hintkeys[pvr].update({
+    'message': 'multilineval',
+    'external-source': 'val',
+    'depends': 'optval',
+    'provides': 'val',
+    'conflicts': 'val',
+})
+
+hintkeys[spvr] = commonkeys.copy()
 hintkeys[spvr].update({
     'homepage': 'val',
+    'build-depends': 'optval',
 })
 
 hintkeys[override] = {
@@ -306,7 +310,7 @@ def hint_file_parse(fn, kind):
                 hints['requires'] = split_trim_sort_join(hints['requires'], None, ' ')
 
             if 'build-depends' in hints:
-                hints['build-depends'] = split_trim_sort_join(hints['build-depends'], None, ' ')
+                hints['build-depends'] = split_trim_sort_join(hints['build-depends'], None, ', ')
 
             if 'depends' in hints:
                 hints['depends'] = split_trim_sort_join(hints['depends'], ',')
diff --git a/calm/mkgitoliteconf.py b/calm/mkgitoliteconf.py
index 55ff3ce..39c185c 100755
--- a/calm/mkgitoliteconf.py
+++ b/calm/mkgitoliteconf.py
@@ -75,10 +75,13 @@ def do_main(args):
     print('repo @all')
     print('    C  = @leads')
     print('    RW = @leads')
+    print('    RW+ playground$ = @all')
+    print('# anyone can create, push, rewind or delete the \'playground\' branch')
     print('    R  = @all')
     print('    R  = gitweb daemon')
     print('    config core.sharedrepository = all')
-    print('- VREF/MAX_NEWBIN_SIZE/1024 = @all')
+    print('    config uploadpack.allowReachableSHA1InWant = true')
+    print('    - VREF/MAX_NEWBIN_SIZE/1024 = @all')
     print('# this rejects binary files over the size limit, text files of any size are still permiited')
     print('')
 
diff --git a/calm/package.py b/calm/package.py
index fc6d6b7..2790206 100755
--- a/calm/package.py
+++ b/calm/package.py
@@ -784,15 +784,6 @@ def validate_packages(args, packages):
                                         lvl = logging.WARNING
                                 logging.log(lvl, "package '%s' version '%s' has empty install tar file, but it's not in the _obsolete category" % (p, vr))
 
-        # the presence of build-depends only makes sense if this is a source
-        # package, or it has a sibling source package, with which is shares hints
-        if packages[p].kind != Kind.source:
-            for vr in packages[p].version_hints:
-                if 'build-depends' in packages[p].version_hints[vr]:
-                    if 'external-source' in packages[p].version_hints[vr]:
-                        logging.error("package '%s' version '%s' has build-depends but isn't a source package" % (p, vr))
-                        error = True
-
     # make another pass to verify a source tarfile exists for every install
     # tarfile version
     for p in sorted(packages.keys()):
@@ -1119,14 +1110,16 @@ def write_setup_ini(args, packages, arch):
                 if hints.get('obsoletes', ''):
                     print("obsoletes: %s" % hints['obsoletes'], file=f)
 
-                if hints.get('build-depends', ''):
-                    bd = hints['build-depends']
+                if s:
+                    src_hints = packages[s].version_hints.get(version, {})
+                    bd = src_hints.get('build-depends', '')
 
                     # Ideally, we'd transform dependency atoms which aren't
                     # cygwin package names into package names. For the moment,
                     # we don't have the information to do that, so filter them
                     # all out.
-                    bd = [atom for atom in bd.split() if '(' not in atom]
+                    if bd:
+                        bd = [atom for atom in bd.split(', ') if '(' not in atom]
 
                     if bd:
                         print("build-depends: %s" % ', '.join(bd), file=f)
diff --git a/test/test_calm.py b/test/test_calm.py
index f4853cb..712c7bc 100755
--- a/test/test_calm.py
+++ b/test/test_calm.py
@@ -139,6 +139,9 @@ class CalmTest(unittest.TestCase):
                     if f == 'override.hint':
                         kind = hint.override
                         name = 'override'
+                    elif f.endswith('-src.hint'):
+                        kind = hint.spvr
+                        name = f[:-5]
                     else:
                         kind = hint.pvr
                         name = f[:-5]
diff --git a/test/testdata/hints/noarch/release/test-c/test-c-1.0-1-src.expected b/test/testdata/hints/noarch/release/test-c/test-c-1.0-1-src.expected
index c8024d7..0a76a74 100644
--- a/test/testdata/hints/noarch/release/test-c/test-c-1.0-1-src.expected
+++ b/test/testdata/hints/noarch/release/test-c/test-c-1.0-1-src.expected
@@ -1,4 +1 @@
-{'category': 'Devel',
- 'sdesc': '"test package C"',
- 'obsoletes': 'obs-a, obs-b',
- 'depends': 'test-d (>= 1.0), test-e'}
+OrderedDict([('category', 'Devel'), ('sdesc', '"test package C"'), ('obsoletes', 'obs-a, obs-b')])
diff --git a/test/testdata/hints/noarch/release/test-e/test-e-1.0-1.expected b/test/testdata/hints/noarch/release/test-e/test-e-1.0-1.expected
index e7414e7..f842f13 100644
--- a/test/testdata/hints/noarch/release/test-e/test-e-1.0-1.expected
+++ b/test/testdata/hints/noarch/release/test-e/test-e-1.0-1.expected
@@ -1 +1 @@
-OrderedDict([('category', 'Devel'), ('sdesc', '"test package E"'), ('build-depends', 'libtextcat-devel')])
+OrderedDict([('category', 'Devel'), ('sdesc', '"test package E"')])
diff --git a/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3-src.expected b/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3-src.expected
index 4c2d9d7..a508218 100644
--- a/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3-src.expected
+++ b/test/testdata/hints/x86/release/cygwin/cygwin-2.3.0-0.3-src.expected
@@ -2,6 +2,4 @@
  'ldesc': '"The UNIX emulation engine"',
  'category': 'Base',
  'requires': 'base-cygwin',
- 'provides': 'cygwin-api0_291',
- 'conflicts': 'fruit-juice',
  'test': ''}
diff --git a/test/testdata/hints/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.expected b/test/testdata/hints/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.expected
index f02a324..c7832e5 100644
--- a/test/testdata/hints/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.expected
+++ b/test/testdata/hints/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.expected
@@ -3,8 +3,4 @@
  'sdesc': '"Bonjour Zeroconf implementation"',
  'ldesc': '"Bonjour, also known as zero-configuration networking, enables\n'
           'automatic discovery of computers, devices, and services on IP networks using\n'
-          'industry standard IP protocols."',
- 'message': 'mDNSResponder "The Cygwin mDNSResponder package contains only clients.\n'
-            "If you do not already have the 'Bonjour Service' installed (it comes with\n"
-            'a number of popular Windows programs), then you can download it at\n'
-            'http://support.apple.com/kb/DL999"'}
+          'industry standard IP protocols."'}
diff --git a/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1-src.hint b/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1-src.hint
index 4610d7a..bedf581 100755
--- a/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1-src.hint
+++ b/test/testdata/relarea/noarch/release/test-c/test-c-1.0-1-src.hint
@@ -1,4 +1,3 @@
 category: Devel
 sdesc: "test package C"
 obsoletes: obs-a obs-b
-depends: test-d (>= 1.0), test-e
diff --git a/test/testdata/relarea/noarch/release/test-e/test-e-1.0-1.hint b/test/testdata/relarea/noarch/release/test-e/test-e-1.0-1.hint
index d151b15..e14c850 100755
--- a/test/testdata/relarea/noarch/release/test-e/test-e-1.0-1.hint
+++ b/test/testdata/relarea/noarch/release/test-e/test-e-1.0-1.hint
@@ -1,3 +1,2 @@
 category: Devel
 sdesc: "test package E"
-build-depends: libtextcat-devel
diff --git a/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3-src.hint b/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3-src.hint
index 9e3e36e..dd0ba4b 100644
--- a/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3-src.hint
+++ b/test/testdata/relarea/x86/release/cygwin/cygwin-2.3.0-0.3-src.hint
@@ -2,6 +2,4 @@ sdesc: "The UNIX emulation engine"
 ldesc: "The UNIX emulation engine"
 category: Base
 requires: base-cygwin
-provides: cygwin-api0_291
-conflicts: fruit-juice
 test:
diff --git a/test/testdata/relarea/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.hint b/test/testdata/relarea/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.hint
index e50938b..7cc145b 100644
--- a/test/testdata/relarea/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.hint
+++ b/test/testdata/relarea/x86/release/mDNSResponder/mDNSResponder-379.32.1-1-src.hint
@@ -4,8 +4,3 @@ sdesc: "Bonjour Zeroconf implementation"
 ldesc: "Bonjour, also known as zero-configuration networking, enables
 automatic discovery of computers, devices, and services on IP networks using
 industry standard IP protocols."
-
-message: mDNSResponder "The Cygwin mDNSResponder package contains only clients.
-If you do not already have the 'Bonjour Service' installed (it comes with
-a number of popular Windows programs), then you can download it at
-http://support.apple.com/kb/DL999"



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-19 16:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 16:40 [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20200401-19-gb11ef2f Jon TURNEY

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).