public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
From: Jon TURNEY <jturney@sourceware.org>
To: cygwin-apps-cvs@sourceware.org
Subject: [calm - Cygwin server-side packaging maintenance script] branch master, updated. 20200611-13-g1d34f9b
Date: Sun, 23 Aug 2020 15:03:46 +0000 (GMT)	[thread overview]
Message-ID: <20200823150346.E69483857C43@sourceware.org> (raw)




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

commit 1d34f9b56348160f825a468f4845835802cac996
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sun Aug 23 15:54:46 2020 +0100

    travis: Test with more python versions
    
    Also remove deprecated 'sudo:' key.

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

commit 0a29ad572cbe1bcc64fd3624f5c38eee79c50445
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Aug 20 18:34:20 2020 +0100

    Add an untest tool

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

commit 9e95a30e862b8470ee17049f215d794a8863b0e5
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Fri Jul 31 18:12:05 2020 +0100

    Include a date in package summary page
    
    Include build date (strictly, the package archive mtime) in the package
    summary HTML page.
    
    Also refine package size units to KiB, since that's what we actually
    use.
    
    Use a fixed timestamp (in UTC) for all packages in test data.


Diff:
---
 .travis.yml                                        |  3 +-
 calm/pkg2html.py                                   |  5 +-
 calm/untest.py                                     | 99 ++++++++++++++++++++++
 calm/uploads.py                                    |  2 +-
 test/test_calm.py                                  | 10 ++-
 test/testdata/htdocs.expected/summary/arc-src.html |  4 +-
 test/testdata/htdocs.expected/summary/arc.html     |  4 +-
 .../htdocs.expected/summary/base-cygwin.html       |  6 +-
 .../htdocs.expected/summary/corrupt-src.html       |  4 +-
 test/testdata/htdocs.expected/summary/corrupt.html |  4 +-
 .../htdocs.expected/summary/cygwin-debuginfo.html  |  8 +-
 .../htdocs.expected/summary/cygwin-devel.html      |  8 +-
 .../htdocs.expected/summary/cygwin-src.html        |  8 +-
 test/testdata/htdocs.expected/summary/cygwin.html  |  8 +-
 .../htdocs.expected/summary/keychain-src.html      |  6 +-
 .../testdata/htdocs.expected/summary/keychain.html |  6 +-
 .../htdocs.expected/summary/libdns_sd-devel.html   |  4 +-
 .../htdocs.expected/summary/libdns_sd1.html        |  4 +-
 .../htdocs.expected/summary/mDNSResponder-src.html |  4 +-
 .../htdocs.expected/summary/mDNSResponder.html     |  4 +-
 .../htdocs.expected/summary/obs-a-src.html         |  4 +-
 test/testdata/htdocs.expected/summary/obs-a.html   |  4 +-
 .../htdocs.expected/summary/obs-b-src.html         |  4 +-
 test/testdata/htdocs.expected/summary/obs-b.html   |  4 +-
 .../htdocs.expected/summary/openssh-src.html       |  4 +-
 test/testdata/htdocs.expected/summary/openssh.html |  4 +-
 .../per-version-replacement-hint-only-src.html     |  4 +-
 .../summary/per-version-replacement-hint-only.html |  4 +-
 .../htdocs.expected/summary/per-version-src.html   |  6 +-
 .../htdocs.expected/summary/per-version.html       |  6 +-
 .../summary/perl-Net-SMTP-SSL-src.html             |  8 +-
 .../htdocs.expected/summary/perl-Net-SMTP-SSL.html |  8 +-
 .../htdocs.expected/summary/rpm-doc-src.html       |  4 +-
 test/testdata/htdocs.expected/summary/rpm-doc.html |  6 +-
 .../htdocs.expected/summary/staleversion-src.html  | 14 +--
 .../htdocs.expected/summary/staleversion.html      | 14 +--
 .../htdocs.expected/summary/test-c-src.html        |  4 +-
 test/testdata/htdocs.expected/summary/test-c.html  |  4 +-
 .../htdocs.expected/summary/test-d-src.html        |  4 +-
 test/testdata/htdocs.expected/summary/test-d.html  |  4 +-
 .../htdocs.expected/summary/test-e-src.html        |  4 +-
 test/testdata/htdocs.expected/summary/test-e.html  |  4 +-
 .../htdocs.expected/summary/testpackage-src.html   |  4 +-
 .../htdocs.expected/summary/testpackage.html       |  4 +-
 44 files changed, 220 insertions(+), 111 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 5bdc87a..9964a31 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,9 @@
 language: python
-sudo: false
 python:
  - "3.4"
  - "3.6"
+ - "3.7"
+ - "3.8"
 install:
  - pip install -r requirements.txt
 script:
diff --git a/calm/pkg2html.py b/calm/pkg2html.py
index 4840734..32709bb 100755
--- a/calm/pkg2html.py
+++ b/calm/pkg2html.py
@@ -264,7 +264,7 @@ def update_package_listings(args, packages):
                             print('<li><span class="detail">%s</span></li>' % arch, file=f)
 
                             print('<table class="pkgtable">', file=f)
-                            print('<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>', file=f)
+                            print('<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>', file=f)
 
                             def tar_line(pn, p, category, v, arch, f):
                                 if category not in p.vermap[v]:
@@ -273,7 +273,8 @@ def update_package_listings(args, packages):
                                 name = v if category == 'install' else v + ' (source)'
                                 target = "%s-%s" % (p.orig_name, v) + ('' if category == 'install' else '-src')
                                 test = 'test' if 'test' in p.version_hints[v] else 'stable'
-                                print('<tr><td>%s</td><td class="right">%d kB</td><td>[<a href="../%s/%s/%s">list of files</a>]</td><td>%s</td></tr>' % (name, size, arch, pn, target, test), file=f)
+                                ts = time.strftime('%Y-%m-%d %H:%M', time.gmtime(p.tar(v, category).mtime))
+                                print('<tr><td>%s</td><td class="right">%d KiB</td><td>%s</td><td>[<a href="../%s/%s/%s">list of files</a>]</td><td>%s</td></tr>' % (name, size, ts, arch, pn, target, test), file=f)
 
                             for version in sorted(packages[arch][p].vermap.keys(), key=lambda v: SetupVersion(v)):
                                 tar_line(p, packages[arch][p], 'install', version, arch, f)
diff --git a/calm/untest.py b/calm/untest.py
new file mode 100644
index 0000000..b749c15
--- /dev/null
+++ b/calm/untest.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python3
+#
+# Copyright (c) 2020 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.
+#
+
+import argparse
+import logging
+import os
+import re
+import sys
+
+from . import common_constants
+from . import maintainers
+
+
+def untest(pvr):
+    # split name and vr
+    match = re.match(r'^(.+?)-(\d.*)', pvr)
+    if not match:
+        logging.error("unable to extract package and version from '%s'" % (pvr))
+        return
+
+    p = match.group(1)
+    vr = match.group(2)
+
+    # check CYGNAME is a maintainer for package
+    cygname = os.environ['CYGNAME']
+
+    mlist = {}
+    mlist = maintainers.add_packages(mlist, common_constants.PKGMAINT)
+
+    if cygname not in mlist:
+        logging.error("'%s' is not a package maintainer" % (cygname))
+        return
+
+    if p not in mlist[cygname].pkgs:
+        logging.error("package '%s' is not in the package list for maintainer '%s'" % (p, cygname))
+        return
+
+    # remove '^test:' lines from any package and subpackage hints
+    removed = 0
+    total = 0
+    for arch in common_constants.ARCHES + ['noarch']:
+        for (dirpath, _subdirs, files) in os.walk(os.path.join(common_constants.FTP, arch, 'release', p)):
+            for f in files:
+                if re.match(r'.*-' + re.escape(vr) + '(|-src).hint$', f):
+                    total = total + 1
+                    fn = os.path.join(dirpath, f)
+
+                    with open(fn) as fh:
+                        content = fh.read()
+
+                    if re.search(r'^test:', content, re.MULTILINE):
+                        content = re.sub(r'^test:\s*$', '', content, 0, re.MULTILINE)
+
+                        with open(fn, 'w') as fh:
+                            fh.write(content)
+
+                        logging.info("Removed test: label from %s" % os.path.relpath(fn, common_constants.FTP))
+                        removed = removed + 1
+
+    if removed == 0:
+        logging.error("'%s' is not marked test" % pvr)
+    else:
+        logging.info("%d out of %d hints for '%s' version '%s' modified" % (removed, total, p, vr))
+
+
+def main():
+    parser = argparse.ArgumentParser(description='test hint remover')
+    parser.add_argument('package', nargs='*', metavar='PACKAGE')
+    (args) = parser.parse_args()
+
+    logging.getLogger().setLevel(logging.INFO)
+    logging.basicConfig(format='untest: %(message)s')
+
+    for p in args.package:
+        untest(p)
+
+
+if __name__ == "__main__":
+    sys.exit(main())
diff --git a/calm/uploads.py b/calm/uploads.py
index 388e089..2f4bb87 100644
--- a/calm/uploads.py
+++ b/calm/uploads.py
@@ -143,7 +143,7 @@ def scan(m, all_packages, arch, args):
 
         # only process packages for which we are listed as a maintainer
         if not package.is_in_package_list(pkgpath, m.pkgs):
-            logging.warning("package '%s' is not in the package list for maintainer %s" % (relpath, m.name))
+            logging.warning("package '%s' is not in the package list for maintainer '%s'" % (relpath, m.name))
             continue
 
         # see if we can fix-up any setup.hint files
diff --git a/test/test_calm.py b/test/test_calm.py
index b1b82b4..fa48097 100755
--- a/test/test_calm.py
+++ b/test/test_calm.py
@@ -486,8 +486,16 @@ class CalmTest(unittest.TestCase):
         # remove !ready files
         os.system("find testdata/homes -name !ready -exec rm {} \\;")
 
-        # fix up package timestamps so highest version is also latest
+        # fix up package timestamps
         # (git doesn't store timestamps, so they will all be dated the time of checkout)
+
+        # set all package timestamps to some arbitrary date
+        os.environ['TZ'] = 'UTC'
+        for dirpath, _dirnames, filenames in os.walk(os.path.join('testdata', 'relarea')):
+            for f in filenames:
+                os.system('touch "%s" -d %s' % (os.path.join(dirpath, f), '2018-03-02'))
+
+        # then adjust packages where we need highest version to also be latest
         relarea_x86 = os.path.join('testdata', 'relarea', 'x86', 'release')
         relarea_noarch = os.path.join('testdata', 'relarea', 'noarch', 'release')
         home_conflict = os.path.join('testdata', 'homes.conflict', 'Blooey McFooey', 'x86', 'release')
diff --git a/test/testdata/htdocs.expected/summary/arc-src.html b/test/testdata/htdocs.expected/summary/arc-src.html
index 3623e01..895f091 100755
--- a/test/testdata/htdocs.expected/summary/arc-src.html
+++ b/test/testdata/htdocs.expected/summary/arc-src.html
@@ -26,8 +26,8 @@ the best of packing, squeezing, or crunching is used.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>4.32.7-10 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/arc-src/arc-4.32.7-10-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>4.32.7-10 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/arc-src/arc-4.32.7-10-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/arc.html b/test/testdata/htdocs.expected/summary/arc.html
index 0cfcb9e..dd80e6d 100644
--- a/test/testdata/htdocs.expected/summary/arc.html
+++ b/test/testdata/htdocs.expected/summary/arc.html
@@ -26,8 +26,8 @@ the best of packing, squeezing, or crunching is used.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>4.32.7-10</td><td class="right">1 kB</td><td>[<a href="../x86/arc/arc-4.32.7-10">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>4.32.7-10</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/arc/arc-4.32.7-10">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/base-cygwin.html b/test/testdata/htdocs.expected/summary/base-cygwin.html
index 5d14df3..6dffc03 100644
--- a/test/testdata/htdocs.expected/summary/base-cygwin.html
+++ b/test/testdata/htdocs.expected/summary/base-cygwin.html
@@ -22,9 +22,9 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>3.6-1</td><td class="right">1 kB</td><td>[<a href="../x86/base-cygwin/base-cygwin-3.6-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>3.8-1</td><td class="right">1 kB</td><td>[<a href="../x86/base-cygwin/base-cygwin-3.8-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>3.6-1</td><td class="right">1 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/base-cygwin/base-cygwin-3.6-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>3.8-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/base-cygwin/base-cygwin-3.8-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/corrupt-src.html b/test/testdata/htdocs.expected/summary/corrupt-src.html
index 167c266..1ea1507 100755
--- a/test/testdata/htdocs.expected/summary/corrupt-src.html
+++ b/test/testdata/htdocs.expected/summary/corrupt-src.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.0.0-1 (source)</td><td class="right">354 kB</td><td>[<a href="../x86/corrupt-src/corrupt-2.0.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.0.0-1 (source)</td><td class="right">354 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/corrupt-src/corrupt-2.0.0-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/corrupt.html b/test/testdata/htdocs.expected/summary/corrupt.html
index f12513c..e6647bd 100644
--- a/test/testdata/htdocs.expected/summary/corrupt.html
+++ b/test/testdata/htdocs.expected/summary/corrupt.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.0.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/corrupt/corrupt-2.0.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.0.0-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/corrupt/corrupt-2.0.0-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html b/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
index 2cab7d3..2d78c35 100644
--- a/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
+++ b/test/testdata/htdocs.expected/summary/cygwin-debuginfo.html
@@ -23,10 +23,10 @@ cygwin package with gdb.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.2.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-debuginfo/cygwin-debuginfo-2.2.0-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.2.1-1</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.3.0-0.3</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-debuginfo/cygwin-debuginfo-2.3.0-0.3">list of files</a>]</td><td>test</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.2.0-1</td><td class="right">1 KiB</td><td>2016-11-01 00:00</td><td>[<a href="../x86/cygwin-debuginfo/cygwin-debuginfo-2.2.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.2.1-1</td><td class="right">1 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.3.0-0.3</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/cygwin-debuginfo/cygwin-debuginfo-2.3.0-0.3">list of files</a>]</td><td>test</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/cygwin-devel.html b/test/testdata/htdocs.expected/summary/cygwin-devel.html
index f9f3c8a..9d0edde 100644
--- a/test/testdata/htdocs.expected/summary/cygwin-devel.html
+++ b/test/testdata/htdocs.expected/summary/cygwin-devel.html
@@ -21,10 +21,10 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.2.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-devel/cygwin-devel-2.2.0-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.2.1-1</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-devel/cygwin-devel-2.2.1-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.3.0-0.3</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-devel/cygwin-devel-2.3.0-0.3">list of files</a>]</td><td>test</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.2.0-1</td><td class="right">1 KiB</td><td>2016-11-01 00:00</td><td>[<a href="../x86/cygwin-devel/cygwin-devel-2.2.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.2.1-1</td><td class="right">1 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/cygwin-devel/cygwin-devel-2.2.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.3.0-0.3</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/cygwin-devel/cygwin-devel-2.3.0-0.3">list of files</a>]</td><td>test</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/cygwin-src.html b/test/testdata/htdocs.expected/summary/cygwin-src.html
index 23bf0be..a68217c 100755
--- a/test/testdata/htdocs.expected/summary/cygwin-src.html
+++ b/test/testdata/htdocs.expected/summary/cygwin-src.html
@@ -21,10 +21,10 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.2.0-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-src/cygwin-2.2.0-1-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.2.1-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-src/cygwin-2.2.1-1-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.3.0-0.3 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin-src/cygwin-2.3.0-0.3-src">list of files</a>]</td><td>test</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.2.0-1 (source)</td><td class="right">1 KiB</td><td>2016-11-01 00:00</td><td>[<a href="../x86/cygwin-src/cygwin-2.2.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.2.1-1 (source)</td><td class="right">1 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/cygwin-src/cygwin-2.2.1-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.3.0-0.3 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/cygwin-src/cygwin-2.3.0-0.3-src">list of files</a>]</td><td>test</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/cygwin.html b/test/testdata/htdocs.expected/summary/cygwin.html
index 14bd73a..035b059 100644
--- a/test/testdata/htdocs.expected/summary/cygwin.html
+++ b/test/testdata/htdocs.expected/summary/cygwin.html
@@ -22,10 +22,10 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.2.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin/cygwin-2.2.0-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.2.1-1</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin/cygwin-2.2.1-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.3.0-0.3</td><td class="right">1 kB</td><td>[<a href="../x86/cygwin/cygwin-2.3.0-0.3">list of files</a>]</td><td>test</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.2.0-1</td><td class="right">1 KiB</td><td>2016-11-01 00:00</td><td>[<a href="../x86/cygwin/cygwin-2.2.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.2.1-1</td><td class="right">1 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/cygwin/cygwin-2.2.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.3.0-0.3</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/cygwin/cygwin-2.3.0-0.3">list of files</a>]</td><td>test</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/keychain-src.html b/test/testdata/htdocs.expected/summary/keychain-src.html
index 52e97d4..de059a7 100755
--- a/test/testdata/htdocs.expected/summary/keychain-src.html
+++ b/test/testdata/htdocs.expected/summary/keychain-src.html
@@ -29,9 +29,9 @@ necessary<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.6.8-1 (source)</td><td class="right">36 kB</td><td>[<a href="../x86/keychain-src/keychain-2.6.8-1-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.7.1-1 (source)</td><td class="right">132 kB</td><td>[<a href="../x86/keychain-src/keychain-2.7.1-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.6.8-1 (source)</td><td class="right">36 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/keychain-src/keychain-2.6.8-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.7.1-1 (source)</td><td class="right">132 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/keychain-src/keychain-2.7.1-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/keychain.html b/test/testdata/htdocs.expected/summary/keychain.html
index 8daabe0..d07d34e 100644
--- a/test/testdata/htdocs.expected/summary/keychain.html
+++ b/test/testdata/htdocs.expected/summary/keychain.html
@@ -30,9 +30,9 @@ necessary<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>2.6.8-1</td><td class="right">30 kB</td><td>[<a href="../x86/keychain/keychain-2.6.8-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>2.7.1-1</td><td class="right">32 kB</td><td>[<a href="../x86/keychain/keychain-2.7.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>2.6.8-1</td><td class="right">30 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/keychain/keychain-2.6.8-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>2.7.1-1</td><td class="right">32 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/keychain/keychain-2.7.1-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/libdns_sd-devel.html b/test/testdata/htdocs.expected/summary/libdns_sd-devel.html
index 58b060e..8e36ee4 100644
--- a/test/testdata/htdocs.expected/summary/libdns_sd-devel.html
+++ b/test/testdata/htdocs.expected/summary/libdns_sd-devel.html
@@ -24,8 +24,8 @@ industry standard IP protocols.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>379.32.1-1</td><td class="right">1 kB</td><td>[<a href="../x86/libdns_sd-devel/libdns_sd-devel-379.32.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>379.32.1-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/libdns_sd-devel/libdns_sd-devel-379.32.1-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/libdns_sd1.html b/test/testdata/htdocs.expected/summary/libdns_sd1.html
index 10de4bf..4a2ad36 100644
--- a/test/testdata/htdocs.expected/summary/libdns_sd1.html
+++ b/test/testdata/htdocs.expected/summary/libdns_sd1.html
@@ -23,8 +23,8 @@ industry standard IP protocols.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>379.32.1-1</td><td class="right">1 kB</td><td>[<a href="../x86/libdns_sd1/libdns_sd1-379.32.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>379.32.1-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/libdns_sd1/libdns_sd1-379.32.1-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/mDNSResponder-src.html b/test/testdata/htdocs.expected/summary/mDNSResponder-src.html
index 744f519..b186322 100755
--- a/test/testdata/htdocs.expected/summary/mDNSResponder-src.html
+++ b/test/testdata/htdocs.expected/summary/mDNSResponder-src.html
@@ -23,8 +23,8 @@ industry standard IP protocols.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>379.32.1-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/mDNSResponder-src/mDNSResponder-379.32.1-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>379.32.1-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/mDNSResponder-src/mDNSResponder-379.32.1-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/mDNSResponder.html b/test/testdata/htdocs.expected/summary/mDNSResponder.html
index fee2fd7..646485a 100644
--- a/test/testdata/htdocs.expected/summary/mDNSResponder.html
+++ b/test/testdata/htdocs.expected/summary/mDNSResponder.html
@@ -24,8 +24,8 @@ industry standard IP protocols.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>379.32.1-1</td><td class="right">1 kB</td><td>[<a href="../x86/mDNSResponder/mDNSResponder-379.32.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>379.32.1-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/mDNSResponder/mDNSResponder-379.32.1-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/obs-a-src.html b/test/testdata/htdocs.expected/summary/obs-a-src.html
index 03847a9..b3e08fc 100755
--- a/test/testdata/htdocs.expected/summary/obs-a-src.html
+++ b/test/testdata/htdocs.expected/summary/obs-a-src.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/obs-a-src/obs-a-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/obs-a-src/obs-a-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/obs-a.html b/test/testdata/htdocs.expected/summary/obs-a.html
index e769792..3e99784 100644
--- a/test/testdata/htdocs.expected/summary/obs-a.html
+++ b/test/testdata/htdocs.expected/summary/obs-a.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/obs-a/obs-a-1.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/obs-a/obs-a-1.0-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/obs-b-src.html b/test/testdata/htdocs.expected/summary/obs-b-src.html
index c55f882..43f5509 100755
--- a/test/testdata/htdocs.expected/summary/obs-b-src.html
+++ b/test/testdata/htdocs.expected/summary/obs-b-src.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/obs-b-src/obs-b-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/obs-b-src/obs-b-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/obs-b.html b/test/testdata/htdocs.expected/summary/obs-b.html
index 3eea36d..15b2a02 100644
--- a/test/testdata/htdocs.expected/summary/obs-b.html
+++ b/test/testdata/htdocs.expected/summary/obs-b.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/obs-b/obs-b-1.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/obs-b/obs-b-1.0-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/openssh-src.html b/test/testdata/htdocs.expected/summary/openssh-src.html
index ddac058..eb21d8e 100755
--- a/test/testdata/htdocs.expected/summary/openssh-src.html
+++ b/test/testdata/htdocs.expected/summary/openssh-src.html
@@ -23,8 +23,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>7.2p2-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/openssh-src/openssh-7.2p2-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>7.2p2-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/openssh-src/openssh-7.2p2-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/openssh.html b/test/testdata/htdocs.expected/summary/openssh.html
index de87c5a..b657c9e 100644
--- a/test/testdata/htdocs.expected/summary/openssh.html
+++ b/test/testdata/htdocs.expected/summary/openssh.html
@@ -23,8 +23,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>7.2p2-1</td><td class="right">1 kB</td><td>[<a href="../x86/openssh/openssh-7.2p2-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>7.2p2-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/openssh/openssh-7.2p2-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only-src.html b/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only-src.html
index d4f7ab6..54e0896 100755
--- a/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only-src.html
+++ b/test/testdata/htdocs.expected/summary/per-version-replacement-hint-only-src.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/per-version-replacement-hint-only-src/per-version-replacement-hint-only-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/per-version-replacement-hint-only-src/per-version-replacement-hint-only-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
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 ed019b7..ecfc108 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
@@ -22,8 +22,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/per-version-src.html b/test/testdata/htdocs.expected/summary/per-version-src.html
index 5e5d61e..e4041dc 100755
--- a/test/testdata/htdocs.expected/summary/per-version-src.html
+++ b/test/testdata/htdocs.expected/summary/per-version-src.html
@@ -21,9 +21,9 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>4.0-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/per-version-src/per-version-4.0-1-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>4.8-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/per-version-src/per-version-4.8-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>4.0-1 (source)</td><td class="right">1 KiB</td><td>2017-04-09 00:00</td><td>[<a href="../x86/per-version-src/per-version-4.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>4.8-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/per-version-src/per-version-4.8-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/per-version.html b/test/testdata/htdocs.expected/summary/per-version.html
index cb8d1b4..4d9a74f 100644
--- a/test/testdata/htdocs.expected/summary/per-version.html
+++ b/test/testdata/htdocs.expected/summary/per-version.html
@@ -22,9 +22,9 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>4.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/per-version/per-version-4.0-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>4.8-1</td><td class="right">1 kB</td><td>[<a href="../x86/per-version/per-version-4.8-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>4.0-1</td><td class="right">1 KiB</td><td>2017-04-09 00:00</td><td>[<a href="../x86/per-version/per-version-4.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>4.8-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/per-version/per-version-4.8-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL-src.html b/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL-src.html
index 512831d..263ffe4 100755
--- a/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL-src.html
+++ b/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL-src.html
@@ -22,10 +22,10 @@ its network operations in order to support encrypted connections.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.01-1 (source)</td><td class="right">3 kB</td><td>[<a href="../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.01-1-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>1.02-1 (source)</td><td class="right">3 kB</td><td>[<a href="../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.02-1-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>1.03-1 (source)</td><td class="right">3 kB</td><td>[<a href="../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.03-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.01-1 (source)</td><td class="right">3 KiB</td><td>2016-09-01 00:00</td><td>[<a href="../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.01-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>1.02-1 (source)</td><td class="right">3 KiB</td><td>2016-10-01 00:00</td><td>[<a href="../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.02-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>1.03-1 (source)</td><td class="right">3 KiB</td><td>2016-11-01 00:00</td><td>[<a href="../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.03-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
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 83f27cb..0043d58 100644
--- a/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL.html
+++ b/test/testdata/htdocs.expected/summary/perl-Net-SMTP-SSL.html
@@ -22,10 +22,10 @@ its network operations in order to support encrypted connections.<br><br>
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.01-1</td><td class="right">4 kB</td><td>[<a href="../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.01-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>1.02-1</td><td class="right">4 kB</td><td>[<a href="../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.02-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>1.03-1</td><td class="right">4 kB</td><td>[<a href="../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.03-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.01-1</td><td class="right">4 KiB</td><td>2016-09-01 00:00</td><td>[<a href="../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.01-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>1.02-1</td><td class="right">4 KiB</td><td>2016-10-01 00:00</td><td>[<a href="../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.02-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>1.03-1</td><td class="right">4 KiB</td><td>2016-11-01 00:00</td><td>[<a href="../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.03-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/rpm-doc-src.html b/test/testdata/htdocs.expected/summary/rpm-doc-src.html
index 733c6e8..0a6b59d 100755
--- a/test/testdata/htdocs.expected/summary/rpm-doc-src.html
+++ b/test/testdata/htdocs.expected/summary/rpm-doc-src.html
@@ -17,8 +17,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>4.1-2 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/rpm-doc-src/rpm-doc-4.1-2-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>4.1-2 (source)</td><td class="right">1 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/rpm-doc-src/rpm-doc-4.1-2-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/rpm-doc.html b/test/testdata/htdocs.expected/summary/rpm-doc.html
index 0da1339..b4337b6 100644
--- a/test/testdata/htdocs.expected/summary/rpm-doc.html
+++ b/test/testdata/htdocs.expected/summary/rpm-doc.html
@@ -17,9 +17,9 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>4.1-2</td><td class="right">50 kB</td><td>[<a href="../x86/rpm-doc/rpm-doc-4.1-2">list of files</a>]</td><td>stable</td></tr>
-<tr><td>999-1</td><td class="right">1 kB</td><td>[<a href="../x86/rpm-doc/rpm-doc-999-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>4.1-2</td><td class="right">50 KiB</td><td>2016-11-02 00:00</td><td>[<a href="../x86/rpm-doc/rpm-doc-4.1-2">list of files</a>]</td><td>stable</td></tr>
+<tr><td>999-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/rpm-doc/rpm-doc-999-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/staleversion-src.html b/test/testdata/htdocs.expected/summary/staleversion-src.html
index ad75a13..6b6bdea 100755
--- a/test/testdata/htdocs.expected/summary/staleversion-src.html
+++ b/test/testdata/htdocs.expected/summary/staleversion-src.html
@@ -21,13 +21,13 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>240-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion-src/staleversion-240-1-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>242-0 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion-src/staleversion-242-0-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>243-0 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion-src/staleversion-243-0-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>250-0 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion-src/staleversion-250-0-src">list of files</a>]</td><td>stable</td></tr>
-<tr><td>251-0 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion-src/staleversion-251-0-src">list of files</a>]</td><td>test</td></tr>
-<tr><td>260-0 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion-src/staleversion-260-0-src">list of files</a>]</td><td>test</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>240-1 (source)</td><td class="right">1 KiB</td><td>2017-04-07 00:00</td><td>[<a href="../x86/staleversion-src/staleversion-240-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>242-0 (source)</td><td class="right">1 KiB</td><td>2017-04-08 00:00</td><td>[<a href="../x86/staleversion-src/staleversion-242-0-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>243-0 (source)</td><td class="right">1 KiB</td><td>2017-04-09 00:00</td><td>[<a href="../x86/staleversion-src/staleversion-243-0-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>250-0 (source)</td><td class="right">1 KiB</td><td>2017-04-10 00:00</td><td>[<a href="../x86/staleversion-src/staleversion-250-0-src">list of files</a>]</td><td>stable</td></tr>
+<tr><td>251-0 (source)</td><td class="right">1 KiB</td><td>2017-04-09 00:00</td><td>[<a href="../x86/staleversion-src/staleversion-251-0-src">list of files</a>]</td><td>test</td></tr>
+<tr><td>260-0 (source)</td><td class="right">1 KiB</td><td>2017-04-12 00:00</td><td>[<a href="../x86/staleversion-src/staleversion-260-0-src">list of files</a>]</td><td>test</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/staleversion.html b/test/testdata/htdocs.expected/summary/staleversion.html
index fd75694..4d889d2 100644
--- a/test/testdata/htdocs.expected/summary/staleversion.html
+++ b/test/testdata/htdocs.expected/summary/staleversion.html
@@ -21,13 +21,13 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>240-1</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion/staleversion-240-1">list of files</a>]</td><td>stable</td></tr>
-<tr><td>242-0</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion/staleversion-242-0">list of files</a>]</td><td>stable</td></tr>
-<tr><td>243-0</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion/staleversion-243-0">list of files</a>]</td><td>stable</td></tr>
-<tr><td>250-0</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion/staleversion-250-0">list of files</a>]</td><td>stable</td></tr>
-<tr><td>251-0</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion/staleversion-251-0">list of files</a>]</td><td>test</td></tr>
-<tr><td>260-0</td><td class="right">1 kB</td><td>[<a href="../x86/staleversion/staleversion-260-0">list of files</a>]</td><td>test</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>240-1</td><td class="right">1 KiB</td><td>2017-04-07 00:00</td><td>[<a href="../x86/staleversion/staleversion-240-1">list of files</a>]</td><td>stable</td></tr>
+<tr><td>242-0</td><td class="right">1 KiB</td><td>2017-04-08 00:00</td><td>[<a href="../x86/staleversion/staleversion-242-0">list of files</a>]</td><td>stable</td></tr>
+<tr><td>243-0</td><td class="right">1 KiB</td><td>2017-04-09 00:00</td><td>[<a href="../x86/staleversion/staleversion-243-0">list of files</a>]</td><td>stable</td></tr>
+<tr><td>250-0</td><td class="right">1 KiB</td><td>2017-04-10 00:00</td><td>[<a href="../x86/staleversion/staleversion-250-0">list of files</a>]</td><td>stable</td></tr>
+<tr><td>251-0</td><td class="right">1 KiB</td><td>2017-04-09 00:00</td><td>[<a href="../x86/staleversion/staleversion-251-0">list of files</a>]</td><td>test</td></tr>
+<tr><td>260-0</td><td class="right">1 KiB</td><td>2017-04-12 00:00</td><td>[<a href="../x86/staleversion/staleversion-260-0">list of files</a>]</td><td>test</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/test-c-src.html b/test/testdata/htdocs.expected/summary/test-c-src.html
index 3218aee..41cb341 100755
--- a/test/testdata/htdocs.expected/summary/test-c-src.html
+++ b/test/testdata/htdocs.expected/summary/test-c-src.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/test-c-src/test-c-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/test-c-src/test-c-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/test-c.html b/test/testdata/htdocs.expected/summary/test-c.html
index f779106..2a0d186 100644
--- a/test/testdata/htdocs.expected/summary/test-c.html
+++ b/test/testdata/htdocs.expected/summary/test-c.html
@@ -23,8 +23,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/test-c/test-c-1.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/test-c/test-c-1.0-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/test-d-src.html b/test/testdata/htdocs.expected/summary/test-d-src.html
index a80cc86..c8c0b56 100755
--- a/test/testdata/htdocs.expected/summary/test-d-src.html
+++ b/test/testdata/htdocs.expected/summary/test-d-src.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0.42590-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/test-d-src/test-d-1.0.42590-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0.42590-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/test-d-src/test-d-1.0.42590-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/test-d.html b/test/testdata/htdocs.expected/summary/test-d.html
index 1aa2f6b..1d61e97 100644
--- a/test/testdata/htdocs.expected/summary/test-d.html
+++ b/test/testdata/htdocs.expected/summary/test-d.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0.42590-1</td><td class="right">1 kB</td><td>[<a href="../x86/test-d/test-d-1.0.42590-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0.42590-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/test-d/test-d-1.0.42590-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/test-e-src.html b/test/testdata/htdocs.expected/summary/test-e-src.html
index 84da327..29e59fd 100755
--- a/test/testdata/htdocs.expected/summary/test-e-src.html
+++ b/test/testdata/htdocs.expected/summary/test-e-src.html
@@ -22,8 +22,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/test-e-src/test-e-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/test-e-src/test-e-1.0-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/test-e.html b/test/testdata/htdocs.expected/summary/test-e.html
index c71f753..70e31a3 100644
--- a/test/testdata/htdocs.expected/summary/test-e.html
+++ b/test/testdata/htdocs.expected/summary/test-e.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>1.0-1</td><td class="right">1 kB</td><td>[<a href="../x86/test-e/test-e-1.0-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>1.0-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/test-e/test-e-1.0-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/testpackage-src.html b/test/testdata/htdocs.expected/summary/testpackage-src.html
index 8d132db..5a46faa 100755
--- a/test/testdata/htdocs.expected/summary/testpackage-src.html
+++ b/test/testdata/htdocs.expected/summary/testpackage-src.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>0.1-1 (source)</td><td class="right">1 kB</td><td>[<a href="../x86/testpackage-src/testpackage-0.1-1-src">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>0.1-1 (source)</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/testpackage-src/testpackage-0.1-1-src">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>
diff --git a/test/testdata/htdocs.expected/summary/testpackage.html b/test/testdata/htdocs.expected/summary/testpackage.html
index 6d18cd8..bc0cfa3 100644
--- a/test/testdata/htdocs.expected/summary/testpackage.html
+++ b/test/testdata/htdocs.expected/summary/testpackage.html
@@ -21,8 +21,8 @@
 <ul>
 <li><span class="detail">x86</span></li>
 <table class="pkgtable">
-<tr><th>Version</th><th>Package Size</th><th>Files</th><th>Status</th></tr>
-<tr><td>0.1-1</td><td class="right">1 kB</td><td>[<a href="../x86/testpackage/testpackage-0.1-1">list of files</a>]</td><td>stable</td></tr>
+<tr><th>Version</th><th>Package Size</th><th>Date</th><th>Files</th><th>Status</th></tr>
+<tr><td>0.1-1</td><td class="right">1 KiB</td><td>2018-03-02 00:00</td><td>[<a href="../x86/testpackage/testpackage-0.1-1">list of files</a>]</td><td>stable</td></tr>
 </table><br>
 </ul>
 </div>



                 reply	other threads:[~2020-08-23 15:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20200823150346.E69483857C43@sourceware.org \
    --to=jturney@sourceware.org \
    --cc=cygwin-apps-cvs@sourceware.org \
    /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).