diff options
Diffstat (limited to 'encap')
28 files changed, 176 insertions, 271 deletions
diff --git a/encap/HOWTO b/encap/HOWTO index 488846f41..1d9cc1387 100644 --- a/encap/HOWTO +++ b/encap/HOWTO @@ -4,7 +4,7 @@ EncapPackages | EncapReadme | EncapInstall | '''EncapHowto''' = EncapHowto: Encap Packages HOWTO = -TODO: Aim is to have nice HOWTO for 0.8.4 release. +TODO: Aim is to have nice HOWTO for 0.8.6 release. <Reference to README and INSTALL in wiki: format> diff --git a/encap/TODO b/encap/TODO index 83892c782..0a85baa57 100644 --- a/encap/TODO +++ b/encap/TODO @@ -1,37 +1,11 @@ = EncapTodo: TODO = -== For 0.8.4 == - * Write HOWTO * Packages all deps of new reports (django etc.) for GNU/Linux - * Move from lxml (+deps) to elementtree for client - * Maybe just move to Python 2.5 (which includes elementtree) if final comes - out on schedule (Sept 12th, 2006 is planned final release date) - -== For 0.8.5 or earlier == - - * Cut down distribution size to something more reasonable - * Some platforms are now >150MB (installed) - * Remove unneeded doc / test code / etc. - * Perhaps make seperate -doc- or -extra- encap packages - * Might be able to make client-side only python 2.5 (statically linked to - deps like openssl), bcfg2, daemontools, ostiary, and bcfg2-site. - * http://groups.google.com/groups/starred?lnk=lnmst&hl=en - * Look into using http://sourceforge.net/projects/cx-freeze/ for client-side + * Work towards full compliance with encap 2.1 spec -== For 0.8.6 or earlier == - * Improve handling of libgcc/libstdc++ - - * Try to make build not effect the build host as much - - * Try to make it possible to build as non-root - - * Handle removals nicely (preremove/postremove scripts) - * Work towards full compliance with encap 2.1 spec - * Remove /service links in remove scripts for daemontools services - == Documentation Version == $Id$ diff --git a/encap/src/bcfg2-site/bcfg2-site-RENAME/preremove b/encap/src/bcfg2-site/bcfg2-site-RENAME/preremove new file mode 100755 index 000000000..26e1b05ab --- /dev/null +++ b/encap/src/bcfg2-site/bcfg2-site-RENAME/preremove @@ -0,0 +1,24 @@ +#!/bin/sh -e + +umask 002 +BASEDIR="${ENCAP_TARGET}" # Usually /usr/local +PKGDIR="${ENCAP_SOURCE}/${ENCAP_PKGNAME}" # Ususally /usr/local/encap/<pkgname> + +printf "Running ${ENCAP_PKGNAME} preremove script...\n" +date + +# ostiary (daemontools) +if [ -h /service/ostiary ]; then + printf "INFO: Removing /service/ostiary...\n" + /command/svrm /service/ostiary +fi + +# bcfg2-client (daemontools) +if [ -h /service/bcfg2-client ]; then + printf "INFO: Removing /service/bcfg2-client...\n" + /command/svrm /service/bcfg2-client +fi + +printf "Finished ${ENCAP_PKGNAME} preremove script.\n" + +exit 0 diff --git a/encap/src/encap-profiles/Makefile b/encap/src/encap-profiles/Makefile index f16bb693c..af17d4d59 100644 --- a/encap/src/encap-profiles/Makefile +++ b/encap/src/encap-profiles/Makefile @@ -1,7 +1,7 @@ # $Id$ .PHONY : test log all install clean distclean uninstall encaps rename bcfg2only bcfg2bump -.SUFFIXES : +.SUFFIXES : .SUFFIXES : .ep .sh .installed .packaged .d export BASEDIR = /usr/local @@ -17,11 +17,8 @@ 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_GZIP := $(basename $(wildcard bcfg2-gzip-*.ep)) BCFG2_LIBXML2 := $(basename $(wildcard bcfg2-libxml2-*.ep)) BCFG2_LIBXSLT := $(basename $(wildcard bcfg2-libxslt-*.ep)) BCFG2_LXML := $(basename $(wildcard bcfg2-lxml-*.ep)) @@ -40,9 +37,9 @@ 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_READLINE) $(BCFG2_ZLIB) $(DAEMONTOOLS) $(DAEMONTOOLS_DOC) $(MAKESELF) $(OSTIARTY) $(OSTIARTY_DOC) $(PATCH)) +sources_ep := $(sort $(BCFG2) $(BCFG2_CHEETAH) $(BCFG2_CHEETAH_DOC) $(BCFG2_GZIP) $(BCFG2_LIBXML2) $(BCFG2_LIBXSLT) $(BCFG2_LXML) $(BCFG2_OPENSSL) $(BCFG2_PKG_CONFIG) $(BCFG2_PYOPENSSL) $(BCFG2_PYREX) $(BCFG2_PYTHON) $(BCFG2_READLINE) $(BCFG2_ZLIB) $(DAEMONTOOLS) $(DAEMONTOOLS_DOC) $(MAKESELF) $(OSTIARTY) $(OSTIARTY_DOC) $(PATCH)) -sources_sh := $(sort $(BCFG2_LIBGCC) $(BCFG2_LIBSTDCXX) $(M4)) +sources_sh := $(sort $(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 @@ -123,8 +120,8 @@ log : && $(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 + +.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) $(M4).installed $(addsuffix .installed,$(sources)) @@ -152,12 +149,12 @@ rename : encaps fi; \ done; -clean : +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"; \ @@ -170,7 +167,7 @@ uninstall : distclean bcfg2only : $(MAKE) -t; sleep 2; touch $(srcdir)/$(BCFG2).ep; $(MAKE) - + bcfg2bump : @if [ "$(NEW)x" != "x" ]; then NEW="$(NEW)"; fi && \ if [ "$(OLD)x" != "x" ]; then OLD="$(OLD)"; fi && \ diff --git a/encap/src/encap-profiles/bcfg2-0.8.4.ep b/encap/src/encap-profiles/bcfg2-0.8.4.ep index 53807bcb1..bc52ccd13 100644 --- a/encap/src/encap-profiles/bcfg2-0.8.4.ep +++ b/encap/src/encap-profiles/bcfg2-0.8.4.ep @@ -15,21 +15,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-openssl-0.9.8b" /> -<prereq package="bcfg2-libstdc++-0.1" /> -<prereq package="bcfg2-libgcc-0.1" /> +<prereq package="bcfg2-openssl-0.9.8c" /> <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" /> +<prereq package="bcfg2-lxml-1.1.1" /> <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> @@ -445,20 +441,34 @@ if [ ! -f $DEFAULT/bcfg2-server/.SENTINEL ]; then fi ]]></include_file> +<include_file name="preremove" mode="0755"><![CDATA[ +#!/bin/sh + +printf "Running bcfg2 preremove script...\n" +date + +if [ -h /service/bcfg2-client ]; then + printf "INFO: Removing /service/bcfg2-client...\n" + /command/svrm /service/bcfg2-client +fi + +if [ -h /service/bcfg2-server ]; then + printf "INFO: Removing /service/bcfg2-server...\n" + /command/svrm /service/bcfg2-server +fi + +printf "Finished bcfg2 preremove script.\n" +]]></include_file> <encapinfo> description Bcfg2 - Provides a declarative interface to system configuration prereq pkgspec >= bcfg2-zlib-1.2.3 -prereq pkgspec >= bcfg2-libiconv-1.9.2 -prereq pkgspec >= bcfg2-gettext-0.14.5 -prereq pkgspec >= bcfg2-openssl-0.9.8b -prereq pkgspec >= bcfg2-libstdc++-0.1 -prereq pkgspec >= bcfg2-libgcc-0.1 +prereq pkgspec >= bcfg2-openssl-0.9.8c prereq pkgspec >= bcfg2-python-2.4.3 prereq pkgspec >= bcfg2-pyopenssl-0.6 prereq pkgspec >= bcfg2-libxml2-2.6.26 prereq pkgspec >= bcfg2-libxslt-1.1.17 -prereq pkgspec >= bcfg2-lxml-1.0.1 +prereq pkgspec >= bcfg2-lxml-1.1.1 </encapinfo> </encap_profile> diff --git a/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep b/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep index 956536109..5bd3668ff 100644 --- a/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep +++ b/encap/src/encap-profiles/bcfg2-cheetah-2.0rc7.ep @@ -12,7 +12,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> 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 99118d03f..a3e41fad9 100644 --- a/encap/src/encap-profiles/bcfg2-gamin-0.1.7.ep +++ b/encap/src/encap-profiles/bcfg2-gamin-0.1.7.ep @@ -8,15 +8,13 @@ > <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 variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> 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 f20eeae32..e91dcfb5a 100644 --- a/encap/src/encap-profiles/bcfg2-glib-2.8.6.ep +++ b/encap/src/encap-profiles/bcfg2-glib-2.8.6.ep @@ -9,8 +9,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" /> @@ -18,7 +16,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> @@ -68,7 +66,7 @@ url="http://www.pobox.com/users/dclark/mirror/glib/glib-2.8.6.tar.gz <configure> ./configure \ --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ - --with-libiconv=gnu + --without-libiconv </configure> </source> diff --git a/encap/src/encap-profiles/bcfg2-gettext-0.14.5.ep b/encap/src/encap-profiles/bcfg2-gzip-1.2.4b.ep index 7116b0b98..ce7c39420 100644 --- a/encap/src/encap-profiles/bcfg2-gettext-0.14.5.ep +++ b/encap/src/encap-profiles/bcfg2-gzip-1.2.4b.ep @@ -4,15 +4,16 @@ <encap_profile profile_ver="1.0" - pkgspec="bcfg2-gettext-0.14.5" + pkgspec="bcfg2-gzip-1.2.4b" > <prereq package="m4-1.4.4" /> -<prereq package="bcfg2-libiconv-1.9.2" /> +<prereq package="patch-2.5.9" /> +<prereq package="bcfg2-pkg-config-0.20" /> <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> @@ -55,20 +56,45 @@ PLATFORM_ENDIF /> <source -url="http://www.pobox.com/users/dclark/mirror/gettext/gettext-0.14.5.tar.gz - http://ftp.gnu.org/pub/gnu/gettext/gettext-0.14.5.tar.gz" +url="http://www.pobox.com/users/dclark/mirror/gzip/gzip-1.2.4a.tar.gz + ftp://ftp.gnu.org/gnu/gzip/gzip-1.2.4a.tar.gz" > +<patch options="-p1"><![CDATA[ +--- gzip-1.2.4/gzip.c Thu Aug 19 15:39:43 1993 ++++ gzip-1.2.4b/gzip.c Tue Jan 8 21:44:18 2002 +@@ -1005,7 +1005,14 @@ + #ifdef NO_MULTIPLE_DOTS + char *dot; /* pointer to ifname extension, or NULL */ + #endif ++ int max_suffix_len = (z_len > 3 ? z_len : 3); + ++ /* Leave enough room in ifname or ofname for suffix: */ ++ if (strlen(iname) >= sizeof(ifname) - max_suffix_len) { ++ strncpy(ifname, iname, sizeof(ifname) - 1); ++ /* last byte of ifname is already zero and never overwritten */ ++ error("file name too long"); ++ } + strcpy(ifname, iname); + + /* If input file exists, return OK. */ +]]></patch> + <configure> ./configure \ --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" </configure> +<install type="prepend"> +test -d ${ENCAP_SOURCE} || mkdir ${ENCAP_SOURCE} +test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME} || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME} +test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib +test -d ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 || mkdir ${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 +</install> + </source> <prepackage type="set"> -# Make man pages available from /usr/local/lib/bcfg2/man -mv lib/bcfg2/share/man lib/bcfg2/ # 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 @@ -76,7 +102,7 @@ touch var/encap/${ENCAP_PKGNAME} </prepackage> <encapinfo> -description gettext - tools to produce multi-lingual messages +description gzip - The GNU compression utility </encapinfo> </encap_profile> diff --git a/encap/src/encap-profiles/bcfg2-libgcc-0.1.sh b/encap/src/encap-profiles/bcfg2-libgcc-0.1.sh deleted file mode 100755 index d6de6c471..000000000 --- a/encap/src/encap-profiles/bcfg2-libgcc-0.1.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# $Id$ - -# Creates encap of libgcc libraries from build machine so other machines -# don't need to have gcc installed, or in the case of GNU/Linux so we're -# using a consistant libgcc version everywhere. - -ENCAP_SOURCE=${ENCAPDIR} -ENCAP_PKGNAME=bcfg2-libgcc-0.1 -PATH=$PATH:/usr/local/bin -export PATH - -if [ "${ENCAP_SOURCE}x" = "x" ]; then - printf "Error in ${ENCAP_PKGNAME}.sh : ENCAPDIR not set, exiting...\n" - exit 1 -fi - -umask 022 - -CXXBASE=`which gcc | xargs dirname | xargs dirname` -for LIB in `cd ${CXXBASE} && find lib | grep libgcc`; do - cd ${CXXBASE} - LIBDIR=`dirname ${LIB}` - NEWDIR=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2/${LIBDIR} - if [ ! -d ${NEWDIR} ]; then mkdir -p ${NEWDIR}; fi - cp -p ${LIB} ${NEWDIR} -done - -SDIR=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/var/encap -mkdir -p ${SDIR} -touch ${SDIR}/${ENCAP_PKGNAME} - -exit 0 - diff --git a/encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep b/encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep deleted file mode 100644 index b1e534191..000000000 --- a/encap/src/encap-profiles/bcfg2-libiconv-1.9.2.ep +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0"?> - -<!-- $Id$ --> - -<encap_profile - profile_ver="1.0" - pkgspec="bcfg2-libiconv-1.9.2" -> - -<prereq package="m4-1.4.4" /> - -<environment - variable="CC" - value="gcc" - type="set" -/> - -<environment - variable="PATH" -PLATFORM_IF_MATCH(solaris) - value="/usr/local/lib/bcfg2/bin:/usr/local/bin:/usr/sfw/bin:/usr/ccs/bin:" -PLATFORM_ELSE - value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" -PLATFORM_ENDIF - type="prepend" -/> - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE -<environment - variable="MAKE" - value="gmake" - type="set" -/> -PLATFORM_ENDIF - -<environment - variable="LDFLAGS" -PLATFORM_IF_MATCH(linux) - value="-L/usr/local/lib/bcfg2/lib -Wl,-rpath,/usr/local/lib/bcfg2/lib" -PLATFORM_ELSE_IF_MATCH(aix) - value="-L/usr/local/lib/bcfg2/lib -Wl,-blibpath:/usr/local/lib/bcfg2/lib:/usr/lib" -PLATFORM_ELSE_IF_MATCH(solaris) - value="-L/usr/local/lib/bcfg2/lib -R/usr/local/lib/bcfg2/lib:/usr/lib -YP,/usr/local/lib/bcfg2/lib:/usr/lib" -PLATFORM_ELSE -PLATFORM_ENDIF - type="set" -/> - -<environment - variable="CPPFLAGS" - value="-I/usr/local/lib/bcfg2/include" - type="set" -/> - -<source -url="http://www.pobox.com/users/dclark/mirror/libiconv/libiconv-1.9.2.tar.gz - http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz" -> - -<configure> -./configure \ - --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" -</configure> - -</source> - -<prepackage type="set"> -# Make man pages available from /usr/local/lib/bcfg2/man -mv lib/bcfg2/share/man lib/bcfg2/ -# 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 -</encapinfo> - -</encap_profile> diff --git a/encap/src/encap-profiles/bcfg2-libstdc++-0.1.sh b/encap/src/encap-profiles/bcfg2-libstdc++-0.1.sh deleted file mode 100755 index 6b3fe4a98..000000000 --- a/encap/src/encap-profiles/bcfg2-libstdc++-0.1.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# $Id$ - -# Creates encap of libstdc++ libraries from build machine so other machines -# don't need to have g++ installed, or in the case of GNU/Linux so we're -# using a consistant libstdc++ version everywhere. - -ENCAP_SOURCE=${ENCAPDIR} -ENCAP_PKGNAME=bcfg2-libstdc++-0.1 -PATH=$PATH:/usr/local/bin -export PATH - -if [ "${ENCAP_SOURCE}x" = "x" ]; then - printf "Error in ${ENCAP_PKGNAME}.sh : ENCAPDIR not set, exiting...\n" - exit 1 -fi - -umask 022 - -CXXBASE=`which g++ | xargs dirname | xargs dirname` -for LIB in `cd ${CXXBASE} && find lib | grep libstdc++`; do - cd ${CXXBASE} - LIBDIR=`dirname ${LIB}` - NEWDIR=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2/${LIBDIR} - if [ ! -d ${NEWDIR} ]; then mkdir -p ${NEWDIR}; fi - cp -p ${LIB} ${NEWDIR} -done - -SDIR=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/var/encap -mkdir -p ${SDIR} -touch ${SDIR}/${ENCAP_PKGNAME} - -exit 0 - 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 d76256e59..aa7f5bb01 100644 --- a/encap/src/encap-profiles/bcfg2-libxml2-2.6.26.ep +++ b/encap/src/encap-profiles/bcfg2-libxml2-2.6.26.ep @@ -9,14 +9,12 @@ <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" + value="gcc -static-libgcc" type="set" /> @@ -67,6 +65,7 @@ subdir="libxml2-2.6.26" <configure> ./configure \ --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ + --without-iconv \ PLATFORM_IF_MATCH(aix) PLATFORM_ELSE --enable-shared \ @@ -79,6 +78,10 @@ PLATFORM_ENDIF </source> <prepackage type="set"> +# Remove doc - it's big +if [ -d lib/bcfg2/share/doc ]; then rm -rf lib/bcfg2/share/doc; fi +if [ -d lib/bcfg2/share/gtk-doc ]; then rm -rf lib/bcfg2/share/gtk-doc; fi +# Make convieniance links test -d bin || mkdir bin ln -sf ../lib/bcfg2/bin/xmllint bin/b2-xmllint # Make "this encap is installed" sentinal file available in /usr/local/var/encap 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 96c3d4247..f8d120be7 100644 --- a/encap/src/encap-profiles/bcfg2-libxslt-1.1.17.ep +++ b/encap/src/encap-profiles/bcfg2-libxslt-1.1.17.ep @@ -9,15 +9,13 @@ <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" + value="gcc -static-libgcc" type="set" /> @@ -67,6 +65,7 @@ url="http://www.pobox.com/users/dclark/mirror/libxslt/libxslt-1.1.17.tar.gz <configure> ./configure \ --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ + --without-iconv \ PLATFORM_IF_MATCH(aix) PLATFORM_ELSE --enable-shared \ @@ -83,6 +82,9 @@ PLATFORM_ENDIF </source> <prepackage type="set"> +# Remove doc - it's big +if [ -d lib/bcfg2/share/doc ]; then rm -rf lib/bcfg2/share/doc; fi +# Put python stuff in the right place mv lib/bcfg2/lib/lib/python2.4 lib/bcfg2/lib rmdir lib/bcfg2/lib/lib # Make "this encap is installed" sentinal file available in /usr/local/var/encap diff --git a/encap/src/encap-profiles/bcfg2-lxml-1.0.1.ep b/encap/src/encap-profiles/bcfg2-lxml-1.1.1.ep index b8cc4c6fb..78b1cb786 100644 --- a/encap/src/encap-profiles/bcfg2-lxml-1.0.1.ep +++ b/encap/src/encap-profiles/bcfg2-lxml-1.1.1.ep @@ -4,13 +4,11 @@ <encap_profile profile_ver="1.0" - pkgspec="bcfg2-lxml-1.0.1" + pkgspec="bcfg2-lxml-1.1.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" /> @@ -19,7 +17,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> @@ -62,8 +60,8 @@ PLATFORM_ENDIF /> <source -url="http://www.pobox.com/users/dclark/mirror/lxml/lxml-1.0.1.tgz - http://codespeak.net/lxml/lxml-1.0.1.tgz" +url="http://www.pobox.com/users/dclark/mirror/lxml/lxml-1.1.1.tgz + http://codespeak.net/lxml/lxml-1.1.1.tgz" > <configure> diff --git a/encap/src/encap-profiles/bcfg2-openssl-0.9.8b.ep b/encap/src/encap-profiles/bcfg2-openssl-0.9.8c.ep index 740e9c5bd..9a8181f8e 100644 --- a/encap/src/encap-profiles/bcfg2-openssl-0.9.8b.ep +++ b/encap/src/encap-profiles/bcfg2-openssl-0.9.8c.ep @@ -4,18 +4,16 @@ <encap_profile profile_ver="1.0" - pkgspec="bcfg2-openssl-0.9.8b" + pkgspec="bcfg2-openssl-0.9.8c" > <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" + value="gcc -static-libgcc" type="set" /> @@ -58,8 +56,8 @@ PLATFORM_ENDIF /> <source -url="http://www.pobox.com/users/dclark/mirror/openssl/openssl-0.9.8b.tar.gz - http://www.openssl.org/source/openssl-0.9.8b.tar.gz" +url="http://www.pobox.com/users/dclark/mirror/openssl/openssl-0.9.8c.tar.gz + http://www.openssl.org/source/openssl-0.9.8c.tar.gz" use_objdir="no" > 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 5b61c9a92..db763a00c 100644 --- a/encap/src/encap-profiles/bcfg2-pkg-config-0.20.ep +++ b/encap/src/encap-profiles/bcfg2-pkg-config-0.20.ep @@ -8,12 +8,10 @@ > <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" + value="gcc -static-libgcc" type="set" /> diff --git a/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep b/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep index a2a59d562..3668ecece 100644 --- a/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep +++ b/encap/src/encap-profiles/bcfg2-pyopenssl-0.6.ep @@ -9,15 +9,13 @@ <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-openssl-0.9.8c" /> <prereq package="bcfg2-python-2.4.3" /> <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> 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 5c411285a..0dc621d9f 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 @@ -12,7 +12,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> 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 e8a39a38b..ad804e8ee 100644 --- a/encap/src/encap-profiles/bcfg2-python-2.4.3.ep +++ b/encap/src/encap-profiles/bcfg2-python-2.4.3.ep @@ -9,15 +9,14 @@ <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-gzip-1.2.4b" /> <prereq package="bcfg2-pkg-config-0.20" /> <prereq package="bcfg2-readline-5.1" /> -<prereq package="bcfg2-openssl-0.9.8b" /> +<prereq package="bcfg2-openssl-0.9.8c" /> <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> @@ -79,10 +78,10 @@ cp setup.py.bcfg2 setup.py PLATFORM_IF_MATCH(linux) PLATFORM_ELSE --with-gcc \ - --with-cxx=g++ \ PLATFORM_ENDIF --enable-shared=no \ - --disable-ipv6 + --disable-ipv6 \ + --without-cxx </configure> <build type="append"><![CDATA[ @@ -100,13 +99,18 @@ fi </source> <prepackage><![CDATA[ +# Put setup back into pristine state rm ${builddir}/setup.py cp ${builddir}/setup.py.orig ${builddir}/setup.py +# Make site-packages be in the PYTHONPATH echo /usr/local/lib/bcfg2/lib/python2.4/site-packages > lib/bcfg2/lib/python2.4/site-packages/usr-local-lib-bcfg2.pth +# Convienience links 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 +# Remove some big stuff that bcfg2 doesn't need +if [ -d lib/bcfg2/lib/python2.4/test ]; then rm -rf lib/bcfg2/lib/python2.4/test; fi +if [ -d lib/bcfg2/lib/python2.4/idlelib ]; then rm -rf lib/bcfg2/lib/python2.4/idlelib; fi # 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 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 77955e0de..6d9b9f910 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 @@ -12,7 +12,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> 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 59f30be2c..e3d8b8e8a 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,6 +1,6 @@ <?xml version="1.0"?> -<!-- $Id:$ --> +<!-- $Id$ --> <encap_profile profile_ver="1.0" @@ -12,7 +12,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> 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 af74340ff..23ddec3b3 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 @@ -12,7 +12,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> diff --git a/encap/src/encap-profiles/bcfg2-readline-5.1.ep b/encap/src/encap-profiles/bcfg2-readline-5.1.ep index ec2e99630..83c5e9248 100644 --- a/encap/src/encap-profiles/bcfg2-readline-5.1.ep +++ b/encap/src/encap-profiles/bcfg2-readline-5.1.ep @@ -8,13 +8,11 @@ > <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" /> <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> 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 3b2effc8e..fb3236321 100644 --- a/encap/src/encap-profiles/bcfg2-zlib-1.2.3.ep +++ b/encap/src/encap-profiles/bcfg2-zlib-1.2.3.ep @@ -11,7 +11,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> diff --git a/encap/src/encap-profiles/daemontools-0.76.ep b/encap/src/encap-profiles/daemontools-0.76.ep index 5eb4ba338..569a9aa4f 100644 --- a/encap/src/encap-profiles/daemontools-0.76.ep +++ b/encap/src/encap-profiles/daemontools-0.76.ep @@ -12,7 +12,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> @@ -311,8 +311,8 @@ else REALDIR=`pwd -P` rm /service/$SERVICE svc -dx . log - rm -rf ${REALDIR}/supervise - rm -rf ${REALDIR}/log/supervise + test -d ${REALDIR}/supervise && rm -rf ${REALDIR}/supervise + test -d ${REALDIR}/log/supervise && rm -rf ${REALDIR}/log/supervise fi exit 0 ]]></include_file> @@ -436,6 +436,27 @@ cd /usr/local/encap/daemontools-0.76 && ./package/run printf "Finished daemontools postinstall script.\n" ]]></include_file> +<include_file name="preremove" mode="0755"><![CDATA[ +#!/bin/sh + +printf "Running daemontools preremove script...\n" +date + +for SERVICE in `ls /service`; do + if [ -h /service/$SERVICE ]; then + printf "INFO: Removing /service/$SERVICE ...\n" + /command/svrm /service/$SERVICE || true + fi +done + +if [ -h /service/.svscan ]; then + printf "INFO: Removing /service/.svscan ...\n" + /command/svrm /service/.svscan || true +fi + +printf "Finished daemontools preremove script.\n" +]]></include_file> + <encapinfo> description daemontools - a collection of tools for managing UNIX services exclude src diff --git a/encap/src/encap-profiles/ostiary-3.4.ep b/encap/src/encap-profiles/ostiary-3.4.ep index c3d95c6c0..af5557e96 100644 --- a/encap/src/encap-profiles/ostiary-3.4.ep +++ b/encap/src/encap-profiles/ostiary-3.4.ep @@ -12,7 +12,7 @@ <environment variable="CC" - value="gcc" + value="gcc -static-libgcc" type="set" /> @@ -115,6 +115,20 @@ test -d /usr/local/var/multilog/ostiary || mkdir /usr/local/var/multilog/ostiary printf "Finished ostiary postinstall script.\n" ]]></include_file> +<include_file name="preremove" mode="0755"><![CDATA[ +#!/bin/sh + +printf "Running ostiary preremove script...\n" +date + +if [ -h /service/ostiary ]; then + printf "INFO: Removing /service/ostiary...\n" + /command/svrm /service/ostiary +fi + +printf "Finished ostiary preremove script.\n" +]]></include_file> + <encapinfo> description Ostiary - Simple, Secure Remote Script Execution </encapinfo> diff --git a/encap/src/makeself-dist/makedist.sh b/encap/src/makeself-dist/makedist.sh index 385bd5b18..d7d58014a 100755 --- a/encap/src/makeself-dist/makedist.sh +++ b/encap/src/makeself-dist/makedist.sh @@ -48,17 +48,10 @@ tar -cf $DISTDIR/epkg.tar $EPKGDIR/* # Copy bcfg2 and client deps to $DISTDIR BCFG2="`basename $EPDIR/bcfg2-[0-9].[0-9]*-encap-*.tar.gz`" -BCFG2_GETTEXT="`basename $EPDIR/bcfg2-gettext-*-encap-*.tar.gz`" -BCFG2_LIBGCC="`basename $EPDIR/bcfg2-libgcc-*.tar.gz`" -BCFG2_LIBICONV="`basename $EPDIR/bcfg2-libiconv-*-encap-*.tar.gz`" -BCFG2_LIBSTDCXX="`basename $EPDIR/bcfg2-libstdc++-*.tar.gz`" BCFG2_LIBXML2="`basename $EPDIR/bcfg2-libxml2-*-encap-*.tar.gz`" BCFG2_LIBXSLT="`basename $EPDIR/bcfg2-libxslt-*-encap-*.tar.gz`" BCFG2_LXML="`basename $EPDIR/bcfg2-lxml-*-encap-*.tar.gz`" -BCFG2_OPENSSL="`basename $EPDIR/bcfg2-openssl-*-encap-*.tar.gz`" -BCFG2_PYOPENSSL="`basename $EPDIR/bcfg2-pyopenssl-*-encap-*.tar.gz`" BCFG2_PYTHON="`basename $EPDIR/bcfg2-python-[0-9].[0-9]*-encap-*.tar.gz`" -BCFG2_ZLIB="`basename $EPDIR/bcfg2-zlib-*-encap-*.tar.gz`" DAEMONTOOLS="`basename $EPDIR/daemontools-[0-9].[0-9]*-encap-*.tar.gz`" OSTIARTY="`basename $EPDIR/ostiary-[0-9].[0-9]*-encap-*.tar.gz`" @@ -67,7 +60,7 @@ if [ "${BCFG2_PYTHON_APT_TMP}x" != 'bcfg2-python-apt-*-encap-*.tar.gzx' ]; then BCFG2_PYTHON_APT="$BCFG2_PYTHON_APT_TMP" fi -BCFG2DEPS="$BCFG2_GETTEXT $BCFG2_LIBGCC $BCFG2_LIBICONV $BCFG2_LIBSTDCXX $BCFG2_LIBXML2 $BCFG2_LIBXSLT $BCFG2_LXML $BCFG2_OPENSSL $BCFG2_PYOPENSSL $BCFG2_PYTHON $BCFG2_ZLIB $BCFG2_PYTHON_APT" +BCFG2DEPS="$BCFG2_LIBXML2 $BCFG2_LIBXSLT $BCFG2_LXML $BCFG2_PYTHON $BCFG2_PYTHON_APT" FILES="$BCFG2DEPS $BCFG2 $DAEMONTOOLS $OSTIARTY" |