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. 20210626-7-g8b6fa8f
Date: Thu, 20 Jan 2022 15:53:35 +0000 (GMT)	[thread overview]
Message-ID: <20220120155335.C898E3858D37@sourceware.org> (raw)




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

commit 8b6fa8fb2c0cdc12d3e0219b0bbf21836835bf7a
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Jan 20 14:08:54 2022 +0000

    Exempt obsolete:d packages from version check
    
    Exempt obsolete:d packages from check that they provide a version
    matching the current source pacakge version.

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

commit 3541f8933bb7f7c7fa4e9368f10a2da20bf0a6f6
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Sat Jan 8 15:51:29 2022 +0000

    Clear is_used_by before generating it
    
    Avoid an install package which has been totally removed lingering in the
    is_used_by for it's source.

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

commit 6c6a59a7e1a0d47d38383211afe478edea354ffc
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Tue Jan 4 16:53:32 2022 +0000

    Drop freenode #cygwin-bots irc channel

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

commit aa9c1c68233d09737ee438c43fad223199e53606
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Jan 20 15:48:15 2022 +0000

    Update expected test output for summary link in package contents HTML


Diff:
---
 calm/irk.py                                                  |  2 +-
 calm/package.py                                              | 12 ++++++++++++
 test/testdata/htdocs.expected/x86/arc-src/arc-4.32.7-10-src  |  2 +-
 test/testdata/htdocs.expected/x86/arc/arc-4.32.7-10          |  2 +-
 .../htdocs.expected/x86/base-cygwin/base-cygwin-3.6-1        |  2 +-
 .../htdocs.expected/x86/base-cygwin/base-cygwin-3.8-1        |  2 +-
 .../htdocs.expected/x86/corrupt-src/corrupt-2.0.0-1-src      |  2 +-
 test/testdata/htdocs.expected/x86/corrupt/corrupt-2.0.0-1    |  2 +-
 .../x86/cygwin-debuginfo/cygwin-debuginfo-2.2.0-1            |  2 +-
 .../x86/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1            |  2 +-
 .../x86/cygwin-debuginfo/cygwin-debuginfo-2.3.0-0.3          |  2 +-
 .../htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.0-1    |  2 +-
 .../htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.1-1    |  2 +-
 .../htdocs.expected/x86/cygwin-devel/cygwin-devel-2.3.0-0.3  |  2 +-
 .../htdocs.expected/x86/cygwin-src/cygwin-2.2.0-1-src        |  2 +-
 .../htdocs.expected/x86/cygwin-src/cygwin-2.2.1-1-src        |  2 +-
 .../htdocs.expected/x86/cygwin-src/cygwin-2.3.0-0.3-src      |  2 +-
 test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.0-1      |  2 +-
 test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.1-1      |  2 +-
 test/testdata/htdocs.expected/x86/cygwin/cygwin-2.3.0-0.3    |  2 +-
 .../htdocs.expected/x86/keychain-src/keychain-2.6.8-1-src    |  2 +-
 .../htdocs.expected/x86/keychain-src/keychain-2.7.1-1-src    |  2 +-
 test/testdata/htdocs.expected/x86/keychain/keychain-2.6.8-1  |  2 +-
 test/testdata/htdocs.expected/x86/keychain/keychain-2.7.1-1  |  2 +-
 .../x86/libdns_sd-devel/libdns_sd-devel-379.32.1-1           |  2 +-
 .../htdocs.expected/x86/libdns_sd1/libdns_sd1-379.32.1-1     |  2 +-
 .../x86/mDNSResponder-src/mDNSResponder-379.32.1-1-src       |  2 +-
 .../x86/mDNSResponder/mDNSResponder-379.32.1-1               |  2 +-
 test/testdata/htdocs.expected/x86/obs-a-src/obs-a-1.0-1-src  |  2 +-
 test/testdata/htdocs.expected/x86/obs-a/obs-a-1.0-1          |  2 +-
 test/testdata/htdocs.expected/x86/obs-b-src/obs-b-1.0-1-src  |  2 +-
 test/testdata/htdocs.expected/x86/obs-b/obs-b-1.0-1          |  2 +-
 .../htdocs.expected/x86/openssh-src/openssh-7.2p2-1-src      |  2 +-
 test/testdata/htdocs.expected/x86/openssh/openssh-7.2p2-1    |  2 +-
 .../per-version-replacement-hint-only-1.0-1-src              |  2 +-
 .../per-version-replacement-hint-only-1.0-1                  |  2 +-
 .../x86/per-version-src/per-version-4.0-1-src                |  2 +-
 .../x86/per-version-src/per-version-4.8-1-src                |  2 +-
 .../htdocs.expected/x86/per-version/per-version-4.0-1        |  2 +-
 .../htdocs.expected/x86/per-version/per-version-4.8-1        |  2 +-
 .../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.01-1-src   |  2 +-
 .../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.02-1-src   |  2 +-
 .../x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.03-1-src   |  2 +-
 .../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.01-1           |  2 +-
 .../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.02-1           |  2 +-
 .../x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.03-1           |  2 +-
 .../htdocs.expected/x86/rpm-doc-src/rpm-doc-4.1-2-src        |  2 +-
 test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-4.1-2      |  2 +-
 test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-999-1      |  2 +-
 .../x86/staleversion-src/staleversion-240-1-src              |  2 +-
 .../x86/staleversion-src/staleversion-242-0-src              |  2 +-
 .../x86/staleversion-src/staleversion-243-0-src              |  2 +-
 .../x86/staleversion-src/staleversion-250-0-src              |  2 +-
 .../x86/staleversion-src/staleversion-251-0-src              |  2 +-
 .../x86/staleversion-src/staleversion-260-0-src              |  2 +-
 .../htdocs.expected/x86/staleversion/staleversion-240-1      |  2 +-
 .../htdocs.expected/x86/staleversion/staleversion-242-0      |  2 +-
 .../htdocs.expected/x86/staleversion/staleversion-243-0      |  2 +-
 .../htdocs.expected/x86/staleversion/staleversion-250-0      |  2 +-
 .../htdocs.expected/x86/staleversion/staleversion-251-0      |  2 +-
 .../htdocs.expected/x86/staleversion/staleversion-260-0      |  2 +-
 .../testdata/htdocs.expected/x86/test-c-src/test-c-1.0-1-src |  2 +-
 test/testdata/htdocs.expected/x86/test-c/test-c-1.0-1        |  2 +-
 .../testdata/htdocs.expected/x86/test-d-src/test-d-1.0-1-src |  2 +-
 test/testdata/htdocs.expected/x86/test-d/test-d-1.0-1        |  2 +-
 .../testdata/htdocs.expected/x86/test-e-src/test-e-1.0-1-src |  2 +-
 test/testdata/htdocs.expected/x86/test-e/test-e-1.0-1        |  2 +-
 .../x86/testpackage-src/testpackage-0.1-1-src                |  2 +-
 .../htdocs.expected/x86/testpackage/testpackage-0.1-1        |  2 +-
 69 files changed, 80 insertions(+), 68 deletions(-)

diff --git a/calm/irk.py b/calm/irk.py
index 40986b9..4028dd7 100755
--- a/calm/irk.py
+++ b/calm/irk.py
@@ -12,7 +12,7 @@ import socket
 import sys
 
 DEFAULT_SERVER = ("localhost", 6659)
-DEFAULT_TARGET = ['cygwin-bots', 'irc://irc.libera.chat/cygwin-bots']
+DEFAULT_TARGET = ['irc://irc.libera.chat/cygwin-bots']
 
 
 def connect(server=DEFAULT_SERVER):
diff --git a/calm/package.py b/calm/package.py
index d253afb..34424a8 100755
--- a/calm/package.py
+++ b/calm/package.py
@@ -499,6 +499,9 @@ def validate_packages(args, packages):
         for hints in packages[p].version_hints.values():
             valid_requires.update(hints.get('provides', '').split())
 
+            # reset obsolete:d by some other package state
+            packages[p].obsolete = False
+
     # perform various package validations
     for p in sorted(packages.keys()):
         logging.log(5, "validating package '%s'" % (p))
@@ -569,6 +572,8 @@ def validate_packages(args, packages):
                     o = re.sub(r'(.*) +\(.*\)', r'\1', o)
 
                     if o in packages:
+                        packages[o].obsolete = True
+
                         for (ov, ohints) in packages[o].version_hints.items():
                             if 'depends' in ohints:
                                 depends = ohints['depends'].split(',')
@@ -763,6 +768,9 @@ def validate_packages(args, packages):
 
     # make another pass to verify a source tarfile exists for every install
     # tarfile version
+    for p in packages.keys():
+        packages[p].is_used_by = set()
+
     for p in sorted(packages.keys()):
         if not packages[p].kind == Kind.binary:
             continue
@@ -830,6 +838,8 @@ def validate_packages(args, packages):
                 continue
 
             # ignore obsolete packages
+            if packages[install_p].obsolete:
+                continue
             if any(['_obsolete' in packages[install_p].version_hints[vr].get('category', '') for vr in packages[install_p].version_hints]):
                 continue
 
@@ -1160,6 +1170,8 @@ def write_repo_json(args, packages, f):
             for arch in common_constants.ARCHES:
                 if p in packages[arch]:
                     return packages[arch][p]
+
+            # will lead to AttributeError as has no version_hints
             return None
 
         bv = po.best_version
diff --git a/test/testdata/htdocs.expected/x86/arc-src/arc-4.32.7-10-src b/test/testdata/htdocs.expected/x86/arc-src/arc-4.32.7-10-src
index 583e28d..1f449c6 100644
--- a/test/testdata/htdocs.expected/x86/arc-src/arc-4.32.7-10-src
+++ b/test/testdata/htdocs.expected/x86/arc-src/arc-4.32.7-10-src
@@ -4,7 +4,7 @@
 <title>arc-src: The ARC archive utility (source)</title>
 </head>
 <body>
-<h1>arc-src: The ARC archive utility (source)</h1>
+<h1><a href="/packages/summary/arc-src.html">arc-src</a>: The ARC archive utility (source)</h1>
 <pre>
     2016-11-24 22:47        1786 cc1BOI4Z
     2016-11-24 18:14        1786 ccbdRcNC
diff --git a/test/testdata/htdocs.expected/x86/arc/arc-4.32.7-10 b/test/testdata/htdocs.expected/x86/arc/arc-4.32.7-10
index b9d474e..5b867d7 100644
--- a/test/testdata/htdocs.expected/x86/arc/arc-4.32.7-10
+++ b/test/testdata/htdocs.expected/x86/arc/arc-4.32.7-10
@@ -4,7 +4,7 @@
 <title>arc: The ARC archive utility</title>
 </head>
 <body>
-<h1>arc: The ARC archive utility</h1>
+<h1><a href="/packages/summary/arc.html">arc</a>: The ARC archive utility</h1>
 <pre>
     2016-11-24 22:47        1786 cc1BOI4Z
     2016-11-24 18:14        1786 ccbdRcNC
diff --git a/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.6-1 b/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.6-1
index 68cfc5e..46bac14 100644
--- a/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.6-1
+++ b/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.6-1
@@ -4,7 +4,7 @@
 <title>base-cygwin: Initial base installation helper script</title>
 </head>
 <body>
-<h1>base-cygwin: Initial base installation helper script</h1>
+<h1><a href="/packages/summary/base-cygwin.html">base-cygwin</a>: Initial base installation helper script</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.8-1 b/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.8-1
index 68cfc5e..46bac14 100644
--- a/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.8-1
+++ b/test/testdata/htdocs.expected/x86/base-cygwin/base-cygwin-3.8-1
@@ -4,7 +4,7 @@
 <title>base-cygwin: Initial base installation helper script</title>
 </head>
 <body>
-<h1>base-cygwin: Initial base installation helper script</h1>
+<h1><a href="/packages/summary/base-cygwin.html">base-cygwin</a>: Initial base installation helper script</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/corrupt-src/corrupt-2.0.0-1-src b/test/testdata/htdocs.expected/x86/corrupt-src/corrupt-2.0.0-1-src
index 46032cf..200b049 100644
--- a/test/testdata/htdocs.expected/x86/corrupt-src/corrupt-2.0.0-1-src
+++ b/test/testdata/htdocs.expected/x86/corrupt-src/corrupt-2.0.0-1-src
@@ -4,7 +4,7 @@
 <title>corrupt-src: A corrupt package (source)</title>
 </head>
 <body>
-<h1>corrupt-src: A corrupt package (source)</h1>
+<h1><a href="/packages/summary/corrupt-src.html">corrupt-src</a>: A corrupt package (source)</h1>
 <pre>
     2016-06-11 10:34           0 perl-Business-ISBN-2.011-1.src/
     2016-06-11 10:34      364175 perl-Business-ISBN-2.011-1.src/Business-ISBN-2.011.tar.gz
diff --git a/test/testdata/htdocs.expected/x86/corrupt/corrupt-2.0.0-1 b/test/testdata/htdocs.expected/x86/corrupt/corrupt-2.0.0-1
index 396aa97..1868c86 100644
--- a/test/testdata/htdocs.expected/x86/corrupt/corrupt-2.0.0-1
+++ b/test/testdata/htdocs.expected/x86/corrupt/corrupt-2.0.0-1
@@ -4,7 +4,7 @@
 <title>corrupt: A corrupt package</title>
 </head>
 <body>
-<h1>corrupt: A corrupt package</h1>
+<h1><a href="/packages/summary/corrupt.html">corrupt</a>: A corrupt package</h1>
 <pre>
 package is corrupted
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.0-1 b/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.0-1
index 419b839..a4b3595 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.0-1
+++ b/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.0-1
@@ -4,7 +4,7 @@
 <title>cygwin-debuginfo: Debug info for cygwin</title>
 </head>
 <body>
-<h1>cygwin-debuginfo: Debug info for cygwin</h1>
+<h1><a href="/packages/summary/cygwin-debuginfo.html">cygwin-debuginfo</a>: Debug info for cygwin</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1 b/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1
index 419b839..a4b3595 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1
+++ b/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.2.1-1
@@ -4,7 +4,7 @@
 <title>cygwin-debuginfo: Debug info for cygwin</title>
 </head>
 <body>
-<h1>cygwin-debuginfo: Debug info for cygwin</h1>
+<h1><a href="/packages/summary/cygwin-debuginfo.html">cygwin-debuginfo</a>: Debug info for cygwin</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.3.0-0.3 b/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.3.0-0.3
index 419b839..a4b3595 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.3.0-0.3
+++ b/test/testdata/htdocs.expected/x86/cygwin-debuginfo/cygwin-debuginfo-2.3.0-0.3
@@ -4,7 +4,7 @@
 <title>cygwin-debuginfo: Debug info for cygwin</title>
 </head>
 <body>
-<h1>cygwin-debuginfo: Debug info for cygwin</h1>
+<h1><a href="/packages/summary/cygwin-debuginfo.html">cygwin-debuginfo</a>: Debug info for cygwin</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.0-1 b/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.0-1
index 77de194..fe04746 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.0-1
+++ b/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.0-1
@@ -4,7 +4,7 @@
 <title>cygwin-devel: Core development files</title>
 </head>
 <body>
-<h1>cygwin-devel: Core development files</h1>
+<h1><a href="/packages/summary/cygwin-devel.html">cygwin-devel</a>: Core development files</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.1-1 b/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.1-1
index 77de194..fe04746 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.1-1
+++ b/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.2.1-1
@@ -4,7 +4,7 @@
 <title>cygwin-devel: Core development files</title>
 </head>
 <body>
-<h1>cygwin-devel: Core development files</h1>
+<h1><a href="/packages/summary/cygwin-devel.html">cygwin-devel</a>: Core development files</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.3.0-0.3 b/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.3.0-0.3
index 77de194..fe04746 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.3.0-0.3
+++ b/test/testdata/htdocs.expected/x86/cygwin-devel/cygwin-devel-2.3.0-0.3
@@ -4,7 +4,7 @@
 <title>cygwin-devel: Core development files</title>
 </head>
 <body>
-<h1>cygwin-devel: Core development files</h1>
+<h1><a href="/packages/summary/cygwin-devel.html">cygwin-devel</a>: Core development files</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.0-1-src b/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.0-1-src
index 9a42632..2cb3f3e 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.0-1-src
+++ b/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.0-1-src
@@ -4,7 +4,7 @@
 <title>cygwin-src: The UNIX emulation engine (source)</title>
 </head>
 <body>
-<h1>cygwin-src: The UNIX emulation engine (source)</h1>
+<h1><a href="/packages/summary/cygwin-src.html">cygwin-src</a>: The UNIX emulation engine (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.1-1-src b/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.1-1-src
index 9a42632..2cb3f3e 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.1-1-src
+++ b/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.2.1-1-src
@@ -4,7 +4,7 @@
 <title>cygwin-src: The UNIX emulation engine (source)</title>
 </head>
 <body>
-<h1>cygwin-src: The UNIX emulation engine (source)</h1>
+<h1><a href="/packages/summary/cygwin-src.html">cygwin-src</a>: The UNIX emulation engine (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.3.0-0.3-src b/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.3.0-0.3-src
index 9a42632..2cb3f3e 100644
--- a/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.3.0-0.3-src
+++ b/test/testdata/htdocs.expected/x86/cygwin-src/cygwin-2.3.0-0.3-src
@@ -4,7 +4,7 @@
 <title>cygwin-src: The UNIX emulation engine (source)</title>
 </head>
 <body>
-<h1>cygwin-src: The UNIX emulation engine (source)</h1>
+<h1><a href="/packages/summary/cygwin-src.html">cygwin-src</a>: The UNIX emulation engine (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.0-1 b/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.0-1
index 1cd75d5..c5648ca 100644
--- a/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.0-1
+++ b/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.0-1
@@ -4,7 +4,7 @@
 <title>cygwin: The UNIX emulation engine</title>
 </head>
 <body>
-<h1>cygwin: The UNIX emulation engine</h1>
+<h1><a href="/packages/summary/cygwin.html">cygwin</a>: The UNIX emulation engine</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.1-1 b/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.1-1
index 1cd75d5..c5648ca 100644
--- a/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.1-1
+++ b/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.2.1-1
@@ -4,7 +4,7 @@
 <title>cygwin: The UNIX emulation engine</title>
 </head>
 <body>
-<h1>cygwin: The UNIX emulation engine</h1>
+<h1><a href="/packages/summary/cygwin.html">cygwin</a>: The UNIX emulation engine</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.3.0-0.3 b/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.3.0-0.3
index 1cd75d5..c5648ca 100644
--- a/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.3.0-0.3
+++ b/test/testdata/htdocs.expected/x86/cygwin/cygwin-2.3.0-0.3
@@ -4,7 +4,7 @@
 <title>cygwin: The UNIX emulation engine</title>
 </head>
 <body>
-<h1>cygwin: The UNIX emulation engine</h1>
+<h1><a href="/packages/summary/cygwin.html">cygwin</a>: The UNIX emulation engine</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.6.8-1-src b/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.6.8-1-src
index bdc08ce..ede5b28 100644
--- a/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.6.8-1-src
+++ b/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.6.8-1-src
@@ -4,7 +4,7 @@
 <title>keychain-src: Key manager for OpenSSH (source)</title>
 </head>
 <body>
-<h1>keychain-src: Key manager for OpenSSH (source)</h1>
+<h1><a href="/packages/summary/keychain-src.html">keychain-src</a>: Key manager for OpenSSH (source)</h1>
 <pre>
     2006-11-09 04:59        3051 keychain-2.6.8-1.patch
     2006-11-09 04:59        5621 keychain-2.6.8-1.sh
diff --git a/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.7.1-1-src b/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.7.1-1-src
index 239531c..47a0fcb 100644
--- a/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.7.1-1-src
+++ b/test/testdata/htdocs.expected/x86/keychain-src/keychain-2.7.1-1-src
@@ -4,7 +4,7 @@
 <title>keychain-src: Key manager for OpenSSH (source)</title>
 </head>
 <body>
-<h1>keychain-src: Key manager for OpenSSH (source)</h1>
+<h1><a href="/packages/summary/keychain-src.html">keychain-src</a>: Key manager for OpenSSH (source)</h1>
 <pre>
     2012-10-10 05:40       24455 keychain-2.7.1-1-cygwin.patch
     2012-10-10 05:40         270 keychain-2.7.1-1-cygwin.patch.sig
diff --git a/test/testdata/htdocs.expected/x86/keychain/keychain-2.6.8-1 b/test/testdata/htdocs.expected/x86/keychain/keychain-2.6.8-1
index 77c8827..154c3d6 100644
--- a/test/testdata/htdocs.expected/x86/keychain/keychain-2.6.8-1
+++ b/test/testdata/htdocs.expected/x86/keychain/keychain-2.6.8-1
@@ -4,7 +4,7 @@
 <title>keychain: Key manager for OpenSSH</title>
 </head>
 <body>
-<h1>keychain: Key manager for OpenSSH</h1>
+<h1><a href="/packages/summary/keychain.html">keychain</a>: Key manager for OpenSSH</h1>
 <pre>
     2006-11-09 04:58           0 usr/
     2006-11-09 04:58           0 usr/bin/
diff --git a/test/testdata/htdocs.expected/x86/keychain/keychain-2.7.1-1 b/test/testdata/htdocs.expected/x86/keychain/keychain-2.7.1-1
index 29bcdf2..ab5a835 100644
--- a/test/testdata/htdocs.expected/x86/keychain/keychain-2.7.1-1
+++ b/test/testdata/htdocs.expected/x86/keychain/keychain-2.7.1-1
@@ -4,7 +4,7 @@
 <title>keychain: Key manager for OpenSSH</title>
 </head>
 <body>
-<h1>keychain: Key manager for OpenSSH</h1>
+<h1><a href="/packages/summary/keychain.html">keychain</a>: Key manager for OpenSSH</h1>
 <pre>
     2012-10-10 05:40           0 usr/
     2012-10-10 05:40           0 usr/bin/
diff --git a/test/testdata/htdocs.expected/x86/libdns_sd-devel/libdns_sd-devel-379.32.1-1 b/test/testdata/htdocs.expected/x86/libdns_sd-devel/libdns_sd-devel-379.32.1-1
index c3d4606..1cfbdc7 100644
--- a/test/testdata/htdocs.expected/x86/libdns_sd-devel/libdns_sd-devel-379.32.1-1
+++ b/test/testdata/htdocs.expected/x86/libdns_sd-devel/libdns_sd-devel-379.32.1-1
@@ -4,7 +4,7 @@
 <title>libdns_sd-devel: Bonjour Zeroconf implementation</title>
 </head>
 <body>
-<h1>libdns_sd-devel: Bonjour Zeroconf implementation</h1>
+<h1><a href="/packages/summary/libdns_sd-devel.html">libdns_sd-devel</a>: Bonjour Zeroconf implementation</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/libdns_sd1/libdns_sd1-379.32.1-1 b/test/testdata/htdocs.expected/x86/libdns_sd1/libdns_sd1-379.32.1-1
index 9a35eec..70646b2 100644
--- a/test/testdata/htdocs.expected/x86/libdns_sd1/libdns_sd1-379.32.1-1
+++ b/test/testdata/htdocs.expected/x86/libdns_sd1/libdns_sd1-379.32.1-1
@@ -4,7 +4,7 @@
 <title>libdns_sd1: Bonjour Zeroconf implementation</title>
 </head>
 <body>
-<h1>libdns_sd1: Bonjour Zeroconf implementation</h1>
+<h1><a href="/packages/summary/libdns_sd1.html">libdns_sd1</a>: Bonjour Zeroconf implementation</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/mDNSResponder-src/mDNSResponder-379.32.1-1-src b/test/testdata/htdocs.expected/x86/mDNSResponder-src/mDNSResponder-379.32.1-1-src
index 6b9e6ce..099b395 100644
--- a/test/testdata/htdocs.expected/x86/mDNSResponder-src/mDNSResponder-379.32.1-1-src
+++ b/test/testdata/htdocs.expected/x86/mDNSResponder-src/mDNSResponder-379.32.1-1-src
@@ -4,7 +4,7 @@
 <title>mDNSResponder-src: Bonjour Zeroconf implementation (source)</title>
 </head>
 <body>
-<h1>mDNSResponder-src: Bonjour Zeroconf implementation (source)</h1>
+<h1><a href="/packages/summary/mDNSResponder-src.html">mDNSResponder-src</a>: Bonjour Zeroconf implementation (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/mDNSResponder/mDNSResponder-379.32.1-1 b/test/testdata/htdocs.expected/x86/mDNSResponder/mDNSResponder-379.32.1-1
index 8302d56..e19a2f5 100644
--- a/test/testdata/htdocs.expected/x86/mDNSResponder/mDNSResponder-379.32.1-1
+++ b/test/testdata/htdocs.expected/x86/mDNSResponder/mDNSResponder-379.32.1-1
@@ -4,7 +4,7 @@
 <title>mDNSResponder: Bonjour Zeroconf implementation</title>
 </head>
 <body>
-<h1>mDNSResponder: Bonjour Zeroconf implementation</h1>
+<h1><a href="/packages/summary/mDNSResponder.html">mDNSResponder</a>: Bonjour Zeroconf implementation</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/obs-a-src/obs-a-1.0-1-src b/test/testdata/htdocs.expected/x86/obs-a-src/obs-a-1.0-1-src
index e33509d..f4bb3fa 100644
--- a/test/testdata/htdocs.expected/x86/obs-a-src/obs-a-1.0-1-src
+++ b/test/testdata/htdocs.expected/x86/obs-a-src/obs-a-1.0-1-src
@@ -4,7 +4,7 @@
 <title>obs-a-src: obsolete package A (source)</title>
 </head>
 <body>
-<h1>obs-a-src: obsolete package A (source)</h1>
+<h1><a href="/packages/summary/obs-a-src.html">obs-a-src</a>: obsolete package A (source)</h1>
 <pre>
     2017-05-22 13:04          82 test-a-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/obs-a/obs-a-1.0-1 b/test/testdata/htdocs.expected/x86/obs-a/obs-a-1.0-1
index 5fd9229..619a6b6 100644
--- a/test/testdata/htdocs.expected/x86/obs-a/obs-a-1.0-1
+++ b/test/testdata/htdocs.expected/x86/obs-a/obs-a-1.0-1
@@ -4,7 +4,7 @@
 <title>obs-a: obsolete package A</title>
 </head>
 <body>
-<h1>obs-a: obsolete package A</h1>
+<h1><a href="/packages/summary/obs-a.html">obs-a</a>: obsolete package A</h1>
 <pre>
     2017-05-22 13:04          82 test-a-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/obs-b-src/obs-b-1.0-1-src b/test/testdata/htdocs.expected/x86/obs-b-src/obs-b-1.0-1-src
index ad1d017..4a47d77 100644
--- a/test/testdata/htdocs.expected/x86/obs-b-src/obs-b-1.0-1-src
+++ b/test/testdata/htdocs.expected/x86/obs-b-src/obs-b-1.0-1-src
@@ -4,7 +4,7 @@
 <title>obs-b-src: obsolete package B (source)</title>
 </head>
 <body>
-<h1>obs-b-src: obsolete package B (source)</h1>
+<h1><a href="/packages/summary/obs-b-src.html">obs-b-src</a>: obsolete package B (source)</h1>
 <pre>
     2017-05-22 13:04          82 test-a-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/obs-b/obs-b-1.0-1 b/test/testdata/htdocs.expected/x86/obs-b/obs-b-1.0-1
index d7f6187..5dcd26c 100644
--- a/test/testdata/htdocs.expected/x86/obs-b/obs-b-1.0-1
+++ b/test/testdata/htdocs.expected/x86/obs-b/obs-b-1.0-1
@@ -4,7 +4,7 @@
 <title>obs-b: obsolete package B</title>
 </head>
 <body>
-<h1>obs-b: obsolete package B</h1>
+<h1><a href="/packages/summary/obs-b.html">obs-b</a>: obsolete package B</h1>
 <pre>
     2017-05-22 13:04          82 test-a-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/openssh-src/openssh-7.2p2-1-src b/test/testdata/htdocs.expected/x86/openssh-src/openssh-7.2p2-1-src
index 11ab8f7..0fe8a4e 100644
--- a/test/testdata/htdocs.expected/x86/openssh-src/openssh-7.2p2-1-src
+++ b/test/testdata/htdocs.expected/x86/openssh-src/openssh-7.2p2-1-src
@@ -4,7 +4,7 @@
 <title>openssh-src: The OpenSSH server and client programs (source)</title>
 </head>
 <body>
-<h1>openssh-src: The OpenSSH server and client programs (source)</h1>
+<h1><a href="/packages/summary/openssh-src.html">openssh-src</a>: The OpenSSH server and client programs (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/openssh/openssh-7.2p2-1 b/test/testdata/htdocs.expected/x86/openssh/openssh-7.2p2-1
index cdf9790..82e73cc 100644
--- a/test/testdata/htdocs.expected/x86/openssh/openssh-7.2p2-1
+++ b/test/testdata/htdocs.expected/x86/openssh/openssh-7.2p2-1
@@ -4,7 +4,7 @@
 <title>openssh: The OpenSSH server and client programs</title>
 </head>
 <body>
-<h1>openssh: The OpenSSH server and client programs</h1>
+<h1><a href="/packages/summary/openssh.html">openssh</a>: The OpenSSH server and client programs</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only-src/per-version-replacement-hint-only-1.0-1-src b/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only-src/per-version-replacement-hint-only-1.0-1-src
index bef865b..388bd92 100644
--- a/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only-src/per-version-replacement-hint-only-1.0-1-src
+++ b/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only-src/per-version-replacement-hint-only-1.0-1-src
@@ -4,7 +4,7 @@
 <title>per-version-replacement-hint-only-src: Per-version hint test package (source)</title>
 </head>
 <body>
-<h1>per-version-replacement-hint-only-src: Per-version hint test package (source)</h1>
+<h1><a href="/packages/summary/per-version-replacement-hint-only-src.html">per-version-replacement-hint-only-src</a>: Per-version hint test package (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1 b/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1
index 11a687b..8cf7abe 100644
--- a/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1
+++ b/test/testdata/htdocs.expected/x86/per-version-replacement-hint-only/per-version-replacement-hint-only-1.0-1
@@ -4,7 +4,7 @@
 <title>per-version-replacement-hint-only: Per-version hint test package</title>
 </head>
 <body>
-<h1>per-version-replacement-hint-only: Per-version hint test package</h1>
+<h1><a href="/packages/summary/per-version-replacement-hint-only.html">per-version-replacement-hint-only</a>: Per-version hint test package</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.0-1-src b/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.0-1-src
index a43c063..87e9ca1 100644
--- a/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.0-1-src
+++ b/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.0-1-src
@@ -4,7 +4,7 @@
 <title>per-version-src: Per-version hint test package (source)</title>
 </head>
 <body>
-<h1>per-version-src: Per-version hint test package (source)</h1>
+<h1><a href="/packages/summary/per-version-src.html">per-version-src</a>: Per-version hint test package (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.8-1-src b/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.8-1-src
index a43c063..87e9ca1 100644
--- a/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.8-1-src
+++ b/test/testdata/htdocs.expected/x86/per-version-src/per-version-4.8-1-src
@@ -4,7 +4,7 @@
 <title>per-version-src: Per-version hint test package (source)</title>
 </head>
 <body>
-<h1>per-version-src: Per-version hint test package (source)</h1>
+<h1><a href="/packages/summary/per-version-src.html">per-version-src</a>: Per-version hint test package (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/per-version/per-version-4.0-1 b/test/testdata/htdocs.expected/x86/per-version/per-version-4.0-1
index d7dd06d..aab433e 100644
--- a/test/testdata/htdocs.expected/x86/per-version/per-version-4.0-1
+++ b/test/testdata/htdocs.expected/x86/per-version/per-version-4.0-1
@@ -4,7 +4,7 @@
 <title>per-version: Per-version hint test package</title>
 </head>
 <body>
-<h1>per-version: Per-version hint test package</h1>
+<h1><a href="/packages/summary/per-version.html">per-version</a>: Per-version hint test package</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/per-version/per-version-4.8-1 b/test/testdata/htdocs.expected/x86/per-version/per-version-4.8-1
index d7dd06d..aab433e 100644
--- a/test/testdata/htdocs.expected/x86/per-version/per-version-4.8-1
+++ b/test/testdata/htdocs.expected/x86/per-version/per-version-4.8-1
@@ -4,7 +4,7 @@
 <title>per-version: Per-version hint test package</title>
 </head>
 <body>
-<h1>per-version: Per-version hint test package</h1>
+<h1><a href="/packages/summary/per-version.html">per-version</a>: Per-version hint test package</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.01-1-src b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.01-1-src
index 806be54..6aff96f 100644
--- a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.01-1-src
+++ b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.01-1-src
@@ -4,7 +4,7 @@
 <title>perl-Net-SMTP-SSL-src: Perl distribution Net-SMTP-SSL (source)</title>
 </head>
 <body>
-<h1>perl-Net-SMTP-SSL-src: Perl distribution Net-SMTP-SSL (source)</h1>
+<h1><a href="/packages/summary/perl-Net-SMTP-SSL-src.html">perl-Net-SMTP-SSL-src</a>: Perl distribution Net-SMTP-SSL (source)</h1>
 <pre>
     2015-06-26 19:10           0 perl-Net-SMTP-SSL-1.03-1.src/
     2015-06-26 19:10        2271 perl-Net-SMTP-SSL-1.03-1.src/Net-SMTP-SSL-1.03.tar.gz
diff --git a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.02-1-src b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.02-1-src
index 806be54..6aff96f 100644
--- a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.02-1-src
+++ b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.02-1-src
@@ -4,7 +4,7 @@
 <title>perl-Net-SMTP-SSL-src: Perl distribution Net-SMTP-SSL (source)</title>
 </head>
 <body>
-<h1>perl-Net-SMTP-SSL-src: Perl distribution Net-SMTP-SSL (source)</h1>
+<h1><a href="/packages/summary/perl-Net-SMTP-SSL-src.html">perl-Net-SMTP-SSL-src</a>: Perl distribution Net-SMTP-SSL (source)</h1>
 <pre>
     2015-06-26 19:10           0 perl-Net-SMTP-SSL-1.03-1.src/
     2015-06-26 19:10        2271 perl-Net-SMTP-SSL-1.03-1.src/Net-SMTP-SSL-1.03.tar.gz
diff --git a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.03-1-src b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.03-1-src
index 806be54..6aff96f 100644
--- a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.03-1-src
+++ b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL-src/perl-Net-SMTP-SSL-1.03-1-src
@@ -4,7 +4,7 @@
 <title>perl-Net-SMTP-SSL-src: Perl distribution Net-SMTP-SSL (source)</title>
 </head>
 <body>
-<h1>perl-Net-SMTP-SSL-src: Perl distribution Net-SMTP-SSL (source)</h1>
+<h1><a href="/packages/summary/perl-Net-SMTP-SSL-src.html">perl-Net-SMTP-SSL-src</a>: Perl distribution Net-SMTP-SSL (source)</h1>
 <pre>
     2015-06-26 19:10           0 perl-Net-SMTP-SSL-1.03-1.src/
     2015-06-26 19:10        2271 perl-Net-SMTP-SSL-1.03-1.src/Net-SMTP-SSL-1.03.tar.gz
diff --git a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.01-1 b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.01-1
index 9f3632d..62e2f11 100644
--- a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.01-1
+++ b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.01-1
@@ -4,7 +4,7 @@
 <title>perl-Net-SMTP-SSL: Perl distribution Net-SMTP-SSL</title>
 </head>
 <body>
-<h1>perl-Net-SMTP-SSL: Perl distribution Net-SMTP-SSL</h1>
+<h1><a href="/packages/summary/perl-Net-SMTP-SSL.html">perl-Net-SMTP-SSL</a>: Perl distribution Net-SMTP-SSL</h1>
 <pre>
     2015-06-26 19:10           0 usr/
     2015-06-26 19:10           0 usr/lib/
diff --git a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.02-1 b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.02-1
index 9f3632d..62e2f11 100644
--- a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.02-1
+++ b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.02-1
@@ -4,7 +4,7 @@
 <title>perl-Net-SMTP-SSL: Perl distribution Net-SMTP-SSL</title>
 </head>
 <body>
-<h1>perl-Net-SMTP-SSL: Perl distribution Net-SMTP-SSL</h1>
+<h1><a href="/packages/summary/perl-Net-SMTP-SSL.html">perl-Net-SMTP-SSL</a>: Perl distribution Net-SMTP-SSL</h1>
 <pre>
     2015-06-26 19:10           0 usr/
     2015-06-26 19:10           0 usr/lib/
diff --git a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.03-1 b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.03-1
index 9f3632d..62e2f11 100644
--- a/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.03-1
+++ b/test/testdata/htdocs.expected/x86/perl-Net-SMTP-SSL/perl-Net-SMTP-SSL-1.03-1
@@ -4,7 +4,7 @@
 <title>perl-Net-SMTP-SSL: Perl distribution Net-SMTP-SSL</title>
 </head>
 <body>
-<h1>perl-Net-SMTP-SSL: Perl distribution Net-SMTP-SSL</h1>
+<h1><a href="/packages/summary/perl-Net-SMTP-SSL.html">perl-Net-SMTP-SSL</a>: Perl distribution Net-SMTP-SSL</h1>
 <pre>
     2015-06-26 19:10           0 usr/
     2015-06-26 19:10           0 usr/lib/
diff --git a/test/testdata/htdocs.expected/x86/rpm-doc-src/rpm-doc-4.1-2-src b/test/testdata/htdocs.expected/x86/rpm-doc-src/rpm-doc-4.1-2-src
index aef3d74..d76985b 100644
--- a/test/testdata/htdocs.expected/x86/rpm-doc-src/rpm-doc-4.1-2-src
+++ b/test/testdata/htdocs.expected/x86/rpm-doc-src/rpm-doc-4.1-2-src
@@ -4,7 +4,7 @@
 <title>rpm-doc-src: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line) (source)</title>
 </head>
 <body>
-<h1>rpm-doc-src: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line) (source)</h1>
+<h1><a href="/packages/summary/rpm-doc-src.html">rpm-doc-src</a>: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line) (source)</h1>
 <pre>
     2021-05-03 19:35           0 rpm-4.1.tar.gz
     2021-05-03 19:36           0 rpm-4.1-1.patch
diff --git a/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-4.1-2 b/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-4.1-2
index 8ae10d2..ce2f742 100644
--- a/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-4.1-2
+++ b/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-4.1-2
@@ -4,7 +4,7 @@
 <title>rpm-doc: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)</title>
 </head>
 <body>
-<h1>rpm-doc: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)</h1>
+<h1><a href="/packages/summary/rpm-doc.html">rpm-doc</a>: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)</h1>
 <pre>
     2003-05-02 11:46       25562 usr/man/fr/man8/rpm.8
     2003-05-02 11:46       39721 usr/man/ja/man8/rpm.8
diff --git a/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-999-1 b/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-999-1
index 6ac87cb..fabb93a 100644
--- a/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-999-1
+++ b/test/testdata/htdocs.expected/x86/rpm-doc/rpm-doc-999-1
@@ -4,7 +4,7 @@
 <title>rpm-doc: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)</title>
 </head>
 <body>
-<h1>rpm-doc: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)</h1>
+<h1><a href="/packages/summary/rpm-doc.html">rpm-doc</a>: Obsolete package for RPM package management system manual pages (extra text to so repr is not one line)</h1>
 <pre>
 </pre>
 </body>
diff --git a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-240-1-src b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-240-1-src
index c7e0926..ce020f9 100644
--- a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-240-1-src
+++ b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-240-1-src
@@ -4,7 +4,7 @@
 <title>staleversion-src: Test package for stale version removal (source)</title>
 </head>
 <body>
-<h1>staleversion-src: Test package for stale version removal (source)</h1>
+<h1><a href="/packages/summary/staleversion-src.html">staleversion-src</a>: Test package for stale version removal (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-242-0-src b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-242-0-src
index c7e0926..ce020f9 100644
--- a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-242-0-src
+++ b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-242-0-src
@@ -4,7 +4,7 @@
 <title>staleversion-src: Test package for stale version removal (source)</title>
 </head>
 <body>
-<h1>staleversion-src: Test package for stale version removal (source)</h1>
+<h1><a href="/packages/summary/staleversion-src.html">staleversion-src</a>: Test package for stale version removal (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-243-0-src b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-243-0-src
index c7e0926..ce020f9 100644
--- a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-243-0-src
+++ b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-243-0-src
@@ -4,7 +4,7 @@
 <title>staleversion-src: Test package for stale version removal (source)</title>
 </head>
 <body>
-<h1>staleversion-src: Test package for stale version removal (source)</h1>
+<h1><a href="/packages/summary/staleversion-src.html">staleversion-src</a>: Test package for stale version removal (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-250-0-src b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-250-0-src
index c7e0926..ce020f9 100644
--- a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-250-0-src
+++ b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-250-0-src
@@ -4,7 +4,7 @@
 <title>staleversion-src: Test package for stale version removal (source)</title>
 </head>
 <body>
-<h1>staleversion-src: Test package for stale version removal (source)</h1>
+<h1><a href="/packages/summary/staleversion-src.html">staleversion-src</a>: Test package for stale version removal (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-251-0-src b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-251-0-src
index c7e0926..ce020f9 100644
--- a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-251-0-src
+++ b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-251-0-src
@@ -4,7 +4,7 @@
 <title>staleversion-src: Test package for stale version removal (source)</title>
 </head>
 <body>
-<h1>staleversion-src: Test package for stale version removal (source)</h1>
+<h1><a href="/packages/summary/staleversion-src.html">staleversion-src</a>: Test package for stale version removal (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-260-0-src b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-260-0-src
index c7e0926..ce020f9 100644
--- a/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-260-0-src
+++ b/test/testdata/htdocs.expected/x86/staleversion-src/staleversion-260-0-src
@@ -4,7 +4,7 @@
 <title>staleversion-src: Test package for stale version removal (source)</title>
 </head>
 <body>
-<h1>staleversion-src: Test package for stale version removal (source)</h1>
+<h1><a href="/packages/summary/staleversion-src.html">staleversion-src</a>: Test package for stale version removal (source)</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion/staleversion-240-1 b/test/testdata/htdocs.expected/x86/staleversion/staleversion-240-1
index b788d09..986fd3c 100644
--- a/test/testdata/htdocs.expected/x86/staleversion/staleversion-240-1
+++ b/test/testdata/htdocs.expected/x86/staleversion/staleversion-240-1
@@ -4,7 +4,7 @@
 <title>staleversion: Test package for stale version removal</title>
 </head>
 <body>
-<h1>staleversion: Test package for stale version removal</h1>
+<h1><a href="/packages/summary/staleversion.html">staleversion</a>: Test package for stale version removal</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion/staleversion-242-0 b/test/testdata/htdocs.expected/x86/staleversion/staleversion-242-0
index b788d09..986fd3c 100644
--- a/test/testdata/htdocs.expected/x86/staleversion/staleversion-242-0
+++ b/test/testdata/htdocs.expected/x86/staleversion/staleversion-242-0
@@ -4,7 +4,7 @@
 <title>staleversion: Test package for stale version removal</title>
 </head>
 <body>
-<h1>staleversion: Test package for stale version removal</h1>
+<h1><a href="/packages/summary/staleversion.html">staleversion</a>: Test package for stale version removal</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion/staleversion-243-0 b/test/testdata/htdocs.expected/x86/staleversion/staleversion-243-0
index b788d09..986fd3c 100644
--- a/test/testdata/htdocs.expected/x86/staleversion/staleversion-243-0
+++ b/test/testdata/htdocs.expected/x86/staleversion/staleversion-243-0
@@ -4,7 +4,7 @@
 <title>staleversion: Test package for stale version removal</title>
 </head>
 <body>
-<h1>staleversion: Test package for stale version removal</h1>
+<h1><a href="/packages/summary/staleversion.html">staleversion</a>: Test package for stale version removal</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion/staleversion-250-0 b/test/testdata/htdocs.expected/x86/staleversion/staleversion-250-0
index b788d09..986fd3c 100644
--- a/test/testdata/htdocs.expected/x86/staleversion/staleversion-250-0
+++ b/test/testdata/htdocs.expected/x86/staleversion/staleversion-250-0
@@ -4,7 +4,7 @@
 <title>staleversion: Test package for stale version removal</title>
 </head>
 <body>
-<h1>staleversion: Test package for stale version removal</h1>
+<h1><a href="/packages/summary/staleversion.html">staleversion</a>: Test package for stale version removal</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion/staleversion-251-0 b/test/testdata/htdocs.expected/x86/staleversion/staleversion-251-0
index b788d09..986fd3c 100644
--- a/test/testdata/htdocs.expected/x86/staleversion/staleversion-251-0
+++ b/test/testdata/htdocs.expected/x86/staleversion/staleversion-251-0
@@ -4,7 +4,7 @@
 <title>staleversion: Test package for stale version removal</title>
 </head>
 <body>
-<h1>staleversion: Test package for stale version removal</h1>
+<h1><a href="/packages/summary/staleversion.html">staleversion</a>: Test package for stale version removal</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/staleversion/staleversion-260-0 b/test/testdata/htdocs.expected/x86/staleversion/staleversion-260-0
index b788d09..986fd3c 100644
--- a/test/testdata/htdocs.expected/x86/staleversion/staleversion-260-0
+++ b/test/testdata/htdocs.expected/x86/staleversion/staleversion-260-0
@@ -4,7 +4,7 @@
 <title>staleversion: Test package for stale version removal</title>
 </head>
 <body>
-<h1>staleversion: Test package for stale version removal</h1>
+<h1><a href="/packages/summary/staleversion.html">staleversion</a>: Test package for stale version removal</h1>
 <pre>
     2015-10-11 14:45          26 test/test.1
     2015-10-11 14:45          31 test/test.2
diff --git a/test/testdata/htdocs.expected/x86/test-c-src/test-c-1.0-1-src b/test/testdata/htdocs.expected/x86/test-c-src/test-c-1.0-1-src
index e3bd985..6ca10c5 100644
--- a/test/testdata/htdocs.expected/x86/test-c-src/test-c-1.0-1-src
+++ b/test/testdata/htdocs.expected/x86/test-c-src/test-c-1.0-1-src
@@ -4,7 +4,7 @@
 <title>test-c-src: test package C (source)</title>
 </head>
 <body>
-<h1>test-c-src: test package C (source)</h1>
+<h1><a href="/packages/summary/test-c-src.html">test-c-src</a>: test package C (source)</h1>
 <pre>
     2017-05-22 13:27          82 test-c-0.5-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/test-c/test-c-1.0-1 b/test/testdata/htdocs.expected/x86/test-c/test-c-1.0-1
index f5730e6..8569e54 100644
--- a/test/testdata/htdocs.expected/x86/test-c/test-c-1.0-1
+++ b/test/testdata/htdocs.expected/x86/test-c/test-c-1.0-1
@@ -4,7 +4,7 @@
 <title>test-c: test package C</title>
 </head>
 <body>
-<h1>test-c: test package C</h1>
+<h1><a href="/packages/summary/test-c.html">test-c</a>: test package C</h1>
 <pre>
     2017-05-22 13:27          82 test-c-0.5-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/test-d-src/test-d-1.0-1-src b/test/testdata/htdocs.expected/x86/test-d-src/test-d-1.0-1-src
index 1551c3f..6ca0f96 100644
--- a/test/testdata/htdocs.expected/x86/test-d-src/test-d-1.0-1-src
+++ b/test/testdata/htdocs.expected/x86/test-d-src/test-d-1.0-1-src
@@ -4,7 +4,7 @@
 <title>test-d-src: test package D (source)</title>
 </head>
 <body>
-<h1>test-d-src: test package D (source)</h1>
+<h1><a href="/packages/summary/test-d-src.html">test-d-src</a>: test package D (source)</h1>
 <pre>
     2017-05-22 18:17          40 test-d-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/test-d/test-d-1.0-1 b/test/testdata/htdocs.expected/x86/test-d/test-d-1.0-1
index e964dd5..4ec6d98 100644
--- a/test/testdata/htdocs.expected/x86/test-d/test-d-1.0-1
+++ b/test/testdata/htdocs.expected/x86/test-d/test-d-1.0-1
@@ -4,7 +4,7 @@
 <title>test-d: test package D</title>
 </head>
 <body>
-<h1>test-d: test package D</h1>
+<h1><a href="/packages/summary/test-d.html">test-d</a>: test package D</h1>
 <pre>
     2017-05-22 18:17          40 test-d-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/test-e-src/test-e-1.0-1-src b/test/testdata/htdocs.expected/x86/test-e-src/test-e-1.0-1-src
index a1b7a2a..ce1aff3 100644
--- a/test/testdata/htdocs.expected/x86/test-e-src/test-e-1.0-1-src
+++ b/test/testdata/htdocs.expected/x86/test-e-src/test-e-1.0-1-src
@@ -4,7 +4,7 @@
 <title>test-e-src: test package E (source)</title>
 </head>
 <body>
-<h1>test-e-src: test package E (source)</h1>
+<h1><a href="/packages/summary/test-e-src.html">test-e-src</a>: test package E (source)</h1>
 <pre>
     2017-05-22 18:17          40 test-d-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/test-e/test-e-1.0-1 b/test/testdata/htdocs.expected/x86/test-e/test-e-1.0-1
index 86b1132..9fef56c 100644
--- a/test/testdata/htdocs.expected/x86/test-e/test-e-1.0-1
+++ b/test/testdata/htdocs.expected/x86/test-e/test-e-1.0-1
@@ -4,7 +4,7 @@
 <title>test-e: test package E</title>
 </head>
 <body>
-<h1>test-e: test package E</h1>
+<h1><a href="/packages/summary/test-e.html">test-e</a>: test package E</h1>
 <pre>
     2017-05-22 18:17          40 test-d-1.0-1.hint
 </pre>
diff --git a/test/testdata/htdocs.expected/x86/testpackage-src/testpackage-0.1-1-src b/test/testdata/htdocs.expected/x86/testpackage-src/testpackage-0.1-1-src
index ea726da..ba14cad 100644
--- a/test/testdata/htdocs.expected/x86/testpackage-src/testpackage-0.1-1-src
+++ b/test/testdata/htdocs.expected/x86/testpackage-src/testpackage-0.1-1-src
@@ -4,7 +4,7 @@
 <title>testpackage-src: A test package (stuff &amp; other stuff) (source)</title>
 </head>
 <body>
-<h1>testpackage-src: A test package (stuff &amp; other stuff) (source)</h1>
+<h1><a href="/packages/summary/testpackage-src.html">testpackage-src</a>: A test package (stuff &amp; other stuff) (source)</h1>
 <pre>
     2016-11-24 22:47        1786 cc1BOI4Z
     2016-11-24 18:14        1786 ccbdRcNC
diff --git a/test/testdata/htdocs.expected/x86/testpackage/testpackage-0.1-1 b/test/testdata/htdocs.expected/x86/testpackage/testpackage-0.1-1
index 430f56a..936b1ee 100644
--- a/test/testdata/htdocs.expected/x86/testpackage/testpackage-0.1-1
+++ b/test/testdata/htdocs.expected/x86/testpackage/testpackage-0.1-1
@@ -4,7 +4,7 @@
 <title>testpackage: A test package (stuff &amp; other stuff)</title>
 </head>
 <body>
-<h1>testpackage: A test package (stuff &amp; other stuff)</h1>
+<h1><a href="/packages/summary/testpackage.html">testpackage</a>: A test package (stuff &amp; other stuff)</h1>
 <pre>
     2016-11-24 22:47        1786 cc1BOI4Z
     2016-11-24 18:14        1786 ccbdRcNC



                 reply	other threads:[~2022-01-20 15:53 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=20220120155335.C898E3858D37@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).