Diff:
---
calm/package.py | 12 +++--
calm/pkg2html.py | 14 ++++--
test/testdata/htdocs.expected/dirtree.expected | 2 +-
.../doc/keychain/keychain-2.6.8.README | 58 ----------------------
.../{keychain-2.7.1.README => keychain.README} | 0
test/testdata/htdocs.expected/packages_docs.inc | 2 +-
.../testdata/htdocs.expected/summary/keychain.html | 2 +-
test/testdata/process_arch/htdocs.expected | 2 +-
8 files changed, 22 insertions(+), 70 deletions(-)
diff --git a/calm/package.py b/calm/package.py
index 292cbac..8c523f3 100755
--- a/calm/package.py
+++ b/calm/package.py
@@ -1240,10 +1240,14 @@ def validate_package_maintainers(args, packages):
def packages_warnings(args, packages, *modified):
for m in modified:
for p in sorted(m):
- # warn if no non-test ('curr') version exists
- if (('missing-curr' not in
packages[p].version_hints[packages[p].best_version].get('disable-check', ''))
and
- ('missing-curr' not in getattr(args, 'disable_check', []))):
- logging.warning("package '%s' doesn't have any non-test
versions (i.e. no curr: version)" % (p))
+ for v in packages[p].versions():
+ if 'test' not in packages[p].version_hints[v]:
+ break
+ else:
+ # warn if no non-test ('curr') version exists
+ if (('missing-curr' not in
packages[p].version_hints[packages[p].best_version].get('disable-check', ''))
and
+ ('missing-curr' not in getattr(args, 'disable_check',
[]))):
+ logging.warning("package '%s' doesn't have any non-test
versions (i.e. no curr: version)" % (p))
#
diff --git a/calm/pkg2html.py b/calm/pkg2html.py
index 617221a..a23c662 100755
--- a/calm/pkg2html.py
+++ b/calm/pkg2html.py
@@ -582,7 +582,7 @@ def write_arch_listing(args, packages, arch):
else:
listings = []
- for v in packages[p].versions():
+ for v in sorted(packages[p].versions(), key=lambda v: SetupVersion(v)):
to = packages[p].tar(v)
# the way this filename is built is pretty arbitrary, but is linked
@@ -636,7 +636,7 @@ def write_arch_listing(args, packages, arch):
# extract Cygwin-specific READMEs
if
i.name.startswith('usr/share/doc/Cygwin/') and i.name.endswith('README'):
- logging.error("extracting %s to
cygwin-specific documents directory" % (i.name))
+ logging.info("extracting %s to
cygwin-specific documents directory" % (i.name))
readme_text =
a.extractfile(i).read()
# redact email addresses
@@ -644,7 +644,13 @@ def write_arch_listing(args, packages, arch):
doc_dir =
os.path.join(args.htdocs, 'doc', p)
ensure_dir_exists(args, doc_dir)
- with open(os.path.join(doc_dir,
os.path.basename(i.name)), mode='wb') as readme:
+
+ # accommodate an historical error
where the README was installed as
+ # $PN-$PV.README, by stripping off
any version suffix after the
+ # package name
+ basename =
re.sub(r'(.*)-[.0-9ga]*.README', r'\1.README', os.path.basename(i.name))
+
+ with open(os.path.join(doc_dir,
basename), mode='wb') as readme:
readme.write(readme_text)
update_doc_inc = True
@@ -692,7 +698,7 @@ def write_arch_listing(args, packages, arch):
os.rmdir(os.path.join(dirpath))
# update the package documents list
- if update_doc_inc:
+ if update_doc_inc or args.force:
write_doc_inc(args)
return update_summary
diff --git a/test/testdata/htdocs.expected/dirtree.expected
b/test/testdata/htdocs.expected/dirtree.expected
index e24bab7..15cfa5f 100644
--- a/test/testdata/htdocs.expected/dirtree.expected
+++ b/test/testdata/htdocs.expected/dirtree.expected
@@ -1,6 +1,6 @@
{'.': ['packages.inc', 'packages_docs.inc', 'src_packages.inc'],
'doc': ['.htaccess'],
- 'doc/keychain': ['keychain-2.6.8.README', 'keychain-2.7.1.README'],
+ 'doc/keychain': ['keychain.README'],
'summary': ['arc-src.html',
'arc.html',
'base-cygwin.html',
diff --git a/test/testdata/htdocs.expected/doc/keychain/keychain-2.6.8.README
b/test/testdata/htdocs.expected/doc/keychain/keychain-2.6.8.README
deleted file mode 100644
index 32dbe29..0000000
--- a/test/testdata/htdocs.expected/doc/keychain/keychain-2.6.8.README
+++ /dev/null
@@ -1,58 +0,0 @@
-Keychain
-------------------------------------------
-Keychain is a manager for ssh-agent, typically run from ~/.bash_profile.
-It allows your shells and cron jobs to share a single ssh-agent process.
-
-Runtime requirements:
- cygwin-1.5.18 or newer
- openssh-4.5p1-1 or newer
- bash-3.1-9 or newer
- grep-2.5.1a-3 or newer
- gawk-3.1.5-4 or newer
- coreutils-6.4-1 or newer
-
-Canonical homepage:
- http://www.gentoo.org/proj/en/keychain/
-
-Canonical download:
- http://dev.gentoo.org/~agriffis/keychain/
-
-License:
- GPL
-
-Language:
- sh
-
-------------------------------------
-
-Build instructions:
- unpack keychain-2.6.8-1-src.tar.bz2
- if you use setup to install this src package, it will be
- unpacked under /usr/src automatically
- cd /usr/src
- ./keychain-2.6.8-1.sh all
-
-This will create:
- /usr/src/keychain-2.6.8-1.tar.bz2
- /usr/src/keychain-2.6.8-1-src.tar.bz2
-
-Or use './keychain-2.6.8-1.sh prep' to get a patched source directory
-
-To find out the files included in the binary distribution, you can
-use "cygcheck -l keychain", or browse the listing for the appropriate version
-at <http://cygwin.com/packages/>.
-
-------------------
-
-Port Notes:
-
----------- keychain-2.6.8-1 -- 11/08/2006 -----------
-New Maintainer: Jonathan C. Allen
-keychain 2.6.8 released
-
-For more information about this package, see the upstream documentation in
-/usr/share/doc/keychain-2.6.8.
-
-Cygwin port maintained by: Jonathan C. Allen <jca at sdf dot lonestar dot org>
-Please address all questions to the Cygwin mailing list:
-<cygwin at cygwin dot com>
diff --git a/test/testdata/htdocs.expected/doc/keychain/keychain-2.7.1.README
b/test/testdata/htdocs.expected/doc/keychain/keychain.README
similarity index 100%
rename from test/testdata/htdocs.expected/doc/keychain/keychain-2.7.1.README
rename to test/testdata/htdocs.expected/doc/keychain/keychain.README
diff --git a/test/testdata/htdocs.expected/packages_docs.inc
b/test/testdata/htdocs.expected/packages_docs.inc
index 7b4652e..e845ecd 100644
--- a/test/testdata/htdocs.expected/packages_docs.inc
+++ b/test/testdata/htdocs.expected/packages_docs.inc
@@ -1,4 +1,4 @@
<div class="multicolumn-list">
-<p>keychain: <a href="doc/keychain/keychain-2.6.8.README">keychain-2.6.8</a>,
<a href="doc/keychain/keychain-2.7.1.README">keychain-2.7.1</a></p>
+<p><a href="doc/keychain/keychain.README">keychain</a></p>
<p><a href="https://x.cygwin.com/">X</a></p>
</div>
diff --git a/test/testdata/htdocs.expected/summary/keychain.html
b/test/testdata/htdocs.expected/summary/keychain.html
index c8869fa..0f3134a 100644
--- a/test/testdata/htdocs.expected/summary/keychain.html
+++ b/test/testdata/htdocs.expected/summary/keychain.html
@@ -27,7 +27,7 @@ necessary</p></td></tr>
<tr><td><p><span class="detail">maintainer(s)</span>:</p></td><td><p>Jari Aalto
<span class="smaller">(Use <a href="/lists.html#cygwin">the mailing list</a>
to report bugs or ask questions.
<a href="/problems.html#personal-email">Do not contact the maintainer(s)
directly</a>.)</span></p></td></tr>
-<tr><td><p><span class="detail">readme</span>:</p></td><td><p><a
href="../doc/keychain/keychain-2.6.8.README">keychain-2.6.8.README</a>, <a
href="../doc/keychain/keychain-2.7.1.README">keychain-2.7.1.README</a></p></td></tr>
+<tr><td><p><span class="detail">readme</span>:</p></td><td><p><a
href="../doc/keychain/keychain.README">keychain.README</a></p></td></tr>
</table><br>
<table class="pkgtable">
<tr><th>Version</th><th>Arch</th><th>Package
Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
diff --git a/test/testdata/process_arch/htdocs.expected
b/test/testdata/process_arch/htdocs.expected
index 067d41c..dfe67ea 100644
--- a/test/testdata/process_arch/htdocs.expected
+++ b/test/testdata/process_arch/htdocs.expected
@@ -1,6 +1,6 @@
{'.': ['calm.db', 'packages.inc', 'packages_docs.inc', 'reports_list.inc',
'src_packages.inc'],
'doc': ['.htaccess'],
- 'doc/keychain': ['keychain-2.6.8.README', 'keychain-2.7.1.README'],
+ 'doc/keychain': ['keychain.README'],
'reports': ['deprecated_so.html',
'maintainer_activity.html',
'perl_rebuilds.html',
[calm - Cygwin server-side packaging maintenance script] branch master, updated. 20250329-4-g8028eb3
Jon Turney via Cygwin-apps-cvs Sat, 31 May 2025 11:31:56 -0700
