# --- ROCK-COPYRIGHT-NOTE-BEGIN --- # # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # Please add additional copyright information _after_ the line containing # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by # the ./scripts/Create-CopyPatch script. Do not edit this copyright text! # # ROCK Linux: rock-src/package/mnemoc/runit/djb-config # ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf # # 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 2 of the License, or # (at your option) any later version. A copy of the GNU General Public # License can be found at Documentation/COPYING. # # Many people helped and are helping developing ROCK Linux. Please # have a look at https://www.rocklinux.org/ and the Documentation/TEAM # file for details. # # --- ROCK-COPYRIGHT-NOTE-END --- # e.g. $1: admin mail net ... # $2: $sbindir $bindir # pkg_djb_hierarchy=$1 pkg_djb_altdir=${2:-$bindir} # $logdir if [ "${localstatedir%$pkg}" != "$localstatedir" ]; then logdir=$localstatedir/log else logdir=$localstatedir/log/$pkg fi # $sysconfdir if [ "${sysconfdir%$pkg}" == "$sysconfdir" ]; then sysconfdir=$root/etc/$pkg fi if [ -z "$pkg_djb_hierarchy" ]; then abort "djb-config: must specify hierarchy /package/\$hierarchy." fi srcdir="$pkg_djb_hierarchy/$pkg-$ver" if [ "$createdocs" != "0" -a "$ROCKCFG_CREATE_DOCS" == "1" ]; then createdocs=0 hook_add postdoc 2 'pkg_djb_installdoc $pkg_djb_hierarchy' fi # custmain # custmain="pkg_djb_main" pkg_djb_main() { hook_eval premake ./package/compile hook_eval inmake pkg_djb_installpackage $pkg_djb_hierarchy $pkg_djb_altdir hook_eval postmake } # why to use this safe stuff? # because we can be updating... sure? # to honor daemontools behavior :-) # pkg_djb_safecopy() { echo "'${1#root}/$3' -> '${2#root}/$3'" rm -f $2/$3'{new}' cp -p $1/$3 $2/$3'{new}' mv -f $2/$3'{new}' $2/$3 } pkg_djb_safelink() { echo "create symbolic link '${1#root}/$3' to '${2#root}/$3'" rm -f $2/$3'{new}' ln -s $1/$3 $2/$3'{new}' mv -f $2/$3'{new}' $2/$3 } pkg_djb_substitute() { sed -i \ -e "s,D_commanddir,$pkg_djb_commanddir,g" \ -e "s,D_servicedir,$pkg_djb_servicedir,g" \ -e "s,D_logdir,$logdir,g" \ $1 } # installs the package in DJB way if requested # pkg_djb_installpackage() { # requires ./package/commands # and files in ./command local x y local package=$1 local altdir=$2 if [ "$pkg_djb_packagedir" ]; then echo 'Copying commands to package directory...' mkdir -p $pkg_djb_packagedir/$package/$pkg-$ver/command for x in `cat ./package/commands`; do pkg_djb_safecopy ./command \ $pkg_djb_packagedir/$package/$pkg-$ver/command $x done echo "Creating symlink $pkg -> $pkg-$ver..." rm -f $pkg_djb_packagedir/$package/$pkg ln -sv $pkg-$ver $pkg_djb_packagedir/$package/$pkg fi if [ "$pkg_djb_commanddir" ]; then echo "Making command links in $pkg_djb_commanddir..." y=pkg_djb_safelink else echo 'Copying commands to $altdir...' pkg_djb_commanddir=$altdir y=pkg_djb_safecopy fi mkdir -p $pkg_djb_commanddir for x in `cat package/commands`; do $y $pkg_djb_packagedir/$package/$pkg-$ver/command \ $pkg_djb_commanddir $x done # usr/local is evil :) #if [ "$pkg_djb_compatdir" ]; then # echo "Making compatibility links in $pkg_djb_compatdir..." # mkdir -p $pkg_djb_compatdir # for i in `cat package/commands`; do # pkg_djb_safelink $pkg_djb_packagedir/$package/$pkg-$ver/command \ # $pkg_djb_compatdir $i # done #fi } # installs documentation to package directory or $docdir as requested # pkg_djb_installdoc() { local x package=$1 local docpkg echo 'Copying documentation....' if [ "$pkg_djb_packagedir" ]; then docpkg=$pkg_djb_packagedir/$package/$pkg-$ver/package docdir=$pkg_djb_packagedir/$package/$pkg-$ver/doc else docpkg=$docdir fi mkdir -p $docpkg $docdir # ./package for x in `ls ./package`; do case $x in compile|install*|upgrade) /bin/true ;; *) pkg_djb_safecopy ./package $docpkg $x ;; esac done # ./doc if [ -d doc ]; then cp -rLv ./doc/* $docdir fi # ./man if [ -d man ]; then echo "Installing man pages ... " for x in $( cd man; ls -1 *.[1-9] | sed -e 's,.*\.\([1-9]\),\1,g' | sort -u ); do gzip -9 ./man/*.$x cp -vf ./man/*.$x.gz $mandir/man$x/ done fi }