cpt

Carbs Packaging Tools
git clone git://git.carbslinux.org/cpt
Log | Files | Refs | README | LICENSE

commit e45f0ff138381303ee946fa63125a3fc383e4832
parent c9174c4970adb963d91a9c078d0daddcdb50785b
Author: Cem Keylan <cem@ckyln.com>
Date:   Thu, 24 Dec 2020 16:08:33 +0300

cpt: add info page to the build system

- Made the info page an optional part of the build system, meaning that
  'redo' will not attempt to build or install the info page if you don't
  have 'makeinfo' available on your system.

- The info page is installed to the 'info/' directory relative to the
  $SHAREDIR. It can be overriden by setting the INFODIR variable.

Diffstat:
Mconfig.rc | 1+
Mdocs/default.do | 5+++++
Minstall.do | 9+++++++++
Muninstall.do | 5+++++
4 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/config.rc b/config.rc @@ -22,6 +22,7 @@ setv BINDIR = "${PREFIX}/bin" setv SHAREDIR = "${PREFIX}/share" setv DOCDIR = "${SHAREDIR}/doc" setv CPTDOC = "${DOCDIR}/cpt" +setv INFODIR = "${SHAREDIR}/info" setv MANPREFIX = "${SHAREDIR}/man" setv MAN1 = "${MANPREFIX}/man1" diff --git a/docs/default.do b/docs/default.do @@ -8,6 +8,11 @@ case "$1" in allclean) redo ../clean; rm -f cpt.texi ;; info) redo-ifchange cpt.info cpt.texi cpt.org ;; *.info) + # Don't bother if makeinfo doesn't exist on the system, exit with success. + if ! command -v $MAKEINFO; then + PHONY + exit 0 + fi redo-ifchange "$fn.texi" $MAKEINFO "$fn.texi" -o "$3" ;; diff --git a/install.do b/install.do @@ -14,3 +14,12 @@ for man in man/*.1; do cp "$man" "${DESTDIR}${MAN1}/${man##*/}" chmod 644 "${DESTDIR}${MAN1}/${man##*/}" done + +# Install the documentation info page. +# We don't want to bother if the info page wasn't created, just exit without an +# error. +[ -f docs/cpt.info ] || exit 0 + +mkdir -p "${DESTDIR}${INFODIR}" +cp docs/cpt.info "${DESTDIR}${INFODIR}/cpt.info" +chmod 644 "${DESTDIR}${INFODIR}/cpt.info" diff --git a/uninstall.do b/uninstall.do @@ -1,9 +1,14 @@ . ./config.rc +# Remove executables. getbin | while read -r file; do rm -f "${DESTDIR}${BINDIR}/${file##*/}" done +# Remove manual pages. for man in man/*.1; do rm -f "${DESTDIR}${MAN1}/${man##*/}" done + +# Remove the info page. +rm -f "${DESTDIR}${INFODIR}/cpt.info"