public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
* [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20190530-21-g0c3affa
@ 2019-06-12 10:47 jturney
0 siblings, 0 replies; only message in thread
From: jturney @ 2019-06-12 10:47 UTC (permalink / raw)
To: cygwin-apps-cvs
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=0c3affa71ccf8965269f2c4eaab54f7aa189ddb1
commit 0c3affa71ccf8965269f2c4eaab54f7aa189ddb1
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Tue Jun 11 11:39:45 2019 +0100
Touch packages_list.html when packages.inc is updated
Touch packages_list.html when packages.inc is updated, for the benefit
of 'XBitHack full'
Factor out touch utility function
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=dd2acec3d8d881e9560f3f07455f138a140248b8
commit dd2acec3d8d881e9560f3f07455f138a140248b8
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Tue Jun 11 10:21:13 2019 +0100
Use summary/description rather than sdesc/ldesc in package summary page
Also HTML escape those texts
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=05fd42a2837950e66d744caf10e076311db6dd49
commit 05fd42a2837950e66d744caf10e076311db6dd49
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Sun Jun 9 19:27:10 2019 +0100
Add a tool for fixing skip: only hints
These used to be generated by cygport for source-only packages. Try to
fill these in with information from associated packages.
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/calm.git;h=4ec26afb45ce0f1fb2335e11c579df1f32ac3a56
commit 4ec26afb45ce0f1fb2335e11c579df1f32ac3a56
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date: Sun Jun 9 16:07:43 2019 +0100
Give first package name in pkglist the 'pkgname' style
This can be used to give that column a fixed width in the CSS, rather
than waiting until the entire page has loaded before it's finalized.
Diff:
---
calm/fix-skip-only-hint.py | 225 ++++++++++++++++++++
calm/maintainers.py | 11 +-
calm/pkg2html.py | 23 ++-
calm/utils.py | 36 +++
test/testdata/htdocs.expected/packages.inc | 3 +-
test/testdata/htdocs.expected/summary/arc.html | 4 +-
.../htdocs.expected/summary/base-cygwin.html | 4 +-
test/testdata/htdocs.expected/summary/corrupt.html | 4 +-
.../htdocs.expected/summary/cygwin-debuginfo.html | 4 +-
.../htdocs.expected/summary/cygwin-devel.html | 4 +-
test/testdata/htdocs.expected/summary/cygwin.html | 4 +-
.../testdata/htdocs.expected/summary/keychain.html | 4 +-
.../htdocs.expected/summary/libdns_sd-devel.html | 4 +-
.../htdocs.expected/summary/libdns_sd1.html | 4 +-
.../htdocs.expected/summary/mDNSResponder.html | 4 +-
test/testdata/htdocs.expected/summary/obs-a.html | 4 +-
test/testdata/htdocs.expected/summary/obs-b.html | 4 +-
test/testdata/htdocs.expected/summary/openssh.html | 4 +-
.../summary/per-version-replacement-hint-only.html | 4 +-
.../htdocs.expected/summary/per-version.html | 4 +-
.../htdocs.expected/summary/perl-Net-SMTP-SSL.html | 4 +-
test/testdata/htdocs.expected/summary/rpm-doc.html | 4 +-
.../htdocs.expected/summary/staleversion.html | 4 +-
test/testdata/htdocs.expected/summary/test-c.html | 4 +-
test/testdata/htdocs.expected/summary/test-d.html | 4 +-
test/testdata/htdocs.expected/summary/test-e.html | 4 +-
.../htdocs.expected/summary/testpackage.html | 4 +-
27 files changed, 323 insertions(+), 63 deletions(-)
diff --git a/calm/fix-skip-only-hint.py b/calm/fix-skip-only-hint.py
new file mode 100644
index 0000000..9f3c49c
--- /dev/null
+++ b/calm/fix-skip-only-hint.py
@@ -0,0 +1,225 @@
+#!/usr/bin/env python3
+#
+# Copyright (c) 2019 Jon Turney
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+
+#
+# Fix hints for (probably source) packages consisting of just 'skip:'
+#
+# (cygport stopped generating these since 0.23.0)
+#
+
+import argparse
+import os
+import re
+import sys
+
+from . import common_constants
+from . import hint
+from .version import SetupVersion
+
+
+#
+# write a hint file
+#
+def hint_file_write(fn, hints):
+ with open(fn, 'w') as f:
+ for k, v in hints.items():
+ print("%s: %s" % (k, v), file=f)
+
+
+#
+# pick most popular item from a list
+#
+def pick(l):
+ if not l:
+ return None
+
+ h = {}
+
+ for i in l:
+ h[i] = h.get(i, 0) + 1
+
+ for i in sorted(h, key=h.get, reverse=True):
+ print('%4d: %s' % (h[i], i))
+
+ i = sorted(h, key=h.get, reverse=True)[0]
+ # unanimous ?
+ if h[i] == len(l):
+ return i
+
+ return None
+
+
+#
+# try to invent plausible information by looking at subpackages
+#
+def invent_from_subpackages(path, vr):
+ sdesc_candidates = []
+ category_candidates = []
+
+ for (dirpath, subdirs, files) in os.walk(path):
+ # debuginfo packages never have a good information
+ if 'debuginfo' in dirpath:
+ continue
+
+ # consider sub-package hints
+ for f in files:
+ if re.match('^.*-' + re.escape(vr) + '.hint$', f):
+ hints = hint.hint_file_parse(os.path.join(dirpath, f), hint.pvr)
+ if 'sdesc' in hints:
+ # ... which doesn't contain 'Obsolete' etc.
+ if 'Obsolete' in hints['sdesc'] or '_obsolete' in hints['category']:
+ continue
+
+ # remove anything inside parentheses, or a single word after
+ # a hyphen, at the end of quoted sdesc
+ sdesc = hints['sdesc']
+ sdesc = re.sub(r'"(.*)"', r'\1', sdesc)
+ sdesc = re.sub(r'(\(.*?\))$', '', sdesc)
+ sdesc = re.sub(r' - \w*$', '', sdesc)
+ sdesc = sdesc.strip()
+ sdesc = '"' + sdesc + '"'
+
+ sdesc_candidates.append(sdesc)
+
+ # ignore 'Doc' category (on the basis that this usually a
+ # documentation subpackage)
+ if hints['category'] != 'Doc':
+ category_candidates.append(hints['category'])
+
+ # Ignore a single tool/utility subpackage
+ for t in ['utility', 'utilities', 'tool']:
+ occurences = [c for c in sdesc_candidates if re.search(r'\b' + t + '\b', c.lower())]
+ if len(occurences) == 1:
+ sdesc_candidates.remove(occurences[0])
+
+ # pick 'Libs' if that's a possibility
+ category = pick(category_candidates)
+ if not category and 'Libs' in category_candidates:
+ category = 'Libs'
+
+ return (pick(sdesc_candidates), category)
+
+
+#
+# try to invent plausible information by looking at more recent versions
+#
+def invent_from_other_versions(path, later_vrs):
+ sdesc_candidates = []
+ category_candidates = []
+
+ pn = path.split(os.path.sep)[-1]
+ for vr in later_vrs:
+ f = pn + '-' + vr + '.hint'
+ hints = hint.hint_file_parse(os.path.join(path, f), hint.pvr)
+
+ if 'sdesc' in hints:
+ sdesc_candidates.append(hints['sdesc'])
+ if 'category' in hints:
+ category_candidates.append(hints['category'])
+
+ return (pick(sdesc_candidates), pick(category_candidates))
+
+
+#
+#
+#
+def fix_one_hint(dirpath, hintfile, vr, later_vrs):
+ hints = hint.hint_file_parse(os.path.join(dirpath, hintfile), hint.pvr)
+
+ hints.pop('parse-errors', None)
+ hints.pop('parse-warnings', None)
+
+ if ('skip' not in hints) or (len(hints) > 1):
+ return (0, 0)
+
+ # if hint only contains skip:, try to come up with plausible sdesc and category
+ (sdesc, category) = invent_from_subpackages(dirpath, vr)
+ if not (sdesc and category):
+ (sdesc, category) = invent_from_other_versions(dirpath, later_vrs)
+ if not (sdesc and category):
+ print('couldn\'t invent hints for %s' % (hintfile))
+ return (1, 0)
+
+ hints['sdesc'] = sdesc
+ hints['category'] = category
+
+ if 'source' not in hints['sdesc']:
+ sdesc = re.sub(r'"(.*)"', r'\1', hints['sdesc'])
+ sdesc += ' (source)'
+ hints['sdesc'] = '"' + sdesc + '"'
+
+ print('writing invented hints for %s' % (hintfile))
+ hint_file_write(os.path.join(dirpath, hintfile), hints)
+
+ return (1, 1)
+
+
+def fix_hints(rel_area, mode):
+ skip_only = 0
+ invented = 0
+
+ for (dirpath, subdirs, files) in os.walk(rel_area):
+ vrs = {}
+ for f in files:
+ match = re.match(r'^.*?-(\d.*).hint$', f)
+ if match:
+ vrs[match.group(1)] = f
+
+ if vrs:
+ if mode == 'newest':
+ v = sorted(vrs, key=lambda v: SetupVersion(v), reverse=True)[0]
+ f = vrs[v]
+ vrs = {v: f}
+
+ sorted_vrs = sorted(vrs, key=lambda v: SetupVersion(v))
+ while sorted_vrs:
+ vr = sorted_vrs.pop(0)
+ (s, i) = fix_one_hint(dirpath, vrs[vr], vr, sorted_vrs)
+ skip_only += s
+ invented += i
+
+ print('%d skip only hints, invented %d hints' % (skip_only, invented))
+
+
+#
+#
+#
+
+
+def main():
+ relarea_default = common_constants.FTP
+
+ parser = argparse.ArgumentParser(description='skip-only hint fixer')
+ parser.add_argument('--releasearea', action='store', metavar='DIR', help="release directory (default: " + relarea_default + ")", default=relarea_default, dest='rel_area')
+ parser.add_argument('--mode', action='store', metavar='all|newest', choices=['all', 'newest'], help="fix all hints, or (default) only for newest version", default='newest')
+ (args) = parser.parse_args()
+
+ return fix_hints(args.rel_area, args.mode)
+
+
+#
+#
+#
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/calm/maintainers.py b/calm/maintainers.py
index b9c51fd..7ffc12b 100644
--- a/calm/maintainers.py
+++ b/calm/maintainers.py
@@ -46,14 +46,7 @@ import logging
import os
import re
-#
-#
-#
-
-
-def touch(fn, times=None):
- with open(fn, 'a'):
- os.utime(fn, times)
+from . import utils
#
#
@@ -94,7 +87,7 @@ class Maintainer(object):
if self.reminders_issued:
# if reminders were issued, update the timestamp
logging.debug("updating reminder time for %s" % self.name)
- touch(reminder_file)
+ utils.touch(reminder_file)
elif (not self.reminders_timestamp_checked) and (self.reminder_time != 0):
# if we didn't need to check the reminder timestamp, it can be
# reset
diff --git a/calm/pkg2html.py b/calm/pkg2html.py
index 9370092..a74f913 100755
--- a/calm/pkg2html.py
+++ b/calm/pkg2html.py
@@ -55,6 +55,7 @@ from .version import SetupVersion
from . import common_constants
from . import maintainers
from . import package
+from . import utils
#
@@ -176,8 +177,8 @@ def update_package_listings(args, packages):
<!--#include virtual="/top.html" -->
<h1>Package: %s</h1>''' % (title, p)), file=f)
- print('<span class="detail">sdesc</span>: %s<br><br>' % sdesc(arch_packages, p, bv), file=f)
- print('<span class="detail">ldesc</span>: %s<br><br>' % ldesc(arch_packages, p, bv), file=f)
+ print('<span class="detail">summary</span>: %s<br><br>' % html.escape(sdesc(arch_packages, p, bv), quote=False), file=f)
+ print('<span class="detail">description</span>: %s<br><br>' % html.escape(ldesc(arch_packages, p, bv), quote=False), file=f)
print('<span class="detail">categories</span>: %s<br><br>' % arch_packages[p].version_hints[bv].get('category', ''), file=f)
for key in ['depends', 'obsoletes', 'provides', 'conflicts', 'build-depends']:
@@ -247,9 +248,9 @@ def update_package_listings(args, packages):
if not args.dryrun:
with open(packages_inc, 'w') as index:
os.fchmod(index.fileno(), 0o755)
- print(textwrap.dedent('''\
- <table class="pkglist">'''), file=index)
+ print('<table class="pkglist">', file=index)
+ first = ' class="pkgname"'
for p in sorted(package_list, key=package.sort_key):
if p.endswith('-debuginfo'):
continue
@@ -266,11 +267,17 @@ def update_package_listings(args, packages):
bv = arch_packages[p].best_version
header = sdesc(arch_packages, p, bv)
- print('<tr><td><a href="summary' + '/' + p + '.html">' + p + '</a></td><td>' + html.escape(header, quote=False) + '</td></tr>', file=index)
+ print('<tr><td%s><a href="summary/%s.html">%s</a></td><td>%s</td></tr>' %
+ (first, p, p, html.escape(header, quote=False)),
+ file=index)
+ first = ''
- print(textwrap.dedent('''\
- </table>
- '''), file=index)
+ print('</table>', file=index)
+
+ # touch the including file for the benefit of 'XBitHack full'
+ package_list = os.path.join(args.htdocs, 'package_list.html')
+ if os.path.exists(package_list):
+ utils.touch(package_list)
def write_arch_listing(args, packages, arch):
diff --git a/calm/utils.py b/calm/utils.py
new file mode 100644
index 0000000..07e45a0
--- /dev/null
+++ b/calm/utils.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python3
+#
+# Copyright (c) 2019 Jon Turney
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+
+#
+# utility functions
+#
+
+import os
+
+
+#
+# touch a file
+#
+def touch(fn, times=None):
+ with open(fn, 'a'):
+ os.utime(fn, times)
diff --git a/test/testdata/htdocs.expected/packages.inc b/test/testdata/htdocs.expected/packages.inc
index af1c670..0ed68aa 100755
--- a/test/testdata/htdocs.expected/packages.inc
+++ b/test/testdata/htdocs.expected/packages.inc
@@ -1,5 +1,5 @@
<table class="pkglist">
-<tr><td><a href="summary/arc.html">arc</a></td><td>The ARC archive utility</td></tr>
+<tr><td class="pkgname"><a href="summary/arc.html">arc</a></td><td>The ARC archive utility</td></tr>
<tr><td><a href="summary/base-cygwin.html">base-cygwin</a></td><td>Initial base installation helper script</td></tr>
<tr><td><a href="summary/corrupt.html">corrupt</a></td><td>A corrupt package</td></tr>
<tr><td><a href="summary/cygwin.html">cygwin</a></td><td>The UNIX emulation engine</td></tr>
@@ -21,4 +21,3 @@
<tr><td><a href="summary/test-e.html">test-e</a></td><td>test package E</td></tr>
<tr><td><a href="summary/testpackage.html">testpackage</a></td><td>A test package (stuff & other stuff)</td></tr>
</table>
-
diff --git a/test/testdata/htdocs.expected/summary/arc.html b/test/testdata/htdocs.expected/summary/arc.html
index a848293..2d988b8 100644
--- a/test/testdata/htdocs.expected/summary/arc.html
+++ b/test/testdata/htdocs.expected/summary/arc.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: arc</h1>
-<span class="detail">sdesc</span>: The ARC archive utility<br><br>
-<span class="detail">ldesc</span>: This program is based on the MSDOS ARC program, version 5.21, plus a
+<span class="detail">summary</span>: The ARC archive utility<br><br>
+<span class="detail">description</span>: This program is based on the MSDOS ARC program, version 5.21, plus a
few enhancements. ARC performs Huffman Squeezing on data. The Huffman
Squeeze algorithm was removed from MSDOS ARC after version 5.12. It
turns out to be more efficient than Lempel-Ziv style compression when
diff --git a/test/testdata/htdocs.expected/summary/base-cygwin.html b/test/testdata/htdocs.expected/summary/base-cygwin.html
index 24b3742..a0d814d 100644
--- a/test/testdata/htdocs.expected/summary/base-cygwin.html
+++ b/test/testdata/htdocs.expected/summary/base-cygwin.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: base-cygwin</h1>
-<span class="detail">sdesc</span>: Initial base installation helper script<br><br>
-<span class="detail">ldesc</span>: Initial base installation helper script.<br><br>
+<span class="detail">summary</span>: Initial base installation helper script<br><br>
+<span class="detail">description</span>: Initial base installation helper script.<br><br>
<span class="detail">categories</span>: Base<br><br>
<span class="detail">binaries</span>: <br><br>
<span class="detail">maintainer(s)</span>: Corinna Vinschen
diff --git a/test/testdata/htdocs.expected/summary/corrupt.html b/test/testdata/htdocs.expected/summary/corrupt.html
index 4c311c2..0b91c3a 100644
--- a/test/testdata/htdocs.expected/summary/corrupt.html
+++ b/test/testdata/htdocs.expected/summary/corrupt.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: corrupt</h1>
-<span class="detail">sdesc</span>: A corrupt package<br><br>
-<span class="detail">ldesc</span>: A package containing corrupt archives<br><br>
+<span class="detail">summary</span>: A corrupt package<br><br>
+<span class="detail">description</span>: A package containing corrupt archives<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">binaries</span>: <a href="corrupt.html">corrupt</a><br><br>
<span class="detail">maintainer(s)</span>: Blooey McFooey
diff --git a/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html b/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
index af5d1e3..bf4d895 100644
--- a/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
+++ b/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: cygwin-debuginfo</h1>
-<span class="detail">sdesc</span>: Debug info for cygwin<br><br>
-<span class="detail">ldesc</span>: This package contains files necessary for debugging the
+<span class="detail">summary</span>: Debug info for cygwin<br><br>
+<span class="detail">description</span>: This package contains files necessary for debugging the
cygwin package with gdb.<br><br>
<span class="detail">categories</span>: Debug<br><br>
<span class="detail">depends</span>: <a href="cygwin-debuginfo.html">cygwin-debuginfo</a><br><br>
diff --git a/test/testdata/htdocs.expected/summary/cygwin-devel.html b/test/testdata/htdocs.expected/summary/cygwin-devel.html
index d951336..1a443b8 100644
--- a/test/testdata/htdocs.expected/summary/cygwin-devel.html
+++ b/test/testdata/htdocs.expected/summary/cygwin-devel.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: cygwin-devel</h1>
-<span class="detail">sdesc</span>: Core development files<br><br>
-<span class="detail">ldesc</span>: Core development files required to build Cygwin packages<br><br>
+<span class="detail">summary</span>: Core development files<br><br>
+<span class="detail">description</span>: Core development files required to build Cygwin packages<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">source</span>: <a href="cygwin.html">cygwin</a><br><br>
<span class="detail">maintainer(s)</span>: Corinna Vinschen, Yaakov Selkowitz
diff --git a/test/testdata/htdocs.expected/summary/cygwin.html b/test/testdata/htdocs.expected/summary/cygwin.html
index cdd427e..b77856b 100644
--- a/test/testdata/htdocs.expected/summary/cygwin.html
+++ b/test/testdata/htdocs.expected/summary/cygwin.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: cygwin</h1>
-<span class="detail">sdesc</span>: The UNIX emulation engine<br><br>
-<span class="detail">ldesc</span>: The UNIX emulation engine<br><br>
+<span class="detail">summary</span>: The UNIX emulation engine<br><br>
+<span class="detail">description</span>: The UNIX emulation engine<br><br>
<span class="detail">categories</span>: Base<br><br>
<span class="detail">depends</span>: <a href="base-cygwin.html">base-cygwin</a><br><br>
<span class="detail">binaries</span>: <a href="cygwin.html">cygwin</a>, <a href="cygwin-debuginfo.html">cygwin-debuginfo</a>, <a href="cygwin-devel.html">cygwin-devel</a><br><br>
diff --git a/test/testdata/htdocs.expected/summary/keychain.html b/test/testdata/htdocs.expected/summary/keychain.html
index a15fad4..392083b 100644
--- a/test/testdata/htdocs.expected/summary/keychain.html
+++ b/test/testdata/htdocs.expected/summary/keychain.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: keychain</h1>
-<span class="detail">sdesc</span>: Key manager for OpenSSH<br><br>
-<span class="detail">ldesc</span>: Keychain is an OpenSSH key manager, typically run from
+<span class="detail">summary</span>: Key manager for OpenSSH<br><br>
+<span class="detail">description</span>: Keychain is an OpenSSH key manager, typically run from
~/.bash_profile. When keychain is run, it checks for a running
ssh-agent, otherwise it starts one. It saves the ssh-agent environment
variables to ~/.keychain/$HOSTNAME-sh, so that subsequent logins
diff --git a/test/testdata/htdocs.expected/summary/libdns_sd-devel.html b/test/testdata/htdocs.expected/summary/libdns_sd-devel.html
index 1a309c9..efa7fef 100644
--- a/test/testdata/htdocs.expected/summary/libdns_sd-devel.html
+++ b/test/testdata/htdocs.expected/summary/libdns_sd-devel.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: libdns_sd-devel</h1>
-<span class="detail">sdesc</span>: Bonjour Zeroconf implementation<br><br>
-<span class="detail">ldesc</span>: Bonjour, also known as zero-configuration networking, enables
+<span class="detail">summary</span>: Bonjour Zeroconf implementation<br><br>
+<span class="detail">description</span>: Bonjour, also known as zero-configuration networking, enables
automatic discovery of computers, devices, and services on IP networks using
industry standard IP protocols.<br><br>
<span class="detail">categories</span>: Net<br><br>
diff --git a/test/testdata/htdocs.expected/summary/libdns_sd1.html b/test/testdata/htdocs.expected/summary/libdns_sd1.html
index 40c926f..1b1e201 100644
--- a/test/testdata/htdocs.expected/summary/libdns_sd1.html
+++ b/test/testdata/htdocs.expected/summary/libdns_sd1.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: libdns_sd1</h1>
-<span class="detail">sdesc</span>: Bonjour Zeroconf implementation<br><br>
-<span class="detail">ldesc</span>: Bonjour, also known as zero-configuration networking, enables
+<span class="detail">summary</span>: Bonjour Zeroconf implementation<br><br>
+<span class="detail">description</span>: Bonjour, also known as zero-configuration networking, enables
automatic discovery of computers, devices, and services on IP networks using
industry standard IP protocols.<br><br>
<span class="detail">categories</span>: Net<br><br>
diff --git a/test/testdata/htdocs.expected/summary/mDNSResponder.html b/test/testdata/htdocs.expected/summary/mDNSResponder.html
index 49c3740..94788d1 100644
--- a/test/testdata/htdocs.expected/summary/mDNSResponder.html
+++ b/test/testdata/htdocs.expected/summary/mDNSResponder.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: mDNSResponder</h1>
-<span class="detail">sdesc</span>: Bonjour Zeroconf implementation<br><br>
-<span class="detail">ldesc</span>: Bonjour, also known as zero-configuration networking, enables
+<span class="detail">summary</span>: Bonjour Zeroconf implementation<br><br>
+<span class="detail">description</span>: Bonjour, also known as zero-configuration networking, enables
automatic discovery of computers, devices, and services on IP networks using
industry standard IP protocols.<br><br>
<span class="detail">categories</span>: Net<br><br>
diff --git a/test/testdata/htdocs.expected/summary/obs-a.html b/test/testdata/htdocs.expected/summary/obs-a.html
index e069b83..0d32039 100644
--- a/test/testdata/htdocs.expected/summary/obs-a.html
+++ b/test/testdata/htdocs.expected/summary/obs-a.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: obs-a</h1>
-<span class="detail">sdesc</span>: obsolete package A<br><br>
-<span class="detail">ldesc</span>: obs-a<br><br>
+<span class="detail">summary</span>: obsolete package A<br><br>
+<span class="detail">description</span>: obs-a<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">binaries</span>: <a href="obs-a.html">obs-a</a><br><br>
<span class="detail">maintainer(s)</span>: ORPHANED
diff --git a/test/testdata/htdocs.expected/summary/obs-b.html b/test/testdata/htdocs.expected/summary/obs-b.html
index 0e9f2ae..3062af6 100644
--- a/test/testdata/htdocs.expected/summary/obs-b.html
+++ b/test/testdata/htdocs.expected/summary/obs-b.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: obs-b</h1>
-<span class="detail">sdesc</span>: obsolete package B<br><br>
-<span class="detail">ldesc</span>: obs-b<br><br>
+<span class="detail">summary</span>: obsolete package B<br><br>
+<span class="detail">description</span>: obs-b<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">binaries</span>: <a href="obs-b.html">obs-b</a><br><br>
<span class="detail">maintainer(s)</span>: ORPHANED
diff --git a/test/testdata/htdocs.expected/summary/openssh.html b/test/testdata/htdocs.expected/summary/openssh.html
index 67bc7e4..a8a92be 100644
--- a/test/testdata/htdocs.expected/summary/openssh.html
+++ b/test/testdata/htdocs.expected/summary/openssh.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: openssh</h1>
-<span class="detail">sdesc</span>: The OpenSSH server and client programs<br><br>
-<span class="detail">ldesc</span>: OpenSSH is a program for logging into a remote machine and for
+<span class="detail">summary</span>: The OpenSSH server and client programs<br><br>
+<span class="detail">description</span>: OpenSSH is a program for logging into a remote machine and for
executing commands on a remote machine. It can replace rlogin and rsh,
providing encrypted communication between two machines.<br><br>
<span class="detail">categories</span>: Net<br><br>
diff --git a/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only.html b/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only.html
index 679f572..277fd3b 100644
--- a/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only.html
+++ b/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: per-version-replacement-hint-only</h1>
-<span class="detail">sdesc</span>: Per-version hint test package<br><br>
-<span class="detail">ldesc</span>: Per-version hint test package<br><br>
+<span class="detail">summary</span>: Per-version hint test package<br><br>
+<span class="detail">description</span>: Per-version hint test package<br><br>
<span class="detail">categories</span>: Base<br><br>
<span class="detail">depends</span>: <a href="cygwin.html">cygwin</a><br><br>
<span class="detail">binaries</span>: <a href="per-version-replacement-hint-only.html">per-version-replacement-hint-only</a><br><br>
diff --git a/test/testdata/htdocs.expected/summary/per-version.html b/test/testdata/htdocs.expected/summary/per-version.html
index 286f867..fe82cee 100644
--- a/test/testdata/htdocs.expected/summary/per-version.html
+++ b/test/testdata/htdocs.expected/summary/per-version.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: per-version</h1>
-<span class="detail">sdesc</span>: Per-version hint test package<br><br>
-<span class="detail">ldesc</span>: Per-version hint test package<br><br>
+<span class="detail">summary</span>: Per-version hint test package<br><br>
+<span class="detail">description</span>: Per-version hint test package<br><br>
<span class="detail">categories</span>: Base<br><br>
<span class="detail">depends</span>: <a href="base-cygwin.html">base-cygwin</a><br><br>
<span class="detail">binaries</span>: <a href="per-version.html">per-version</a><br><br>
diff --git a/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL.html b/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL.html
index 8270b36..700037e 100644
--- a/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL.html
+++ b/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: perl-Net-SMTP-SSL</h1>
-<span class="detail">sdesc</span>: Perl distribution Net-SMTP-SSL<br><br>
-<span class="detail">ldesc</span>: Implements the same API as Net::SMTP, but uses IO::Socket::SSL for
+<span class="detail">summary</span>: Perl distribution Net-SMTP-SSL<br><br>
+<span class="detail">description</span>: Implements the same API as Net::SMTP, but uses IO::Socket::SSL for
its network operations in order to support encrypted connections.<br><br>
<span class="detail">categories</span>: Perl<br><br>
<span class="detail">binaries</span>: <a href="perl-Net-SMTP-SSL.html">perl-Net-SMTP-SSL</a><br><br>
diff --git a/test/testdata/htdocs.expected/summary/rpm-doc.html b/test/testdata/htdocs.expected/summary/rpm-doc.html
index a20b3d0..d7c844f 100644
--- a/test/testdata/htdocs.expected/summary/rpm-doc.html
+++ b/test/testdata/htdocs.expected/summary/rpm-doc.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: rpm-doc</h1>
-<span class="detail">sdesc</span>: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)<br><br>
-<span class="detail">ldesc</span>: rpm-doc<br><br>
+<span class="detail">summary</span>: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)<br><br>
+<span class="detail">description</span>: rpm-doc<br><br>
<span class="detail">categories</span>: _obsolete<br><br>
<span class="detail">binaries</span>: <a href="rpm-doc.html">rpm-doc</a><br><br>
<span class="detail">maintainer(s)</span>:
diff --git a/test/testdata/htdocs.expected/summary/staleversion.html b/test/testdata/htdocs.expected/summary/staleversion.html
index 5f336ff..a283f53 100644
--- a/test/testdata/htdocs.expected/summary/staleversion.html
+++ b/test/testdata/htdocs.expected/summary/staleversion.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: staleversion</h1>
-<span class="detail">sdesc</span>: Test package for stale version removal<br><br>
-<span class="detail">ldesc</span>: Test package for stale version removal<br><br>
+<span class="detail">summary</span>: Test package for stale version removal<br><br>
+<span class="detail">description</span>: Test package for stale version removal<br><br>
<span class="detail">categories</span>: Shells Base<br><br>
<span class="detail">binaries</span>: <a href="staleversion.html">staleversion</a><br><br>
<span class="detail">maintainer(s)</span>: Blooey McFooey
diff --git a/test/testdata/htdocs.expected/summary/test-c.html b/test/testdata/htdocs.expected/summary/test-c.html
index 18fe254..c506b97 100644
--- a/test/testdata/htdocs.expected/summary/test-c.html
+++ b/test/testdata/htdocs.expected/summary/test-c.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: test-c</h1>
-<span class="detail">sdesc</span>: test package C<br><br>
-<span class="detail">ldesc</span>: test-c<br><br>
+<span class="detail">summary</span>: test package C<br><br>
+<span class="detail">description</span>: test-c<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">depends</span>: test-d (>= 1.0), <a href="test-e.html">test-e</a><br><br>
<span class="detail">obsoletes</span>: <a href="obs-a.html">obs-a</a>, <a href="obs-b.html">obs-b</a><br><br>
diff --git a/test/testdata/htdocs.expected/summary/test-d.html b/test/testdata/htdocs.expected/summary/test-d.html
index 0c6a0e0..fc139bf 100644
--- a/test/testdata/htdocs.expected/summary/test-d.html
+++ b/test/testdata/htdocs.expected/summary/test-d.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: test-d</h1>
-<span class="detail">sdesc</span>: test package D<br><br>
-<span class="detail">ldesc</span>: test-d<br><br>
+<span class="detail">summary</span>: test package D<br><br>
+<span class="detail">description</span>: test-d<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">binaries</span>: <a href="test-d.html">test-d</a><br><br>
<span class="detail">maintainer(s)</span>: ORPHANED
diff --git a/test/testdata/htdocs.expected/summary/test-e.html b/test/testdata/htdocs.expected/summary/test-e.html
index e7a30fc..b97a9ba 100644
--- a/test/testdata/htdocs.expected/summary/test-e.html
+++ b/test/testdata/htdocs.expected/summary/test-e.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: test-e</h1>
-<span class="detail">sdesc</span>: test package E<br><br>
-<span class="detail">ldesc</span>: test-e<br><br>
+<span class="detail">summary</span>: test package E<br><br>
+<span class="detail">description</span>: test-e<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">build-depends</span>: libtextcat-devel<br><br>
<span class="detail">binaries</span>: <a href="test-e.html">test-e</a><br><br>
diff --git a/test/testdata/htdocs.expected/summary/testpackage.html b/test/testdata/htdocs.expected/summary/testpackage.html
index acc6098..ca5706e 100644
--- a/test/testdata/htdocs.expected/summary/testpackage.html
+++ b/test/testdata/htdocs.expected/summary/testpackage.html
@@ -10,8 +10,8 @@
<div id="main">
<!--#include virtual="/top.html" -->
<h1>Package: testpackage</h1>
-<span class="detail">sdesc</span>: A test package (stuff & other stuff)<br><br>
-<span class="detail">ldesc</span>: A test package (stuff & other stuff)<br><br>
+<span class="detail">summary</span>: A test package (stuff & other stuff)<br><br>
+<span class="detail">description</span>: A test package (stuff & other stuff)<br><br>
<span class="detail">categories</span>: Devel<br><br>
<span class="detail">binaries</span>: <a href="testpackage.html">testpackage</a><br><br>
<span class="detail">maintainer(s)</span>: Blooey McFooey
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-06-12 10:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-12 10:47 [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20190530-21-g0c3affa jturney
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).