diff options
-rw-r--r-- | encap/Makefile | 112 | ||||
-rw-r--r-- | encap/README | 101 | ||||
-rw-r--r-- | encap/bcfg2-0.8.2pre6.profile | 104 | ||||
-rw-r--r-- | encap/bcfg2-gettext-0.14.5.profile | 69 | ||||
-rwxr-xr-x | encap/bcfg2-libgcc-0.1.sh | 34 | ||||
-rw-r--r-- | encap/bcfg2-libiconv-1.9.2.profile | 69 | ||||
-rwxr-xr-x | encap/bcfg2-libstdc++-0.1.sh | 34 | ||||
-rw-r--r-- | encap/bcfg2-libxml2-2.6.26.profile | 77 | ||||
-rw-r--r-- | encap/bcfg2-libxslt-1.1.17.profile | 82 | ||||
-rw-r--r-- | encap/bcfg2-lxml-1.0.1.profile | 87 | ||||
-rw-r--r-- | encap/bcfg2-openssl-0.9.8b.profile | 75 | ||||
-rw-r--r-- | encap/bcfg2-pkg-config-0.20.profile | 70 | ||||
-rw-r--r-- | encap/bcfg2-pyopenssl-0.6.profile | 84 | ||||
-rw-r--r-- | encap/bcfg2-pyrex-0.9.4.1.profile | 83 | ||||
-rw-r--r-- | encap/bcfg2-python-2.4.3.profile | 80 | ||||
-rw-r--r-- | encap/bcfg2-zlib-1.2.3.profile | 73 | ||||
-rwxr-xr-x | encap/m4-1.4.4.sh | 66 |
17 files changed, 1300 insertions, 0 deletions
diff --git a/encap/Makefile b/encap/Makefile new file mode 100644 index 000000000..515fe81b1 --- /dev/null +++ b/encap/Makefile @@ -0,0 +1,112 @@ +# $Id$ + +.PHONY : all install clean uninstall encaps rename +.SUFFIXES : +.SUFFIXES : .profile .sh .e .ep + +BASEDIR = /usr/local +ENCAPDIR = ${BASEDIR}/encap +export ENCAPDIR +EPKG = ${BASEDIR}/bin/epkg +export EPKG +MKENCAP = ${BASEDIR}/bin/mkencap +export MKENCAP + +M4 = m4-1.4.4 +ZLIB = bcfg2-zlib-1.2.3 +LIBICONV = bcfg2-libiconv-1.9.2 +GETTEXT = bcfg2-gettext-0.14.5 +PKG-CONFIG = bcfg2-pkg-config-0.20 +OPENSSL = bcfg2-openssl-0.9.8b +LIBSTDCXX = bcfg2-libstdc++-0.1 +LIBGCC = bcfg2-libgcc-0.1 +PYTHON = bcfg2-python-2.4.3 +PYREX = bcfg2-pyrex-0.9.4.1 +PYOPENSSL = bcfg2-pyopenssl-0.6 +LIBXML2 = bcfg2-libxml2-2.6.26 +LIBXSLT = bcfg2-libxslt-1.1.17 +LXML = bcfg2-lxml-1.0.1 +BCFG2 = bcfg2-0.8.2pre6 + +.profile.e : # Clean, compile and install an encap package + @printf "***** START .profile.e for |$*| ***** \n" + ( ${EPKG} -q -r ${ENCAPDIR}/$* || true ) + ( rm -rf ${ENCAPDIR}/$* || true ) + ( ${MKENCAP} -m /usr/local/bin/m4 -b -DUP $*.profile || true ) > $*.log 2>&1 + ( ${MKENCAP} -m /usr/local/bin/m4 -b -T $*.profile || true ) >> $*.log 2>&1 + ( ${MKENCAP} -m /usr/local/bin/m4 -b -CBI $*.profile ) >> $*.log 2>&1 + ${EPKG} -q -i ${ENCAPDIR}/$* + test -h ${BASEDIR}/var/encap/$* + touch $*.e + @printf "***** STOP .profile.e for |$*| ***** \n" + +.sh.e : # Create and install a "fake" encap package + @printf "***** START .sh.e for |$*| ***** \n" + ( ${EPKG} -q -r ${ENCAPDIR}/$* || true ) + ( rm -rf ${ENCAPDIR}/$* || true ) + ./$*.sh + ${EPKG} -q -i ${ENCAPDIR}/$* + test -h ${BASEDIR}/var/encap/$* + touch $*.e + @printf "***** STOP .sh.e for |$*| ***** \n" + +.e.ep : # Create .tar.gz encap packages for distribution to other machines + @printf "***** START .e.ep for |$*| ***** \n" + ( rm ${ENCAPDIR}/$*-*.tar.gz || true ) + ( cd ${ENCAPDIR} && ${MKENCAP} -e $* || true ) + cd ${ENCAPDIR} && ${MKENCAP} -c $* + mv ${ENCAPDIR}/$*-encap-*.tar.gz . + touch $*.ep + @printf "***** STOP .e.ep for |$*| ***** \n" + +all : + ( $(MAKE) install > make.log 2>&1 && $(MAKE) encaps >> make.log 2>&1 ) & + +install : ${EPKG} ${MKENCAP} ${BCFG2}.e + +encaps : ${EPKG} ${MKENCAP} ${BCFG2}.ep + +rename : encaps + test "$${OS}x" != "x" + for EARCHIVE in `ls *-encap-*.tar.gz`; do \ + mv $${EARCHIVE} `printf $${EARCHIVE} | awk -F- '{$$NF = "OSDIST.tar.gz" ; print}' | sed s:\ :-:g | sed s:OSDIST:\$${OS}:g` ; \ + done + +clean : + ( rm *.log || true ) + ( rm *.ep || true ) + ( rm *.gz || true ) + +uninstall : clean + ( rm *.e || true ) + ( ${EPKG} -q -r ${ENCAPDIR}/bcfg2-* || true ) + ( rm -rf ${ENCAPDIR}/bcfg2-* || true ) + ( rm -rf ${BASEDIR}/lib/bcfg2 || true ) + +${ZLIB}.e : ${M4}.e +${LIBICONV}.e : ${ZLIB}.e +${GETTEXT}.e : ${LIBICONV}.e +${PKG-CONFIG}.e : ${GETTEXT}.e +${OPENSSL}.e : ${PKG-CONFIG}.e +${LIBSTDCXX}.e : ${OPENSSL}.e +${LIBGCC}.e : ${LIBSTDCXX}.e +${PYTHON}.e : ${LIBGCC}.e +${PYREX}.e : ${PYTHON}.e +${PYOPENSSL}.e : ${PYREX}.e +${LIBXML2}.e : ${PYOPENSSL}.e +${LIBXSLT}.e : ${LIBXML2}.e +${LXML}.e : ${LIBXSLT}.e +${BCFG2}.e : ${LXML}.e + +${LIBICONV}.ep : ${ZLIB}.ep +${GETTEXT}.ep : ${LIBICONV}.ep +${OPENSSL}.ep : ${GETTEXT}.ep +${LIBSTDCXX}.ep : ${OPENSSL}.ep +${LIBGCC}.ep : ${LIBSTDCXX}.ep +${PYTHON}.ep : ${LIBGCC}.ep +${PYOPENSSL}.ep : ${PYTHON}.ep +${LIBXML2}.ep : ${PYOPENSSL}.ep +${LIBXSLT}.ep : ${LIBXML2}.ep +${LXML}.ep : ${LIBXSLT}.ep +${BCFG2}.ep : ${LXML}.ep + diff --git a/encap/README b/encap/README new file mode 100644 index 000000000..0e9f49e78 --- /dev/null +++ b/encap/README @@ -0,0 +1,101 @@ += Encap based bootstrap for bcfg2 and complete bcfg2 client toolchain = + +The bcfg2-encap-bootstrap package is a method for getting bcfg2 (as a +client), including all dependencies, up and running on a new platform as +quickly as possible. + +It is available from: + * http://www.pobox.com/users/dclark/bcfg2/bcfg2-encap-bootstrap + +Using the encap package manager it automatically downloads, builds and +creates encap packages for bcfg2 and dependencies to `/usr/local/encap`, and +installs symbolic links to these packages from `/usr/local` (the usual encap +thing). + +It attempts to be as self contained as possible; everything gets linked to +under `/usr/local/lib/bcfg2`, except for bcfg2 itself and some dependent +software, which is prefixed by `b2` (`b2openssl`, `b2python` etc.). + +Note that to run the bcfg2 server, you also need to install gamin, which +supports a subset of the platforms bcfg2 client will work on, including +GNU/Linux and FreeBSD. + +== Building and installing everything == + 1. Make sure all of the Prerequisites (see below) are installed. + 1. The build user needs write access to the encap source and build + directories. By default, these are `/usr/local/encap` and + `/usr/local/src`. If you like to live dangerously, you can also just do + the builds as `root`. + 1. Run `make`. This will kick off and background the entire build process. + Make output will be redirected to `make.log`, and package build output + will go to individual log files. + 1. If everything goes well, try running "`bcfg2-repo-validate`". This should + not generate a python traceback :-) + 1. You now have *-encap-*.tar.gz encap packages you can distribute to other + machines. If you don't like the OS name encap uses automatically (esp. + on GNU/Linux these can be too generic), do `make rename OS=somestring`. + +== Prerequisites == + * GNU gcc and GNU g++ + * GNU make (make sure "gmake" links to GNU make on non-GNU platforms) + * epkg from http://www.encap.org/epkg/ + * If built from source, first need all recommended libraries from web page + +You will need binaries of the GNU tools. For GNU and BSD based operating +systems, you should be able to get these via the operating system's package +system. For commercial operating systems, these can be obtained from: + + AIX:: + * UCLA's Public Domain Software Library for AIX at + http://aixpdslib.seas.ucla.edu/aixpdslib.html + (These are trivial to convert into encap packages) + * Bull AIX Freeware at http://www.bullfreeware.com/ + + Solaris:: + * Freeware for Solaris at http://www.sunfreeware.com/ + * Community Software for Solaris at http://www.blastwave.org/packages.php + +== Supported Platforms == +Below is a table of platforms that have been successfully bootstrapped using +this code. + +|| OS || Vendor || Version || Arch || GCC || By || +|| AIX || IBM || 5.3 || POWER || 4.1.0 || dc || +|| GNU/Linux || Debian || Sarge || i386 || 3.3.5 || dc || +|| GNU/Linux || Debian || Sid || i386 || 4.1.2 || dc || + +dc: "Daniel Clark" <mailto:dclark@member.fsf.org> + +If you bootstrap a platform not listed above, please send email to Daniel +Clark <mailto:dclark@member.fsf.org> so that platform can be added to the +list. If you modified any of the files in this package to be able to +bootstrap the new platform, please include either diffs or a tarball of your +modified version so your changes can be incorporated into a new release. Any +other notes, such as where you got the GNU binaries or any issues people +should be aware of, would be appreciated. + +You may want to scan all of the bootstrapped binaries and libraries with +`ldd` (or equivalent) to make sure there are no dependencies on libraries +other than those included with the base operating system and the libraries +built as part of the bootstrap process. + +On non-GNU operating systems, libgcc and libstdc++ are a run-time +requirement. These libraries are usually distributed with gcc/g++, so the +bootstrap system attempts to create encap packages containing those +libraries by copying them from the build machine. To test that this worked, +you'll want to either temporarily remove gcc/g++ from the build machine and +make sure everything still works, or install the bcfg2-*.tar.gz encap +packages on a "clean" machine (without a gcc/g++ install) and test on that +machine. + +Note that the doc for the encap profile format is in "man 5 encap_profile". + +== Release Notes == + 0.1:: + * Initial Released Version + * Work needs to be done to minimize size of distribution. In 0.1 + libraries and binaries are not stripped, and there is a lot of + pruning that can be done of individual packages. + +== Documentation Version == +$Id$ diff --git a/encap/bcfg2-0.8.2pre6.profile b/encap/bcfg2-0.8.2pre6.profile new file mode 100644 index 000000000..ee1139f38 --- /dev/null +++ b/encap/bcfg2-0.8.2pre6.profile @@ -0,0 +1,104 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-0.8.2pre6" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source +url="ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-0.8.2pre6.tar.gz" +> + +<configure> +: +</configure> + +<build> +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build +</build> + +<install> +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 +</install> + +<clean> +/usr/local/lib/bcfg2/bin/python setup.py clean +</clean> + +</source> + +<prepackage type="set"><![CDATA[ +mkdir bin 2>/dev/null || exit 0 +ln -sf ../lib/bcfg2/bin/GenerateHostInfo bin/ +ln -sf ../lib/bcfg2/bin/StatReports bin/ +ln -sf ../lib/bcfg2/bin/bcfg2 bin/ +ln -sf ../lib/bcfg2/bin/bcfg2-info bin/ +ln -sf ../lib/bcfg2/bin/bcfg2-repo-validate bin/ +ln -sf ../lib/bcfg2/bin/bcfg2-server bin/ +mkdir share 2>/dev/null || exit 0 +mkdir share/bcfg2 2>/dev/null || exit 0 +cp ${builddir}/doc/manual.pdf share/bcfg2/ +cp -r ${builddir}/examples share/bcfg2/ +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +]]></prepackage> + +<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-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 +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-gettext-0.14.5.profile b/encap/bcfg2-gettext-0.14.5.profile new file mode 100644 index 000000000..925aa42fc --- /dev/null +++ b/encap/bcfg2-gettext-0.14.5.profile @@ -0,0 +1,69 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-gettext-0.14.5" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source + url="http://ftp.gnu.org/pub/gnu/gettext/gettext-0.14.5.tar.gz" +> + +<configure> +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" +</configure> + +</source> + +<prepackage type="set"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description Gettext - Tools to produce multi-lingual messages +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-libgcc-0.1.sh b/encap/bcfg2-libgcc-0.1.sh new file mode 100755 index 000000000..d6de6c471 --- /dev/null +++ b/encap/bcfg2-libgcc-0.1.sh @@ -0,0 +1,34 @@ +#!/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/bcfg2-libiconv-1.9.2.profile b/encap/bcfg2-libiconv-1.9.2.profile new file mode 100644 index 000000000..d34f6512c --- /dev/null +++ b/encap/bcfg2-libiconv-1.9.2.profile @@ -0,0 +1,69 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-libiconv-1.9.2" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source + url="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"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description Libiconv - Converts between character encodings +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-libstdc++-0.1.sh b/encap/bcfg2-libstdc++-0.1.sh new file mode 100755 index 000000000..6b3fe4a98 --- /dev/null +++ b/encap/bcfg2-libstdc++-0.1.sh @@ -0,0 +1,34 @@ +#!/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/bcfg2-libxml2-2.6.26.profile b/encap/bcfg2-libxml2-2.6.26.profile new file mode 100644 index 000000000..0321f30df --- /dev/null +++ b/encap/bcfg2-libxml2-2.6.26.profile @@ -0,0 +1,77 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-libxml2-2.6.26" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source + url="ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.26.tar.gz" + subdir="libxml2-2.6.26" +> + +<configure> +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ +PLATFORM_IF_MATCH(aix) +PLATFORM_ELSE + --enable-shared \ +PLATFORM_ENDIF + --enable-ipv6=no \ + --with-python=/usr/local/lib/bcfg2 \ + --with-zlib=/usr/local/lib/bcfg2 +</configure> + +</source> + +<prepackage type="set"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description Libxml2 - XML C library for the Gnome project +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-libxslt-1.1.17.profile b/encap/bcfg2-libxslt-1.1.17.profile new file mode 100644 index 000000000..4c321d77d --- /dev/null +++ b/encap/bcfg2-libxslt-1.1.17.profile @@ -0,0 +1,82 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-libxslt-1.1.17" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source + url="ftp://xmlsoft.org/libxml2/libxslt-1.1.17.tar.gz" +> + +<configure> +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ +PLATFORM_IF_MATCH(aix) +PLATFORM_ELSE + --enable-shared \ +PLATFORM_ENDIF + --with-crypto=no \ + --with-libxml-prefix=/usr/local/lib/bcfg2 \ + --with-libxml-include-prefix=/usr/local/lib/bcfg2/include \ + --with-libxml-libs-prefix=/usr/local/lib/bcfg2/lib \ + --enable-ipv6=no \ + --with-python=/usr/local/lib/bcfg2 \ + --with-zlib=/usr/local/lib/bcfg2 +</configure> + +</source> + +<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 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description Libxml2 - XML C library for the Gnome project +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-lxml-1.0.1.profile b/encap/bcfg2-lxml-1.0.1.profile new file mode 100644 index 000000000..a78e14b75 --- /dev/null +++ b/encap/bcfg2-lxml-1.0.1.profile @@ -0,0 +1,87 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-lxml-1.0.1" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 -lexslt -L/usr/local/lib/bcfg2/lib/python2.4/site-packages -Wl,-rpath,/usr/local/lib/bcfg2/lib -Wl,-rpath,/usr/local/lib/bcfg2/lib/python2.4/site-packages" +PLATFORM_ELSE_IF_MATCH(aix) + value="-L/usr/local/lib/bcfg2/lib -lexslt -L/usr/local/lib/bcfg2/lib/python2.4/site-packages -Wl,-blibpath:/usr/local/lib/bcfg2/lib:/usr/local/lib/bcfg2/lib/python2.4/site-packages:/usr/lib" +PLATFORM_ELSE +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source +url="http://codespeak.net/lxml/lxml-1.0.1.tgz" +> + +<configure> +/usr/local/lib/bcfg2/bin/python setup.py build_ext \ +-I/usr/local/lib/bcfg2/include \ +-L/usr/local/lib/bcfg2/lib \ +-lexslt \ +-L/usr/local/lib/bcfg2/lib/python2.4/site-packages +</configure> + +<build> +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build +</build> + +<install> +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 +</install> + +<clean> +/usr/local/lib/bcfg2/bin/python setup.py clean +make clean +</clean> + +</source> + +<prepackage type="set"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description lxml - A Pythonic binding for the libxml2 and libxslt libraries +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-openssl-0.9.8b.profile b/encap/bcfg2-openssl-0.9.8b.profile new file mode 100644 index 000000000..9c00b8960 --- /dev/null +++ b/encap/bcfg2-openssl-0.9.8b.profile @@ -0,0 +1,75 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-openssl-0.9.8b" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source + url="http://www.openssl.org/source/openssl-0.9.8b.tar.gz" + use_objdir="no" +> + +<configure> +./config \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ + zlib-dynamic shared \ + -L/usr/local/lib/bcfg2/lib \ + -I/usr/local/lib/bcfg2/include +</configure> + +</source> + +<prepackage> +mkdir bin 2>/dev/null || exit 0 +ln -sf ../lib/bcfg2/bin/openssl bin/b2openssl +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description SSL encryption tool and library +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-pkg-config-0.20.profile b/encap/bcfg2-pkg-config-0.20.profile new file mode 100644 index 000000000..cc028069d --- /dev/null +++ b/encap/bcfg2-pkg-config-0.20.profile @@ -0,0 +1,70 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-pkg-config-0.20" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source +url="http://pkgconfig.freedesktop.org/releases/pkg-config-0.20.tar.gz" +> + +<configure> +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ + --with-pc-path=/usr/local/lib/bcfg2/lib/pkgconfig +</configure> + +</source> + +<prepackage type="set"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description pkg-config - application and library compilation helper tool +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-pyopenssl-0.6.profile b/encap/bcfg2-pyopenssl-0.6.profile new file mode 100644 index 000000000..d8f486e46 --- /dev/null +++ b/encap/bcfg2-pyopenssl-0.6.profile @@ -0,0 +1,84 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-pyopenssl-0.6" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source +url="http://umn.dl.sourceforge.net/sourceforge/pyopenssl/pyOpenSSL-0.6.tar.gz" +> + +<configure> +/usr/local/lib/bcfg2/bin/python setup.py build_ext \ +-I/usr/local/lib/bcfg2/include/openssl \ +-L/usr/local/lib/bcfg2/lib/ +</configure> + +<build> +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build +</build> + +<install> +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 +</install> + +<clean> +/usr/local/lib/bcfg2/bin/python setup.py clean +</clean> + +</source> + +<prepackage type="set"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description pyOpenSSL - Python interface to the OpenSSL library +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-pyrex-0.9.4.1.profile b/encap/bcfg2-pyrex-0.9.4.1.profile new file mode 100644 index 000000000..f28dabc5d --- /dev/null +++ b/encap/bcfg2-pyrex-0.9.4.1.profile @@ -0,0 +1,83 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-pyrex-0.9.4.1" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source +url="http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/Pyrex-0.9.4.1.tar.gz" +> + +<configure> +: +</configure> + +<build> +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build +</build> + +<install> +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 \ +</install> + +<clean> +/usr/local/lib/bcfg2/bin/python setup.py clean +</clean> + +</source> + +<prepackage type="set"> +chmod -R o+r lib/bcfg2 +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description Pyrex - a Language for Writing Python Extension Modules +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-python-2.4.3.profile b/encap/bcfg2-python-2.4.3.profile new file mode 100644 index 000000000..8e30777d3 --- /dev/null +++ b/encap/bcfg2-python-2.4.3.profile @@ -0,0 +1,80 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-python-2.4.3" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/lib/bcfg2/bin:/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source + url="http://www.python.org/ftp/python/2.4.3/Python-2.4.3.tgz" +> + +<configure> +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ +PLATFORM_IF_MATCH(aix) + --with-gcc \ + --with-cxx=g++ \ +PLATFORM_ENDIF + --enable-shared=yes \ + --disable-ipv6 +</configure> + +</source> + +<prepackage><![CDATA[ +echo /usr/local/lib/bcfg2/lib/python2.4/site-packages > lib/bcfg2/lib/python2.4/site-packages/usr-local-lib-bcfg2.pth +mkdir bin 2>/dev/null || exit 0 +ln -sf ../lib/bcfg2/bin/idle bin/b2idle +ln -sf ../lib/bcfg2/bin/pydoc bin/b2pydoc +ln -sf ../lib/bcfg2/bin/python bin/b2python +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +]]></prepackage> + +<encapinfo> +description Python - Scripting language +</encapinfo> + +</encap_profile> diff --git a/encap/bcfg2-zlib-1.2.3.profile b/encap/bcfg2-zlib-1.2.3.profile new file mode 100644 index 000000000..50eaed255 --- /dev/null +++ b/encap/bcfg2-zlib-1.2.3.profile @@ -0,0 +1,73 @@ +<?xml version="1.0"?> + +<!-- $Id$ --> + +<encap_profile + profile_ver="1.0" + pkgspec="bcfg2-zlib-1.2.3" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/bin:" + 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 +PLATFORM_ENDIF + type="set" +/> + +<environment + variable="CPPFLAGS" + value="-I/usr/local/lib/bcfg2/include" + type="set" +/> + +<source + url="http://www.zlib.net/zlib-1.2.3.tar.gz" +> + +<configure> +./configure \ +PLATFORM_IF_MATCH(aix) +PLATFORM_ELSE + --shared \ +PLATFORM_ENDIF + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" +</configure> + +</source> + +<prepackage type="set"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description Zlib compression library +</encapinfo> + +</encap_profile> diff --git a/encap/m4-1.4.4.sh b/encap/m4-1.4.4.sh new file mode 100755 index 000000000..4373319fa --- /dev/null +++ b/encap/m4-1.4.4.sh @@ -0,0 +1,66 @@ +#!/bin/sh +# $Id$ + +ENCAP_PKGNAME=m4-1.4.4 +PATH=$PATH:/usr/local/bin +export PATH + +cat > ${ENCAP_PKGNAME}.profile << EOF +<?xml version="1.0"?> + +<encap_profile + profile_ver="1.0" + pkgspec="m4-1.4.4" +> + +<environment + variable="CC" + value="gcc" + type="set" +/> + +<environment + variable="PATH" + value="/usr/local/bin:" + type="prepend" +/> + +<source + url="http://ftp.gnu.org/gnu/m4/m4-1.4.4.tar.gz" +> + +</source> + +<prepackage type="set"> +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} +</prepackage> + +<encapinfo> +description m4 - GNU implementation of the traditional Unix macro processor +</encapinfo> + +</encap_profile> +EOF + +cat > m4-fake << EOF +#!/bin/sh +cat \$4 +EOF + +chmod 755 m4-fake + +( ${MKENCAP} -m ${PWD}/m4-fake -b -DUP ${ENCAP_PKGNAME}.profile || true ) \ + > ${ENCAP_PKGNAME}.log 2>&1 + +( ${MKENCAP} -m ${PWD}/m4-fake -b -T ${ENCAP_PKGNAME}.profile || true ) \ + >> ${ENCAP_PKGNAME}.log 2>&1 + +( ${MKENCAP} -m ${PWD}/m4-fake -b -CBI ${ENCAP_PKGNAME}.profile ) \ + >> ${ENCAP_PKGNAME}.log 2>&1 + +rm m4-fake +rm ${ENCAP_PKGNAME}.profile + +exit 0 |