From e206c6620ac6c3f2fd01dd2d1b1390e6e262cd8f Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Tue, 06 Mar 2012 13:39:44 -0500 Subject: Rename all source files. --- (limited to 'src/oh-installdocs.sh') diff --git a/src/oh-installdocs.sh b/src/oh-installdocs.sh new file mode 100644 index 0000000..673b884 --- /dev/null +++ b/src/oh-installdocs.sh @@ -0,0 +1,61 @@ +#! /bin/sh +# +# opkhelper +# src/oh-installdocs +# Install package documentation into a binary package staging area. +# +# Copyright (C) 2012 Patrick "P. J." McDermott +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +print_usage() +{ + printf 'Usage: %s providing_pkg\n' "$1" +} + +error() +{ + printf 'oh-installdocs: Error: %s\n' "${1}" >&2 + exit 1 +} + +if [ ${#} -ne 1 ]; then + print_usage ${0} >&2 + exit 1 +fi + +# Iterate through packages that have been installed. +for pkgdir in *.data/; do + pkg=${pkgdir%'.data/'} + mkdir -p ${pkg}.data/usr/share/doc/ + if [ ${pkg} = ${1} ]; then + # Make the providing package provide the documentation files. + printf 'oh-installdocs: Installing package documentation into package "%s"...\n' \ + "${pkg}" + mkdir -p ${pkg}.data/usr/share/doc/${pkg} + [ ! -f ../copyright ] && error 'Missing "copyright" file' + [ ! -f ../changelog ] && error 'Missing "changelog" file' + cp ../copyright ${pkgdir}/usr/share/doc/${pkg}/copyright || \ + error 'Cannot copy documentation files' + cp ../changelog ${pkgdir}/usr/share/doc/${pkg}/changelog.dist || \ + error 'Cannot copy documentation files' + else + # Make dependent packages link to the providing package's documentation + # directory. + printf 'oh-installdocs: Making link to documentation in package "%s"...\n' \ + "${pkg}" + ln -s /usr/share/doc/${1} ${pkgdir}/usr/share/doc/${pkg} || \ + error 'Cannot make link to documentation files' + fi +done -- cgit v0.9.1