From c9eef9e10ab069e411d8f940835350bbdbed5a41 Mon Sep 17 00:00:00 2001
From: Yorhel
Date: Sun, 14 Apr 2024 11:34:55 +0200
Subject: [PATCH] Index NetBSD
---
.gitignore | 1 +
util/netbsd.sh | 345 ++++++++++++++++++++++++++++++++++++++++++
www/images/netbsd.png | Bin 0 -> 1300 bytes
www/index.pl | 24 ++-
4 files changed, 355 insertions(+), 15 deletions(-)
create mode 100755 util/netbsd.sh
create mode 100644 www/images/netbsd.png
diff --git a/.gitignore b/.gitignore
index a69b956..072394c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
!/lib/ManUtils/ManUtils.xs
indexer/target
web/target
+util/.config
diff --git a/util/netbsd.sh b/util/netbsd.sh
new file mode 100755
index 0000000..2578e3b
--- /dev/null
+++ b/util/netbsd.sh
@@ -0,0 +1,345 @@
+#!/bin/sh
+
+. ./common.sh
+
+CMIRROR=https://cdn.netbsd.org/pub/NetBSD/
+AMIRROR=https://archive.netbsd.org/pub/NetBSD-archive/
+
+# NetBSD's distribution format has been delightfully stable across the years.
+# This directory structure and the exact list of sets has been pretty much the
+# same since 1.3.
+index_base() {
+ local ver=$1
+ local date=$2
+ local ext=${3:-tar.xz}
+ local mirror=${4:-$CMIRROR}
+ local arch=${5:-amd64}
+ for pkg in comp games man text xbase xcomp xserver; do
+ index pkg --sys netbsd-$ver --cat base --pkg $pkg --ver $ver --date $date "${mirror}NetBSD-$ver/$arch/binary/sets/$pkg.$ext"
+ done
+}
+
+case $1 in
+ 1.3)
+ index_base 1.3 1998-01-03 tgz $AMIRROR i386
+ ;;
+
+ 1.3.2)
+ index_base 1.3.2 1998-05-29 tgz $AMIRROR i386
+ ;;
+
+ 1.3.3)
+ index_base 1.3.3 1998-12-23 tgz $AMIRROR i386
+ ;;
+
+ 1.4)
+ index_base 1.4 1999-05-12 tgz $AMIRROR i386
+ ;;
+
+ 1.4.1)
+ index_base 1.4.1 1999-08-26 tgz $AMIRROR i386
+ ;;
+
+ 1.4.2)
+ index_base 1.4.2 2000-03-21 tgz $AMIRROR i386
+ ;;
+
+ 1.4.3)
+ index_base 1.4.3 2000-11-25 tgz $AMIRROR i386
+ ;;
+
+ 1.5)
+ index_base 1.5 2000-12-06 tgz $AMIRROR i386
+ ;;
+
+ 1.5.1)
+ index_base 1.5.1 2001-07-11 tgz $AMIRROR i386
+ ;;
+
+ 1.5.2)
+ index_base 1.5.2 2001-09-13 tgz $AMIRROR i386
+ ;;
+
+ 1.5.3)
+ index_base 1.5.3 2002-07-22 tgz $AMIRROR i386
+ ;;
+
+ 1.6)
+ index_base 1.6 2002-09-14 tgz $AMIRROR i386
+ ;;
+
+ 1.6.1)
+ index_base 1.6.1 2003-04-21 tgz $AMIRROR i386
+ ;;
+
+ 1.6.2)
+ index_base 1.6.2 2004-03-01 tgz $AMIRROR i386
+ ;;
+
+ 2.0)
+ index_base 2.0 2004-12-09 tgz $AMIRROR i386
+ ;;
+
+ 2.0.2)
+ index_base 2.0.2 2005-04-14 tgz $AMIRROR i386
+ ;;
+
+ 2.0.3)
+ index_base 2.0.3 2005-10-31 tgz $AMIRROR i386
+ ;;
+
+ 2.1)
+ index_base 2.1 2005-11-02 tgz $AMIRROR i386
+ ;;
+
+ 3.0)
+ index_base 3.0 2005-12-23 tgz $AMIRROR i386
+ ;;
+
+ 3.0.1)
+ index_base 3.0.1 2006-07-24 tgz $AMIRROR i386
+ ;;
+
+ 3.0.2)
+ index_base 3.0.2 2006-11-04 tgz $AMIRROR i386
+ ;;
+
+ 3.1)
+ index_base 3.1 2006-11-04 tgz $AMIRROR i386
+ ;;
+
+ 4.0)
+ index_base 4.0 2007-12-19 tgz $AMIRROR i386
+ ;;
+
+ 4.0.1)
+ index_base 4.0.1 2008-10-14 tgz $AMIRROR i386
+ ;;
+
+ 5.0)
+ index_base 5.0 2009-04-29 tgz $AMIRROR i386
+ ;;
+
+ 5.0.1)
+ index_base 5.0.1 2009-08-02 tgz $AMIRROR i386
+ ;;
+
+ 5.0.2)
+ index_base 5.0.2 2010-02-12 tgz $AMIRROR i386
+ ;;
+
+ 5.1)
+ index_base 5.1 2010-11-19 tgz $AMIRROR i386
+ ;;
+
+ 5.1.2)
+ index_base 5.1.2 2012-02-02 tgz $AMIRROR i386
+ ;;
+
+ 5.1.3)
+ index_base 5.1.3 2012-09-28 tgz $AMIRROR i386
+ ;;
+
+ 5.1.4)
+ index_base 5.1.4 2014-01-27 tgz $AMIRROR i386
+ ;;
+
+ 5.1.5)
+ index_base 5.1.5 2014-11-15 tgz $AMIRROR i386
+ ;;
+
+ 5.2)
+ index_base 5.2 2012-12-03 tgz $AMIRROR i386
+ ;;
+
+ 5.2.1)
+ index_base 5.2.1 2012-09-28 tgz $AMIRROR i386
+ ;;
+
+ 5.2.2)
+ index_base 5.2.2 2014-01-27 tgz $AMIRROR i386
+ ;;
+
+ 5.2.3)
+ index_base 5.2.3 2014-11-15 tgz $AMIRROR i386
+ ;;
+
+ 6.0)
+ index_base 6.0 2012-10-17 tgz $AMIRROR
+ ;;
+
+ 6.0.1)
+ index_base 6.0.1 2012-12-26 tgz $AMIRROR
+ ;;
+
+ 6.0.2)
+ index_base 6.0.2 2013-05-18 tgz $AMIRROR
+ ;;
+
+ 6.0.3)
+ index_base 6.0.3 2013-09-30 tgz $AMIRROR
+ ;;
+
+ 6.0.4)
+ index_base 6.0.4 2014-01-27 tgz $AMIRROR
+ ;;
+
+ 6.0.5)
+ index_base 6.0.5 2014-04-12 tgz $AMIRROR
+ ;;
+
+ 6.0.6)
+ index_base 6.0.6 2014-09-22 tgz $AMIRROR
+ ;;
+
+ 6.1)
+ index_base 6.1 2013-05-18 tgz $AMIRROR
+ ;;
+
+ 6.1.1)
+ index_base 6.1.1 2013-08-15 tgz $AMIRROR
+ ;;
+
+ 6.1.2)
+ index_base 6.1.2 2013-09-26 tgz $AMIRROR
+ ;;
+
+ 6.1.3)
+ index_base 6.1.3 2014-01-18 tgz $AMIRROR
+ ;;
+
+ 6.1.4)
+ index_base 6.1.4 2014-04-12 tgz $AMIRROR
+ ;;
+
+ 6.1.5)
+ index_base 6.1.5 2014-09-22 tgz $AMIRROR
+ ;;
+
+ 7.0)
+ index_base 7.0 2015-09-25 tgz $AMIRROR
+ ;;
+
+ 7.0.1)
+ index_base 7.0.1 2016-05-22 tgz $AMIRROR
+ ;;
+
+ 7.0.2)
+ index_base 7.0.2 2016-10-21 tgz $AMIRROR
+ ;;
+
+ 7.1)
+ index_base 7.1 2017-03-11 tgz $AMIRROR
+ ;;
+
+ 7.1.1)
+ index_base 7.1.1 2017-12-22 tgz $AMIRROR
+ ;;
+
+ 7.1.2)
+ index_base 7.1.2 2018-03-15 tgz $AMIRROR
+ ;;
+
+ 7.2)
+ index_base 7.2 2018-08-29 tgz $AMIRROR
+ ;;
+
+ 8.0)
+ index_base 8.0 2018-07-17 tgz $AMIRROR
+ ;;
+
+ 8.1)
+ index_base 8.1 2019-05-31 tgz $AMIRROR
+ ;;
+
+ 8.2)
+ index_base 8.2 2020-03-31 tgz $AMIRROR
+ ;;
+
+ 9.0)
+ index_base 9.0 2020-02-14
+ ;;
+
+ 9.1)
+ index_base 9.1 2020-10-18
+ ;;
+
+ 9.2)
+ index_base 9.2 2021-05-12
+ ;;
+
+ 9.3)
+ index_base 9.3 2022-08-04
+ ;;
+
+ 10.0)
+ index_base 10.0 2024-03-28
+ ;;
+
+ old)
+ $0 1.3
+ $0 1.3.2
+ $0 1.3.3
+ $0 1.4
+ $0 1.4.1
+ $0 1.4.2
+ $0 1.4.3
+ $0 1.5
+ $0 1.5.1
+ $0 1.5.2
+ $0 1.5.3
+ $0 1.6
+ $0 1.6.1
+ $0 1.6.2
+ $0 2.0
+ $0 2.0.2
+ $0 2.0.3
+ $0 2.1
+ $0 3.0
+ $0 3.0.1
+ $0 3.0.2
+ $0 3.1
+ $0 4.0
+ $0 4.0.1
+ $0 5.0
+ $0 5.0.1
+ $0 5.0.2
+ $0 5.1
+ $0 5.1.2
+ $0 5.1.3
+ $0 5.1.4
+ $0 5.1.5
+ $0 5.2
+ $0 5.2.1
+ $0 5.2.2
+ $0 5.2.3
+ $0 6.0
+ $0 6.0.1
+ $0 6.0.2
+ $0 6.0.3
+ $0 6.0.4
+ $0 6.0.5
+ $0 6.0.6
+ $0 6.1
+ $0 6.1.1
+ $0 6.1.2
+ $0 6.1.3
+ $0 6.1.4
+ $0 6.1.5
+ $0 7.0
+ $0 7.0.1
+ $0 7.0.2
+ $0 7.1
+ $0 7.1.1
+ $0 7.1.2
+ $0 7.2
+ $0 8.0
+ $0 8.1
+ $0 8.2
+ $0 9.0
+ $0 9.1
+ $0 9.2
+ $0 9.3
+ $0 10.0
+ ;;
+esac
diff --git a/www/images/netbsd.png b/www/images/netbsd.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4a78d0caae38d8aca2163c380e229e0c7e05f7e
GIT binary patch
literal 1300
zcmV+v1?&2WP)4-?HQf9qEhBE
zm$}U4)yl=rt5vM5XoCefg_kfupvOxb!+4Zs8T&uqcx!h{nn{SJScf+-KveX&fq7_)
z^2mw&D29qi@Ldh`>eVY&?_RwIc(rov^zVvYoW0w`wTQfNH)G>&D2p+;gkXq<0k_c`
zsk~ZySn7U75yT2-PIao*McHFta12w>74=aIwb211uogEE2nmNCdr=kXQ5KES7Ohbo
znb~npKQl}%j>@(#t=!frP5dYy9Ks2B!2nSSK>*(2I+mgeq3nJ%h%K&f@6xCVEA)l@
z0$x~;Hpl`O<7wvA+S5Y0zTzPM&p0a0uY1GfsSN6}RIL1XzuXx<6Tjh>lkydv>c$Ggl!|Fy+$Qay#
zoz9et0CC}s=6}&!sH@F?zul}f)2zMQCbUrAR&6w4rsFZ3A_!~^Ti8S}j}6=v+HF`x
zw0!U0y)BvM0V^7ewG20L7i-loZ4CFtdECVoxTrRg9A0Rr-8h!v4xZp5PU13VBcalS
z1;3l(Cbr`wo}d!e<1U`y5)R`WcA+~wm2FkU6g2tT@L~uIXsB+C;l_Bz5wQ(pZ+gHb
zoFnlFf~v5=1PHFf8pWZ=Y`1pC4aqWn&T7Z7YlP8>uZ7*GjW5Qx3#27z)!Vq0i}^g%%^h2RnrC=JEI
zN(4g?gmO^`vJZm&;RaEL3&0P8V>p7F&|@;jVJzC969h{lxkhYo4T4#k#){w#1V>>T
z!Kr15dk{?32API7nsF^*P=$F3J>qKS>ll?FN)ww@&5qVI*c5`hu#X@}HiRG$S+qgc
zVBr78@s}Cnrb2KSn;}?-xNt*Hw1;4a=0SBGf;Os)^brL8@eYMl4OW6+0qj&ks;TC2
z!x;pllQu+0e8v-WQorbN&f7EYI1V8t?m^&>*Qkno2!~713vLYo?A(tWv95nw2$btH3fXuK$Ok_q%q(d&`K_1L~RjQJD$BP1u=okfaEJppmH`m8tMX869OVbD7Ir=K2RM(B3%yj2ra;0000<
KMNUMnLSTXm{#5w@
literal 0
HcmV?d00001
diff --git a/www/index.pl b/www/index.pl
index c35d868..abb1f24 100755
--- a/www/index.pl
+++ b/www/index.pl
@@ -506,6 +506,14 @@ TUWF::get '/info/about' => sub {
guessed from the file modification dates in the tarball, and may be
inaccurate. The i368 arch was indexed for FreeBSD 11.0 and older, the
amd64 arch starting with 11.1.
+ NetBSD
+ Only the core installation sets have been indexed, pkgsrc is awesome but out of scope
+ for now. The i368 arch was indexed for 5.x and older, the amd64 arch
+ starting with 6.0. Releases before 1.3 only distributed preformatted man
+ pages and have therefore not been indexed. The original roff sources
+ could perhaps be extracted from the source tarballs, but that's a
+ project for another time.
Ubuntu
Historical releases were fetched from http://old-releases.ubuntu.com/ubuntu/,
@@ -543,26 +551,12 @@ TUWF::get '/info/about' => sub {
or Postgres major version bumps will occassionally occur.
- Other systems
-
- Suggestions for new (or old) systems to index are welcome.
-
- It would be great to index a few more non-Linux systems such as other BSDs,
- Solaris/Illumos and Mac OS X. Unfortunately, those don't always follow a
- binary package based approach, or are otherwise less easy to properly index.
-
- In general, systems that follow an entirely source-based distribution
- approach can't be indexed without compiling everything. Since that is much
- too resource-heavy, there are no plans to include manuals from such
- systems at the moment. So unless someone comes with a solution I hadn't
- thought of yet, there won't be any Gentoo manuals here. :-(
-
-
Future plans
This site isn't nearly as awesome yet as it could be. Here's some ideas that
would be nice to have in the future:
+ - Index a few more systems: Gentoo (now that it has official binary packages), OpenBSD and perhaps others.
- Better browsing and discovery features.
- Improved, more intelligent, search,
- apropos(1) emulation(?),