summaryrefslogtreecommitdiffstats
path: root/encap/src
diff options
context:
space:
mode:
authorDaniel Joseph Barnhart Clark <dclark@pobox.com>2006-08-24 03:21:17 +0000
committerDaniel Joseph Barnhart Clark <dclark@pobox.com>2006-08-24 03:21:17 +0000
commit144f1344adf60815c8c57e93b5ed0acf98bbc40f (patch)
treef9035e2b49da8139e99cc858ea1d2939f8a9cdc0 /encap/src
parent12b22256f2430dbdbb59a6119eb7732ba942fca1 (diff)
downloadbcfg2-144f1344adf60815c8c57e93b5ed0acf98bbc40f.tar.gz
bcfg2-144f1344adf60815c8c57e93b5ed0acf98bbc40f.tar.bz2
bcfg2-144f1344adf60815c8c57e93b5ed0acf98bbc40f.zip
EncapPackages: A bunch of changes, including but not limited to:
* Cleaner directory structure * Numerous Makefile improvements * Makefile no longer tied to specific versions of encap packages (except in the case of python-apt, which is distro-specific) * Automatic dependancy generation from encap package files * bcfg2-site pretty much done git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2103 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'encap/src')
-rw-r--r--encap/src/Makefile19
-rw-r--r--encap/src/bcfg2-site/Makefile26
-rw-r--r--encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl2
-rw-r--r--encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/.SENTINEL_SITE0
-rw-r--r--encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/.SENTINEL_SITE0
-rwxr-xr-xencap/src/bcfg2-site/bcfg2-site-RENAME/mkinstalldirs32
-rwxr-xr-xencap/src/bcfg2-site/bcfg2-site-RENAME/postinstall81
-rwxr-xr-xencap/src/bcfg2-site/bcfg2-site-RENAME/preinstall0
-rw-r--r--encap/src/bcfg2-site/site-settings.conf-example (renamed from encap/src/bcfg2-site/site-settings.conf)0
-rw-r--r--encap/src/encap-profiles/Makefile164
-rw-r--r--encap/src/encap-profiles/bcfg2-0.8.3pre1.ep (renamed from encap/src/encap-profiles/bcfg2-0.8.2.ep)22
-rw-r--r--encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep4
-rw-r--r--encap/src/encap-profiles/bcfg2-cheetah-doc-0.9.16a1.ep3
-rw-r--r--encap/src/encap-profiles/bcfg2-gamin-0.1.7.ep10
-rw-r--r--encap/src/encap-profiles/bcfg2-gettext-0.14.5.ep11
-rw-r--r--encap/src/encap-profiles/bcfg2-glib-2.8.6.ep16
-rw-r--r--encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep10
-rw-r--r--encap/src/encap-profiles/bcfg2-libxml2-2.6.26.ep16
-rw-r--r--encap/src/encap-profiles/bcfg2-libxslt-1.1.17.ep15
-rw-r--r--encap/src/encap-profiles/bcfg2-lxml-1.0.1.ep15
-rw-r--r--encap/src/encap-profiles/bcfg2-openssl-0.9.8b.ep15
-rw-r--r--encap/src/encap-profiles/bcfg2-pkg-config-0.20.ep9
-rw-r--r--encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep13
-rw-r--r--encap/src/encap-profiles/bcfg2-pyrex-0.9.4.1.ep10
-rw-r--r--encap/src/encap-profiles/bcfg2-python-2.4.3.ep14
-rw-r--r--encap/src/encap-profiles/bcfg2-python-apt-0.5.10.ep8
-rw-r--r--encap/src/encap-profiles/bcfg2-python-apt-0.6.16.2ubuntu8.ep10
-rw-r--r--encap/src/encap-profiles/bcfg2-python-apt-0.6.19.ep8
-rw-r--r--encap/src/encap-profiles/bcfg2-zlib-1.2.3.ep10
-rw-r--r--encap/src/encap-profiles/daemontools-0.76.ep13
-rw-r--r--encap/src/encap-profiles/daemontools-doc-20060731.ep7
-rwxr-xr-xencap/src/encap-profiles/ep2target40
-rwxr-xr-xencap/src/encap-profiles/m4-1.4.4.sh4
-rw-r--r--encap/src/encap-profiles/makeself-2.1.4.ep2
-rw-r--r--encap/src/encap-profiles/ostiary-3.4.ep24
-rw-r--r--encap/src/encap-profiles/ostiary-doc-20060801.ep7
-rw-r--r--encap/src/encap-profiles/patch-2.5.9.ep7
37 files changed, 561 insertions, 86 deletions
diff --git a/encap/src/Makefile b/encap/src/Makefile
new file mode 100644
index 000000000..4bf91fb32
--- /dev/null
+++ b/encap/src/Makefile
@@ -0,0 +1,19 @@
+# $Id$
+
+export SHELL = /bin/sh
+
+.PHONY : test log all installconfig dist
+
+log :
+ ( $(MAKE) all > ./make.log 2>&1 ) &
+
+all :
+ $(MAKE) -C ./encap-profiles all
+ $(MAKE) -C ./bcfg2-site all
+ $(MAKE) dist
+
+installconfig :
+ $(MAKE) -C ./bcfg2-site install
+
+dist :
+
diff --git a/encap/src/bcfg2-site/Makefile b/encap/src/bcfg2-site/Makefile
index e42ff2eb6..1f9063d9e 100644
--- a/encap/src/bcfg2-site/Makefile
+++ b/encap/src/bcfg2-site/Makefile
@@ -7,7 +7,7 @@ CHEETAH = /usr/local/lib/bcfg2/bin/cheetah
# Main
-.PHONY : all clean fill copy fix encap test cheetah
+.PHONY : all clean distclean fill copy fix encap install test cheetah
.SUFFIXES :
BD = /usr/local
@@ -23,36 +23,46 @@ clean :
done; \
done
+distclean : clean
+ -rm *-encap-*.tar.gz
+
fill : clean
$(CHEETAH) fill -R --oext out
copy : fill
EN=`cat bcfg2-site-RENAME/encapname.out` && \
- ( test ! -d $$ED/bcfg2-site-$${EN} || rm -rf $$ED/bcfg2-site-$${EN} ) && \
+ ( test ! -d $(ED)/bcfg2-site-$${EN} || rm -rf $(ED)/bcfg2-site-$${EN} ) && \
for SRC in `find bcfg2-site-RENAME | grep -v svn | grep -v tmpl`; do \
- DEST=$$ED/`printf "$$SRC" | sed s/RENAME/$$EN/g | sed s/\.out//g`; \
+ DEST=$(ED)/`printf "$$SRC" | sed s/RENAME/$$EN/g | sed s/\.out//g`; \
if [ -d $$SRC ]; then mkdir $$DEST; else cp $$SRC $$DEST; fi; \
done
fix : copy
- EN="$$ED/bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \
+ EN="$(ED)/bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \
chown -R 0 $$EN && chgrp -R 0 $$EN && \
find $$EN -type d | xargs -n1 chmod 0755 && \
find $$EN -type f | xargs -n1 chmod 0644 && \
chmod 0600 $$EN/etc/ostiary.cfg && \
chmod 0600 $$EN/etc/bcfg2.conf && \
chmod 0755 $$EN/sbin/ost-bcfg2.sh && \
- chmod 0755 $$EN/postinstall && \
- chmod 0755 $$EN/preinstall
+ chmod 0755 $$EN/postinstall
encap : fix
EN="bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \
- cd $$ED && \
+ cd $(ED) && \
( test ! -f $${EN}-encap-*.tar.gz || rm $${EN}-encap-*.tar.gz ) && \
mkencap -c $$EN
EN="bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \
- mv $$ED/$${EN}-encap-*.tar.gz .
+ mv $(ED)/$${EN}-encap-*.tar.gz ./
+install : fix
+ -(EN="bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \
+ epkg -q -r $(ED)/$$EN)
+ EN="bcfg2-site-`cat bcfg2-site-RENAME/encapname.out`" && \
+ cd $(ED) && \
+ epkg -q -i $(ED)/$$EN && \
+ test -h $(BD)/var/encap/$$EN
+
test :
: $(PATH)
$(CHEETAH) test
diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl b/encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl
index e6af738ac..f54cb1e18 100644
--- a/encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl
+++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/encapinfo.tmpl
@@ -7,3 +7,5 @@ description bcfg2-site-${SITE_SHORTNAME} - bcfg2 configuration for ${SITE_NAME}
prereq pkgspec >= bcfg2-0.8.2
prereq pkgspec >= daemontools-0.76
prereq pkgspec >= ostiary-3.4
+exclude etc
+exclude sbin
diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/.SENTINEL_SITE b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/.SENTINEL_SITE
deleted file mode 100644
index e69de29bb..000000000
--- a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-client/.SENTINEL_SITE
+++ /dev/null
diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/.SENTINEL_SITE b/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/.SENTINEL_SITE
deleted file mode 100644
index e69de29bb..000000000
--- a/encap/src/bcfg2-site/bcfg2-site-RENAME/etc/default/bcfg2-server/.SENTINEL_SITE
+++ /dev/null
diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/mkinstalldirs b/encap/src/bcfg2-site/bcfg2-site-RENAME/mkinstalldirs
new file mode 100755
index 000000000..0801ec2c9
--- /dev/null
+++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/mkinstalldirs
@@ -0,0 +1,32 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Last modified: 1994-03-25
+# Public domain
+
+errstatus=0
+
+for file in ${1+"$@"} ; do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d in ${1+"$@"} ; do
+ pathcomp="$pathcomp$d"
+ case "$pathcomp" in
+ -* ) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp" 1>&2
+ mkdir "$pathcomp" || errstatus=$?
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall b/encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall
index e69de29bb..4ed875e4c 100755
--- a/encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall
+++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/postinstall
@@ -0,0 +1,81 @@
+#!/bin/sh -e
+
+umask 002
+BASEDIR="${ENCAP_TARGET}" # Usually /usr/local
+PKGDIR="${ENCAP_SOURCE}/${ENCAP_PKGNAME}" # Ususally /usr/local/encap/<pkgname>
+LOG="${PKGDIR}/postinstall.log"
+MKINSTALLDIRS="${PKGDIR}/mkinstalldirs"
+exec > $LOG 2>&1
+
+printf "Running ${ENCAP_PKGNAME} postinstall script...\n"
+date
+
+chmod 755 ${MKINSTALLDIRS}
+${MKINSTALLDIRS} "${BASEDIR}/etc/default/bcfg2-client/env"
+${MKINSTALLDIRS} "${BASEDIR}/etc/default/bcfg2-server/env"
+${MKINSTALLDIRS} "${BASEDIR}/sbin"
+
+rmcp() {
+ SRCFILENAME="`basename ${1}`"
+ if [ -d "${2}" ]; then
+ DESTDIRNAME="$2"
+ else
+ DESTDIRNAME="`dirname ${2}`"
+ fi
+ TARGETNAME="$DESTDIRNAME/$SRCFILENAME"
+ if [ -h "$TARGETNAME" ]; then rm "$TARGETNAME"; fi
+ if [ -f "$TARGETNAME" ]; then rm "$TARGETNAME"; fi
+ cp "$1" "$2"
+}
+
+if [ -f ${BASEDIR}/etc/default/bcfg2-client/.SENTINEL_BCFG2 ]; then
+ printf "INFO: bcfg2 client options have been updated by bcfg2 -\n"
+ printf "INFO: not replacing that configuration.\n"
+elif [ -f ${BASEDIR}/etc/default/bcfg2-client/.SENTINEL_SITE ]; then
+ printf "INFO: bcfg2 client options have been previously updated -\n"
+ printf "INFO: not replacing that configuration.\n"
+else
+ DIR="etc/default/bcfg2-client"
+ rmcp $PKGDIR/$DIR/env/RUN_INTERVAL_SECONDS ${BASEDIR}/$DIR/env/
+ rmcp $PKGDIR/$DIR/env/OPTIONS ${BASEDIR}/$DIR/env/
+ touch ${BASEDIR}/$DIR/.SENTINEL_SITE
+fi
+
+if [ -f ${BASEDIR}/etc/default/bcfg2-server/.SENTINEL_BCFG2 ]; then
+ printf "INFO: bcfg2 server options have been updated by bcfg2 -\n"
+ printf "INFO: not replacing that configuration.\n"
+elif [ -f ${BASEDIR}/etc/default/bcfg2-server/.SENTINEL_SITE ]; then
+ printf "INFO: bcfg2 server options have been previously updated -\n"
+ printf "INFO: not replacing that configuration.\n"
+else
+ DIR="etc/default/bcfg2-server"
+ rmcp $PKGDIR/$DIR/env/OPTIONS ${BASEDIR}/$DIR/env/
+ touch ${BASEDIR}/$DIR/.SENTINEL_SITE
+fi
+
+if [ -f ${BASEDIR}/etc/.SENTINEL_BCFG2 ]; then
+ printf "INFO: bcfg2.conf and/or ostiary.cfg may have been updated by\n"
+ printf "INFO: bcfg2 - not replacing that configuration.\n"
+elif [ -f ${BASEDIR}/etc/.SENTINEL_SITE ]; then
+ printf "INFO: bcfg2.conf and/or ostiary.cfg may have been previously\n"
+ printf "INFO: updated - not replacing that configuration.\n"
+else
+ rmcp $PKGDIR/etc/bcfg2.conf ${BASEDIR}/etc/
+ rmcp $PKGDIR/etc/ostiary.cfg ${BASEDIR}/etc/
+ touch ${BASEDIR}/etc/.SENTINEL_SITE
+fi
+
+if [ -f ${BASEDIR}/sbin/.SENTINEL_BCFG2 ]; then
+ printf "INFO: ost-bcfg2.sh may have been updated by bcfg2 -\n"
+ printf "INFO: not replacing that configuration with this script.\n"
+elif [ -f ${BASEDIR}/sbin/.SENTINEL_SITE ]; then
+ printf "INFO: ost-bcfg2.sh may have been previously updated -\n"
+ printf "INFO: not replacing that configuration with this script.\n"
+else
+ rmcp $PKGDIR/sbin/ost-bcfg2.sh ${BASEDIR}/sbin/
+ touch ${BASEDIR}/sbin/.SENTINEL_SITE
+fi
+
+printf "Finished ${ENCAP_PKGNAME} postinstall script.\n"
+
+exit 0
diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/preinstall b/encap/src/bcfg2-site/bcfg2-site-RENAME/preinstall
deleted file mode 100755
index e69de29bb..000000000
--- a/encap/src/bcfg2-site/bcfg2-site-RENAME/preinstall
+++ /dev/null
diff --git a/encap/src/bcfg2-site/site-settings.conf b/encap/src/bcfg2-site/site-settings.conf-example
index c29ab36e2..c29ab36e2 100644
--- a/encap/src/bcfg2-site/site-settings.conf
+++ b/encap/src/bcfg2-site/site-settings.conf-example
diff --git a/encap/src/encap-profiles/Makefile b/encap/src/encap-profiles/Makefile
new file mode 100644
index 000000000..357758f02
--- /dev/null
+++ b/encap/src/encap-profiles/Makefile
@@ -0,0 +1,164 @@
+# $Id$
+
+.PHONY : test log all install clean distclean uninstall encaps rename bcfg2only
+.SUFFIXES :
+.SUFFIXES : .ep .sh .installed .packaged .d
+
+export BASEDIR = /usr/local
+export ENCAPDIR := ${BASEDIR}/encap
+export EPKG := ${BASEDIR}/bin/epkg
+export MKENCAP := ${BASEDIR}/bin/mkencap
+export SHELL = /bin/sh
+srcdir = .
+export EP2TARGET := $(srcdir)/ep2target
+
+BCFG2 := $(basename $(wildcard bcfg2-[0-9].[0-9]*.ep))
+BCFG2_CHEETAH := $(basename $(wildcard bcfg2-cheetah-[0-9].[0-9]*.ep))
+BCFG2_CHEETAH_DOC := $(basename $(wildcard bcfg2-cheetah-doc-*.ep))
+BCFG2_GAMIN := $(basename $(wildcard bcfg2-gamin-*.ep))
+BCFG2_GETTEXT := $(basename $(wildcard bcfg2-gettext-*.ep))
+BCFG2_GLIB := $(basename $(wildcard bcfg2-glib-*.ep))
+BCFG2_LIBGCC := $(basename $(wildcard bcfg2-libgcc-*.sh))
+BCFG2_LIBICONV := $(basename $(wildcard bcfg2-libiconv-*.ep))
+BCFG2_LIBSTDCXX := $(basename $(wildcard bcfg2-libstdc++-*.sh))
+BCFG2_LIBXML2 := $(basename $(wildcard bcfg2-libxml2-*.ep))
+BCFG2_LIBXSLT := $(basename $(wildcard bcfg2-libxslt-*.ep))
+BCFG2_LXML := $(basename $(wildcard bcfg2-lxml-*.ep))
+BCFG2_OPENSSL := $(basename $(wildcard bcfg2-openssl-*.ep))
+BCFG2_PKG_CONFIG := $(basename $(wildcard bcfg2-pkg-config-*.ep))
+BCFG2_PYOPENSSL := $(basename $(wildcard bcfg2-pyopenssl-*.ep))
+BCFG2_PYREX := $(basename $(wildcard bcfg2-pyrex-*.ep))
+BCFG2_PYTHON := $(basename $(wildcard bcfg2-python-[0-9].[0-9]*.ep))
+BCFG2_ZLIB := $(basename $(wildcard bcfg2-zlib-*.ep))
+DAEMONTOOLS := $(basename $(wildcard daemontools-[0-9].[0-9]*.ep))
+DAEMONTOOLS_DOC := $(basename $(wildcard daemontools-doc-*.ep))
+M4 := $(basename $(wildcard m4-*.sh))
+MAKESELF := $(basename $(wildcard makeself-*.ep))
+OSTIARTY := $(basename $(wildcard ostiary-[0-9].[0-9]*.ep))
+OSTIARTY_DOC := $(basename $(wildcard ostiary-doc-*.ep))
+PATCH := $(basename $(wildcard patch-*.ep))
+
+sources_ep := $(sort $(BCFG2) $(BCFG2_CHEETAH) $(BCFG2_CHEETAH_DOC) $(BCFG2_GETTEXT) $(BCFG2_LIBICONV) $(BCFG2_LIBXML2) $(BCFG2_LIBXSLT) $(BCFG2_LXML) $(BCFG2_OPENSSL) $(BCFG2_PKG_CONFIG) $(BCFG2_PYOPENSSL) $(BCFG2_PYREX) $(BCFG2_PYTHON) $(BCFG2_ZLIB) $(DAEMONTOOLS) $(DAEMONTOOLS_DOC) $(MAKESELF) $(OSTIARTY) $(OSTIARTY_DOC) $(PATCH))
+
+sources_sh := $(sort $(BCFG2_LIBGCC) $(BCFG2_LIBSTDCXX) $(M4))
+
+# Only compile bcfg2-glib and bcfg2-gamin (needed by bcfg2 server) on Linux
+# (Gamin only supports Linux), and only compile bcfg2-python-apt on known
+# Debian and Ubuntu systems (as python-apt is distribution-specific)
+UNAME := $(shell uname)
+
+ifeq ($(UNAME),Linux)
+sources_ep += $(BCFG2_GLIB) $(BCFG2_GAMIN)
+DISTRO := $(shell cat /etc/issue | head -1)
+endif
+
+ifeq ($(DISTRO),Debian GNU/Linux 3.1 \n \l)
+BCFG2_PYTHON_APT = bcfg2-python-apt-0.5.10
+OS ?= linux_debian_sarge
+endif
+
+ifeq ($(DISTRO),Debian GNU/Linux testing/unstable \n \l)
+BCFG2_PYTHON_APT = bcfg2-python-apt-0.6.19
+OS ?= linux_debian_sid
+endif
+
+ifeq ($(DISTRO),Ubuntu 6.06.1 LTS \n \l)
+BCFG2_PYTHON_APT = bcfg2-python-apt-0.6.16.2ubuntu8
+OS ?= linux_ubuntu_dapper
+endif
+
+ifdef BCFG2_PYTHON_APT
+sources_ep += $(BCFG2_PYTHON_APT)
+endif
+
+# List of all sources...
+sources := $(sort $(sources_ep) $(sources_sh))
+
+%.installed : %.ep # Clean, compile and install an encap package
+ @printf "***** START .ep.installed for |$*| ***** \n"
+ -$(EPKG) -q -r $(ENCAPDIR)/$*
+ -rm -rf $(ENCAPDIR)/$*
+ -$(MKENCAP) -m /usr/local/bin/m4 -b -DUP $(srcdir)/$*.ep > ./$*.log 2>&1
+ -$(MKENCAP) -m /usr/local/bin/m4 -b -T $(srcdir)/$*.ep >> ./$*.log 2>&1
+ $(MKENCAP) -m /usr/local/bin/m4 -b -CBI $(srcdir)/$*.ep >> ./$*.log 2>&1
+ $(EPKG) -q -i $(ENCAPDIR)/$*
+ test -h $(BASEDIR)/var/encap/$*
+ touch ./$*.installed
+ @printf "***** STOP .ep.installed for |$*| ***** \n"
+
+%.installed : %.sh # Create and install a "fake" encap package
+ @printf "***** START .sh.installed for |$*| ***** \n"
+ -$(EPKG) -q -r $(ENCAPDIR)/$*
+ -rm -rf $(ENCAPDIR)/$*
+ chmod 755 $(srcdir)/$*.sh && $(srcdir)/$*.sh
+ $(EPKG) -q -i $(ENCAPDIR)/$*
+ test -h $(BASEDIR)/var/encap/$*
+ touch ./$*.installed
+ @printf "***** STOP .sh.installed for |$*| ***** \n"
+
+%.packaged : %.installed # Create .tar.gz encap packages
+ @printf "***** START .installed.packaged for |$*| ***** \n"
+ -rm $(ENCAPDIR)/$*-*.tar.gz
+ -(cd $(ENCAPDIR) && $(MKENCAP) -e $*)
+ -(cd $(ENCAPDIR) && $(MKENCAP) -c $*)
+ mv $(ENCAPDIR)/$*-encap-*.tar.gz ./
+ touch ./$*.packaged
+ @printf "***** STOP .installed.packaged for |$*| ***** \n"
+
+%.d : %.ep # Create dependancy files from .ep files
+ @printf "***** START .d.ep for |$*| ***** \n"
+ chmod 755 $(EP2TARGET) && $(EP2TARGET) $< > $@
+ @printf "***** STOP .d.ep for |$*| ***** \n"
+
+%.d : %.sh # Create dependancy files from .sh files
+ @printf "***** START .d.sh for |$*| ***** \n"
+ chmod 755 $(EP2TARGET) && $(EP2TARGET) $< > $@
+ @printf "***** STOP .d.sh for |$*| ***** \n"
+
+log :
+ ( $(MAKE) install > ./make.log 2>&1 \
+ && $(MAKE) encaps >> ./make.log 2>&1 \
+ && $(MAKE) rename >> ./make.log 2>&1 ) &
+
+all : install encaps rename
+
+.DELETE_ON_ERROR : # delete the target of a rule if it has changed and its
+ # commands exit with a nonzero exit status
+
+install : $(EPKG) $(MKENCAP) $(EP2TARGET) $(addsuffix .installed,$(sources))
+
+encaps : $(EPKG) $(MKENCAP) $(EP2TARGET) $(addsuffix .packaged,$(sources))
+
+rename : encaps
+ if [ "$(OS)x" != "x" ]; then OS="$(OS)"; fi && \
+ if [ "$${OS}x" != "x" ]; then \
+ for OLDNAME in `ls ./*-encap-*.tar.gz`; do \
+ NEWNAME="`printf $${OLDNAME} \
+ | awk -F- '{$$NF = "OSDIST.tar.gz" ; print}' \
+ | sed s:\ :-:g | sed s:OSDIST:\$${OS}:g`" ; \
+ if [ "$${OLDNAME}x" != "$${NEWNAME}x" ]; then \
+ mv ./$${OLDNAME} ./$${NEWNAME}; \
+ fi; \
+ done; \
+ fi
+
+clean :
+ -(rm ./*.log; rm ./*.packaged; rm ./*.gz; rm ./*~)
+
+distclean : clean
+ -rm ./*.d
+
+uninstall : distclean
+ -(find $(BASEDIR)/lib/bcfg2 | grep "\.pyc" | xargs -n1 rm)
+ -(ENCAPS="m4 patch daemontools makeself ostiary bcfg2"; \
+ for ENCAP in $${ENCAPS}; do \
+ $(EPKG) -q -r $(ENCAPDIR)/$${ENCAP}-*; \
+ rm -rf $(ENCAPDIR)/$${ENCAP}-*; \
+ rm ./$${ENCAP}-*.installed; \
+ done)
+ test ! -d $(BASEDIR)/lib/bcfg2
+
+bcfg2only :
+ $(MAKE) -t; sleep 2; touch $(srcdir)/$(BCFG2).ep; $(MAKE)
+
+include $(addsuffix .d,$(sources))
diff --git a/encap/src/encap-profiles/bcfg2-0.8.2.ep b/encap/src/encap-profiles/bcfg2-0.8.3pre1.ep
index cb8b99ecf..55834df59 100644
--- a/encap/src/encap-profiles/bcfg2-0.8.2.ep
+++ b/encap/src/encap-profiles/bcfg2-0.8.3pre1.ep
@@ -4,9 +4,23 @@
<encap_profile
profile_ver="1.0"
- pkgspec="bcfg2-0.8.2"
+ pkgspec="bcfg2-0.8.3pre1"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-openssl-0.9.8b" />
+<prereq package="bcfg2-libstdc++-0.1" />
+<prereq package="bcfg2-libgcc-0.1" />
+<prereq package="bcfg2-python-2.4.3" />
+<prereq package="bcfg2-pyopenssl-0.6" />
+<prereq package="bcfg2-libxml2-2.6.26" />
+<prereq package="bcfg2-libxslt-1.1.17" />
+<prereq package="bcfg2-lxml-1.0.1" />
+
<environment
variable="CC"
value="gcc"
@@ -52,8 +66,8 @@ PLATFORM_ENDIF
/>
<source
-url="http://www.pobox.com/users/dclark/mirror/bcfg/bcfg2-0.8.2.tar.gz
- ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-0.8.2.tar.gz"
+url="http://www.pobox.com/users/dclark/mirror/bcfg/bcfg2-0.8.3pre1.tar.gz
+ ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-0.8.3pre1.tar.gz"
>
<configure>
@@ -159,7 +173,7 @@ def make_files_list(dir, regx):
# don't include symbolic links
for root, dirs, files in os.walk(dir):
for name in files:
- if cregex.search(name) and name not in ("b2-regexplace.sh", "b2-regexplace.py", "postinstall", "postinstall.log", "bcfg2-0.8.2.ep"):
+ if cregex.search(name) and name not in ("b2-regexplace.sh", "b2-regexplace.py", "postinstall", "postinstall.log", "bcfg2-0.8.3pre1.ep"):
path = os.path.join(root, name)
if not os.path.islink(path):
fileslist.append(path)
diff --git a/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep b/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep
index ba77108f3..956536109 100644
--- a/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep
+++ b/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep
@@ -7,6 +7,9 @@
pkgspec="bcfg2-cheetah-2.0rc7"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-python-2.4.3" />
+
<environment
variable="CC"
value="gcc"
@@ -80,6 +83,7 @@ http://umn.dl.sourceforge.net/sourceforge/cheetahtemplate/Cheetah-2.0rc7.tar.gz"
</source>
<prepackage type="set">
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
test -d var || mkdir var
test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
diff --git a/encap/src/encap-profiles/bcfg2-cheetah-doc-0.9.16a1.ep b/encap/src/encap-profiles/bcfg2-cheetah-doc-0.9.16a1.ep
index 023e0bf21..475d5070f 100644
--- a/encap/src/encap-profiles/bcfg2-cheetah-doc-0.9.16a1.ep
+++ b/encap/src/encap-profiles/bcfg2-cheetah-doc-0.9.16a1.ep
@@ -7,6 +7,8 @@
pkgspec="bcfg2-cheetah-doc-0.9.16a1"
>
+<prereq package="m4-1.4.4" />
+
<environment
variable="PATH"
PLATFORM_IF_MATCH(solaris)
@@ -47,6 +49,7 @@ cp -R * ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/cheetah
</source>
<prepackage>
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
test -d var || mkdir var
test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
diff --git a/encap/src/encap-profiles/bcfg2-gamin-0.1.7.ep b/encap/src/encap-profiles/bcfg2-gamin-0.1.7.ep
index db2c2037d..99118d03f 100644
--- a/encap/src/encap-profiles/bcfg2-gamin-0.1.7.ep
+++ b/encap/src/encap-profiles/bcfg2-gamin-0.1.7.ep
@@ -7,6 +7,11 @@
pkgspec="bcfg2-gamin-0.1.7"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-python-2.4.3" />
<prereq package="bcfg2-glib-2.8.6" />
<environment
@@ -66,8 +71,9 @@ url="http://www.pobox.com/users/dclark/mirror/gamin/gamin-0.1.7.tar.gz
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/bcfg2-gettext-0.14.5.ep b/encap/src/encap-profiles/bcfg2-gettext-0.14.5.ep
index eaf6b01e1..7116b0b98 100644
--- a/encap/src/encap-profiles/bcfg2-gettext-0.14.5.ep
+++ b/encap/src/encap-profiles/bcfg2-gettext-0.14.5.ep
@@ -7,6 +7,9 @@
pkgspec="bcfg2-gettext-0.14.5"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+
<environment
variable="CC"
value="gcc"
@@ -66,14 +69,14 @@ url="http://www.pobox.com/users/dclark/mirror/gettext/gettext-0.14.5.tar.gz
<prepackage type="set">
# Make man pages available from /usr/local/lib/bcfg2/man
mv lib/bcfg2/share/man lib/bcfg2/
-# Other stuff...
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description Gettext - Tools to produce multi-lingual messages
+description gettext - tools to produce multi-lingual messages
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-glib-2.8.6.ep b/encap/src/encap-profiles/bcfg2-glib-2.8.6.ep
index 3c0103706..f20eeae32 100644
--- a/encap/src/encap-profiles/bcfg2-glib-2.8.6.ep
+++ b/encap/src/encap-profiles/bcfg2-glib-2.8.6.ep
@@ -7,6 +7,15 @@
pkgspec="bcfg2-glib-2.8.6"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-python-2.4.3" />
+<prereq package="bcfg2-libxml2-2.6.26" />
+<prereq package="bcfg2-libxslt-1.1.17" />
+
<environment
variable="CC"
value="gcc"
@@ -65,13 +74,14 @@ url="http://www.pobox.com/users/dclark/mirror/glib/glib-2.8.6.tar.gz
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description GLib - data structure handling, portability wrappers, and interfaces
+description glib - data structure handling, portability wrappers, and interfaces
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep b/encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep
index b25f7090b..b1e534191 100644
--- a/encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep
+++ b/encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep
@@ -7,6 +7,8 @@
pkgspec="bcfg2-libiconv-1.9.2"
>
+<prereq package="m4-1.4.4" />
+
<environment
variable="CC"
value="gcc"
@@ -66,14 +68,14 @@ url="http://www.pobox.com/users/dclark/mirror/libiconv/libiconv-1.9.2.tar.gz
<prepackage type="set">
# Make man pages available from /usr/local/lib/bcfg2/man
mv lib/bcfg2/share/man lib/bcfg2/
-# Other stuff...
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description Libiconv - Converts between character encodings
+description libiconv - Converts between character encodings
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-libxml2-2.6.26.ep b/encap/src/encap-profiles/bcfg2-libxml2-2.6.26.ep
index 318f90787..d76256e59 100644
--- a/encap/src/encap-profiles/bcfg2-libxml2-2.6.26.ep
+++ b/encap/src/encap-profiles/bcfg2-libxml2-2.6.26.ep
@@ -7,6 +7,13 @@
pkgspec="bcfg2-libxml2-2.6.26"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-python-2.4.3" />
+
<environment
variable="CC"
value="gcc"
@@ -72,15 +79,16 @@ PLATFORM_ENDIF
</source>
<prepackage type="set">
-mkdir bin 2>/dev/null || exit 0
+test -d bin || mkdir bin
ln -sf ../lib/bcfg2/bin/xmllint bin/b2-xmllint
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description Libxml2 - XML C library for the Gnome project
+description libxml2 - XML C library for the Gnome project
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-libxslt-1.1.17.ep b/encap/src/encap-profiles/bcfg2-libxslt-1.1.17.ep
index 8845c4a4f..96c3d4247 100644
--- a/encap/src/encap-profiles/bcfg2-libxslt-1.1.17.ep
+++ b/encap/src/encap-profiles/bcfg2-libxslt-1.1.17.ep
@@ -7,6 +7,14 @@
pkgspec="bcfg2-libxslt-1.1.17"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-python-2.4.3" />
+<prereq package="bcfg2-libxml2-2.6.26" />
+
<environment
variable="CC"
value="gcc"
@@ -77,13 +85,14 @@ PLATFORM_ENDIF
<prepackage type="set">
mv lib/bcfg2/lib/lib/python2.4 lib/bcfg2/lib
rmdir lib/bcfg2/lib/lib
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description Libxml2 - XML C library for the Gnome project
+description libxslt - XSLT C processing library
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-lxml-1.0.1.ep b/encap/src/encap-profiles/bcfg2-lxml-1.0.1.ep
index aa8e009e1..b8cc4c6fb 100644
--- a/encap/src/encap-profiles/bcfg2-lxml-1.0.1.ep
+++ b/encap/src/encap-profiles/bcfg2-lxml-1.0.1.ep
@@ -7,6 +7,16 @@
pkgspec="bcfg2-lxml-1.0.1"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-python-2.4.3" />
+<prereq package="bcfg2-pyrex-0.9.4.1" />
+<prereq package="bcfg2-libxml2-2.6.26" />
+<prereq package="bcfg2-libxslt-1.1.17" />
+
<environment
variable="CC"
value="gcc"
@@ -82,8 +92,9 @@ make clean
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/bcfg2-openssl-0.9.8b.ep b/encap/src/encap-profiles/bcfg2-openssl-0.9.8b.ep
index 2fa76160b..6a5d92659 100644
--- a/encap/src/encap-profiles/bcfg2-openssl-0.9.8b.ep
+++ b/encap/src/encap-profiles/bcfg2-openssl-0.9.8b.ep
@@ -7,6 +7,12 @@
pkgspec="bcfg2-openssl-0.9.8b"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+
<environment
variable="CC"
value="gcc"
@@ -75,15 +81,16 @@ url="http://www.pobox.com/users/dclark/mirror/openssl/openssl-0.9.8b.tar.gz
# Make man pages available from /usr/local/lib/bcfg2/man
mv lib/bcfg2/ssl/man lib/bcfg2/
# Other stuff...
-mkdir bin 2>/dev/null || exit 0
+test -d bin || mkdir bin
ln -sf ../lib/bcfg2/bin/openssl bin/b2-openssl
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description SSL encryption tool and library
+description openssl - SSL encryption tool and library
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-pkg-config-0.20.ep b/encap/src/encap-profiles/bcfg2-pkg-config-0.20.ep
index 62db17661..5b61c9a92 100644
--- a/encap/src/encap-profiles/bcfg2-pkg-config-0.20.ep
+++ b/encap/src/encap-profiles/bcfg2-pkg-config-0.20.ep
@@ -7,6 +7,10 @@
pkgspec="bcfg2-pkg-config-0.20"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+
<environment
variable="CC"
value="gcc"
@@ -65,8 +69,9 @@ url="http://www.pobox.com/users/dclark/mirror/pkg-config/pkg-config-0.20.tar.gz
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep b/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep
index 7f9fa97f6..a2a59d562 100644
--- a/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep
+++ b/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep
@@ -7,6 +7,14 @@
pkgspec="bcfg2-pyopenssl-0.6"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-openssl-0.9.8b" />
+<prereq package="bcfg2-python-2.4.3" />
+
<environment
variable="CC"
value="gcc"
@@ -79,8 +87,9 @@ url="http://www.pobox.com/users/dclark/mirror/pyopenssl/pyOpenSSL-0.6.tar.gz
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/bcfg2-pyrex-0.9.4.1.ep b/encap/src/encap-profiles/bcfg2-pyrex-0.9.4.1.ep
index 8fcc80449..5c411285a 100644
--- a/encap/src/encap-profiles/bcfg2-pyrex-0.9.4.1.ep
+++ b/encap/src/encap-profiles/bcfg2-pyrex-0.9.4.1.ep
@@ -7,6 +7,9 @@
pkgspec="bcfg2-pyrex-0.9.4.1"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-python-2.4.3" />
+
<environment
variable="CC"
value="gcc"
@@ -78,13 +81,14 @@ url="http://www.pobox.com/users/dclark/mirror/pyrex/Pyrex-0.9.4.1.tar.gz
<prepackage type="set">
chmod -R o+r lib/bcfg2
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description Pyrex - a Language for Writing Python Extension Modules
+description pyrex - a language for writing python extension modules
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-python-2.4.3.ep b/encap/src/encap-profiles/bcfg2-python-2.4.3.ep
index f62184a08..454aeced1 100644
--- a/encap/src/encap-profiles/bcfg2-python-2.4.3.ep
+++ b/encap/src/encap-profiles/bcfg2-python-2.4.3.ep
@@ -7,6 +7,13 @@
pkgspec="bcfg2-python-2.4.3"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-zlib-1.2.3" />
+<prereq package="bcfg2-libiconv-1.9.2" />
+<prereq package="bcfg2-gettext-0.14.5" />
+<prereq package="bcfg2-pkg-config-0.20" />
+<prereq package="bcfg2-openssl-0.9.8b" />
+
<environment
variable="CC"
value="gcc"
@@ -86,13 +93,14 @@ mkdir bin 2>/dev/null || exit 0
ln -sf ../lib/bcfg2/bin/idle bin/b2-idle
ln -sf ../lib/bcfg2/bin/pydoc bin/b2-pydoc
ln -sf ../lib/bcfg2/bin/python bin/b2-python
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
]]></prepackage>
<encapinfo>
-description Python - Scripting language
+description python - scripting language
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/bcfg2-python-apt-0.5.10.ep b/encap/src/encap-profiles/bcfg2-python-apt-0.5.10.ep
index 57ce35310..77955e0de 100644
--- a/encap/src/encap-profiles/bcfg2-python-apt-0.5.10.ep
+++ b/encap/src/encap-profiles/bcfg2-python-apt-0.5.10.ep
@@ -7,6 +7,9 @@
pkgspec="bcfg2-python-apt-0.5.10"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-python-2.4.3" />
+
<environment
variable="CC"
value="gcc"
@@ -81,8 +84,9 @@ subdir="python-apt-0.5.10"
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/bcfg2-python-apt-0.6.16.2ubuntu8.ep b/encap/src/encap-profiles/bcfg2-python-apt-0.6.16.2ubuntu8.ep
index 4336827ae..59f30be2c 100644
--- a/encap/src/encap-profiles/bcfg2-python-apt-0.6.16.2ubuntu8.ep
+++ b/encap/src/encap-profiles/bcfg2-python-apt-0.6.16.2ubuntu8.ep
@@ -1,12 +1,15 @@
<?xml version="1.0"?>
-<!-- $Id$ -->
+<!-- $Id:$ -->
<encap_profile
profile_ver="1.0"
pkgspec="bcfg2-python-apt-0.6.16.2ubuntu8"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-python-2.4.3" />
+
<environment
variable="CC"
value="gcc"
@@ -81,8 +84,9 @@ subdir="python-apt-0.6.16.2ubuntu8"
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/bcfg2-python-apt-0.6.19.ep b/encap/src/encap-profiles/bcfg2-python-apt-0.6.19.ep
index 448d04351..af74340ff 100644
--- a/encap/src/encap-profiles/bcfg2-python-apt-0.6.19.ep
+++ b/encap/src/encap-profiles/bcfg2-python-apt-0.6.19.ep
@@ -7,6 +7,9 @@
pkgspec="bcfg2-python-apt-0.6.19"
>
+<prereq package="m4-1.4.4" />
+<prereq package="bcfg2-python-2.4.3" />
+
<environment
variable="CC"
value="gcc"
@@ -81,8 +84,9 @@ subdir="python-apt-0.6.19"
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/bcfg2-zlib-1.2.3.ep b/encap/src/encap-profiles/bcfg2-zlib-1.2.3.ep
index cba36bfb3..3b2effc8e 100644
--- a/encap/src/encap-profiles/bcfg2-zlib-1.2.3.ep
+++ b/encap/src/encap-profiles/bcfg2-zlib-1.2.3.ep
@@ -7,6 +7,8 @@
pkgspec="bcfg2-zlib-1.2.3"
>
+<prereq package="m4-1.4.4" />
+
<environment
variable="CC"
value="gcc"
@@ -77,14 +79,14 @@ PLATFORM_ENDIF
<prepackage type="set">
# Make man pages available from /usr/local/lib/bcfg2/man
mv lib/bcfg2/share/man lib/bcfg2/
-# Other stuff...
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description Zlib compression library
+description zlib - compression library
</encapinfo>
</encap_profile>
diff --git a/encap/src/encap-profiles/daemontools-0.76.ep b/encap/src/encap-profiles/daemontools-0.76.ep
index c09b67a72..c6b93c2ab 100644
--- a/encap/src/encap-profiles/daemontools-0.76.ep
+++ b/encap/src/encap-profiles/daemontools-0.76.ep
@@ -7,8 +7,8 @@
pkgspec="daemontools-0.76"
>
-<prereq package="patch-2.5.9" />
<prereq package="m4-1.4.4" />
+<prereq package="patch-2.5.9" />
<environment
variable="CC"
@@ -277,11 +277,12 @@ mv package/run.inittab package/run.inittab.orig
mv package/boot.inittab package/boot.inittab.orig
mv package/run.rclocal package/run.inittab.orig
mv package/boot.rclocal package/boot.inittab.orig
-mkdir var 2>/dev/null || exit 1
-mkdir var/svc.d 2>/dev/null || exit 1
-mkdir var/svc.d/svscan 2>/dev/null || exit 1
-mkdir var/svc.d/svscan/log 2>/dev/null || exit 1
-mkdir var/encap 2>/dev/null || exit 1
+test -d var || mkdir var
+test -d var/svc.d || mkdir var/svc.d
+test -d var/svc.d/svscan || mkdir var/svc.d/svscan
+test -d var/svc.d/svscan/log || mkdir var/svc.d/svscan/log
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/daemontools-doc-20060731.ep b/encap/src/encap-profiles/daemontools-doc-20060731.ep
index dee918647..1ce5d2d3e 100644
--- a/encap/src/encap-profiles/daemontools-doc-20060731.ep
+++ b/encap/src/encap-profiles/daemontools-doc-20060731.ep
@@ -7,6 +7,8 @@
pkgspec="daemontools-doc-20060731"
>
+<prereq package="m4-1.4.4" />
+
<environment
variable="PATH"
PLATFORM_IF_MATCH(solaris)
@@ -46,8 +48,9 @@ cp -R * ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/daemontools
</source>
<prepackage>
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/ep2target b/encap/src/encap-profiles/ep2target
new file mode 100755
index 000000000..31beb6e79
--- /dev/null
+++ b/encap/src/encap-profiles/ep2target
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+chomp() {
+ printf "$1" | sed s:^\ ::g | sed s:\ $::g
+}
+
+cname() {
+ unset CTMP1 CTMP2
+ for PART in $(printf "$1" | sed s:-:\ :g); do
+ if [ ! "`printf $PART | cut -c1 | sed s:[0-9]:0:g`x" = "0x" ]; then
+ CTMP1="${CTMP1} ${PART}"
+ fi
+ done
+ CTMP2="`chomp "$CTMP1" | sed s:\ :_:g | sed s:\+:X:g | tr [a-z] [A-Z]`"
+ printf "\$(%s)%s" "`basename "$CTMP2"`" "$2"
+}
+
+builddeps() {
+ unset DEPSTMP
+ for LINE in `grep "<prereq package=\"" $1 \
+ | sed s/\ //g \
+ | awk -F\" '{print $2}'`; do
+ DEPSTMP="${DEPSTMP} `cname $LINE $2`"
+ done
+ chomp "$DEPSTMP"
+}
+
+installdeps() {
+ unset DEPSTMP
+ for LINE in `grep "prereq pkgspec" $1 \
+ | awk '{print $4}'`; do
+ DEPSTMP="${DEPSTMP} `cname $LINE $2`"
+ done
+ chomp "$DEPSTMP"
+}
+
+printf "%s : %s\n" "`cname $1 .installed`" "`builddeps $1 .installed`"
+printf "%s : %s\n" "`cname $1 .packaged`" "`installdeps $1 .packaged`"
+
+exit 0
diff --git a/encap/src/encap-profiles/m4-1.4.4.sh b/encap/src/encap-profiles/m4-1.4.4.sh
index b424007eb..835036722 100755
--- a/encap/src/encap-profiles/m4-1.4.4.sh
+++ b/encap/src/encap-profiles/m4-1.4.4.sh
@@ -40,8 +40,8 @@ cat > ${ENCAP_PKGNAME}.ep << EOF
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/makeself-2.1.4.ep b/encap/src/encap-profiles/makeself-2.1.4.ep
index 8e8c5f2b5..fa64e1da8 100644
--- a/encap/src/encap-profiles/makeself-2.1.4.ep
+++ b/encap/src/encap-profiles/makeself-2.1.4.ep
@@ -7,6 +7,8 @@
pkgspec="makeself-2.1.4"
>
+<prereq package="m4-1.4.4" />
+
<source
url="http://www.pobox.com/users/dclark/mirror/makeself/makeself-2.1.4.run
http://www.megastep.org/makeself/makeself-2.1.4.run"
diff --git a/encap/src/encap-profiles/ostiary-3.4.ep b/encap/src/encap-profiles/ostiary-3.4.ep
index be0c4fbdb..c3d95c6c0 100644
--- a/encap/src/encap-profiles/ostiary-3.4.ep
+++ b/encap/src/encap-profiles/ostiary-3.4.ep
@@ -7,8 +7,8 @@
pkgspec="ostiary-3.4"
>
-<prereq package="patch-2.5.9" />
<prereq package="m4-1.4.4" />
+<prereq package="patch-2.5.9" />
<environment
variable="CC"
@@ -71,22 +71,22 @@ url="http://www.pobox.com/users/dclark/mirror/ostiary/ostiary-3.4.tar.gz
<prepackage>
# /usr/local/etc stuff
-mkdir share 2>/dev/null || exit 1
-mkdir share/doc 2>/dev/null || exit 1
-mkdir share/doc/ostiary 2>/dev/null || exit 1
-mkdir share/doc/ostiary/examples 2>/dev/null || exit 1
+test -d share || mkdir share
+test -d share/doc || mkdir share/doc
+test -d share/doc/ostiary || mkdir share/doc/ostiary
+test -d share/doc/ostiary/examples || mkdir share/doc/ostiary/examples
mv etc/ostiary.cfg share/doc/ostiary/examples/ostiary.cfg
rmdir etc
# daemons should be in /usr/local/sbin
-mkdir sbin 2>/dev/null || exit 1
+test -d sbin || mkdir sbin
mv bin/ostiaryd sbin/ostiaryd
# daemontool stuff
-mkdir var 2>/dev/null || exit 1
-mkdir var/svc.d 2>/dev/null || exit 1
-mkdir var/svc.d/ostiary 2>/dev/null || exit 1
-mkdir var/svc.d/ostiary/log 2>/dev/null || exit 1
-# encap stuff
-mkdir var/encap 2>/dev/null || exit 0
+test -d var || mkdir var
+test -d var/svc.d || mkdir var/svc.d
+test -d var/svc.d/ostiary || mkdir var/svc.d/ostiary
+test -d var/svc.d/ostiary/log || mkdir var/svc.d/ostiary/log
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/ostiary-doc-20060801.ep b/encap/src/encap-profiles/ostiary-doc-20060801.ep
index 3b0251f2e..6ffb698be 100644
--- a/encap/src/encap-profiles/ostiary-doc-20060801.ep
+++ b/encap/src/encap-profiles/ostiary-doc-20060801.ep
@@ -7,6 +7,8 @@
pkgspec="ostiary-doc-20060801"
>
+<prereq package="m4-1.4.4" />
+
<environment
variable="PATH"
PLATFORM_IF_MATCH(solaris)
@@ -46,8 +48,9 @@ cp * ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/share/doc/ostiary
</source>
<prepackage>
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
diff --git a/encap/src/encap-profiles/patch-2.5.9.ep b/encap/src/encap-profiles/patch-2.5.9.ep
index c6e2f6b69..18ce80d2b 100644
--- a/encap/src/encap-profiles/patch-2.5.9.ep
+++ b/encap/src/encap-profiles/patch-2.5.9.ep
@@ -42,13 +42,14 @@ PLATFORM_ENDIF
</source>
<prepackage type="set">
-mkdir var 2>/dev/null || exit 0
-mkdir var/encap 2>/dev/null || exit 0
+# Make "this encap is installed" sentinal file available in /usr/local/var/encap
+test -d var || mkdir var
+test -d var/encap || mkdir var/encap
touch var/encap/${ENCAP_PKGNAME}
</prepackage>
<encapinfo>
-description patch - Apply a diff file to an original
+description patch - apply a diff file to an original
</encapinfo>
</encap_profile>