From 48b9c8f43f0a5f0bf95d7d8b3c84c476869ff121 Mon Sep 17 00:00:00 2001 From: Daniel Joseph Barnhart Clark Date: Sat, 19 Aug 2006 21:52:31 +0000 Subject: EncapPackages: Beginning of some dir structure changes git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2074 ce84e21b-d406-0410-9b95-82705330c041 --- encap/HOWTO | 177 +++++++++ encap/README | 177 --------- encap/bcfg2-0.8.2.ep | 444 ---------------------- encap/bcfg2-gettext-0.14.5.ep | 79 ---- encap/bcfg2-libgcc-0.1.sh | 34 -- encap/bcfg2-libiconv-1.9.2.ep | 79 ---- encap/bcfg2-libstdc++-0.1.sh | 34 -- encap/bcfg2-libxml2-2.6.26.ep | 86 ----- encap/bcfg2-libxslt-1.1.17.ep | 89 ----- encap/bcfg2-lxml-1.0.1.ep | 94 ----- encap/bcfg2-openssl-0.9.8b.ep | 89 ----- encap/bcfg2-pkg-config-0.20.ep | 77 ---- encap/bcfg2-pyopenssl-0.6.ep | 91 ----- encap/bcfg2-pyrex-0.9.4.1.ep | 90 ----- encap/bcfg2-python-2.4.3.ep | 98 ----- encap/bcfg2-zlib-1.2.3.ep | 90 ----- encap/m4-1.4.4.sh | 74 ---- encap/tools/bcfg2-client/Makefile | 116 ++++++ encap/tools/bcfg2-client/bcfg2-0.8.2.ep | 444 ++++++++++++++++++++++ encap/tools/bcfg2-client/bcfg2-gettext-0.14.5.ep | 79 ++++ encap/tools/bcfg2-client/bcfg2-libgcc-0.1.sh | 34 ++ encap/tools/bcfg2-client/bcfg2-libiconv-1.9.2.ep | 79 ++++ encap/tools/bcfg2-client/bcfg2-libstdc++-0.1.sh | 34 ++ encap/tools/bcfg2-client/bcfg2-libxml2-2.6.26.ep | 86 +++++ encap/tools/bcfg2-client/bcfg2-libxslt-1.1.17.ep | 89 +++++ encap/tools/bcfg2-client/bcfg2-lxml-1.0.1.ep | 94 +++++ encap/tools/bcfg2-client/bcfg2-openssl-0.9.8b.ep | 89 +++++ encap/tools/bcfg2-client/bcfg2-pkg-config-0.20.ep | 77 ++++ encap/tools/bcfg2-client/bcfg2-pyopenssl-0.6.ep | 91 +++++ encap/tools/bcfg2-client/bcfg2-pyrex-0.9.4.1.ep | 90 +++++ encap/tools/bcfg2-client/bcfg2-python-2.4.3.ep | 98 +++++ encap/tools/bcfg2-client/bcfg2-zlib-1.2.3.ep | 90 +++++ encap/tools/bcfg2-client/m4-1.4.4.sh | 74 ++++ 33 files changed, 1841 insertions(+), 1725 deletions(-) create mode 100644 encap/HOWTO delete mode 100644 encap/README delete mode 100644 encap/bcfg2-0.8.2.ep delete mode 100644 encap/bcfg2-gettext-0.14.5.ep delete mode 100755 encap/bcfg2-libgcc-0.1.sh delete mode 100644 encap/bcfg2-libiconv-1.9.2.ep delete mode 100755 encap/bcfg2-libstdc++-0.1.sh delete mode 100644 encap/bcfg2-libxml2-2.6.26.ep delete mode 100644 encap/bcfg2-libxslt-1.1.17.ep delete mode 100644 encap/bcfg2-lxml-1.0.1.ep delete mode 100644 encap/bcfg2-openssl-0.9.8b.ep delete mode 100644 encap/bcfg2-pkg-config-0.20.ep delete mode 100644 encap/bcfg2-pyopenssl-0.6.ep delete mode 100644 encap/bcfg2-pyrex-0.9.4.1.ep delete mode 100644 encap/bcfg2-python-2.4.3.ep delete mode 100644 encap/bcfg2-zlib-1.2.3.ep delete mode 100755 encap/m4-1.4.4.sh create mode 100644 encap/tools/bcfg2-client/Makefile create mode 100644 encap/tools/bcfg2-client/bcfg2-0.8.2.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-gettext-0.14.5.ep create mode 100755 encap/tools/bcfg2-client/bcfg2-libgcc-0.1.sh create mode 100644 encap/tools/bcfg2-client/bcfg2-libiconv-1.9.2.ep create mode 100755 encap/tools/bcfg2-client/bcfg2-libstdc++-0.1.sh create mode 100644 encap/tools/bcfg2-client/bcfg2-libxml2-2.6.26.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-libxslt-1.1.17.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-lxml-1.0.1.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-openssl-0.9.8b.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-pkg-config-0.20.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-pyopenssl-0.6.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-pyrex-0.9.4.1.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-python-2.4.3.ep create mode 100644 encap/tools/bcfg2-client/bcfg2-zlib-1.2.3.ep create mode 100755 encap/tools/bcfg2-client/m4-1.4.4.sh (limited to 'encap') diff --git a/encap/HOWTO b/encap/HOWTO new file mode 100644 index 000000000..488639c7f --- /dev/null +++ b/encap/HOWTO @@ -0,0 +1,177 @@ += Encap based bootstrap for bcfg2 and complete bcfg2 client toolchain = + +This bootstrap code is a method for getting bcfg2 (as a client), +including all dependencies, up and running on a new platform as +quickly as possible (from source). + +The latest version of this document is always available from: + * http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/encap/README + +For a more general overview of what this is, see: + * http://trac.mcs.anl.gov/projects/bcfg2/wiki/EncapPackages + +You can view this document with glorious Trac Wiki formatting at: + * http://trac.mcs.anl.gov/projects/bcfg2/wiki/EncapHowto + (Although that version may be out of date) + +You can obtain the latest version of the code from bcfg2 svn: + * `svn co https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2/encap` + +Or browse the latest version on the web via: + * http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/encap + +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-` (`b2-openssl`, `b2-python` etc.). + +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. + +When using this packaging, `/etc/bcfg2.conf` is instead +`/usr/local/etc/bcfg2.conf`. + +This should be considered an alpha version. Everything compiles and seems to +work, but it has not yet been tested with a working bcfg2 repository. + +== 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++ + * If you are using the gcc distributed with Solaris/x86 10, you need to + install the gcc bugfix at http://www.openssl.org/~appro/values.c by + running "ksh -f values.c" as root (or openssl will segfault) + * GNU make (make sure "gmake" links to GNU make on non-GNU platforms) + * /usr/local/man should be a directory, not a symbolic link + * epkg (the encap package manager) + * Canonical website is http://www.encap.org/epkg + * Mirror of epkg binaries is available at http://www.dclark.us/mirror/ + * 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 || With VERSION || +|| AIX || IBM || 5.3 || POWER || 4.1.0 || dc || 0.7/0.8.2 || +|| GNU/Linux || Debian || Sarge || i386 || 3.3.5 || dc || 0.7/0.8.2 || +|| GNU/Linux || Debian || Sid || i386 || 4.1.2 || dc || 0.8/0.8.2 || +|| Solaris || Sun || 10 || Sparc || 3.4.3 || dc || 0.7/0.8.2 || +|| Solaris || Sun || 10 || i386 || 3.4.3 || dc || 0.7/0.8.2 || + +dc: "Daniel Clark" + +If you bootstrap a platform not listed above, please add a comment to: + * http://trac.mcs.anl.gov/projects/bcfg2/ticket/74 +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 in a new ticket 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 also 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. + + 0.2:: + * Updated bcfg2 to 0.8.2pre7 + * Updated README to point to mcs.anl.gov resources + + 0.3:: + * Updated bcfg2 to 0.8.2pre10 + + 0.4:: + * Versions before this version won't work without manually fixing paths + * Added patches so paths actually exist, specifically: + * bcfg2.conf default location is /usr/local/etc + * epkg/encap paths changed to encap default /usr/local paths + * schema prefix patch (changeset 1953) applied + * default schema prefix changed to /usr/local/lib/bcfg2 + * Added mirror of all packages downloaded by the profiles at + http://www.pobox.com/users/dclark/mirror and made mirror default for + those downloads + * Set up automatic hourly mirror of bcfg2 ftp site *.tar.gz files + * Mirror of other packages is manual (but deps shouldn't change often) + + 0.5:: + * Removed external download of patches as that was not working consistently; + replaced with patches inline the bcfg2 encap profile (.ep file) + * Added GNU patch dependency, both for bcfg2 patches and call from Cfg.py + * Fixed bcfg-repo-validate so it can find xmllint (as b2-xmllint) + + 0.6:: + * Updated bcfg2 to 0.8.2 (released version) + * Removed r1953 patch from bcfg2 profile, since that is included in 0.8.2 + * Added alpha version warning + + 0.7:: + * Added Solaris support + + 0.8:: + * Added python code to fix paths; removed inline patch & GNU patch dependency + * Path change happens as part of install, logged to postinstall.log + * Changed prefix from b2 to b2- to disambiguate from system commands + * Fixes to make man pages easier to access + * Install tools as b2-example-tools-* + * Added some auxiliary tools under tools/ directory + * daemontools - cross-platform alternative to init scripts/cron + * ostiary - simple/secure daemon for kicking off a local script + * epkg Makefile - to build epkg when prebuilt binaries aren't available + +== Documentation Version == +$Id$ diff --git a/encap/README b/encap/README deleted file mode 100644 index 488639c7f..000000000 --- a/encap/README +++ /dev/null @@ -1,177 +0,0 @@ -= Encap based bootstrap for bcfg2 and complete bcfg2 client toolchain = - -This bootstrap code is a method for getting bcfg2 (as a client), -including all dependencies, up and running on a new platform as -quickly as possible (from source). - -The latest version of this document is always available from: - * http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/encap/README - -For a more general overview of what this is, see: - * http://trac.mcs.anl.gov/projects/bcfg2/wiki/EncapPackages - -You can view this document with glorious Trac Wiki formatting at: - * http://trac.mcs.anl.gov/projects/bcfg2/wiki/EncapHowto - (Although that version may be out of date) - -You can obtain the latest version of the code from bcfg2 svn: - * `svn co https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2/encap` - -Or browse the latest version on the web via: - * http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/encap - -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-` (`b2-openssl`, `b2-python` etc.). - -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. - -When using this packaging, `/etc/bcfg2.conf` is instead -`/usr/local/etc/bcfg2.conf`. - -This should be considered an alpha version. Everything compiles and seems to -work, but it has not yet been tested with a working bcfg2 repository. - -== 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++ - * If you are using the gcc distributed with Solaris/x86 10, you need to - install the gcc bugfix at http://www.openssl.org/~appro/values.c by - running "ksh -f values.c" as root (or openssl will segfault) - * GNU make (make sure "gmake" links to GNU make on non-GNU platforms) - * /usr/local/man should be a directory, not a symbolic link - * epkg (the encap package manager) - * Canonical website is http://www.encap.org/epkg - * Mirror of epkg binaries is available at http://www.dclark.us/mirror/ - * 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 || With VERSION || -|| AIX || IBM || 5.3 || POWER || 4.1.0 || dc || 0.7/0.8.2 || -|| GNU/Linux || Debian || Sarge || i386 || 3.3.5 || dc || 0.7/0.8.2 || -|| GNU/Linux || Debian || Sid || i386 || 4.1.2 || dc || 0.8/0.8.2 || -|| Solaris || Sun || 10 || Sparc || 3.4.3 || dc || 0.7/0.8.2 || -|| Solaris || Sun || 10 || i386 || 3.4.3 || dc || 0.7/0.8.2 || - -dc: "Daniel Clark" - -If you bootstrap a platform not listed above, please add a comment to: - * http://trac.mcs.anl.gov/projects/bcfg2/ticket/74 -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 in a new ticket 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 also 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. - - 0.2:: - * Updated bcfg2 to 0.8.2pre7 - * Updated README to point to mcs.anl.gov resources - - 0.3:: - * Updated bcfg2 to 0.8.2pre10 - - 0.4:: - * Versions before this version won't work without manually fixing paths - * Added patches so paths actually exist, specifically: - * bcfg2.conf default location is /usr/local/etc - * epkg/encap paths changed to encap default /usr/local paths - * schema prefix patch (changeset 1953) applied - * default schema prefix changed to /usr/local/lib/bcfg2 - * Added mirror of all packages downloaded by the profiles at - http://www.pobox.com/users/dclark/mirror and made mirror default for - those downloads - * Set up automatic hourly mirror of bcfg2 ftp site *.tar.gz files - * Mirror of other packages is manual (but deps shouldn't change often) - - 0.5:: - * Removed external download of patches as that was not working consistently; - replaced with patches inline the bcfg2 encap profile (.ep file) - * Added GNU patch dependency, both for bcfg2 patches and call from Cfg.py - * Fixed bcfg-repo-validate so it can find xmllint (as b2-xmllint) - - 0.6:: - * Updated bcfg2 to 0.8.2 (released version) - * Removed r1953 patch from bcfg2 profile, since that is included in 0.8.2 - * Added alpha version warning - - 0.7:: - * Added Solaris support - - 0.8:: - * Added python code to fix paths; removed inline patch & GNU patch dependency - * Path change happens as part of install, logged to postinstall.log - * Changed prefix from b2 to b2- to disambiguate from system commands - * Fixes to make man pages easier to access - * Install tools as b2-example-tools-* - * Added some auxiliary tools under tools/ directory - * daemontools - cross-platform alternative to init scripts/cron - * ostiary - simple/secure daemon for kicking off a local script - * epkg Makefile - to build epkg when prebuilt binaries aren't available - -== Documentation Version == -$Id$ diff --git a/encap/bcfg2-0.8.2.ep b/encap/bcfg2-0.8.2.ep deleted file mode 100644 index cb8b99ecf..000000000 --- a/encap/bcfg2-0.8.2.ep +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -: - - - -/usr/local/lib/bcfg2/bin/python setup.py build \ ---build-base=${builddir}/build - - - -/usr/local/lib/bcfg2/bin/python setup.py install \ ---prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 - - - -/usr/local/lib/bcfg2/bin/python setup.py clean - - - - - - - - - - - - -&1 -printf "*** exec /command/envdir /usr/local/etc/default/bcfg2-client/env ./bcfg2-client.sh ...\n" -exec /command/envdir /usr/local/etc/default/bcfg2-client/env ./bcfg2-client.sh -]]> - -&1 -exec /command/multilog t /usr/local/var/multilog/bcfg2-client -]]> - -&1 -/command/envdir /usr/local/etc/default/bcfg2-server/env /bin/sh -c '\ - printf "*** exec /usr/local/bin/bcfg2-server ${OPTIONS} ...\n"' -exec /command/envdir /usr/local/etc/default/bcfg2-server/env /bin/sh -c '\ - exec /usr/local/bin/bcfg2-server ${OPTIONS}' -]]> - -&1 -exec /command/multilog t /usr/local/var/multilog/bcfg2-server -]]> - - ${BASEDIR}/postinstall.log 2>&1 3>&1 -else - printf "\npostinstall: already ran\n\t${BASEDIR}/b2-regexplace.sh, not running again...\n" >> ${BASEDIR}/postinstall.log -fi - -# Make sure log directories exist -test -d /usr/local/var || mkdir /usr/local/var -test -d $MULTILOG || mkdir $MULTILOG -test -d $MULTILOG/bcfg2-client || mkdir $MULTILOG/bcfg2-client -test -d $MULTILOG/bcfg2-server || mkdir $MULTILOG/bcfg2-server - -# Make sure environment directories exist -test -d /usr/local/etc || mkdir /usr/local/etc -test -d $DEFAULT || mkdir $DEFAULT -test -d $DEFAULT/bcfg2-client || mkdir $DEFAULT/bcfg2-client -test -d $DEFAULT/bcfg2-client/env || mkdir $DEFAULT/bcfg2-client/env -test -d $DEFAULT/bcfg2-server || mkdir $DEFAULT/bcfg2-server -test -d $DEFAULT/bcfg2-server/env || mkdir $DEFAULT/bcfg2-server/env - -# Put in default client environment if it didn't exist -if [ ! -f $DEFAULT/bcfg2-client/.SENTINEL ]; then - touch $DEFAULT/bcfg2-client/.SENTINEL - echo "-q -v -d -n" > $DEFAULT/bcfg2-client/env/OPTIONS - echo "3600" > $DEFAULT/bcfg2-client/env/RUN_INTERVAL_SECONDS -fi - -# Put in default server environment if it didn't exist -if [ ! -f $DEFAULT/bcfg2-server/.SENTINEL ]; then - touch $DEFAULT/bcfg2-server/.SENTINEL - echo "-v" > $DEFAULT/bcfg2-server/env/OPTIONS -fi -]]> - - - -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 - - - diff --git a/encap/bcfg2-gettext-0.14.5.ep b/encap/bcfg2-gettext-0.14.5.ep deleted file mode 100644 index eaf6b01e1..000000000 --- a/encap/bcfg2-gettext-0.14.5.ep +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -./configure \ - --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" - - - - - -# 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 -touch var/encap/${ENCAP_PKGNAME} - - - -description Gettext - Tools to produce multi-lingual messages - - - diff --git a/encap/bcfg2-libgcc-0.1.sh b/encap/bcfg2-libgcc-0.1.sh deleted file mode 100755 index d6de6c471..000000000 --- a/encap/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/bcfg2-libiconv-1.9.2.ep b/encap/bcfg2-libiconv-1.9.2.ep deleted file mode 100644 index b25f7090b..000000000 --- a/encap/bcfg2-libiconv-1.9.2.ep +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -./configure \ - --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" - - - - - -# 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 -touch var/encap/${ENCAP_PKGNAME} - - - -description Libiconv - Converts between character encodings - - - diff --git a/encap/bcfg2-libstdc++-0.1.sh b/encap/bcfg2-libstdc++-0.1.sh deleted file mode 100755 index 6b3fe4a98..000000000 --- a/encap/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/bcfg2-libxml2-2.6.26.ep b/encap/bcfg2-libxml2-2.6.26.ep deleted file mode 100644 index 318f90787..000000000 --- a/encap/bcfg2-libxml2-2.6.26.ep +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -./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 - - - - - -mkdir bin 2>/dev/null || exit 0 -ln -sf ../lib/bcfg2/bin/xmllint bin/b2-xmllint -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} - - - -description Libxml2 - XML C library for the Gnome project - - - diff --git a/encap/bcfg2-libxslt-1.1.17.ep b/encap/bcfg2-libxslt-1.1.17.ep deleted file mode 100644 index 8845c4a4f..000000000 --- a/encap/bcfg2-libxslt-1.1.17.ep +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -./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 - - - - - -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} - - - -description Libxml2 - XML C library for the Gnome project - - - diff --git a/encap/bcfg2-lxml-1.0.1.ep b/encap/bcfg2-lxml-1.0.1.ep deleted file mode 100644 index aa8e009e1..000000000 --- a/encap/bcfg2-lxml-1.0.1.ep +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -/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 - - - -/usr/local/lib/bcfg2/bin/python setup.py build \ ---build-base=${builddir}/build - - - -/usr/local/lib/bcfg2/bin/python setup.py install \ ---prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 - - - -/usr/local/lib/bcfg2/bin/python setup.py clean -make clean - - - - - -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} - - - -description lxml - A Pythonic binding for the libxml2 and libxslt libraries - - - diff --git a/encap/bcfg2-openssl-0.9.8b.ep b/encap/bcfg2-openssl-0.9.8b.ep deleted file mode 100644 index 2fa76160b..000000000 --- a/encap/bcfg2-openssl-0.9.8b.ep +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -./config \ - --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ - zlib-dynamic shared \ - -L/usr/local/lib/bcfg2/lib \ - -I/usr/local/lib/bcfg2/include - - - - ${MAKE} test - - - - - -# 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 -ln -sf ../lib/bcfg2/bin/openssl bin/b2-openssl -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} - - - -description SSL encryption tool and library - - - diff --git a/encap/bcfg2-pkg-config-0.20.ep b/encap/bcfg2-pkg-config-0.20.ep deleted file mode 100644 index 62db17661..000000000 --- a/encap/bcfg2-pkg-config-0.20.ep +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -./configure \ - --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ - --with-pc-path=/usr/local/lib/bcfg2/lib/pkgconfig - - - - - -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} - - - -description pkg-config - application and library compilation helper tool - - - diff --git a/encap/bcfg2-pyopenssl-0.6.ep b/encap/bcfg2-pyopenssl-0.6.ep deleted file mode 100644 index 7f9fa97f6..000000000 --- a/encap/bcfg2-pyopenssl-0.6.ep +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -/usr/local/lib/bcfg2/bin/python setup.py build_ext \ --I/usr/local/lib/bcfg2/include/openssl \ --L/usr/local/lib/bcfg2/lib/ - - - -/usr/local/lib/bcfg2/bin/python setup.py build \ ---build-base=${builddir}/build - - - -/usr/local/lib/bcfg2/bin/python setup.py install \ ---prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 - - - -/usr/local/lib/bcfg2/bin/python setup.py clean - - - - - -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} - - - -description pyOpenSSL - Python interface to the OpenSSL library - - - diff --git a/encap/bcfg2-pyrex-0.9.4.1.ep b/encap/bcfg2-pyrex-0.9.4.1.ep deleted file mode 100644 index 8fcc80449..000000000 --- a/encap/bcfg2-pyrex-0.9.4.1.ep +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -: - - - -/usr/local/lib/bcfg2/bin/python setup.py build \ ---build-base=${builddir}/build - - - -/usr/local/lib/bcfg2/bin/python setup.py install \ ---prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 \ - - - -/usr/local/lib/bcfg2/bin/python setup.py clean - - - - - -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} - - - -description Pyrex - a Language for Writing Python Extension Modules - - - diff --git a/encap/bcfg2-python-2.4.3.ep b/encap/bcfg2-python-2.4.3.ep deleted file mode 100644 index f62184a08..000000000 --- a/encap/bcfg2-python-2.4.3.ep +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - - - - -cat setup.py \ -| sed s:\/usr\/local\/:\/usr\/local\/lib\/bcfg2\/:g \ -| sed s:\/usr\/local\/lib\/bcfg2\/ssl\/include:\/usr\/local\/lib\/bcfg2\/include:g \ -| sed s:\/usr\/contrib\/ssl\/include\/:\/usr\/local\/lib\/bcfg2\/include\/openssl\/:g \ -| sed s:\/usr\/local\/lib\/bcfg2\/ssl\/lib:\/usr\/local\/lib\/bcfg2\/lib:g \ -> setup.py.bcfg2 -mv setup.py setup.py.orig -cp setup.py.bcfg2 setup.py -./configure \ - --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - --with-gcc \ - --with-cxx=g++ \ -PLATFORM_ENDIF - --enable-shared=yes \ - --disable-ipv6 - - - - - 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/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 -touch var/encap/${ENCAP_PKGNAME} -]]> - - -description Python - Scripting language - - - diff --git a/encap/bcfg2-zlib-1.2.3.ep b/encap/bcfg2-zlib-1.2.3.ep deleted file mode 100644 index cba36bfb3..000000000 --- a/encap/bcfg2-zlib-1.2.3.ep +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - -PLATFORM_IF_MATCH(linux) -PLATFORM_ELSE - -PLATFORM_ENDIF - - - - - -PLATFORM_IF_MATCH(solaris) - -PLATFORM_ENDIF - - - - -./configure \ -PLATFORM_IF_MATCH(aix) -PLATFORM_ELSE - --shared \ -PLATFORM_ENDIF - --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" - - - - - -# 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 -touch var/encap/${ENCAP_PKGNAME} - - - -description Zlib compression library - - - diff --git a/encap/m4-1.4.4.sh b/encap/m4-1.4.4.sh deleted file mode 100755 index b424007eb..000000000 --- a/encap/m4-1.4.4.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# $Id$ - -ENCAP_PKGNAME=m4-1.4.4 -PATH=$PATH:/usr/local/bin -export PATH - -cat > ${ENCAP_PKGNAME}.ep << EOF - - - - - - - - - - - - - - - - -mkdir var 2>/dev/null || exit 0 -mkdir var/encap 2>/dev/null || exit 0 -touch var/encap/${ENCAP_PKGNAME} - - - -description m4 - GNU implementation of the traditional Unix macro processor - - - -EOF - -cat > m4-fake << EOF -#!/bin/sh -cat \$4 -EOF - -chmod 755 m4-fake - -( ${MKENCAP} -m ${PWD}/m4-fake -b -DUP ${ENCAP_PKGNAME}.ep || true ) \ - > ${ENCAP_PKGNAME}.log 2>&1 - -( ${MKENCAP} -m ${PWD}/m4-fake -b -T ${ENCAP_PKGNAME}.ep || true ) \ - >> ${ENCAP_PKGNAME}.log 2>&1 - -( ${MKENCAP} -m ${PWD}/m4-fake -b -CBI ${ENCAP_PKGNAME}.ep ) \ - >> ${ENCAP_PKGNAME}.log 2>&1 - -rm m4-fake -rm ${ENCAP_PKGNAME}.ep - -exit 0 diff --git a/encap/tools/bcfg2-client/Makefile b/encap/tools/bcfg2-client/Makefile new file mode 100644 index 000000000..45de670d0 --- /dev/null +++ b/encap/tools/bcfg2-client/Makefile @@ -0,0 +1,116 @@ +# $Id$ + +.PHONY : all install clean uninstall encaps rename bcfg2only +.SUFFIXES : +.SUFFIXES : .ep .sh .installed .packaged + +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.2 + +.ep.installed : # Clean, compile and install an encap package + @printf "***** START .ep.installed for |$*| ***** \n" + ( ${EPKG} -q -r ${ENCAPDIR}/$* || true ) + ( rm -rf ${ENCAPDIR}/$* || true ) + ( ${MKENCAP} -m /usr/local/bin/m4 -b -DUP $*.ep || true ) > $*.log 2>&1 + ( ${MKENCAP} -m /usr/local/bin/m4 -b -T $*.ep || true ) >> $*.log 2>&1 + ( ${MKENCAP} -m /usr/local/bin/m4 -b -CBI $*.ep ) >> $*.log 2>&1 + ${EPKG} -q -i ${ENCAPDIR}/$* + test -h ${BASEDIR}/var/encap/$* + touch $*.installed + @printf "***** STOP .ep.installed for |$*| ***** \n" + +.sh.installed : # Create and install a "fake" encap package + @printf "***** START .sh.installed for |$*| ***** \n" + ( ${EPKG} -q -r ${ENCAPDIR}/$* || true ) + ( rm -rf ${ENCAPDIR}/$* || true ) + chmod 755 ./$*.sh + ./$*.sh + ${EPKG} -q -i ${ENCAPDIR}/$* + test -h ${BASEDIR}/var/encap/$* + touch $*.installed + @printf "***** STOP .sh.installed for |$*| ***** \n" + +.installed.packaged : # Create .tar.gz encap packages for distribution + @printf "***** START .installed.packaged for |$*| ***** \n" + ( rm ${ENCAPDIR}/$*-*.tar.gz || true ) + ( cd ${ENCAPDIR} && ${MKENCAP} -e $* || true ) + cd ${ENCAPDIR} && ${MKENCAP} -c $* + mv ${ENCAPDIR}/$*-encap-*.tar.gz . + touch $*.packaged + @printf "***** STOP .installed.packaged for |$*| ***** \n" + +all : + ( $(MAKE) install > make.log 2>&1 && $(MAKE) encaps >> make.log 2>&1 ) & + +install : ${EPKG} ${MKENCAP} ${BCFG2}.installed + +encaps : ${EPKG} ${MKENCAP} ${BCFG2}.packaged + +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 *.packaged || true ) + ( rm *.gz || true ) + ( rm *~ || true ) + +uninstall : clean + ( rm *.installed || true ) + ( ${EPKG} -q -r ${ENCAPDIR}/bcfg2-* || true ) + ( rm -rf ${ENCAPDIR}/bcfg2-* || true ) + ( rm -rf ${BASEDIR}/lib/bcfg2 || true ) + +bcfg2only : + $(MAKE) -t; sleep 2; touch $(BCFG2).ep; $(MAKE) + +${ZLIB}.installed : ${M4}.installed +${LIBICONV}.installed : ${ZLIB}.installed +${GETTEXT}.installed : ${LIBICONV}.installed +${PKG-CONFIG}.installed : ${GETTEXT}.installed +${OPENSSL}.installed : ${PKG-CONFIG}.installed +${LIBSTDCXX}.installed : ${OPENSSL}.installed +${LIBGCC}.installed : ${LIBSTDCXX}.installed +${PYTHON}.installed : ${LIBGCC}.installed +${PYREX}.installed : ${PYTHON}.installed +${PYOPENSSL}.installed : ${PYREX}.installed +${LIBXML2}.installed : ${PYOPENSSL}.installed +${LIBXSLT}.installed : ${LIBXML2}.installed +${LXML}.installed : ${LIBXSLT}.installed +${BCFG2}.installed : ${LXML}.installed + +${LIBICONV}.packaged : ${ZLIB}.packaged +${GETTEXT}.packaged : ${LIBICONV}.packaged +${OPENSSL}.packaged : ${GETTEXT}.packaged +${LIBSTDCXX}.packaged : ${OPENSSL}.packaged +${LIBGCC}.packaged : ${LIBSTDCXX}.packaged +${PYTHON}.packaged : ${LIBGCC}.packaged +${PYOPENSSL}.packaged : ${PYTHON}.packaged +${LIBXML2}.packaged : ${PYOPENSSL}.packaged +${LIBXSLT}.packaged : ${LIBXML2}.packaged +${LXML}.packaged : ${LIBXSLT}.packaged +${BCFG2}.packaged : ${LXML}.packaged diff --git a/encap/tools/bcfg2-client/bcfg2-0.8.2.ep b/encap/tools/bcfg2-client/bcfg2-0.8.2.ep new file mode 100644 index 000000000..cb8b99ecf --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-0.8.2.ep @@ -0,0 +1,444 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +: + + + +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build + + + +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 + + + +/usr/local/lib/bcfg2/bin/python setup.py clean + + + + + + + + + + + + +&1 +printf "*** exec /command/envdir /usr/local/etc/default/bcfg2-client/env ./bcfg2-client.sh ...\n" +exec /command/envdir /usr/local/etc/default/bcfg2-client/env ./bcfg2-client.sh +]]> + +&1 +exec /command/multilog t /usr/local/var/multilog/bcfg2-client +]]> + +&1 +/command/envdir /usr/local/etc/default/bcfg2-server/env /bin/sh -c '\ + printf "*** exec /usr/local/bin/bcfg2-server ${OPTIONS} ...\n"' +exec /command/envdir /usr/local/etc/default/bcfg2-server/env /bin/sh -c '\ + exec /usr/local/bin/bcfg2-server ${OPTIONS}' +]]> + +&1 +exec /command/multilog t /usr/local/var/multilog/bcfg2-server +]]> + + ${BASEDIR}/postinstall.log 2>&1 3>&1 +else + printf "\npostinstall: already ran\n\t${BASEDIR}/b2-regexplace.sh, not running again...\n" >> ${BASEDIR}/postinstall.log +fi + +# Make sure log directories exist +test -d /usr/local/var || mkdir /usr/local/var +test -d $MULTILOG || mkdir $MULTILOG +test -d $MULTILOG/bcfg2-client || mkdir $MULTILOG/bcfg2-client +test -d $MULTILOG/bcfg2-server || mkdir $MULTILOG/bcfg2-server + +# Make sure environment directories exist +test -d /usr/local/etc || mkdir /usr/local/etc +test -d $DEFAULT || mkdir $DEFAULT +test -d $DEFAULT/bcfg2-client || mkdir $DEFAULT/bcfg2-client +test -d $DEFAULT/bcfg2-client/env || mkdir $DEFAULT/bcfg2-client/env +test -d $DEFAULT/bcfg2-server || mkdir $DEFAULT/bcfg2-server +test -d $DEFAULT/bcfg2-server/env || mkdir $DEFAULT/bcfg2-server/env + +# Put in default client environment if it didn't exist +if [ ! -f $DEFAULT/bcfg2-client/.SENTINEL ]; then + touch $DEFAULT/bcfg2-client/.SENTINEL + echo "-q -v -d -n" > $DEFAULT/bcfg2-client/env/OPTIONS + echo "3600" > $DEFAULT/bcfg2-client/env/RUN_INTERVAL_SECONDS +fi + +# Put in default server environment if it didn't exist +if [ ! -f $DEFAULT/bcfg2-server/.SENTINEL ]; then + touch $DEFAULT/bcfg2-server/.SENTINEL + echo "-v" > $DEFAULT/bcfg2-server/env/OPTIONS +fi +]]> + + + +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 + + + diff --git a/encap/tools/bcfg2-client/bcfg2-gettext-0.14.5.ep b/encap/tools/bcfg2-client/bcfg2-gettext-0.14.5.ep new file mode 100644 index 000000000..eaf6b01e1 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-gettext-0.14.5.ep @@ -0,0 +1,79 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" + + + + + +# 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 +touch var/encap/${ENCAP_PKGNAME} + + + +description Gettext - Tools to produce multi-lingual messages + + + diff --git a/encap/tools/bcfg2-client/bcfg2-libgcc-0.1.sh b/encap/tools/bcfg2-client/bcfg2-libgcc-0.1.sh new file mode 100755 index 000000000..d6de6c471 --- /dev/null +++ b/encap/tools/bcfg2-client/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/tools/bcfg2-client/bcfg2-libiconv-1.9.2.ep b/encap/tools/bcfg2-client/bcfg2-libiconv-1.9.2.ep new file mode 100644 index 000000000..b25f7090b --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-libiconv-1.9.2.ep @@ -0,0 +1,79 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" + + + + + +# 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 +touch var/encap/${ENCAP_PKGNAME} + + + +description Libiconv - Converts between character encodings + + + diff --git a/encap/tools/bcfg2-client/bcfg2-libstdc++-0.1.sh b/encap/tools/bcfg2-client/bcfg2-libstdc++-0.1.sh new file mode 100755 index 000000000..6b3fe4a98 --- /dev/null +++ b/encap/tools/bcfg2-client/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/tools/bcfg2-client/bcfg2-libxml2-2.6.26.ep b/encap/tools/bcfg2-client/bcfg2-libxml2-2.6.26.ep new file mode 100644 index 000000000..318f90787 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-libxml2-2.6.26.ep @@ -0,0 +1,86 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +./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 + + + + + +mkdir bin 2>/dev/null || exit 0 +ln -sf ../lib/bcfg2/bin/xmllint bin/b2-xmllint +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description Libxml2 - XML C library for the Gnome project + + + diff --git a/encap/tools/bcfg2-client/bcfg2-libxslt-1.1.17.ep b/encap/tools/bcfg2-client/bcfg2-libxslt-1.1.17.ep new file mode 100644 index 000000000..8845c4a4f --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-libxslt-1.1.17.ep @@ -0,0 +1,89 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +./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 + + + + + +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} + + + +description Libxml2 - XML C library for the Gnome project + + + diff --git a/encap/tools/bcfg2-client/bcfg2-lxml-1.0.1.ep b/encap/tools/bcfg2-client/bcfg2-lxml-1.0.1.ep new file mode 100644 index 000000000..aa8e009e1 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-lxml-1.0.1.ep @@ -0,0 +1,94 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +/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 + + + +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build + + + +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 + + + +/usr/local/lib/bcfg2/bin/python setup.py clean +make clean + + + + + +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description lxml - A Pythonic binding for the libxml2 and libxslt libraries + + + diff --git a/encap/tools/bcfg2-client/bcfg2-openssl-0.9.8b.ep b/encap/tools/bcfg2-client/bcfg2-openssl-0.9.8b.ep new file mode 100644 index 000000000..2fa76160b --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-openssl-0.9.8b.ep @@ -0,0 +1,89 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +./config \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ + zlib-dynamic shared \ + -L/usr/local/lib/bcfg2/lib \ + -I/usr/local/lib/bcfg2/include + + + + ${MAKE} test + + + + + +# 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 +ln -sf ../lib/bcfg2/bin/openssl bin/b2-openssl +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description SSL encryption tool and library + + + diff --git a/encap/tools/bcfg2-client/bcfg2-pkg-config-0.20.ep b/encap/tools/bcfg2-client/bcfg2-pkg-config-0.20.ep new file mode 100644 index 000000000..62db17661 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-pkg-config-0.20.ep @@ -0,0 +1,77 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ + --with-pc-path=/usr/local/lib/bcfg2/lib/pkgconfig + + + + + +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description pkg-config - application and library compilation helper tool + + + diff --git a/encap/tools/bcfg2-client/bcfg2-pyopenssl-0.6.ep b/encap/tools/bcfg2-client/bcfg2-pyopenssl-0.6.ep new file mode 100644 index 000000000..7f9fa97f6 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-pyopenssl-0.6.ep @@ -0,0 +1,91 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +/usr/local/lib/bcfg2/bin/python setup.py build_ext \ +-I/usr/local/lib/bcfg2/include/openssl \ +-L/usr/local/lib/bcfg2/lib/ + + + +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build + + + +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 + + + +/usr/local/lib/bcfg2/bin/python setup.py clean + + + + + +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description pyOpenSSL - Python interface to the OpenSSL library + + + diff --git a/encap/tools/bcfg2-client/bcfg2-pyrex-0.9.4.1.ep b/encap/tools/bcfg2-client/bcfg2-pyrex-0.9.4.1.ep new file mode 100644 index 000000000..8fcc80449 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-pyrex-0.9.4.1.ep @@ -0,0 +1,90 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +: + + + +/usr/local/lib/bcfg2/bin/python setup.py build \ +--build-base=${builddir}/build + + + +/usr/local/lib/bcfg2/bin/python setup.py install \ +--prefix=${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2 \ + + + +/usr/local/lib/bcfg2/bin/python setup.py clean + + + + + +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} + + + +description Pyrex - a Language for Writing Python Extension Modules + + + diff --git a/encap/tools/bcfg2-client/bcfg2-python-2.4.3.ep b/encap/tools/bcfg2-client/bcfg2-python-2.4.3.ep new file mode 100644 index 000000000..f62184a08 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-python-2.4.3.ep @@ -0,0 +1,98 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + + + + +cat setup.py \ +| sed s:\/usr\/local\/:\/usr\/local\/lib\/bcfg2\/:g \ +| sed s:\/usr\/local\/lib\/bcfg2\/ssl\/include:\/usr\/local\/lib\/bcfg2\/include:g \ +| sed s:\/usr\/contrib\/ssl\/include\/:\/usr\/local\/lib\/bcfg2\/include\/openssl\/:g \ +| sed s:\/usr\/local\/lib\/bcfg2\/ssl\/lib:\/usr\/local\/lib\/bcfg2\/lib:g \ +> setup.py.bcfg2 +mv setup.py setup.py.orig +cp setup.py.bcfg2 setup.py +./configure \ + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" \ +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + --with-gcc \ + --with-cxx=g++ \ +PLATFORM_ENDIF + --enable-shared=yes \ + --disable-ipv6 + + + + + 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/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 +touch var/encap/${ENCAP_PKGNAME} +]]> + + +description Python - Scripting language + + + diff --git a/encap/tools/bcfg2-client/bcfg2-zlib-1.2.3.ep b/encap/tools/bcfg2-client/bcfg2-zlib-1.2.3.ep new file mode 100644 index 000000000..cba36bfb3 --- /dev/null +++ b/encap/tools/bcfg2-client/bcfg2-zlib-1.2.3.ep @@ -0,0 +1,90 @@ + + + + + + + + + + +PLATFORM_IF_MATCH(linux) +PLATFORM_ELSE + +PLATFORM_ENDIF + + + + + +PLATFORM_IF_MATCH(solaris) + +PLATFORM_ENDIF + + + + +./configure \ +PLATFORM_IF_MATCH(aix) +PLATFORM_ELSE + --shared \ +PLATFORM_ENDIF + --prefix="${ENCAP_SOURCE}/${ENCAP_PKGNAME}/lib/bcfg2" + + + + + +# 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 +touch var/encap/${ENCAP_PKGNAME} + + + +description Zlib compression library + + + diff --git a/encap/tools/bcfg2-client/m4-1.4.4.sh b/encap/tools/bcfg2-client/m4-1.4.4.sh new file mode 100755 index 000000000..b424007eb --- /dev/null +++ b/encap/tools/bcfg2-client/m4-1.4.4.sh @@ -0,0 +1,74 @@ +#!/bin/sh +# $Id$ + +ENCAP_PKGNAME=m4-1.4.4 +PATH=$PATH:/usr/local/bin +export PATH + +cat > ${ENCAP_PKGNAME}.ep << EOF + + + + + + + + + + + + + + + + +mkdir var 2>/dev/null || exit 0 +mkdir var/encap 2>/dev/null || exit 0 +touch var/encap/${ENCAP_PKGNAME} + + + +description m4 - GNU implementation of the traditional Unix macro processor + + + +EOF + +cat > m4-fake << EOF +#!/bin/sh +cat \$4 +EOF + +chmod 755 m4-fake + +( ${MKENCAP} -m ${PWD}/m4-fake -b -DUP ${ENCAP_PKGNAME}.ep || true ) \ + > ${ENCAP_PKGNAME}.log 2>&1 + +( ${MKENCAP} -m ${PWD}/m4-fake -b -T ${ENCAP_PKGNAME}.ep || true ) \ + >> ${ENCAP_PKGNAME}.log 2>&1 + +( ${MKENCAP} -m ${PWD}/m4-fake -b -CBI ${ENCAP_PKGNAME}.ep ) \ + >> ${ENCAP_PKGNAME}.log 2>&1 + +rm m4-fake +rm ${ENCAP_PKGNAME}.ep + +exit 0 -- cgit v1.2.3-1-g7c22