1# 2# Build a pkg for Solaris 3# Makefile,v 1.3 2000/05/10 18:33:26 papowell Exp 4# 5# Hacked, mangled, twisted and warped by Patrick Powell <papowell@astart.com> 6# rewritten by Willi Burmeister (wib@cs.uni-kiel.de) for LPRng 7# 8# 1. We make the package in WORKING 9# 2. install it in /var/tmp/LPRng 10# 3. generate a packing list using pkgproto + massage 11# 12 13PKG=LPRng 14PKG_NAME='Line Printer Daemon' 15VENDOR='Patrick Powell <papowell@astart.com>' 16 17PREFIX=/usr 18FILTERDIR=/usr/libexec/filters 19SYSCONFDIR=/etc 20SBINDIR=${PREFIX}/sbin 21MANDIR=/usr/share/man 22VERSION=3.8.22 23 24CONFIGURE_ARGS=--prefix=${PREFIX} --sysconfdir=${SYSCONFDIR} --with-filterdir=${FILTERDIR} --mandir=${MANDIR} 25 26WORKING?=../.. 27CONFIG?=../.. 28WORKING:=$(shell cd ${WORKING}; pwd) 29CONFIG:=$(shell cd ${CONFIG}; pwd) 30COPY_DIR=/var/tmp/LPRng 31 32TMP=/tmp 33 34.PHONY: all add remove rebuild clean check 35 36all: ${PKG}.pkg 37 38addit: 39 pkgadd -d ${PKG}.pkg 40removeit: 41 pkgrm ${PKG} 42 43${PKG}.pkg: pkginfo prototype 44 pkgmk -o -d ${TMP} -f prototype -p `date +%Y%m%d%H%M` 45 pkgtrans -s ${TMP} `pwd`/${PKG}.pkg ${PKG} 46 rm -rf ${TMP}/${PKG} 47 48pkginfo: Makefile 49 echo CONFIG ${CONFIG} WORKING ${WORKING} COPY_DIR ${COPY_DIR} 50 rm -f pkginfo 51 echo "PKG=${PKG}" >> pkginfo 52 echo "NAME=LPRng-${VERSION}" >> pkginfo 53 echo "ARCH=`uname -p`" >> pkginfo 54 echo "VERSION=$(VERSION)" >> pkginfo 55 echo "CATEGORY=application" >> pkginfo 56 echo "DESC=${PKG_NAME}" >> pkginfo 57 echo "CLASSES=none preserve" >> pkginfo 58 echo "VENDOR=${VENDOR}" >> pkginfo 59 echo "BASEDIR=/" >> pkginfo 60 61SCRIPTS:= postinstall preremove postremove 62 63prototype: prototype.pre prototype.files ${COPY_DIR}${SBINDIR}/lpd ${SCRIPTS} 64 cat prototype.pre prototype.files >prototype 65 66${COPY_DIR}${SBINDIR}/lpd: ${WORKING}/config.h 67 -rm -rf ${COPY_DIR} 68 cd ${WORKING}; ${MAKE} install DESTDIR=${COPY_DIR} MAKEPACKAGE=YES 69 70${WORKING}/config.h: 71 if [ '!' -d ${WORKING} ] ; then mkdir ${WORKING} ; fi 72 cd ${WORKING}; ${CONFIG}/configure ${CONFIGURE_ARGS} 73 74${SCRIPTS}: prototype.files 75 cp ${WORKING}/$@ $@ 76 77prototype.files: ${COPY_DIR}${SBINDIR}/lpd 78 chown -R root ${COPY_DIR} 79 chgrp -R bin ${COPY_DIR} 80 pkgproto ${COPY_DIR}=/ \ 81 | awk '$$3 == "/"{ next; } \ 82 /lpd.perms=/{ next; } \ 83 /lpd.conf=/{ next; } \ 84 /printcap=/{ next; } \ 85 /^d/{ print $$1,$$2,$$3," ? ? ? "; next; } \ 86 { print; }' >prototype.files 87 88rebuild: 89 -rm -rf ${COPY_DIR} 90 cd ${WORKING}; ${MAKE} clean 91 92clean: 93 -rm -f pkginfo prototype prototype.files ${PKG}.pkg \ 94 postinstall preremove postremove /tmp/LPRng 95 -rm -rf ${COPY_DIR} 96 if [ -d ${WORKING} ] ; then cd ${WORKING}; rm -f config.h; fi 97 98checkit: 99 cd ../..; ./configure ${CONFIGURE_ARGS}; ${MAKE} all install 100 ${MAKE} clean all 101 -${MAKE} removeit 102 ${MAKE} addit removeit 103