summaryrefslogtreecommitdiffstats
path: root/source/ap/man-db
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/man-db')
-rw-r--r--source/ap/man-db/doinst.sh54
-rw-r--r--source/ap/man-db/dont_write_in_usr.diff50
-rw-r--r--source/ap/man-db/libpipeline.url1
-rwxr-xr-xsource/ap/man-db/man-db.SlackBuild253
-rw-r--r--source/ap/man-db/man-db.cron14
-rw-r--r--source/ap/man-db/man-db.url1
-rw-r--r--source/ap/man-db/man2html.url1
-rw-r--r--source/ap/man-db/man_db.conf.new134
-rw-r--r--source/ap/man-db/slack-desc19
9 files changed, 527 insertions, 0 deletions
diff --git a/source/ap/man-db/doinst.sh b/source/ap/man-db/doinst.sh
new file mode 100644
index 000000000..ed31b561b
--- /dev/null
+++ b/source/ap/man-db/doinst.sh
@@ -0,0 +1,54 @@
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/man_db.conf.new
+
+# Slackware change: commenting the stuff below out. We're not going to
+# generate a database during a package installation... especially since
+# it appears that it only provides "whatis" services. The rest of the
+# manpage system works fine without it. So, people can wait until the
+# first time the cron job runs (or root can run it manually), just like
+# "locate" has been handled forever.
+
+## In English, the if/find below means "only run the database creation if
+## it was last done over an hour ago". This is needed because upgradepkg
+## runs doinst.sh twice, but I don't want the 10+ minute long database
+## creation to happen twice on upgrade (or at all, when I'm repeatedly
+## reinstalling man-db for testing purposes).
+#
+#if \
+# [ ! -e /var/cache/man/man-db ] || \
+# [ -n "$( find var/cache/man/ -type d -a -name man-db -a -mmin +60 )" ]
+#then
+## Generate the initial man database (or rebuild it if it exists).
+## We want to skip this step if installing somewhere besides / (e.g. with
+## the -root option or ROOT env variable set for installpkg), hence the
+## readlink silliness.
+#
+## The -c option means it blows away any existing db. I thought about
+## leaving it off (it will still create the db if it doesn't exist),
+## but decided it's better to build it fresh if the package gets
+## reinstalled (in case the db format has changed, or in case the
+## db is corrupted and the user is trying to fix it by reinstalling
+## this package).
+#
+## the 2>/dev/null was added for 2.7.6 because it complains about
+## missing CACHEDIR.TAG files... which don't matter, because we've
+## got NOCACHE in the config file.
+# ( \
+# [ -x /bin/readlink ] && \
+# [ "$( /bin/readlink -f $( pwd ) )" = "/" ] && \
+# ( [ -x /opt/man-db/bin/mandb ] && /opt/man-db/bin/mandb -c -q ) || \
+# ( [ -x /usr/bin/mandb ] && /usr/bin/mandb -c -q ) \
+# ) 2>/dev/null
+#fi
diff --git a/source/ap/man-db/dont_write_in_usr.diff b/source/ap/man-db/dont_write_in_usr.diff
new file mode 100644
index 000000000..8f7158598
--- /dev/null
+++ b/source/ap/man-db/dont_write_in_usr.diff
@@ -0,0 +1,50 @@
+diff -Naur man-db-2.7.6.1/configure man-db-2.7.6.1.patched/configure
+--- man-db-2.7.6.1/configure 2016-12-12 07:43:48.000000000 -0500
++++ man-db-2.7.6.1.patched/configure 2017-03-04 16:49:57.389893574 -0500
+@@ -25809,46 +25809,8 @@
+
+
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long file names" >&5
+-$as_echo_n "checking for long file names... " >&6; }
+-if ${ac_cv_sys_long_file_names+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- ac_cv_sys_long_file_names=yes
+-# Test for long file names in all the places we know might matter:
+-# . the current directory, where building will happen
+-# $prefix/lib where we will be installing things
+-# $exec_prefix/lib likewise
+-# $TMPDIR if set, where it might want to write temporary files
+-# /tmp where it might want to write temporary files
+-# /var/tmp likewise
+-# /usr/tmp likewise
+-for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib"; do
+- # Skip $TMPDIR if it is empty or bogus, and skip $exec_prefix/lib
+- # in the usual case where exec_prefix is '${prefix}'.
+- case $ac_dir in #(
+- . | /* | ?:[\\/]*) ;; #(
+- *) continue;;
+- esac
+- test -w "$ac_dir/." || continue # It is less confusing to not echo anything here.
+- ac_xdir=$ac_dir/cf$$
+- (umask 077 && mkdir "$ac_xdir" 2>/dev/null) || continue
+- ac_tf1=$ac_xdir/conftest9012345
+- ac_tf2=$ac_xdir/conftest9012346
+- touch "$ac_tf1" 2>/dev/null && test -f "$ac_tf1" && test ! -f "$ac_tf2" ||
+- ac_cv_sys_long_file_names=no
+- rm -f -r "$ac_xdir" 2>/dev/null
+- test $ac_cv_sys_long_file_names = no && break
+-done
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_long_file_names" >&5
+-$as_echo "$ac_cv_sys_long_file_names" >&6; }
+-if test $ac_cv_sys_long_file_names = yes; then
+-
+ $as_echo "#define HAVE_LONG_FILE_NAMES 1" >>confdefs.h
+
+-fi
+-
+
+
+
diff --git a/source/ap/man-db/libpipeline.url b/source/ap/man-db/libpipeline.url
new file mode 100644
index 000000000..eb72dca26
--- /dev/null
+++ b/source/ap/man-db/libpipeline.url
@@ -0,0 +1 @@
+http://download.savannah.nongnu.org/releases/libpipeline
diff --git a/source/ap/man-db/man-db.SlackBuild b/source/ap/man-db/man-db.SlackBuild
new file mode 100755
index 000000000..a29657c25
--- /dev/null
+++ b/source/ap/man-db/man-db.SlackBuild
@@ -0,0 +1,253 @@
+#!/bin/bash
+
+# Slackware build script for man-db
+# Written by B. Watson (yalhcru@gmail.com)
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=man-db
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
+
+MAN2HTML=${MAN2HTML:-20180101}
+
+# 20180115 rworkman:
+# Include Thomas Dickey's man2html script
+
+# 20171128 volkerdi:
+# Make some changes to the SlackBuild to bring it in line with the usual
+# Slackware style, and then pull it into Slackware. Thanks to B. Watson.
+# License remains WTFPL, because WTF not :-) I am adding the offical WTFPL
+# no warranty disclaimer, however:
+#
+# /* This program is free software. It comes without any warranty, to
+# * the extent permitted by applicable law. You can redistribute it
+# * and/or modify it under the terms of the Do What The Fuck You Want
+# * To Public License, Version 2, as published by Sam Hocevar. See
+# * http://www.wtfpl.net/ for more details. */
+#
+
+# 20170305 bkw:
+# - get rid of systemd-specific /usr/lib/tmpfiles.d from package.
+# - patch configure so it doesn't write to /usr/lib.
+
+# 20170215 bkw:
+# - update for 2.7.6.1 (whoops, last update wasn't for the latest version
+# - only update the cache in doinst.sh if it's over an hour old. this
+# takes several minutes, and happens twice (uselessly) if the package
+# is upgraded (since üpgradepkg runs doinst.sh twice). waiting an hour
+# also makes my life easier when I'm testing this script.
+# - fix man-db.cron so it works even if USR=yes (whoops), and stop trying
+# to chown the cache to the nonexistent 'man' user.
+
+# 20170125 bkw:
+# - update for 2.7.6.
+# - add --disable-cache-owner. TODO: revisit this at some
+# point. Maybe create a dedicated 'man' user, or use one of the existing
+# users like 'bin' or 'operator'.
+
+# 20160726 bkw:
+# - update for 2.7.5.
+
+# 20150507 bkw:
+# - update for 2.7.1.
+# - fix homepage in .info file.
+# - had to update libpipeline to 1.4.0.
+
+# 20140924 bkw:
+# - update for 2.7.0.1, which fixes the clash between man-db's zsoelim
+# and groff's zsoelim.
+# - update README and README.Slackware slightly.
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# By default, install binaries to /opt, so as not to stomp on Slackware's
+# man pkg. We will have to include a /etc/profile.d script to set PATH,
+# MANPATH, etc. Note that only binaries and the man pages for man-db itself
+# go to /opt. Everything else (libpipeline, man-db's shared libs, localized
+# messages, etc) goes to /usr as usual.
+
+# If you want a proper replacement for Slack's man pkg, build with
+# USR="yes", which puts the binaries in the usual places. If your name is
+# Patrick V. and you're finally replacing man with man-db in Slackware,
+# feel free to uncomment the next line:
+# (I actually felt free to strip out support for USR != yes :-)
+USR="yes"
+
+BINDIR=/opt/$PKGNAM/bin
+[ "${USR:-no}" = "yes" ] && BINDIR=/usr/bin
+MANDIR="${BINDIR/bin/man}"
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+
+# libpipeline is a pretty niche-market library. It used to be bundled
+# in the man-db source, and as far as I can tell, nothing else uses it.
+# Instead of making it a separate build and external dep, we'll just
+# bundle it here.
+LIBNAM=libpipeline
+LIBVER=${LIBVER:-$(echo $LIBNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+cd $TMP
+rm -rf $LIBNAM-$LIBVER
+tar xvf $CWD/$LIBNAM-$LIBVER.tar.xz || exit 1
+cd $LIBNAM-$LIBVER || exit 1
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION/$LIBNAM-$LIBVER \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install-strip DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/$LIBNAM-$LIBVER
+cp -a COPYING* ChangeLog NEWS* README* TODO* \
+ $PKG/usr/doc/$PKGNAM-$VERSION/$LIBNAM-$LIBVER
+
+# now build man-db itself, using the libpipeline installed in $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# The 'checking for long filenames' test in the configure script writes to
+# /usr/lib, which is bad behaviour for a configure script. Not to mention
+# wrong (it assumes configure is always being run as root). We already
+# know we have long filename support, because we live in the 21st century
+# now, so this patch gets rid of the test and force-enables it.
+zcat $CWD/dont_write_in_usr.diff.gz | patch -p1 --verbose || exit 1
+
+# The circumlocutions below are needed because doing it the sane way:
+# libpipeline_LIBS="-L$PKG/usr/lib$LIBDIRSUFFIX -lpipeline"
+# gets broken by libtool (it *insists* on replacing -lpipeline with
+# /usr/lib64/libpipeline.so, which will fail if it's an older version).
+LD_LIBRARY_PATH="$PKG/usr/lib$LIBDIRSUFFIX" \
+LDFLAGS="$PKG/usr/lib$LIBDIRSUFFIX/libpipeline.so" \
+libpipeline_CFLAGS="-I$PKG/usr/include" \
+libpipeline_LIBS="-L$PKG/usr/lib$LIBDIRSUFFIX $PKG/usr/lib$LIBDIRSUFFIX/libpipeline.so" \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --disable-setuid \
+ --disable-cache-owner \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=$MANDIR \
+ --bindir=$BINDIR \
+ --sbindir=${BINDIR/bin/sbin} \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install-strip DESTDIR=$PKG || exit 1
+
+# Add man2html
+( cd $PKG/usr/bin
+ tar --strip-components=1 -xvf $CWD/other-scripts-${MAN2HTML}.tar.?z \
+ other-scripts-${MAN2HTML}/man2html
+ chown root:root man2html
+ chmod 755 man2html
+)
+
+# Don't ship .la files:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la $PKG/usr/lib${LIBDIRSUFFIX}/man-db/*.la
+
+# This stuff is for systemd, we don't need it (and it might confuse
+# people coming from systemd distros):
+rm -rf $PKG/usr/lib/tmpfiles.d/
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# no special ownership or perms needed here since we --disable-setuid
+mkdir -p $PKG/var/cache/man
+
+# only ship a daily cronjob, don't need a weekly one like Debian has.
+mkdir -p $PKG/etc/cron.daily
+install -m0755 -oroot -groot $CWD/$PKGNAM.cron $PKG/etc/cron.daily/$PKGNAM
+
+# modified default config, customized for Slackware. See the conf file for
+# list of changes.
+cat $CWD/man_db.conf.new \
+ | sed "s,@LIBDIRSUFFIX@,$LIBDIRSUFFIX,g" \
+ > $PKG/etc/man_db.conf.new
+# Get rid of any existing file put there by "make install":
+rm -rf $PKG/etc/man_db.conf
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a i\
+ ChangeLog FAQ* NEWS* README* docs/COPYING* docs/HACKING docs/INSTALL.quick \
+ docs/TODO docs/*lsm docs/*example* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+# N.B. the -p option is actually needed here (for libpipeline.so).
+cd $PKG
+/sbin/makepkg -p -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/ap/man-db/man-db.cron b/source/ap/man-db/man-db.cron
new file mode 100644
index 000000000..d8cd84d23
--- /dev/null
+++ b/source/ap/man-db/man-db.cron
@@ -0,0 +1,14 @@
+#!/bin/sh
+# man-db daily cronjob, part of the man-db package.
+
+# Unset $MANPATH so that mandb will get it from man_db.conf rather than
+# the environment:
+unset MANPATH
+
+# Make sure the man-db cache directory exists:
+mkdir -p /var/cache/man
+
+# Regenerate the index databases caches used by man-db.
+# These increase perfomance and provide features such as whatis and apropos.
+ionice -c3 nice -n 19 /usr/bin/mandb --no-purge --quiet
+
diff --git a/source/ap/man-db/man-db.url b/source/ap/man-db/man-db.url
new file mode 100644
index 000000000..14c026ea1
--- /dev/null
+++ b/source/ap/man-db/man-db.url
@@ -0,0 +1 @@
+http://download.savannah.nongnu.org/releases/man-db
diff --git a/source/ap/man-db/man2html.url b/source/ap/man-db/man2html.url
new file mode 100644
index 000000000..104a9a5f0
--- /dev/null
+++ b/source/ap/man-db/man2html.url
@@ -0,0 +1 @@
+ftp://ftp.invisible-island.net/scripts/other-scripts-20180101.tgz
diff --git a/source/ap/man-db/man_db.conf.new b/source/ap/man-db/man_db.conf.new
new file mode 100644
index 000000000..6b68f829e
--- /dev/null
+++ b/source/ap/man-db/man_db.conf.new
@@ -0,0 +1,134 @@
+#
+# This file is used by the man-db package to configure the man and cat paths.
+# It is also used to provide a manpath for those without one by examining
+# their PATH environment variable. For details see the manpath(5) man page.
+#
+# Lines beginning with `#' are comments and are ignored. Any combination of
+# tabs or spaces may be used as `whitespace' separators.
+#
+#
+# There are three mappings allowed in this file:
+# --------------------------------------------------------
+# MANDATORY_MANPATH manpath_element
+# MANPATH_MAP path_element manpath_element
+# MANDB_MAP global_manpath [relative_catpath]
+#---------------------------------------------------------
+# every automatically generated MANPATH includes these fields
+#
+MANDATORY_MANPATH /usr/man
+#MANDATORY_MANPATH /usr/share/man
+MANDATORY_MANPATH /usr/lib@LIBDIRSUFFIX@/java/man
+MANDATORY_MANPATH /usr/local/man
+MANDATORY_MANPATH /usr/local/share/man
+MANDATORY_MANPATH /opt/man
+
+#---------------------------------------------------------
+# set up PATH to MANPATH mapping
+# ie. what man tree holds man pages for what binary directory.
+#
+# *PATH* -> *MANPATH*
+#
+MANPATH_MAP /bin /usr/man
+MANPATH_MAP /usr/bin /usr/man
+MANPATH_MAP /sbin /usr/man
+MANPATH_MAP /usr/sbin /usr/man
+MANPATH_MAP /usr/local/bin /usr/local/man
+MANPATH_MAP /usr/local/bin /usr/local/share/man
+MANPATH_MAP /usr/local/sbin /usr/local/man
+MANPATH_MAP /usr/local/sbin /usr/local/share/man
+MANPATH_MAP /usr/games /usr/man
+MANPATH_MAP /opt/bin /opt/man
+MANPATH_MAP /opt/sbin /opt/man
+MANPATH_MAP /usr/lib@LIBDIRSUFFIX@/java/bin /usr/lib@LIBDIRSUFFIX@/java/man
+
+#---------------------------------------------------------
+# For a manpath element to be treated as a system manpath (as most of those
+# above should normally be), it must be mentioned below. Each line may have
+# an optional extra string indicating the catpath associated with the
+# manpath. If no catpath string is used, the catpath will default to the
+# given manpath.
+#
+# You *must* provide all system manpaths, including manpaths for alternate
+# operating systems, locale specific manpaths, and combinations of both, if
+# they exist, otherwise the permissions of the user running man/mandb will
+# be used to manipulate the manual pages. Also, mandb will not initialise
+# the database cache for any manpaths not mentioned below unless explicitly
+# requested to do so.
+#
+# In a per-user configuration file, this directive only controls the
+# location of catpaths and the creation of database caches; it has no effect
+# on privileges.
+#
+# Any manpaths that are subdirectories of other manpaths must be mentioned
+# *before* the containing manpath. E.g. /usr/man/preformat must be listed
+# before /usr/man.
+#
+# *MANPATH* -> *CATPATH*
+#
+MANDB_MAP /usr/man /var/cache/man/usr-man
+#MANDB_MAP /usr/share/man /var/cache/man/usr-share-man
+MANDB_MAP /usr/local/man /var/cache/man/usr-local-man
+MANDB_MAP /usr/local/share/man /var/cache/man/usr-local-share-man
+MANDB_MAP /opt/man /var/cache/man/opt-man
+MANDB_MAP /usr/lib@LIBDIRSUFFIX@/java/man /var/cache/man/usr-lib@LIBDIRSUFFIX@-java-man
+
+#---------------------------------------------------------
+# Program definitions. These are commented out by default as the value
+# of the definition is already the default. To change: uncomment a
+# definition and modify it.
+#
+#DEFINE pager less -s
+#DEFINE cat cat
+#DEFINE tr tr '\255\267\264\327' '\055\157\047\170'
+#DEFINE grep grep
+#DEFINE troff groff -mandoc
+#DEFINE nroff nroff -mandoc
+#DEFINE eqn eqn
+#DEFINE neqn neqn
+#DEFINE tbl tbl
+#DEFINE col col
+#DEFINE vgrind
+#DEFINE refer refer
+#DEFINE grap
+#DEFINE pic pic -S
+#DEFINE compressor gzip -c7
+
+#---------------------------------------------------------
+# Misc definitions: same as program definitions above.
+#
+#DEFINE whatis_grep_flags -i
+#DEFINE apropos_grep_flags -iEw
+#DEFINE apropos_regex_grep_flags -iE
+
+#---------------------------------------------------------
+# Section names. Manual sections will be searched in the order listed here;
+# the default is 1, n, l, 8, 3, 0, 2, 5, 4, 9, 6, 7. Multiple SECTION
+# directives may be given for clarity, and will be concatenated together in
+# the expected way.
+# If a particular extension is not in this list (say, 1mh), it will be
+# displayed with the rest of the section it belongs to. The effect of this
+# is that you only need to explicitly list extensions if you want to force a
+# particular order. Sections with extensions should usually be adjacent to
+# their main section (e.g. "1 1mh 8 ...").
+#
+SECTION 1 n l 8 3 2 5 4 9 6 7
+
+#---------------------------------------------------------
+# Range of terminal widths permitted when displaying cat pages. If the
+# terminal falls outside this range, cat pages will not be created (if
+# missing) or displayed.
+#
+#MINCATWIDTH 80
+#MAXCATWIDTH 80
+#
+# If CATWIDTH is set to a non-zero number, cat pages will always be
+# formatted for a terminal of the given width, regardless of the width of
+# the terminal actually being used. This should generally be within the
+# range set by MINCATWIDTH and MAXCATWIDTH.
+#
+#CATWIDTH 0
+
+#---------------------------------------------------------
+# NOCACHE keeps man from creating cat pages.
+NOCACHE
+
diff --git a/source/ap/man-db/slack-desc b/source/ap/man-db/slack-desc
new file mode 100644
index 000000000..31292451b
--- /dev/null
+++ b/source/ap/man-db/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+man-db: man-db (database-driven manual pager suite)
+man-db:
+man-db: This package provides the man command and related utilities
+man-db: for examining on-line help files (manual pages). It has several
+man-db: enhancements over man, including an indexed database for searches
+man-db: with -k or apropos, the ability to easily view man pages in a browser,
+man-db: better i18n support, and a much more efficient implementation of the
+man-db: -K (full text search) option.
+man-db:
+man-db: Homepage: http://www.nongnu.org/man-db/
+man-db: