BUILDDIR = src DESTDIR = ${TOPDIR}/pkg BASEDIR = /opt/ISCbind BASEDIREXISTS=/opt /etc/opt /var/opt CONFOPTS = PKGNAME = ISCbind NAME = bind DESC = a DNS server ARCH:sh = uname -p VERSIONSH = cat src/Version VERSION = ${VERSIONSH:sh} # This line creates a .revision file at 0 if one does not exist, and then # stores the revision number in the REV macro. REV:sh = test -f .revision || echo 0 > .revision ; cat .revision # This line increments the number in the .revision file, and then stores # the revision number in the REV macro. REV:sh = REVSH=`cat .revision` ;\ REVSH=`expr $REVSH + 1`; echo $REVSH > .revision ; echo $REVSH CATEGORY = application MAXINST = 1000 VENDOR = Internet Software Consortium EMAIL = dj@gregor.com CLASSES = none PKGPROTO = /usr/bin/pkgproto PKGMK = /usr/bin/pkgmk PKGTRANS = /usr/bin/pkgtrans INSTUSER = root INSTGROUP = root TOPDIR:sh = pwd SPOOLDIR = /var/spool/pkg OTHERFILES = OTHERDIRS = ${DESTDIR}${DESTBIN} \ ${DESTDIR}${DESTSBIN} \ ${DESTDIR}${DESTLIB} \ ${DESTDIR}${DESTHELP} \ ${DESTDIR}${DESTINC} \ ${DESTDIR}${DESTETC} \ ${DESTDIR}${DESTVAR} INSTALLFILES= pkginfo DESTBIN = ${BASEDIR}/bin DESTSBIN = ${BASEDIR}/sbin DESTEXEC = ${BASEDIR}/sbin DESTMAN = ${BASEDIR}/man DESTHELP = ${BASEDIR}/lib DESTINC = ${BASEDIR}/include DESTLIB = ${BASEDIR}/lib DESTETC = /etc${BASEDIR} DESTVAR = /var${BASEDIR} PIDDIR = /etc${BASEDIR} PIDFILE = ${PIDDIR}/named.pid DESTDOC = ${BASEDIR}/doc DESTCONTRIB = ${BASEDIR}/contrib DOCDIR = ${TOPDIR}/doc CONTRIBDIR = ${TOPDIR}/contrib PATH_CONF = ${DESTETC}/named.conf PATH_DUMPFILE= ${DESTVAR}/named_dump.db PATH_XFER = ${DESTSBIN}/named-xfer PATH_PIDFILE= ${PIDFILE} PATH_NAMED = ${DESTSBIN}/named OTHERCONFIGTARGETS = .port_after-updated.${BUILDDIR} DOTSETTINGS = DESTDIR=${DESTDIR} \ DESTBIN=${DESTBIN} \ DESTSBIN=${DESTSBIN} \ DESTEXEC=${DESTEXEC} \ DESTMAN=${DESTMAN} \ DESTHELP=${DESTHELP} \ DESTINC=${DESTINC} \ DESTLIB=${DESTLIB} \ PIDDIR=${PIDDIR} \ PIDFILE=${PIDFILE} all: pkg pkg: ${BUILDDIR}.pkg ${BUILDDIR}.pkg: ${DESTDIR}/prototype # -( cd ${DESTDIR}${DESTBIN} ; strip * ) # -( cd ${DESTDIR}${DESTSBIN} ; strip * ) ( cd ${DESTDIR} ; ${PKGMK} -d ${SPOOLDIR} -or . ) ( cd ${SPOOLDIR}/${PKGNAME}/reloc ; find . -depth -print | \ grep -v '^\.$$' | cpio -odm | compress > ../reloc.cpio.Z ) rm -rf ${SPOOLDIR}/reloc $(PKGTRANS) ${SPOOLDIR} ${TOPDIR}/${BUILDDIR}.pkg ${PKGNAME} ${DESTDIR}/prototype: ${DESTDIR}/pkginfo @( cd ${DESTDIR} ; \ find . -print | \ $(PKGPROTO) | nawk -v instuser="${INSTUSER}" \ -v instgroup="${INSTGROUP}" -v basedirexists="${BASEDIREXISTS}"\ -v installfiles="${INSTALLFILES}" \ 'BEGIN { \ n = split(installfiles, setupinstallfiles); \ for ( i = 1; i <= n; i++ ) { \ print "i", setupinstallfiles[i]; \ } \ } \ { \ if ( match($$3, "^prototype$$") ) { \ next; \ } \ n = split(basedirexists, basedir); \ for ( i = 1; i <= n; i++ ) { \ checkbasedir = basedir[i]; \ sub("^/", "", checkbasedir); \ while ( checkbasedir != "" ) { \ if ( match($$3, "^"checkbasedir"$$") ) { \ sub("[^/]*$$", "", checkbasedir); \ sub("/$$", "", checkbasedir); \ next; \ } \ sub("[^/]*$$", "", checkbasedir); \ sub("/$$", "", checkbasedir); \ } \ } \ n = split(installfiles, checkinstallfiles); \ for ( i = 1; i <= n; i++ ) { \ if (match($$3, "^"checkinstallfiles[i]"$$")) { \ next; \ } \ } \ \ print $$1, $$2, $$3, $$4, instuser, instgroup; \ }' \ ) > ${DESTDIR}/prototype ${DESTDIR}/pkginfo: .package-installed.${BUILDDIR} rm -f ${DESTDIR}/pkginfo @echo "PKG=\"${PKGNAME}\"" >> ${DESTDIR}/pkginfo @echo "NAME=\"${NAME}\"" >> ${DESTDIR}/pkginfo @echo "DESC=\"${DESC}\"" >> ${DESTDIR}/pkginfo @echo "ARCH=\"${ARCH}\"" >> ${DESTDIR}/pkginfo @echo "MAXINST=\"${MAXINST}\"" >> ${DESTDIR}/pkginfo @echo "VERSION=\"${VERSION},REV=${REV}\"" >> ${DESTDIR}/pkginfo @echo "CATEGORY=\"${CATEGORY}\"" >> ${DESTDIR}/pkginfo @echo "VENDOR=\"${VENDOR}\"" >> ${DESTDIR}/pkginfo @echo "EMAIL=\"${EMAIL}\"" >> ${DESTDIR}/pkginfo @echo "BASEDIR=\"/\"" >> ${DESTDIR}/pkginfo @echo "CLASSES=\"${CLASSES}\"" >> ${DESTDIR}/pkginfo .package-installed.${BUILDDIR}: build clean.${DESTDIR} ${DESTDIR}${BASEDIR} \ ${OTHERFILES} ${OTHERDIRS} cd ${BUILDDIR} ; ${MAKE} install # won't worry if we can't find this little file -cp ${BUILDDIR}/bin/named/named-bootconf.pl ${DESTDIR}${DESTBIN} if [ -d ${DOCDIR} ]; \ then \ mkdir -p ${DESTDIR}${DESTDOC} ; \ ( cd ${DOCDIR} ; \ find . -depth -print | cpio -pdmu \ ${DESTDIR}${DESTDOC} ) ; \ fi if [ -d ${CONTRIBDIR} ]; \ then \ mkdir -p ${DESTDIR}${DESTCONTRIB} ; \ ( cd ${CONTRIBDIR} ; \ find . -depth -print | cpio -pdmu \ ${DESTDIR}${DESTCONTRIB} ) ; \ fi touch $@ clean.${DESTDIR}: rm -rf ${DESTDIR} ${DESTDIR}${BASEDIR} ${OTHERDIRS}: mkdir -p $@ build: .configured.${BUILDDIR} cd ${BUILDDIR} ; ${MAKE} all clean: rm -rf ${BUILDDIR} ${DESTDIR} .configured.${BUILDDIR} \ .untarred.${BUILDDIR} .package-installed.${BUILDDIR} \ .depended.${BUILDDIR} .port_after-updated.${BUILDDIR} \ .settings-updated.${BUILDDIR} \ ${SPOOLDIR}/${PKGNAME} ${BUILDDIR}.pkg .untarred.${BUILDDIR}: bind-${BUILDDIR}.tar.gz rm -rf ${BUILDDIR} gzip -cd $? | tar xvf - touch $@ .configured.${BUILDDIR}: .untarred.${BUILDDIR} .depended.${BUILDDIR} \ .settings-updated.${BUILDDIR} ${OTHERCONFIGTARGETS} touch $@ .depended.${BUILDDIR}: .untarred.${BUILDDIR} cd ${BUILDDIR} ; make SUBDIRS="include port" ${CONFOPTS} all touch $@ .settings-updated.${BUILDDIR}: .depended.${BUILDDIR} cp ${BUILDDIR}/.settings ${BUILDDIR}/.settings.old nawk -v replacements="${DOTSETTINGS}" \ "{ \ n = split(replacements, repl, \"[ ]+\"); \ for (i = 1; i <= n; i++) { \ split(repl[i], replparts, \"=\"); \ gsub(\"'\" replparts[1] \"=[^']*'\", \"\", \ \$$0); \ \$$0 = \$$0 \" '\" repl[i] \"'\"; \ } \ print $0; \ }" < ${BUILDDIR}/.settings.old > ${BUILDDIR}/.settings.new mv ${BUILDDIR}/.settings.new ${BUILDDIR}/.settings touch $@ .port_after-updated.${BUILDDIR}: .depended.${BUILDDIR} \ ${BUILDDIR}/port/solaris/include/solaris-pkg-paths.h cp ${BUILDDIR}/port/solaris/include/port_after.h \ ${BUILDDIR}/port/solaris/include/port_after.h.old @echo "g/#include /d\n" \ "\$$a\n#include \n.\nw\nq" | ed \ ${BUILDDIR}/port/solaris/include/port_after.h touch $@ veryclean: clean rm -rf .revision ${BUILDDIR}/port/solaris/include/solaris-pkg-paths.h: rm -f $@ echo "#undef _PATH_CONF" >> $@ echo "#define _PATH_CONF \"${PATH_CONF}\"" >> $@ echo "#undef _PATH_DUMPFILE" >> $@ echo "#define _PATH_DUMPFILE \"${PATH_DUMPFILE}\"" >> $@ echo "#undef _PATH_XFER" >> $@ echo "#define _PATH_XFER \"${PATH_XFER}\"" >> $@ echo "#undef _PATH_NAMED" >> $@ echo "#define _PATH_NAMED \"${PATH_NAMED}\"" >> $@ echo "#undef _PATH_PIDFILE" >> $@ echo "#define _PATH_PIDFILE \"${PATH_PIDFILE}\"" >> $@ normalinstall: ${MAKE} BASEDIR=/ BASEDIREXISTS="/ /etc /var /usr/share/lib /usr/lib \ /usr/bin /usr/sbin" \ DESTBIN=/usr/bin \ DESTSBIN=/usr/sbin DESTEXEC=/usr/sbin \ DESTMAN=/usr/share/man DESTHELP=/usr/lib \ DESTINC=/usr/local/include DESTLIB=/usr/local/lib \ DESTETC=/etc DESTVAR=/var/named PIDDIR=/etc \ DESTDOC=/usr/share/lib/named \ DESTCONTRIB=/usr/share/lib/named \ DOTSETTINGS="DESTDIR=${DESTDIR}" \ OTHERCONFIGTARGETS=""