Commit 46657705 authored by Łukasz Nowak's avatar Łukasz Nowak

Import http://git.erp5.org/gitweb/erp5.git/tree/HEAD:/slapos

Create components and software (automagically).
Some components are candidates to merge, some to remove.
Some components shall be stacks.
parent 1ca6cd94
[buildout]
parts =
apache
apache-antiloris
extends =
libexpat.cfg
libuuid.cfg
gdbm.cfg
openssl.cfg
pcre.cfg
pkgconfig.cfg
sqlite3.cfg
zlib.cfg
[apache]
# inspired on http://old.aclark.net/team/aclark/blog/a-lamp-buildout-for-wordpress-and-other-php-apps/
recipe = hexagonit.recipe.cmmi
url = http://mir2.ovh.net/ftp.apache.org/dist//httpd/httpd-2.2.19.tar.bz2
md5sum = 832f96a6ec4b8fc7cf49b9efd4e89060
configure-options = --disable-static
--enable-authn-alias
--enable-bucketeer
--enable-cache
--enable-case-filter
--enable-case-filter-in
--enable-cgid
--enable-charset-lite
--enable-disk-cache
--enable-echo
--enable-exception-hook
--enable-mods-shared=all
--enable-optional-fn-export
--enable-optional-fn-import
--enable-optional-hook-export
--enable-optional-hook-import
--enable-proxy
--enable-proxy-ajp
--enable-proxy-balancer
--enable-proxy-connect
--enable-proxy-ftp
--enable-proxy-http
--enable-proxy-scgi
--enable-so
--enable-ssl
--with-included-apr
--with-ssl=${openssl:location}
--with-z=${zlib:location}
--with-expat=${libexpat:location}
--with-pcre=${pcre:location}
--with-sqlite3=${sqlite3:location}
--with-dbm=gdbm
--with-gdm=${gdbm:location}
--without-lber
--without-ldap
--without-ndbm
--without-berkeley-db
--without-pgsql
--without-mysql
--without-sqlite2
--without-oracle
--without-freedts
--without-odbc
--without-iconv
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig
CPPFLAGS =-I${libuuid:location}/include
LDFLAGS =-Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -L${libuuid:location}/lib -Wl,-rpath -Wl,${libuuid:location}/lib -Wl,-rpath -Wl,${libexpat:location}/lib -Wl,-rpath -Wl,${pcre:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib -Wl,-rpath -Wl,${gdbm:location}/lib
[apache-antiloris]
# Note: Shall react on each build of apache and reinstall itself
recipe = hexagonit.recipe.cmmi
url = http://sourceforge.net/projects/mod-antiloris/files/mod_antiloris-0.4.tar.bz2/download
md5sum = 66862bf10e9be3a023e475604a28a0b4
configure-command = ${apache:location}/bin/apxs
configure-options = -c mod_antiloris.c
make-binary = ${:configure-command}
make-options = -i -a -n antiloris mod_antiloris.la
make-targets =
[buildout]
extends =
m4.cfg
perl.cfg
parts =
autoconf
[autoconf]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz
md5sum = c3b5247592ce694f7097873aa07d66fe
environment =
M4=${m4:location}/bin/m4
PATH=${perl:location}/bin:%(PATH)s
[buildout]
extends =
autoconf.cfg
perl.cfg
parts =
automake-1.11
[automake-1.11]
recipe = hexagonit.recipe.cmmi
md5sum = c2972c4d9b3e29c03d5f2af86249876f
url = http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.bz2
environment =
PATH =${autoconf:location}/bin:${perl:location}/bin:%(PATH)s
[buildout]
extends =
m4.cfg
parts =
bison
[bison]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/bison/bison-2.4.3.tar.gz
md5sum = ea45c778b36bdc7a720096819e292a73
environment =
M4=${m4:location}/bin/m4
[buildout]
parts =
boost-lib
[boost-lib-download]
recipe = hexagonit.recipe.download
url = http://downloads.sourceforge.net/sourceforge/boost/boost_1_43_0.tar.gz
md5sum = 734565ca4819bf04bd8e903e116c3fb1
strip-top-level-dir = true
[boost-lib]
recipe = plone.recipe.command
source = ${boost-lib-download:location}
destination = ${buildout:parts-directory}/${:_buildout_section_name_}
location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
command =
rm -fr ${:destination} &&
mkdir -p ${:destination} &&
cd ${:source} &&
./bootstrap.sh --prefix=${:location} &&
./bjam install
[buildout]
parts =
bzip2
[bzip2-hooks-download]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../hook/${:filename}
md5sum = 066c8355b7d726f30176ea5b6a35e1a2
download-only = true
filename = bzip2-hooks.py
[bzip2]
recipe = hexagonit.recipe.cmmi
url = http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
md5sum = 00b516f4704d4a7cb50a1d97e6e8e15b
configure-command = true
make-options =
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
CFLAGS="-fpic -fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64"
post-make-hook = ${bzip2-hooks-download:location}/${bzip2-hooks-download:filename}:post_make_hook
import os
import shutil
def post_make_hook(options, buildout):
make_options_list = [q for q in options.get('make-options', '').split('\n') if q]
if os.system('make %s -f Makefile-libbz2_so' % ' '.join(make_options_list)) != 0:
raise ValueError('Generation of dynamic library failed')
original = 'libbz2.so.1.0.6'
link_list = ['libbz2.so.1.0', 'libbz2.so.1', 'libbz2.so']
destination = os.path.join(options['location'], 'lib')
for filename in [original] + link_list:
f = os.path.join(destination, filename)
if os.path.exists(f) or os.path.islink(f):
os.unlink(f)
shutil.copyfile(os.path.join(os.curdir, original), os.path.join(destination,
original))
for link in link_list:
os.symlink(original, os.path.join(destination,
link))
[buildout]
parts = ccache
[ccache-common]
recipe = hexagonit.recipe.cmmi
[ccache]
<= ccache-3.1
[ccache-3.1]
<= ccache-common
url = http://samba.org/ftp/ccache/ccache-3.1.tar.bz2
md5sum = 7961852e1e36f11559039c32142f58df
[buildout]
extends =
cloudooo.cfg
extensions = mr.developer
sources = sources
auto-checkout = ${buildout:cloudooo-packages}
[sources]
cloudooo = svn https://svn.erp5.org/repos/public/erp5/trunk/utils/cloudooo
cloudooo.handler.pdf = svn https://svn.erp5.org/repos/public/erp5/trunk/utils/cloudooo.handler.pdf/
cloudooo.handler.ffmpeg = svn https://svn.erp5.org/repos/public/erp5/trunk/utils/cloudooo.handler.ffmpeg/
cloudooo.handler.imagemagick = svn https://svn.erp5.org/repos/public/erp5/trunk/utils/cloudooo.handler.imagemagick/
cloudooo.handler.ooo = svn https://svn.erp5.org/repos/public/erp5/trunk/utils/cloudooo.handler.ooo/
[buildout]
software_home = ${:directory}
extends =
../profiles/versions-common.cfg
../profiles/software-definition.cfg
../profiles/common.cfg
xpdf.cfg
imagemagick.cfg
file.cfg
pdftk.cfg
ffmpeg.cfg
python-2.6.cfg
libreoffice-bin.cfg
lxml-python.cfg
python = software_definition
versions = versions
parts =
instance_template
cloudooo
imagemagick
instance-egg
libreoffice-bin
file
xpdf
pdftk
ffmpeg
python2.6
bootstrap2.6
cloudooo-packages =
cloudooo.handler.ooo
cloudooo.handler.pdf
cloudooo.handler.ffmpeg
cloudooo.handler.imagemagick
cloudooo
[instance-egg]
recipe = zc.recipe.egg
python = python2.6
eggs =
erp5.recipe.cloudoooinstance
z3c.recipe.mkdir
${buildout:cloudooo-packages}
[cloudooo]
recipe = zc.recipe.egg
python = python2.6
interpreter = pycloudoo
scripts =
eggs =
${lxml-python:egg}
collective.recipe.supervisor
plone.recipe.command
erp5.extension.sectionextender
supervisor
${buildout:cloudooo-packages}
[software_definition]
software_home = ${buildout:directory}
executable = ${python2.6:executable}
[buildout]
parts =
cmake
[cmake]
recipe = hexagonit.recipe.cmmi
url = http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz
md5sum = a76a44b93acf5e3badda9de111385921
[buildout]
parts =
coreutils
[coreutils]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/coreutils/coreutils-8.9.tar.gz
md5sum = 36909ae68840d73a800120cf74af794a
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_} --enable-install-program=tr,basename,uname,cat,cp,ls
environment =
LDFLAGS =-Wl,--as-needed
# GNU cpio copies files into or out of a cpio or tar archive. The archive can be another file on the disk, a magnetic tape, or a pipe.
[buildout]
parts = cpio
[cpio]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/cpio/cpio-2.11.tar.bz2
md5sum = 20fc912915c629e809f80b96b2e75d7d
[buildout]
extends =
cmake.cfg
imagemagick.cfg
parts = cuneiform
[cuneiform]
recipe = hexagonit.recipe.cmmi
url = http://launchpad.net/cuneiform-linux/1.0/1.0/+download/cuneiform-linux-1.0.0.tar.bz2
md5sum = 785232ffffad7d82446fbac08a1c3ef9
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command =
mkdir build && cd build && \
${cmake:location}/bin/cmake \
-DCMAKE_INSTALL_RPATH=${:location}/lib64:${:location}/lib \
-DCMAKE_INSTALL_PREFIX=${:location} \
-DNO_SYSTEM_ENVIRONMENT_PATH=ON \
-DCMAKE_INCLUDE_PATH=${imagemagick:location}/include \
-DCMAKE_LIBRARY_PATH=${imagemagick:location}/lib \
-DCMAKE_INSTALL_RPATH=${:location}/lib64:${:location}/lib:${imagemagick:location}/lib \
-DCMAKE_BUILD_TYPE=release \
..
make-binary =
cd build && make
# libcurl - the multiprotocol file transfer library
# http://curl.haxx.se/
[buildout]
extends =
openssl.cfg
pkgconfig.cfg
zlib.cfg
parts =
curl
[curl]
recipe = hexagonit.recipe.cmmi
url = http://curl.haxx.se/download/curl-7.21.3.tar.bz2
md5sum = 5b57fee22090b5c43a6886fdd35af2ce
configure-options =
--disable-static
--disable-ldap
--disable-ldaps
--disable-rtsp
--disable-proxy
--disable-dict
--disable-telnet
--disable-tftp
--disable-pop3
--disable-imap
--disable-smtp
--disable-gopher
--enable-ipv6
--disable-sspi
--with-ssl=${openssl:location}
--with-zlib=${zlib:location}
--without-nss
--without-libssh2
--without-libidn
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig
LDFLAGS=-Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib
[buildout]
parts =
cyrus-sasl
extends =
zlib.cfg
[cyrus-sasl-gcc4.4-patch]
# patch available thanks to Gentoo packagers
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.22-gcc44.patch?revision=1.2
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 5deb4d67b53ecba20c7887fc8fdebee1
filename = cyrus-sasl-2.1.22-gcc44.patch
download-only = true
[cyrus-sasl]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-2.1.23.tar.gz
md5sum = 2eb0e48106f0e9cd8001e654f267ecbc
patches =
${cyrus-sasl-gcc4.4-patch:location}/${cyrus-sasl-gcc4.4-patch:filename}
patch-options =
-p1
configure-options =
--disable-digest
--disable-gssapi
--disable-otp
--with-dblib=none
--without-des
--without-openssl
--without-pam
--without-saslauthd
# it seems that parallel build sometimes fails.
make-options =
-j1
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
fix warnings with gcc-4.4
http://bugs.gentoo.org/248738
--- cyrus-sasl-2.1.22/plugins/digestmd5.c
+++ cyrus-sasl-2.1.22/plugins/digestmd5.c
@@ -2715,7 +2715,7 @@ static sasl_server_plug_t digestmd5_serv
"DIGEST-MD5", /* mech_name */
#ifdef WITH_RC4
128, /* max_ssf */
-#elif WITH_DES
+#elif defined(WITH_DES)
112,
#else
1,
@@ -4034,7 +4034,7 @@ static sasl_client_plug_t digestmd5_clie
"DIGEST-MD5",
#ifdef WITH_RC4 /* mech_name */
128, /* max ssf */
-#elif WITH_DES
+#elif defined(WITH_DES)
112,
#else
1,
--- cyrus-sasl-2.1.23/include/sasl.h 2010-11-25 18:15:05.000000000 +0100
+++ cyrus-sasl-2.1.23/include/sasl.h 2010-11-25 18:15:34.000000000 +0100
@@ -346,7 +346,7 @@
* Mechanisms must ignore callbacks with id's they don't recognize.
*/
unsigned long id;
- int (*proc)(); /* Callback function. Types of arguments vary by 'id' */
+ int (*proc); /* Callback function. Types of arguments vary by 'id' */
void *context;
} sasl_callback_t;
[buildout]
parts = dcron
[dcron-patch-nonroot]
recipe = hexagonit.recipe.download
md5sum = 2f5b22dc1cbe81060a9c28e6f5c06e8b
url = ${:_profile_base_location_}/../patch/${:filename}
filename = dcron-4.4.noroot.no.globals.patch
download-only = true
[dcron]
recipe = hexagonit.recipe.cmmi
url = http://www.jimpryor.net/linux/releases/dcron-4.4.tar.gz
md5sum = 02d848ba043a9df5bf2102a9f4bc04bd
configure-command = true
patches =
${dcron-patch-nonroot:location}/${dcron-patch-nonroot:filename}
patch-options = -p1
make-options =
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
# Patch for making dcron usable without root user, as a local service
diff -ru dcron-4.4.org/chuser.c dcron-4.4/chuser.c
--- dcron-4.4.org/chuser.c 2010-01-18 16:27:31.000000000 +0100
+++ dcron-4.4/chuser.c 2011-04-01 11:19:19.000000000 +0200
@@ -14,47 +14,6 @@
int
ChangeUser(const char *user, char *dochdir)
{
- struct passwd *pas;
-
- /*
- * Obtain password entry and change privilages
- */
-
- if ((pas = getpwnam(user)) == 0) {
- printlogf(LOG_ERR, "failed to get uid for %s\n", user);
- return(-1);
- }
- setenv("USER", pas->pw_name, 1);
- setenv("HOME", pas->pw_dir, 1);
- setenv("SHELL", "/bin/sh", 1);
-
- /*
- * Change running state to the user in question
- */
-
- if (initgroups(user, pas->pw_gid) < 0) {
- printlogf(LOG_ERR, "initgroups failed: %s %s\n", user, strerror(errno));
- return(-1);
- }
- if (setregid(pas->pw_gid, pas->pw_gid) < 0) {
- printlogf(LOG_ERR, "setregid failed: %s %d\n", user, pas->pw_gid);
- return(-1);
- }
- if (setreuid(pas->pw_uid, pas->pw_uid) < 0) {
- printlogf(LOG_ERR, "setreuid failed: %s %d\n", user, pas->pw_uid);
- return(-1);
- }
- if (dochdir) {
- /* try to change to $HOME */
- if (chdir(pas->pw_dir) < 0) {
- printlogf(LOG_ERR, "chdir failed: %s %s\n", user, pas->pw_dir);
- /* dochdir is a backup directory, usually /tmp */
- if (chdir(dochdir) < 0) {
- printlogf(LOG_ERR, "chdir failed: %s %s\n", user, dochdir);
- return(-1);
- }
- }
- }
- return(pas->pw_uid);
+ return getpwnam(user);
}
diff -ru dcron-4.4.org/crontab.c dcron-4.4/crontab.c
--- dcron-4.4.org/crontab.c 2010-01-18 16:27:31.000000000 +0100
+++ dcron-4.4/crontab.c 2011-04-01 11:19:19.000000000 +0200
@@ -316,9 +316,6 @@
close(filedes[0]);
- if (ChangeUser(user, NULL) < 0)
- exit(0);
-
fd = open(file, O_RDONLY);
if (fd < 0) {
printlogf(0, "unable to open %s: %s", file, strerror(errno));
@@ -344,8 +341,6 @@
const char *ptr;
char visual[SMALL_BUFFER];
- if (ChangeUser(user, TMPDIR) < 0)
- exit(0);
if ((ptr = getenv("EDITOR")) == NULL || strlen(ptr) >= sizeof(visual))
if ((ptr = getenv("VISUAL")) == NULL || strlen(ptr) >= sizeof(visual))
ptr = PATH_VI;
diff -ru dcron-4.4.org/job.c dcron-4.4/job.c
--- dcron-4.4.org/job.c 2010-01-18 16:27:31.000000000 +0100
+++ dcron-4.4/job.c 2011-04-01 11:19:19.000000000 +0200
@@ -62,14 +62,6 @@
* Change running state to the user in question
*/
- if (ChangeUser(file->cf_UserName, TempDir) < 0) {
- printlogf(LOG_ERR, "unable to ChangeUser (user %s %s)\n",
- file->cf_UserName,
- line->cl_Description
- );
- exit(0);
- }
-
/* from this point we are unpriviledged */
if (DebugOpt)
@@ -295,14 +287,6 @@
* by the mailing and we already verified the mail file.
*/
- if (ChangeUser(file->cf_UserName, TempDir) < 0) {
- printlogf(LOG_ERR, "unable to ChangeUser to send mail (user %s %s)\n",
- file->cf_UserName,
- line->cl_Description
- );
- exit(0);
- }
-
/* from this point we are unpriviledged */
/*
diff -ru dcron-4.4.org/Makefile dcron-4.4/Makefile
--- dcron-4.4.org/Makefile 2010-01-18 16:27:31.000000000 +0100
+++ dcron-4.4/Makefile 2011-04-01 11:19:35.000000000 +0200
@@ -3,7 +3,6 @@
# these variables can be configured by e.g. `make SCRONTABS=/different/path`
PREFIX = /usr/local
-CRONTAB_GROUP = wheel
SCRONTABS = /etc/cron.d
CRONTABS = /var/spool/cron/crontabs
CRONSTAMPS = /var/spool/cron/cronstamps
@@ -20,10 +19,10 @@
SHELL = /bin/sh
-INSTALL = install -o root
+INSTALL = install
INSTALL_PROGRAM = $(INSTALL) -D
-INSTALL_DATA = $(INSTALL) -D -m0644 -g root
-INSTALL_DIR = $(INSTALL) -d -m0755 -g root
+INSTALL_DATA = $(INSTALL) -D -m0644
+INSTALL_DIR = $(INSTALL) -d -m0755
CFLAGS ?= -O2
CFLAGS += -Wall -Wstrict-prototypes
SRCS = main.c subs.c database.c job.c concat.c chuser.c
@@ -44,7 +43,6 @@
echo "SBINDIR = $(SBINDIR)" >> config
echo "BINDIR = $(BINDIR)" >> config
echo "MANDIR = $(MANDIR)" >> config
- echo "CRONTAB_GROUP = $(CRONTAB_GROUP)" >> config
echo "SCRONTABS = $(SCRONTABS)" >> config
echo "CRONTABS = $(CRONTABS)" >> config
echo "CRONSTAMPS = $(CRONSTAMPS)" >> config
@@ -62,13 +60,10 @@
$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $< -o $@
install:
- $(INSTALL_PROGRAM) -m0700 -g root crond $(DESTDIR)$(SBINDIR)/crond
- $(INSTALL_PROGRAM) -m4750 -g $(CRONTAB_GROUP) crontab $(DESTDIR)$(BINDIR)/crontab
+ $(INSTALL_PROGRAM) -m0755 crond $(DESTDIR)$(SBINDIR)/crond
+ $(INSTALL_PROGRAM) -m4750 crontab $(DESTDIR)$(BINDIR)/crontab
$(INSTALL_DATA) crontab.1 $(DESTDIR)$(MANDIR)/man1/crontab.1
$(INSTALL_DATA) crond.8 $(DESTDIR)$(MANDIR)/man8/crond.8
- $(INSTALL_DIR) $(DESTDIR)$(SCRONTABS)
- $(INSTALL_DIR) $(DESTDIR)$(CRONTABS)
- $(INSTALL_DIR) $(DESTDIR)$(CRONSTAMPS)
clean: force
rm -f *.o $(PROTOS)
[buildout]
extends =
mysql-tritonn-5.0.cfg
python-2.4.cfg
lxml-python.cfg
mysql-python.cfg
subversion.cfg
pysvn-python.cfg
python-ldap-python.cfg
glib.cfg
parts =
cmf15
itools
mysql-python
products-other
products-deps
products-erp5
[cmf15]
recipe = plone.recipe.distros
urls =
http://www.zope.org/Products/CMF/CMF-1.5.4/CMF-1.5.4.tar.gz
nested-packages =
CMF-1.5.4.tar.gz
version-suffix-packages =
CMF-1.5.4.tar.gz
[itools]
# use a custom build for itools, to add lib64 to the include path
recipe = zc.recipe.egg:custom
python = python2.4
egg = itools
find-links =
http://download.hforge.org/itools/0.20/
include-dirs =
${glib:location}/include/glib-2.0
${glib:location}/lib/glib-2.0/include
library-dirs =
${glib:location}/lib
rpath =
${glib:location}/lib
[products-deps]
recipe = plone.recipe.distros
urls =
http://www.zope.org/Members/shh/ExtFile/1.4.4/ExtFile-1.4.4.tar.gz
http://www.zope.org/Members/NIP/ZMailIn/1.0.1/ZMailIn-1-0-1.tgz
http://www.zope.org/Members/NIP/ZMailIn/1.0.0/CMFMailIn-1.0.0
http://www.zope.org/Products/PluggableAuthService/PluggableAuthService-1.1b2/PluggableAuthService-1.1b2.tar.gz
http://download.hforge.org/localizer/Localizer-1.2.3.tar.gz
version-suffix-packages =
Localizer-1.2.3.tar.gz
[products-ldap]
recipe = plone.recipe.distros
urls =
http://www.dataflake.org/software/ldapmultiplugins/ldapmultiplugins_1.1/LDAPMultiPlugins-1_1.tgz
http://www.dataflake.org/software/ldapuserfolder/ldapuserfolder_2.6/LDAPUserFolder-2_6.tgz
[products-other]
# Recipe infrae.subversion is using svn command under the hood, but there is
# no way to pass --trust-server-cert --non-interactive --no-auth-cache, so in 2.12 falvour
# it is better to evaluate usage of provided subversion command
recipe = plone.recipe.command
svn_param =--trust-server-cert --non-interactive --no-auth-cache --quiet
# dircty hack to support PluginRegistry/utils.py:17 assumption that products
# are in Products folder
# XXX: Zelenium was eggfied for recent zope versions (2.12) and are available at Bazaar.
# some better alternative should be used in future.
location = ${buildout:parts-directory}/${:_buildout_section_name_}
destination = ${:location}/Products
stop-on-error = true
update-command = ${:command}
command = ${subversion:location}/bin/svn checkout ${:svn_param} http://svn.plone.org/svn/collective/DCWorkflowGraph/tags/release-0_3/ ${:destination}/DCWorkflowGraph &&
${subversion:location}/bin/svn checkout ${:svn_param} svn://svn.zope.org/repos/main/Zelenium/trunk/@110603 ${:destination}/Zelenium &&
${subversion:location}/bin/svn checkout ${:svn_param} svn://svn.zope.org/repos/main/PluginRegistry/tags/1.0 ${:destination}/PluginRegistry &&
${subversion:location}/bin/svn checkout ${:svn_param} http://svn.plone.org/svn/archetypes/MimetypesRegistry/tags/Archetypes-1.4.0-final ${:destination}/MimetypesRegistry
[eggs]
recipe = zc.recipe.egg
python = python2.4
eggs =
${itools:egg}
${mysql-python:egg}
${lxml-python:egg}
${pysvn-python:egg}
${python-ldap-python:egg}
PyXML
ClientForm
SOAPpy
cElementTree
chardet
ctypes
elementtree
erp5.recipe.mysqldatabase
erp5diff
ipdb
mechanize
numpy
ordereddict
pycrypto
paramiko
ply
python-ldap
python-magic
python-memcached
pytz
simplejson
threadframe
timerserver
urlnorm
uuid
xml_marshaller
xupdate_processor
feedparser
extra-paths =
${zope-2.8:location}/lib/python
# shut down script generation. Other parts can generate scripts as needed by
# reusing ${eggs:eggs}
# parameterizing the version of the generated python interpreter name by the
# python section version causes dependency between this egg section and the
# installation of python, which we don't want on an instance
interpreter = python2.4
scripts =
python=${:interpreter}
ipython=i${:interpreter}
[mysql-python]
python = python2.4
[lxml-python]
python = python2.4
[python-ldap-python]
python = python2.4
[pysvn-python]
python = python2.4
[omelette]
# XXX don't use this part until this omelette bug is fixed:
# https://bugs.launchpad.net/collective.buildout/+bug/553005
recipe = collective.recipe.omelette
eggs = ${eggs:eggs}
packages =
${itools:lib} .
[precache-eggs]
python = python2.4
eggs +=
plone.recipe.zope2zeoserver
[buildout]
parts = fastjar
extends =
zlib.cfg
[fastjar]
recipe = hexagonit.recipe.cmmi
url = http://sourceforge.net/projects/fastjar/files/fastjar/0.94/fastjar-0.94.tar.gz/download
md5sum = 14d4bdfac236e347d806c6743dba48c6
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
extends =
bzip2.cfg
libpng.cfg
pkgconfig.cfg
zlib.cfg
parts =
ffmpeg
[ffmpeg]
<= ffmpeg-0.6
[libogg]
recipe = hexagonit.recipe.cmmi
url = http://downloads.xiph.org/releases/ogg/libogg-1.2.2.tar.gz
md5sum = 5a9fcabc9a1b7c6f1cd75ddc78f36c56
configure-options =
--disable-static
[libvorbis]
recipe = hexagonit.recipe.cmmi
url = http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.bz2
md5sum = 798a4211221073c1409f26eac4567e8b
configure-options =
--disable-static
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libogg:location}/lib/pkgconfig
[libtheora]
recipe = hexagonit.recipe.cmmi
url = http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2
md5sum = 292ab65cedd5021d6b7ddd117e07cd8e
configure-options =
--disable-static
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libogg:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${libvorbis:location}/lib/pkgconfig
[yasm]
recipe = hexagonit.recipe.cmmi
url = http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
[libvpx]
recipe = hexagonit.recipe.cmmi
url = http://webm.googlecode.com/files/libvpx-v0.9.6.tar.bz2
md5sum = 383f3f07a76099682abb43f79b692b72
configure-options =
--enable-shared
environment =
PATH=${yasm:location}/bin:%(PATH)s
[libx264]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20110412-2245.tar.bz2
md5sum = 423c402214544d0e2f21455175a0d01f
configure-options =
--enable-shared
--enable-pic
environment =
PATH=${yasm:location}/bin:%(PATH)s
[lame]
recipe = hexagonit.recipe.cmmi
url = http://prdownloads.sourceforge.net/lame/lame-3.98.4.tar.gz
md5sum = 8e9866ad6b570c6c95c8cba48060473f
configure-options =
--disable-static
--disable-gtktest
[opencore-amr]
recipe = hexagonit.recipe.cmmi
url = http://prdownloads.sourceforge.net/opencore-amr/opencore-amr/opencore-amr-0.1.2.tar.gz
md5sum = 8e8b8b253eb046340ff7b6bf7a6ccd3e
configure-options =
--disable-static
[ffmpeg-0.6]
recipe = hexagonit.recipe.cmmi
url = http://www.ffmpeg.org/releases/ffmpeg-0.6.3.tar.bz2
md5sum = cdf4ad9b2a4d195b5ca874494bc7b0b0
configure-options =
--enable-gpl
--enable-version3
--enable-postproc
--enable-bzlib
--enable-libtheora
--enable-libvorbis
--enable-libvpx
--enable-libx264
--enable-libmp3lame
--enable-libopencore-amrnb
--enable-libopencore-amrwb
--enable-shared
--enable-zlib
--disable-static
--extra-ldflags="-Wl,-rpath -Wl,${buildout:parts-directory}/${:_buildout_section_name_}/lib"
environment =
CPPFLAGS=-I${bzip2:location}/include -I${libogg:location}/include -I${libvorbis:location}/include -I${libtheora:location}/include -I${libvpx:location}/include -I${libx264:location}/include -I${lame:location}/include -I${opencore-amr:location}/include -I${zlib:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -L${libogg:location}/lib -Wl,-rpath -Wl,${libogg:location}/lib -L${libvorbis:location}/lib -Wl,-rpath -Wl,${libvorbis:location}/lib -L${libtheora:location}/lib -Wl,-rpath -Wl,${libtheora:location}/lib -L${libvpx:location}/lib -Wl,-rpath -Wl,${libvpx:location}/lib -L${libx264:location}/lib -Wl,-rpath -Wl,${libx264:location}/lib -L${lame:location}/lib -Wl,-rpath -Wl,${lame:location}/lib -L${opencore-amr:location}/lib -Wl,-rpath -Wl,${opencore-amr:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
PATH=${yasm:location}/bin:%(PATH)s
[buildout]
parts = file
extends =
zlib.cfg
[file]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.astron.com/pub/file/file-5.07.tar.gz
md5sum = b8d1f9a8a644067bd0a703cebf3f4858
configure-options =
--disable-static
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
extends =
boost-lib.cfg
tokyocabinet.cfg
parts =
flare
[flare]
recipe = hexagonit.recipe.cmmi
url = http://labs.gree.jp/data/source/flare-1.0.9.tgz
md5sum = e59ccce1ba29e7edf6f665561678d5c8
configure-options =
--with-tokyocabinet=${tokyocabinet:location}
--with-boost=${boost-lib:location}
environment =
LDFLAGS =-Wl,-rpath -Wl,${tokyocabinet:location}/lib -Wl,-rpath -Wl,${boost-lib:location}/lib
[buildout]
extends =
m4.cfg
parts =
flex
[flex]
recipe = hexagonit.recipe.cmmi
url = http://downloads.sourceforge.net/project/flex/flex/flex-2.5.35/flex-2.5.35.tar.gz
md5sum = 201d3f38758d95436cbc64903386de0b
environment =
M4=${m4:location}/bin/m4
[buildout]
extends =
fonts.cfg
freetype.cfg
libxml2.cfg
pkgconfig.cfg
zlib.cfg
parts =
fontconfig
[fontconfig]
recipe = hexagonit.recipe.cmmi
url = http://fontconfig.org/release/fontconfig-2.8.0.tar.gz
md5sum = 77e15a92006ddc2adbb06f840d591c0e
configure-options =
--disable-static
--disable-docs
--enable-libxml2
--with-default-fonts=${fonts:location}
--with-freetype-config=${freetype:location}/bin/freetype-config
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
parts =
liberation-fonts
ipaex-fonts
[fonts]
location = ${buildout:parts-directory}/${:_buildout_section_name_}
# Liberation(tm) Fonts - a font family which aims at metric
# compatibility with Arial, Times New Roman, and Courier New.
# https://fedorahosted.org/liberation-fonts/
[liberation-fonts]
recipe = hexagonit.recipe.download
strip-top-level-dir = true
url = https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-1.06.0.20100721.tar.gz
md5sum = ca4870d899fd7e943ffc310a5421ad4d
destination = ${fonts:location}/${:_buildout_section_name_}
# IPAex Font - Japanese fonts provided by IPA
# http://ossipedia.ipa.go.jp/ipafont/index.html
[ipaex-fonts]
recipe = hexagonit.recipe.download
strip-top-level-dir = true
url = http://info.openlab.ipa.go.jp/ipafont/fontdata/IPAexfont00103.zip
md5sum = ac67b2fc3aab7f683d89f0070df284e7
destination = ${fonts:location}/${:_buildout_section_name_}
# FreeType - a Free, High-Quality, and Portable Font Engine
# http://freetype.org/
[buildout]
extends =
zlib.cfg
parts =
freetype
[freetype]
recipe = hexagonit.recipe.cmmi
url = http://download.savannah.gnu.org/releases/freetype/freetype-2.4.4.tar.gz
md5sum = 9273efacffb683483e58a9e113efae9f
configure-options =
--disable-static
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
parts = garbage-collector
[garbage-collector]
recipe = hexagonit.recipe.cmmi
md5sum = 2ff9924c7249ef7f736ecfe6f08f3f9b
url = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.1.tar.gz
configure-options =
--disable-static
# GNU C Compiler
# Mostly required to support languages different then C or C++
[buildout]
extends =
m4.cfg
zip.cfg
parts =
gcc-java
[gmp]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.gmplib.org/pub/gmp-4.3.2/gmp-4.3.2.tar.bz2
md5sum = dd60683d7057917e34630b4a787932e8
# GMP does not correctly detect achitecture so it have to be given
# as hexagonit.recipe.cmmi is using shell expansion in subproceses
# backticks are working
configure-options =
--build=`uname -m`-linux
environment =
PATH=${m4:location}/bin:%(PATH)s
[mpfr]
recipe = hexagonit.recipe.cmmi
url = http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0.tar.bz2
md5sum = f45bac3584922c8004a10060ab1a8f9f
configure-options =
--with-gmp=${gmp:location}
environment =
CPPFLAGS =-I${gmp:location}/include
LDFLAGS =-L${gmp:location}/lib -Wl,-rpath -Wl,${gmp:location}/lib
[mpc]
recipe = hexagonit.recipe.cmmi
url = http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz
md5sum = 0d6acab8d214bd7d1fbbc593e83dd00d
configure-options =
--with-gmp=${gmp:location}
--with-mpfr=${mpfr:location}
environment =
CPPFLAGS =-I${mpfr:location}/include -I${gmp:location}/include
LDFLAGS =-L${mpfr:location}/lib -Wl,-rpath -Wl,${mpfr:location}/lib -L${gmp:location}/lib -Wl,-rpath -Wl,${gmp:location}/lib
[ecj]
recipe = hexagonit.recipe.download
download-only = true
url = ftp://sourceware.org/pub/java/ecj-4.5.jar
md5sum = d7cd6a27c8801e66cbaa964a039ecfdb
filename = ecj.jar
[gcc-download]
recipe = hexagonit.recipe.download
url = http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.5.2/gcc-4.5.2.tar.bz2
md5sum = d6559145853fbaaa0fd7556ed93bce9a
strip-top-level-dir = True
destination = ${gcc-java-source:location}
[gcc-java-download]
recipe = hexagonit.recipe.download
url = http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.5.2/gcc-java-4.5.2.tar.bz2
md5sum = fe2b647bace18dc7867a4192def46e2c
strip-top-level-dir = True
destination = ${gcc-java-source:location}
ignore-existing = true
[gcc-java-source]
location = ${buildout:parts-directory}/${:_buildout_section_name_}
[gcc-java]
depends =
${gcc-download:location}
${gcc-java-download:location}
recipe = hexagonit.recipe.cmmi
path = ${gcc-java-source:location}
md5sum = bb3265edf0fa7543e50cedb93e04e427
configure-command = make clean \\; make distclean \\; ./configure
# GMP does not correctly detect achitecture so it have to be given
# as hexagonit.recipe.cmmi is using shell expansion in subproceses
# backticks are working
configure-options =
--disable-bootstrap
--build=`uname -m`-linux
--enable-languages=java
--disable-multilib
--with-gmp=${gmp:location}
--with-mpfr=${mpfr:location}
--with-mpc=${mpc:location}
--with-ecj-jar=${ecj:location}/${ecj:filename}
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
environment =
CPPFLAGS =-I${mpfr:location}/include -I${gmp:location}/include -I${mpc:location}/include
LDFLAGS =-L${mpfr:location}/lib -Wl,-rpath -Wl,${mpfr:location}/lib -L${gmp:location}/lib -Wl,-rpath -Wl,${gmp:location}/lib -Wl,-rpath -Wl,${mpc:location}/lib
PATH=${zip:location}/bin:%(PATH)s
# make install does not work when several core are used
make-targets = install -j1
[buildout]
parts =
gdbm
[gdbm-nochange-patch-download]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = fafa6cae0afbf2b5afb9ef3b8e3035a4
download-only = true
filename = gdbm-Makefile.in-nochange.patch
[gdbm]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.8.3.tar.gz
md5sum = 1d1b1d5c0245b1c00aff92da751e9aa1
patches = ${gdbm-nochange-patch-download:location}/${gdbm-nochange-patch-download:filename}
configure-options =
--disable-static
# install as parts/gdbm/include/gdbm/*.h etc. because some softwares
# (eg. python's dbmmodule.c extension) assume the location like this.
includedir = ${buildout:parts-directory}/${:_buildout_section_name_}/include
make-targets =
install install-compat includedir=${:includedir}/gdbm && rm -f ${:includedir}/*.h && ln -sf gdbm/gdbm.h ${:includedir}/gdbm.h
# it seems that parallel build sometimes fails for gdbm.
make-options =
-j1
--- Makefile.in 2002-10-08 16:09:12.000000000 +0000
+++ Makefile.in.nochange 2010-11-03 21:17:38.579435530 +0000
@@ -14,10 +14,6 @@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
-# File ownership and group
-BINOWN = bin
-BINGRP = bin
-
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
@@ -131,11 +127,11 @@
$(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \
$(INSTALL_ROOT)$(infodir)
$(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la
- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \
+ $(INSTALL_DATA) gdbm.h \
$(INSTALL_ROOT)$(includedir)/gdbm.h
- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \
+ $(INSTALL_DATA) $(srcdir)/gdbm.3 \
$(INSTALL_ROOT)$(man3dir)/gdbm.3
- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \
+ $(INSTALL_DATA) $(srcdir)/gdbm.info \
$(INSTALL_ROOT)$(infodir)/gdbm.info
install-compat:
@@ -143,9 +139,9 @@
$(INSTALL_ROOT)$(includedir)
$(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \
$(INSTALL_ROOT)$(libdir)/libgdbm_compat.la
- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \
+ $(INSTALL_DATA) $(srcdir)/dbm.h \
$(INSTALL_ROOT)$(includedir)/dbm.h
- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \
+ $(INSTALL_DATA) $(srcdir)/ndbm.h \
$(INSTALL_ROOT)$(includedir)/ndbm.h
#libgdbm.a: $(OBJS) gdbm.h
[buildout]
parts =
gettext
extends =
ncurses.cfg
libxml2.cfg
zlib.cfg
[gettext]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz
md5sum = 3dd55b952826d2b32f51308f2f91aa89
configure-options =
--disable-static
--disable-java
--disable-csharp
--with-libncurses-prefix=${ncurses:location}
--with-libxml2-prefix=${libxml2:location}
--with-included-gettext
--without-emacs
--disable-acl
--disable-openmp
environment =
CPPFLAGS=-I${libxml2:location}/include -I${zlib:location}/include -I${ncurses:location}/include
LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath -Wl,${libxml2:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${ncurses:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib
[buildout]
extends =
fontconfig.cfg
libjpeg.cfg
libtiff.cfg
pkgconfig.cfg
parts = ghostscript
[ghostscript-hooks-download]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../hook/${:filename}
filename = ghostscript-hooks.py
md5sum = 731475648c91507bd1dfe2a61ee84552
download-only = true
[ghostscript-common]
recipe = hexagonit.recipe.cmmi
pre-configure-hook = ${ghostscript-hooks-download:location}/${ghostscript-hooks-download:filename}:pre_configure_hook
configure-options =
--disable-cups
--disable-cairo
--without-x
--with-drivers=FILES
# it seems that parallel build sometimes fails for ghostscript.
make-options = -j1
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${fontconfig:location}/lib/pkgconfig
CPPFLAGS=-I${libtiff:location}/include
LDFLAGS=-Wl,-rpath -Wl,${fontconfig:location}/lib -L${libjpeg:location}/lib -Wl,-rpath -Wl,${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath -Wl,${libtiff:location}/lib
LD_LIBRARY_PATH=${fontconfig:location}/lib
[ghostscript]
# we prefer ghostscript-8 for now, because ghostscript-9.00 seems to have a
# problem with Japanese fonts if -dTextAlphaBits=4 is specified by
# imagemagick.
<= ghostscript-8
[ghostscript-9]
<= ghostscript-common
url = http://ghostscript.com/releases/ghostscript-9.00.tar.gz
md5sum = a402462478b4cdda3e1816899227b845
[ghostscript-8]
<= ghostscript-common
url = http://www.nexedi.org/static/tarballs/ghostscript/ghostscript-8.71-no-looping-symlink.tar.bz2
md5sum = 34639af3ffe8594f2c5ea944dfbe1d78
import os
def pre_configure_hook(oprtions, buildout):
# fixes python bug related to not creating symlink contained in tarfiles
for missing in 'configure.ac', 'Makefile.in':
if not os.path.exists(os.path.join(os.path.curdir, missing)):
os.symlink(os.path.join(os.path.curdir, 'base', missing),
os.path.join(os.path.curdir, missing))
# git - a distributed version control system with speed and efficiency
# http://git-scm.com/
[buildout]
extends =
curl.cfg
libexpat.cfg
openssl.cfg
perl.cfg
zlib.cfg
parts =
git
[git]
recipe = hexagonit.recipe.cmmi
url = http://kernel.org/pub/software/scm/git/git-1.7.3.4.tar.bz2
md5sum = 3a2602016f98c529cda7b9fad1a6e216
configure-options =
--with-curl=${curl:location}
--with-openssl=${openssl:location}
--with-zlib=${zlib:location}
--with-expat=${libexpat:location}
--with-perl=${perl:location}/bin/perl
--without-python
--without-tcltk
environment =
PATH=${curl:location}/bin:%(PATH)s
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -L${openssl:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
extends =
gettext.cfg
zlib.cfg
[glib]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/sources/glib/2.28/glib-2.28.6.tar.bz2
md5sum = 7d8fc15ae70d5111c0cf2a79d50ef717
configure-options =
--disable-static
--disable-selinux
--disable-fam
--disable-xattr
environment =
CPPFLAGS=-I${zlib:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib
PATH=${gettext:location}/bin:%(PATH)s
# Graphviz - Graph Visualization Software
# http://www.graphviz.org/
[buildout]
parts =
graphviz
extends =
fontconfig.cfg
freetype.cfg
libpng.cfg
libtool.cfg
pkgconfig.cfg
zlib.cfg
[graphviz]
recipe = hexagonit.recipe.cmmi
url = http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.26.3.tar.gz
md5sum = 6f45946fa622770c45609778c0a982ee
configure-options =
--with-ltdl-include=${libtool:location}/include
--with-ltdl-lib=${libtool:location}/lib
--with-pngincludedir=${libpng:location}/include
--with-pnglibdir=${libpng:location}/lib
--with-zincludedir=${zlib:location}/include
--with-zlibdir=${zlib:location}/lib
--with-freetype2
--with-fontconfig
--disable-swig
--disable-sharp
--disable-guile
--disable-io
--disable-java
--disable-lua
--disable-ocaml
--disable-perl
--disable-php
--disable-python
--disable-r
--disable-ruby
--disable-tcl
--without-x
--without-expat
--without-devil
--without-rsvg
--without-ghostscript
--without-visio
--without-pangocairo
--without-lasi
--without-glitz
--without-jpeg
--without-glut
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${fontconfig:location}/lib/pkgconfig:${freetype:location}/lib/pkgconfig
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
extends =
pcre.cfg
parts =
grep
[grep]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/grep/grep-2.8.tar.gz
md5sum = cb2dfc502c5afc7a4a6e5f6cefd6850e
environment =
PKG_CONFIG_PATH=${pcre:location}/lib/pkgconfig
LDFLAGS =-Wl,--as-needed -Wl,-rpath -Wl,${pcre:location}/lib
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,7 @@
MYSQL_INC="$MYSQL_INC -I$ac_mysql_source_dir/regex"
MYSQL_INC="$MYSQL_INC -I$ac_mysql_source_dir"
AC_SUBST(MYSQL_INC)
- MYSQL_SOURCE_VERSION=`cat $ac_mysql_source_dir/configure.in | grep "\[[MySQL Server\]]" | sed -e "s|.*\([[0-9]]\+\.[[0-9]]\+\.[[0-9]]\+[[0-9a-zA-Z\_\-]]*\).*|\1|"`
+ MYSQL_SOURCE_VERSION=`cat $ac_mysql_source_dir/configure.in | grep "\[[MariaDB Server\]]" | sed -e "s|.*\([[0-9]]\+\.[[0-9]]\+\.[[0-9]]\+[[0-9a-zA-Z\_\-]]*\).*|\1|"`
AC_MSG_RESULT([yes: Using $ac_mysql_source_dir, version $MYSQL_SOURCE_VERSION])
else
AC_MSG_ERROR([invalid MySQL source directory: $ac_mysql_source_dir])
--- a/handlersocket/database.cpp
+++ b/handlersocket/database.cpp
@@ -686,19 +686,19 @@
for (uint32_t i = 0; i < limit + skip; ++i) {
if (i == 0) {
const key_part_map kpm = (1U << args.kvalslen) - 1;
- r = hnd->index_read_map(table->record[0], key_buf, kpm, find_flag);
+ r = hnd->ha_index_read_map(table->record[0], key_buf, kpm, find_flag);
} else {
switch (find_flag) {
case HA_READ_BEFORE_KEY:
case HA_READ_KEY_OR_PREV:
- r = hnd->index_prev(table->record[0]);
+ r = hnd->ha_index_prev(table->record[0]);
break;
case HA_READ_AFTER_KEY:
case HA_READ_KEY_OR_NEXT:
- r = hnd->index_next(table->record[0]);
+ r = hnd->ha_index_next(table->record[0]);
break;
case HA_READ_KEY_EXACT:
- r = hnd->index_next_same(table->record[0], key_buf, kplen_sum);
+ r = hnd->ha_index_next_same(table->record[0], key_buf, kplen_sum);
break;
default:
r = HA_ERR_END_OF_FILE; /* to finish the loop */
# Handlersocket - a NoSQL plugin for MySQL.
# http://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL
[buildout]
extends =
autoconf.cfg
automake.cfg
libtool.cfg
mariadb.cfg
parts =
handlersocket
[handlersocket-mariadb-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 2654feea2e867c898b741ac0f0aa8e14
filename = HandlerSocket-Plugin-for-MySQL-1.0.6-mariadb.patch
download-only = true
[handlersocket]
recipe = hexagonit.recipe.cmmi
url = http://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL/tarball/1.0.6
md5sum = 57f5c131e3d29701b01dd92c35ed25fd
patch-options = -p1
patches =
${handlersocket-mariadb-patch:location}/${handlersocket-mariadb-patch:filename}
configure-command =
ACLOCAL_ARGS=-I${libtool:location}/share/aclocal ./autogen.sh && ./configure
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--with-mysql-source=${mariadb:location}__compile__/mariadb-${mariadb:version}
--with-mysql-bindir=${mariadb:location}/bin
--with-mysql-plugindir=${mariadb:location}/lib/mysql/plugin
environment =
PATH =${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:%(PATH)s
[buildout]
parts = haproxy
[haproxy]
recipe = hexagonit.recipe.cmmi
url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.15.tar.gz
md5sum = c1b4fc6028c6d8e23dde8c91ff47eabe
configure-command = true
# If the system is running on Linux 2.6, we use "linux26" as the TARGET,
# otherwise use "generic".
# For ARCH value, x86_64 and i[3456]86 are supported.
make-options =
TARGET="$(uname -sr 2>/dev/null|grep -q '^Linux 2\.6' && echo linux26 || echo generic)"
ARCH="$(uname -m 2>/dev/null|grep -E '^(x86_64|i[3456]86)$')"
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
[buildout]
parts =
hookbox
find-links =
http://www.nexedi.org/static/packages/source/
versions = versions
[versions]
# special version of hookbox supporting history_duration option
# https://github.com/fdiary/hookbox
hookbox = 0.3.4nxd001
[hookbox]
recipe = zc.recipe.egg
eggs =
hookbox
scripts =
hookbox
# ImageMagick - a software suite to create, edit, and compose bitmap images
# http://www.imagemagick.org/
[buildout]
parts = imagemagick
extends =
bzip2.cfg
fontconfig.cfg
freetype.cfg
ghostscript.cfg
libjpeg.cfg
libpng.cfg
libtiff.cfg
libtool.cfg
jasper.cfg
jbigkit.cfg
pkgconfig.cfg
zlib.cfg
[imagemagick-6.6.6-1-no-gsx-gsc-probe.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
path = ${:filename}
md5sum = 3f28ecd9f6722cf2c3238ce6ec3d7a68
download-only = true
filename = imagemagick-6.6.6-1-no-gsx-gsc-probe.patch
[imagemagick-6.6.7-4-without-lzma.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
path = ${:filename}
md5sum = 04e1b934a58f4b3a83e4df148795b338
download-only = true
filename = imagemagick-6.6.7-4-without-lzma.patch
[imagemagick]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.6.9-10.tar.bz2
md5sum = 985bd453c3e502f2771af5329c1cc384
configure-options =
--disable-static
--without-x
--with-magick-plus-plus
--disable-openmp
--disable-opencl
--without-dps
--without-djvu
--without-fftw
--without-fpx
--with-fontconfig
--without-gslib
--without-gvc
--without-lcms
--without-lcms2
--without-lqr
--without-lzma
--without-openexr
--without-rsvg
--without-wmf
--without-xml
--with-bzlib=${bzip2:location}
--with-zlib=${zlib:location}
--with-ltdl-include=${libtool:location}/include
--with-ltdl-lib=${libtool:location}/lib
--with-frozenpaths
patch-options = -p1
patches =
${imagemagick-6.6.6-1-no-gsx-gsc-probe.patch:location}/${imagemagick-6.6.6-1-no-gsx-gsc-probe.patch:filename}
${imagemagick-6.6.7-4-without-lzma.patch:location}/${imagemagick-6.6.7-4-without-lzma.patch:filename}
environment =
PATH=${freetype:location}/bin:${ghostscript:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${fontconfig:location}/lib/pkgconfig
CPPFLAGS=-I${bzip2:location}/include -I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libpng:location}/include -I${jasper:location}/include -I${freetype:location}/include
LDFLAGS =-L${bzip2:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -L${zlib:location}/lib -Wl,${zlib:location}/lib -L${jbigkit:location}/lib -Wl,-rpath -Wl,${jbigkit:location}/lib -L${libjpeg:location}/lib -Wl,-rpath -Wl,${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath -Wl,${libtiff:location}/lib -L${libpng:location}/lib -Wl,-rpath -Wl,${libpng:location}/lib -L${jasper:location}/lib -Wl,-rpath -Wl,${jasper:location}/lib -L${freetype:location}/lib -Wl,-rpath -Wl,${freetype:location}/lib
--- ImageMagick-6.6.6-1/configure.ac~ 2010-11-28 21:51:05.000000000 +0100
+++ ImageMagick-6.6.6-1/configure.ac 2010-12-03 14:13:14.000000000 +0100
@@ -2791,7 +2791,7 @@
AC_PATH_PROG(PCLDelegate, "$PCLDelegateDefault", "$PCLDelegateDefault")
AC_PATH_PROG(PGPDecodeDelegate, "$PGPDecodeDelegateDefault", "$PGPDecodeDelegateDefault")
AC_PATH_PROG(POVDelegate, "$POVDelegateDefault", "$POVDelegateDefault")
-AC_PATH_PROGS(PSDelegate, gsx gsc "$PSDelegateDefault", "$PSDelegateDefault")
+AC_PATH_PROGS(PSDelegate, "$PSDelegateDefault", "$PSDelegateDefault")
AC_PATH_PROG(RLEEncodeDelegate, "$RLEEncodeDelegateDefault", "$RLEEncodeDelegateDefault")
AC_PATH_PROG(RMDelegate, "$RMDelegateDefault", "$RMDelegateDefault")
AC_PATH_PROG(RSVGDecodeDelegate, "$RSVGDecodeDelegateDefault", "$RSVGDecodeDelegateDefault")
--- ImageMagick-6.6.6-1/configure~ 2010-11-28 23:27:16.000000000 +0100
+++ ImageMagick-6.6.6-1/configure 2010-12-03 14:13:57.000000000 +0100
@@ -30931,7 +30931,7 @@
fi
-for ac_prog in gsx gsc "$PSDelegateDefault"
+for ac_prog in "$PSDelegateDefault"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
--- ImageMagick-6.6.7-4/configure~ 2011-02-10 11:50:21.704561096 +0100
+++ ImageMagick-6.6.7-4/configure 2011-02-10 12:23:45.612561097 +0100
@@ -28251,7 +28251,7 @@
#
have_lzma='no'
LZMA_LIBS=''
-if test "$with_lzma" != 'no' || test "$with_tiff" != 'no'; then
+if test "$with_lzma" != 'no'; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: -------------------------------------------------------------" >&5
$as_echo "-------------------------------------------------------------" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LZMA" >&5
--- ImageMagick-6.6.7-4/configure.ac~ 2011-02-10 11:50:21.693561096 +0100
+++ ImageMagick-6.6.7-4/configure.ac 2011-02-10 12:23:40.013561098 +0100
@@ -2290,7 +2290,7 @@
#
have_lzma='no'
LZMA_LIBS=''
-if test "$with_lzma" != 'no' || test "$with_tiff" != 'no'; then
+if test "$with_lzma" != 'no'; then
AC_MSG_RESULT([-------------------------------------------------------------])
AC_MSG_CHECKING(for LZMA)
AC_MSG_RESULT()
[buildout]
extends =
libjpeg.cfg
parts =
jasper
[jasper]
recipe = hexagonit.recipe.cmmi
url = http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip
md5sum = a342b2b4495b3e1394e161eb5d85d754
# jasper configure script is not executable by default
configure-command =
/bin/sh ./configure --prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static --enable-shared --disable-opengl
environment =
CPPFLAGS=-I${libjpeg:location}/include
LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath -Wl,${libjpeg:location}/lib
[buildout]
parts =
jbigkit
[jbigkit-hooks]
recipe = hexagonit.recipe.download
download-only = true
url = ${:_profile_base_location_}/../hook/${:filename}
md5sum = f1edb4ddd212d2d100d7ea8b2e42d21f
filename = jbigkit-hooks.py
[jbigkit-build-patch]
recipe = hexagonit.recipe.download
# Patched thanks to Gentoo developers:
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/jbigkit/files/jbigkit-2.0-build.patch?revision=1.1
url = ${:_profile_base_location_}/../patch/${:filename}
download-only = true
filename = jbigkit-2.0-build.patch
md5sum = e974958e9331735c07478e9c2dde8795
[jbigkit]
recipe = hexagonit.recipe.cmmi
url = http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-2.0.tar.gz
md5sum = 3dd87f605abb1a97a22dc79d8b3e8f6c
patch-options =
-p1
patches =
${jbigkit-build-patch:location}/${jbigkit-build-patch:filename}
configure-command = true
make-targets = lib pbm
post-make-hook = ${jbigkit-hooks:location}/${jbigkit-hooks:filename}:post_make_hook
diff -ur jbigkit.orig/libjbig/Makefile jbigkit/libjbig/Makefile
--- jbigkit.orig/libjbig/Makefile 2008-08-30 20:20:52.000000000 +0300
+++ jbigkit/libjbig/Makefile 2010-02-28 13:12:41.000000000 +0200
@@ -1,29 +1,54 @@
# Unix makefile for the JBIG-KIT library
# $Id: jbigkit-2.0-build.patch,v 1.1 2010/02/28 11:21:39 ssuominen Exp $
-# Select an ANSI/ISO C compiler here, GNU gcc is recommended
-CC = gcc
+AR ?= ar
+CC ?= gcc
+RANLIB ?= ranlib
+
+CFLAGS += -Wall -ansi -pedantic
+
+ifeq ($(USERLAND),Darwin)
+ SONAME = dylib
+else
+ SONAME = so
+endif
-# Options for the compiler: A high optimization level is suggested
-CFLAGS = -g -O -Wall -ansi -pedantic # --coverage
-
-all: libjbig.a tstcodec tstcodec85
+all: libjbig.a libjbig.$(SONAME) libjbig85.a libjbig85.$(SONAME) tstcodec tstcodec85
tstcodec: tstcodec.o jbig.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec $+
+ $(CC) $(LDFLAGS) $(CFLAGS) -o tstcodec $+
tstcodec85: tstcodec85.o jbig85.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec85 $+
+ $(CC) $(LDFLAGS) $(CFLAGS) -o tstcodec85 $+
libjbig.a: jbig.o jbig_ar.o
rm -f libjbig.a
- ar rc libjbig.a jbig.o jbig_ar.o
- -ranlib libjbig.a
+ $(AR) rc libjbig.a jbig.o jbig_ar.o
+ -$(RANLIB) libjbig.a
+
+SOBJS = jbig.lo jbig_ar.lo
+
+libjbig.so: $(SOBJS)
+ $(CC) -shared $(LDFLAGS) -o $@ -Wl,-soname -Wl,$@ $(SOBJS)
+
+libjbig.dylib: $(SOBJS)
+ $(CC) -dynamic $(LDFLAGS) -o $@ -dynamiclib -install_name $@ $(SOBJS)
+
+SOBJS85 = jbig85.lo jbig_ar.lo
+
+libjbig85.so: $(SOBJS85)
+ $(CC) -shared $(LDFLAGS) -o $@ -Wl,-soname -Wl,$@ $(SOBJS85)
+
+libjbig85.dylib: $(SOBJS85)
+ $(CC) -dynamic $(LDFLAGS) -o $@ -dynamiclib -install_name $@ $(SOBJS85)
+
+%.lo: %.c jbig.h jbig85.h jbig_ar.h
+ $(CC) $(CFLAGS) -fPIC -c $< -o $@
libjbig85.a: jbig85.o jbig_ar.o
rm -f libjbig85.a
- ar rc libjbig85.a jbig85.o jbig_ar.o
- -ranlib libjbig85.a
+ $(AR) rc libjbig85.a jbig85.o jbig_ar.o
+ -$(RANLIB) libjbig85.a
jbig.o: jbig.c jbig.h jbig_ar.h
jbig85.o: jbig85.c jbig85.h jbig_ar.h
diff -ur jbigkit.orig/Makefile jbigkit/Makefile
--- jbigkit.orig/Makefile 2008-08-30 23:40:22.000000000 +0300
+++ jbigkit/Makefile 2010-02-28 12:59:07.000000000 +0200
@@ -1,34 +1,25 @@
# Unix makefile for JBIG-KIT
# $Id: jbigkit-2.0-build.patch,v 1.1 2010/02/28 11:21:39 ssuominen Exp $
-# Select an ANSI/ISO C compiler here, GNU gcc is recommended
-CC = gcc
-
-# Options for the compiler: A high optimization level is suggested
-CCFLAGS = -O2 -W
-#CCFLAGS = -O -g -W -Wall -ansi -pedantic #-DDEBUG # developer only
-
-CFLAGS = $(CCFLAGS) -I../libjbig
-
VERSION=2.0
all: lib pbm
- @echo "Enter 'make test' in order to start some automatic tests."
+ @echo "Enter '$(MAKE) test' in order to start some automatic tests."
lib:
- (cd libjbig; make "CC=$(CC)" "CFLAGS=$(CFLAGS)")
+ (cd libjbig; $(MAKE))
pbm: lib
- (cd pbmtools; make "CC=$(CC)" "CFLAGS=$(CFLAGS)")
+ (cd pbmtools; $(MAKE))
test: lib pbm
- (cd libjbig; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test)
- (cd pbmtools; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test)
+ (cd libjbig; $(MAKE) test)
+ (cd pbmtools; $(MAKE) test)
clean:
rm -f *~ core
- (cd libjbig; make clean)
- (cd pbmtools; make clean)
+ (cd libjbig; $(MAKE) clean)
+ (cd pbmtools; $(MAKE) clean)
distribution: clean
rm -f libjbig/libjbig*.a
diff -ur jbigkit.orig/pbmtools/Makefile jbigkit/pbmtools/Makefile
--- jbigkit.orig/pbmtools/Makefile 2008-08-26 01:26:39.000000000 +0300
+++ jbigkit/pbmtools/Makefile 2010-02-28 13:01:19.000000000 +0200
@@ -2,10 +2,10 @@
# $Id: jbigkit-2.0-build.patch,v 1.1 2010/02/28 11:21:39 ssuominen Exp $
# Select an ANSI/ISO C compiler here, e.g. GNU gcc is recommended
-CC = gcc
+CC ?= gcc
# Options for the compiler
-CFLAGS = -g -Wall -ansi -pedantic -I../libjbig # --coverage
+CFLAGS += -Wall -ansi -pedantic -I../libjbig
.SUFFIXES: .1 .5 .txt $(SUFFIXES)
@@ -13,16 +13,16 @@
pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt
pbmtojbg: pbmtojbg.o ../libjbig/libjbig.a
- $(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig
+ $(CC) $(LDFLAGS) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig
jbgtopbm: jbgtopbm.o ../libjbig/libjbig.a
- $(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig
+ $(CC) $(LDFLAGS) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig
pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.a
- $(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85
+ $(CC) $(LDFLAGS) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85
jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.a
- $(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85
+ $(CC) $(LDFLAGS) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85
jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h
pbmtojbg.o: pbmtojbg.c ../libjbig/jbig.h
@@ -31,31 +31,31 @@
../libjbig/libjbig.a: ../libjbig/jbig.c ../libjbig/jbig.h \
../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
- make -C ../libjbig libjbig.a
+ $(MAKE) -C ../libjbig libjbig.a
../libjbig/libjbig85.a: ../libjbig/jbig85.c ../libjbig/jbig85.h \
../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
- make -C ../libjbig libjbig85.a
+ $(MAKE) -C ../libjbig libjbig85.a
test: test82 test85
test82: pbmtojbg jbgtopbm
- make IMG=ccitt1 OPTIONSP= dotest1
- make IMG=ccitt2 OPTIONSP= dotest1
- make IMG=ccitt3 OPTIONSP= dotest1
- make IMG=xvlogo "OPTIONSP=-d 3" dotest1
- make IMG=sandra OPTIONSP= OPTIONSJ= dotest2g
- make IMG=sandra OPTIONSP=-b OPTIONSJ=-b dotest2g
- make IMG=sandra OPTIONSP=-q OPTIONSJ= dotest2g
- make IMG=sandra "OPTIONSP=-o 0" OPTIONSJ= dotest2g
- make IMG=sandra "OPTIONSP=-o 2" OPTIONSJ= dotest2g
- make IMG=multi OPTIONSP= OPTIONSJ= dotest2g
- make IMG=multi OPTIONSP=-b OPTIONSJ=-b dotest2g
- make IMG=mx "OPTIONSP=-q -s 3 -m 128" dotest1
- make IMG=mx "OPTIONSP=-q -s 3 -m 128" dotest2b
- make IMG=mx "OPTIONSP=-q -s 3 -m 128 -p 92" dotest2b
- make IMG=mx "OPTIONSP=-q -Y -1" dotest2b
- make IMG=mx "OPTIONSP=-Y -1" dotest2b
+ $(MAKE) IMG=ccitt1 OPTIONSP= dotest1
+ $(MAKE) IMG=ccitt2 OPTIONSP= dotest1
+ $(MAKE) IMG=ccitt3 OPTIONSP= dotest1
+ $(MAKE) IMG=xvlogo "OPTIONSP=-d 3" dotest1
+ $(MAKE) IMG=sandra OPTIONSP= OPTIONSJ= dotest2g
+ $(MAKE) IMG=sandra OPTIONSP=-b OPTIONSJ=-b dotest2g
+ $(MAKE) IMG=sandra OPTIONSP=-q OPTIONSJ= dotest2g
+ $(MAKE) IMG=sandra "OPTIONSP=-o 0" OPTIONSJ= dotest2g
+ $(MAKE) IMG=sandra "OPTIONSP=-o 2" OPTIONSJ= dotest2g
+ $(MAKE) IMG=multi OPTIONSP= OPTIONSJ= dotest2g
+ $(MAKE) IMG=multi OPTIONSP=-b OPTIONSJ=-b dotest2g
+ $(MAKE) IMG=mx "OPTIONSP=-q -s 3 -m 128" dotest1
+ $(MAKE) IMG=mx "OPTIONSP=-q -s 3 -m 128" dotest2b
+ $(MAKE) IMG=mx "OPTIONSP=-q -s 3 -m 128 -p 92" dotest2b
+ $(MAKE) IMG=mx "OPTIONSP=-q -Y -1" dotest2b
+ $(MAKE) IMG=mx "OPTIONSP=-Y -1" dotest2b
rm -f test-*.jbg test-*.pbm test-*.pgm
./jbgtopbm ../examples/ccitt1.jbg | ./pbmtojbg > test-ccitt1.jbg
cmp ../examples/ccitt1.jbg test-ccitt1.jbg
@@ -91,24 +91,24 @@
cmp test-$(IMG).pgm ../examples/$(IMG).pgm
test85: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 test-t82.pbm
- make IMG=t82 "OPTIONSP=-p 0" dotest85
- make IMG=t82 "OPTIONSP=-p 8" dotest85
- make IMG=t82 "OPTIONSP=-p 8 -r" dotest85b
- make IMG=t82 "OPTIONSP=-p 64" dotest85
- make IMG=t82 "OPTIONSP=-p 72" dotest85
- make IMG=t82 "OPTIONSP=-s 2 -C c" dotest85
- make IMG=t82 "OPTIONSP=-s 99999" dotest85
- make IMG=t82 "OPTIONSP=-Y 9999 0" dotest85
- make IMG=t82 "OPTIONSP=-Y 1951 0" dotest85
- make IMG=t82 "OPTIONSP=-Y -1 127" dotest85
- make IMG=t82 "OPTIONSP=-Y -1 128" dotest85
- make IMG=t82 "OPTIONSP=-Y -1 1919" dotest85
- make IMG=t82 "OPTIONSP=-Y -1 1920" dotest85
- make IMG=t82 "OPTIONSP=-Y -1 1949" dotest85
- make IMG=t82 "OPTIONSP=-Y -1 1950" dotest85
- make IMG=ccitt1 dotest85
- make IMG=ccitt2 dotest85
- make IMG=ccitt3 dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-p 0" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-p 8" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-p 8 -r" dotest85b
+ $(MAKE) IMG=t82 "OPTIONSP=-p 64" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-p 72" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-s 2 -C c" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-s 99999" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y 9999 0" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y 1951 0" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y -1 127" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y -1 128" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y -1 1919" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y -1 1920" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y -1 1949" dotest85
+ $(MAKE) IMG=t82 "OPTIONSP=-Y -1 1950" dotest85
+ $(MAKE) IMG=ccitt1 dotest85
+ $(MAKE) IMG=ccitt2 dotest85
+ $(MAKE) IMG=ccitt3 dotest85
rm -f test-*.jbg test-*.jbg85 test-*.pbm
@echo
@echo "The T.85 pbmtools have PASSED the functional tests. Good!"
@@ -142,7 +142,7 @@
./jbgtopbm $< $@
test-t82.pbm:
- make -C ../libjbig tstcodec
+ $(MAKE) -C ../libjbig tstcodec
../libjbig/tstcodec $@
.1.txt .5.txt:
import os
import shutil
def post_make_hook(options, buildout):
destination = options['location']
directory_list = ['include', 'lib']
for d in directory_list:
dd = os.path.join(destination, d)
if not os.path.isdir(dd):
os.mkdir(dd)
for include in ['jbig.h', 'jbig85.h', 'jbig_ar.h']:
shutil.copyfile(os.path.join(os.curdir, 'libjbig', include),
os.path.join(destination, 'include', include))
for so in ['libjbig85.so', 'libjbig.so']:
shutil.copyfile(os.path.join(os.curdir, 'libjbig', so),
os.path.join(destination, 'lib', so))
[buildout]
extends =
tokyocabinet.cfg
messagepack.cfg
openssl.cfg
zlib.cfg
parts = kumo
find-links = http://www.nexedi.org/static/packages/source/
[kumo-hooks-download]
url = ${:_profile_base_location_}/../hook/${:filename}
md5sum = 958a595a02de75624728f8d65e39d800
recipe = hexagonit.recipe.download
download-only=true
filename = kumo-hooks.py
[kumo-ipv6-multiip-patch-download]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
filename = kumofs-0.4.13_ipv6support_multiiplistenfix.patch
md5sum = 53af9f1f1375940841c589a6cbe11425
download-only = true
[kumo]
pre-configure-hook = ${kumo-hooks-download:location}/${kumo-hooks-download:filename}:pre_configure_hook
recipe = erp5.recipe.cmmiforcei686
url = https://github.com/downloads/etolabo/kumofs/kumofs-0.4.13.tar.gz
md5sum = 46148e9536222d0ad2ef36777c55714d
patches = ${kumo-ipv6-multiip-patch-download:location}/${kumo-ipv6-multiip-patch-download:filename}
patch-options = -p1
configure-options =
--with-tokyocabinet=${tokyocabinet:location}
--with-msgpack=${messagepack:location}
environment =
CPPFLAGS=-I${zlib:location}/include -I${openssl:location}/include
LDFLAGS=-L${zlib:location}/lib -L${openssl:location}/lib -Wl,-rpath -Wl,${tokyocabinet:location}/lib -Wl,-rpath -Wl,${messagepack:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib
import os
import sys
import traceback
from shutil import copy
from subprocess import Popen, PIPE
CONFIGURE_PATH = os.path.join('configure')
CONFIGURE_BACKUP_PATH = CONFIGURE_PATH + '_disabled'
# Fake configure, generating a fake Makefile which will create a marker file
# instead of actually installing anything.
# This is needed (?) to fetch --prefix from configure parameters, so we know
# where to tell Makefile to put the dummy file.
FAKE_CONFIGURE = '''#!%(python)s -S
import os
import sys
print 'Configuration is disabled on this host because %%s'
print 'Original configure file available at %(backup)s'
prefix = None
next = False
for arg in sys.argv:
if next:
prefix = arg
break
if arg.startswith('--prefix'):
if arg.startswith('--prefix='):
_, prefix = arg.split('=', 1)
break
next = True
if prefix is None:
raise '--prefix parameter not found'
# Generate Makefile with proper prefix
open('Makefile', 'w').write("""all:
\techo 'make disabled, see configure'
install:
\ttouch %%%%s""" %%%% (
os.path.join(prefix, 'BUILD_DISABLED_BY_BUILDOUT'),
))
sys.exit(0)
''' % {
'backup': CONFIGURE_BACKUP_PATH,
'python': sys.executable,
}
def pre_configure_hook(options, buildout):
gcc_executable = os.getenv('CC', 'gcc')
try:
gcc = Popen([gcc_executable, '-v'], stdout=PIPE, stderr=PIPE,
close_fds=True)
except OSError, (errno, _):
if errno == 2:
# No gcc installed, nothing to check
pass
else:
print 'Unexpected failure trying to detect gcc version'
traceback.print_exc()
else:
gcc.wait()
# Considered innocent until proven guilty.
error = None
for line in '\n'.join((gcc.stdout.read(), gcc.stderr.read())).splitlines():
if line.startswith('gcc version'):
if '4.1.1' in line and 'prerelease' in line:
# There is a bug in 4.1.1 prerelease (ie, as of mandriva
# 2007.0) g++ preventing kumo compilation from succeeding.
error = 'broken GCC version: %s' % (line, )
break
else:
print >>sys.stderr, 'GCC version could not be detected, ' \
'building anyway'
if error is not None:
print 'Disabling build, with reason:', error
# Copy to preserver permission
copy(CONFIGURE_PATH, CONFIGURE_BACKUP_PATH)
open(CONFIGURE_PATH, 'w').write(FAKE_CONFIGURE % (error, ))
# Author: Guillaume BOTTEX
# Feature added: support for IPv6
# Bug fixed: https://github.com/etolabo/kumofs/issues#issue/8
diff --git a/src/logic/boot.cc b/src/logic/boot.cc
index d0a4c32..c197a30 100644
--- a/src/logic/boot.cc
+++ b/src/logic/boot.cc
@@ -29,6 +29,12 @@ scoped_listen_tcp::scoped_listen_tcp(struct sockaddr_in addr) :
m_addr(addr),
m_sock(listen(m_addr)) { }
+#ifdef KUMO_IPV6
+scoped_listen_tcp::scoped_listen_tcp(struct sockaddr_in6 addr) :
+ m_addr(addr),
+ m_sock(listen(m_addr)) { }
+#endif
+
scoped_listen_tcp::~scoped_listen_tcp()
{
::close(m_sock);
@@ -37,7 +43,11 @@ scoped_listen_tcp::~scoped_listen_tcp()
int scoped_listen_tcp::listen(const rpc::address& addr)
{
+#ifdef KUMO_IPV6
+ int lsock = socket(PF_INET6, SOCK_STREAM, 0);
+#else
int lsock = socket(PF_INET, SOCK_STREAM, 0);
+#endif
if(lsock < 0) {
throw std::runtime_error("socket failed");
}
@@ -152,7 +162,11 @@ void rpc_args::convert()
void cluster_args::convert()
{
cluster_addr = rpc::address(cluster_addr_in);
- cluster_addr_in.sin_addr.s_addr = INADDR_ANY; // listen any
+#ifdef KUMO_IPV6
+ // cluster_addr_in.sin6_addr = in6addr_any; // listen any
+#else
+ // cluster_addr_in.sin_addr.s_addr = INADDR_ANY; // listen any
+#endif
cluster_lsock = scoped_listen_tcp::listen(
rpc::address(cluster_addr_in));
rpc_args::convert();
diff --git a/src/logic/boot.h b/src/logic/boot.h
index 5d09549..e0e6ac1 100644
--- a/src/logic/boot.h
+++ b/src/logic/boot.h
@@ -31,6 +31,9 @@ namespace kumo {
class scoped_listen_tcp {
public:
scoped_listen_tcp(struct sockaddr_in addr);
+#ifdef KUMO_IPV6
+ scoped_listen_tcp(struct sockaddr_in6 addr);
+#endif
~scoped_listen_tcp();
public:
@@ -110,7 +113,11 @@ struct cluster_args : rpc_args {
virtual void set_basic_args();
virtual void show_usage();
+#ifdef KUMO_IPV6
+ struct sockaddr_in6 cluster_addr_in;
+#else
struct sockaddr_in cluster_addr_in;
+#endif
rpc::address cluster_addr; // convert
int cluster_lsock; // convert
diff --git a/src/logic/gateway/main.cc b/src/logic/gateway/main.cc
index 8829d6b..7faf81a 100644
--- a/src/logic/gateway/main.cc
+++ b/src/logic/gateway/main.cc
@@ -30,8 +30,13 @@ using namespace kumo;
struct arg_t : rpc_args {
+#ifdef KUMO_IPV6
+ sockaddr_in6 manager1_in;
+ sockaddr_in6 manager2_in;
+#else
sockaddr_in manager1_in;
sockaddr_in manager2_in;
+#endif
bool manager2_set;
rpc::address manager1; // convert
rpc::address manager2; // convert
@@ -48,15 +53,27 @@ struct arg_t : rpc_args {
std::string local_cache;
bool mctext_set;
+#ifdef KUMO_IPV6
+ sockaddr_in6 mctext_addr_in;
+#else
sockaddr_in mctext_addr_in;
+#endif
int mctext_lsock; // convert
bool mcbin_set;
+#ifdef KUMO_IPV6
+ sockaddr_in6 mcbin_addr_in;
+#else
sockaddr_in mcbin_addr_in;
+#endif
int mcbin_lsock; // convert
bool cloudy_set;
+#ifdef KUMO_IPV6
+ sockaddr_in6 cloudy_addr_in;
+#else
sockaddr_in cloudy_addr_in;
+#endif
int cloudy_lsock; // convert
bool mc_save_flag;
diff --git a/src/logic/manager/main.cc b/src/logic/manager/main.cc
index 5847ae0..63f948a 100644
--- a/src/logic/manager/main.cc
+++ b/src/logic/manager/main.cc
@@ -27,7 +27,11 @@ struct arg_t : cluster_args {
bool auto_replace;
bool partner_set;
+#ifdef KUMO_IPV6
+ struct sockaddr_in6 partner_in;
+#else
struct sockaddr_in partner_in;
+#endif
rpc::address partner; // convert
virtual void convert()
diff --git a/src/logic/server/main.cc b/src/logic/server/main.cc
index cd92e46..5d87120 100644
--- a/src/logic/server/main.cc
+++ b/src/logic/server/main.cc
@@ -25,8 +25,13 @@ struct arg_t : cluster_args {
std::string dbpath;
+#ifdef KUMO_IPV6
+ sockaddr_in6 manager1_in;
+ sockaddr_in6 manager2_in;
+#else
sockaddr_in manager1_in;
sockaddr_in manager2_in;
+#endif
bool manager2_set;
rpc::address manager1; // convert
rpc::address manager2; // convert
diff --git a/src/logic/server/mod_replace_stream.cc b/src/logic/server/mod_replace_stream.cc
index 091ebc9..25ee736 100644
--- a/src/logic/server/mod_replace_stream.cc
+++ b/src/logic/server/mod_replace_stream.cc
@@ -104,7 +104,11 @@ RPC_IMPL(mod_replace_stream_t, ReplaceOffer, req, z, response)
using namespace mp::placeholders;
m_stream_core->connect(
+#ifdef KUMO_IPV6
+ PF_INET6, SOCK_STREAM, 0,
+#else
PF_INET, SOCK_STREAM, 0,
+#endif
(sockaddr*)addrbuf, sizeof(addrbuf),
net->connect_timeout_msec(),
mp::bind(&mod_replace_stream_t::stream_connected, this, _1, _2));
diff --git a/src/rpc/client_tmpl.h b/src/rpc/client_tmpl.h
index 8424677..173a308 100644
--- a/src/rpc/client_tmpl.h
+++ b/src/rpc/client_tmpl.h
@@ -159,7 +159,11 @@ bool client_tmpl<Transport, Session>::async_connect(
addr.getaddr((sockaddr*)&addrbuf);
using namespace mp::placeholders;
+#ifdef KUMO_IPV6
+ wavy::connect(PF_INET6, SOCK_STREAM, 0,
+#else
wavy::connect(PF_INET, SOCK_STREAM, 0,
+#endif
(sockaddr*)addrbuf, sizeof(addrbuf),
m_connect_timeout_msec,
mp::bind(
[buildout]
parts = libdb
[libdb-hooks-download]
url = ${:_profile_base_location_}/../hook/${:filename}
md5sum = acb3bfb990a48381176c1e8f74130e30
recipe = hexagonit.recipe.download
download-only=true
filename = libdb-hooks.py
[libdb]
recipe = hexagonit.recipe.cmmi
url = http://download.oracle.com/berkeley-db/db-4.5.20.tar.gz
md5sum = b0f1c777708cb8e9d37fb47e7ed3312d
pre-configure-hook = ${libdb-hooks-download:location}/${libdb-hooks-download:filename}:pre_configure_hook
configure-command = ../dist/configure
configure-options =
--disable-static
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
import os
def pre_configure_hook(options, buildout):
os.chdir('build_unix')
[buildout]
parts = libevent
[libevent]
recipe = hexagonit.recipe.cmmi
url = http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
md5sum = 0b3ea18c634072d12b3c1ee734263664
configure-options =
--disable-static
[buildout]
parts =
libexpat
[libexpat]
recipe = hexagonit.recipe.cmmi
url = http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download
md5sum = ee8b492592568805593f81f8cdf2a04c
configure-options =
--disable-static
[buildout]
parts =
libjpeg
[libjpeg]
recipe = hexagonit.recipe.cmmi
url = http://www.ijg.org/files/jpegsrc.v8b.tar.gz
md5sum = e022acbc5b36cd2cb70785f5b575661e
configure-options =
--disable-static
[buildout]
extends =
zlib.cfg
parts =
libpng12
libpng
[libpng-common]
recipe = hexagonit.recipe.cmmi
configure-options =
--disable-static
environment =
CPPFLAGS =-I${zlib:location}/include
LDFLAGS =-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[libpng12]
<= libpng-common
url = http://download.sourceforge.net/libpng/libpng-1.2.44.tar.bz2
md5sum = e3ac7879d62ad166a6f0c7441390d12b
[libpng]
<= libpng-common
url = http://download.sourceforge.net/libpng/libpng-1.5.1.tar.bz2
md5sum = 8fdcb7c0e78d54ff0362a800cbe3bc31
[buildout]
extends = cpio.cfg
parts =
libreoffice-bin
find-links =
http://www.nexedi.org/static/packages/source/
versions = versions
[versions]
# special version of z3c.recipe.openoffice with architecture autodetection
z3c.recipe.openoffice = 0.3.1dev7
[libreoffice-bin]
recipe = z3c.recipe.openoffice
install-javafilter = no
install-pyuno-egg = no
hack-openoffice-python = no
flavour = libreoffice
# here, two %s are used, first one is for directory name (eg. x86_64), and second one is for filename (eg. x86-64).
# base-url = http://download.documentfoundation.org/libreoffice/stable/3.3.2/rpm/%s/LibO_3.3.2_Linux_%s_install-rpm_en-US.tar.gz
cpio = ${cpio:location}/bin/cpio
[buildout]
extends =
bzip2.cfg
popt.cfg
zlib.cfg
parts =
librsync
[librsync]
recipe = hexagonit.recipe.cmmi
url = http://downloads.sourceforge.net/sourceforge/librsync/librsync-0.9.7.tar.gz
md5sum = 24cdb6b78f45e0e83766903fd4f6bc84
configure-options =
--disable-static
--enable-shared
environment =
CPPFLAGS=-I${zlib:location}/include -I${bzip2:location}/include -I${popt:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${bzip2:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -L${popt:location}/lib -Wl,-rpath -Wl,${popt:location}/lib
[buildout]
extends =
libjpeg.cfg
jbigkit.cfg
zlib.cfg
parts =
libtiff
[libtiff]
recipe = hexagonit.recipe.cmmi
url = http://download.osgeo.org/libtiff/tiff-3.9.5.tar.gz
md5sum = 8fc7ce3b4e1d0cc8a319336967815084
configure-options =
--disable-static
--without-x
environment =
CPPFLAGS=-I${libjpeg:location}/include -I${jbigkit:location}/include -I${zlib:location}/include
LDFLAGS=-L${libjpeg:location}/lib -Wl,-rpath -Wl,${libjpeg:location}/lib -L${jbigkit:location}/lib -Wl,-rpath -Wl,${jbigkit:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
parts = libtool
[libtool]
recipe = hexagonit.recipe.cmmi
md5sum = b32b04148ecdd7344abc6fe8bd1bb021
url = http://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.gz
configure-options =
--disable-static
[buildout]
parts =
libuuid
[libuuid]
recipe = hexagonit.recipe.cmmi
url = http://ftp.kernel.org/pub/linux/utils/util-linux/v2.18/util-linux-ng-2.18.tar.bz2
md5sum = 2f5f71e6af969d041d73ab778c141a77
configure-options =
--disable-static
--enable-libuuid
--disable-agetty
--disable-cramfs
--disable-fallocate
--disable-fsck
--disable-libblkid
--disable-libmount
--disable-makeinstall-chown
--disable-makeinstall-setuid
--disable-mount
--disable-nls
--disable-pivot_root
--disable-rename
--disable-require-password
--disable-schedutils
--disable-switch_root
--disable-tls
--disable-unshare
--disable-uuidd
--disable-wall
--without-libiconv-prefix
--without-libintl-prefix
--without-ncurses
--without-slang
--without-pam
--without-selinux
--without-audit
make-options =
-C shlibs/uuid
# libxml2 - the XML C parser and toolkit
# http://xmlsoft.org/
[buildout]
extends = zlib.cfg
parts =
libxml2
[libxml2]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz
md5sum = 8127a65e8c3b08856093099b52599c86
configure-options =
--disable-static
--without-python
--with-zlib=${zlib:location}
environment =
LDFLAGS = -Wl,-rpath -Wl,${zlib:location}/lib
[buildout]
extends =
libxml2.cfg
pkgconfig.cfg
zlib.cfg
parts =
libxslt
[libxslt]
url = ftp://xmlsoft.org/libxslt/libxslt-1.1.26.tar.gz
md5sum = e61d0364a30146aaa3001296f853b2b9
recipe = hexagonit.recipe.cmmi
configure-options =
--disable-static
--with-libxml-prefix=${libxml2:location}
--without-crypto
--without-python
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-Wl,-rpath -Wl,${zlib:location}/lib
PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig
[buildout]
extends =
popt.cfg
parts = logrotate
[logrotate]
recipe = hexagonit.recipe.cmmi
url = https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.7.9.tar.gz
md5sum = eeba9dbca62a9210236f4b83195e4ea5
configure-command = true
make-options = PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
environment =
POPT_DIR=${popt:location}/include -L${popt:location}/lib -Wl,-rpath -Wl,${popt:location}/lib
[buildout]
extends =
libxml2.cfg
libxslt.cfg
zlib.cfg
parts =
lxml-python
[lxml-python-env]
PATH = ${libxslt:location}/bin:%(PATH)s
[lxml-python]
recipe = zc.recipe.egg:custom
egg = lxml
rpath =
${libxml2:location}/lib/
${libxslt:location}/lib/
${zlib:location}/lib/
environment = lxml-python-env
[buildout]
parts = lynx
[lynx]
recipe = hexagonit.recipe.cmmi
md5sum = 124253e635f7c76bdffc47b9d036c812
url = http://lynx.isc.org/lynx2.8.7/lynx2.8.7.tar.gz
# M2Crypto - A Python crypto and SSL toolkit
# http://chandlerproject.org/Projects/MeTooCrypto
[buildout]
extends =
openssl.cfg
swig.cfg
parts =
M2Crypto
[M2Crypto]
recipe = zc.recipe.egg:custom
egg = M2Crypto
environment = M2Crypto-env
rpath =
${openssl:location}/lib/
include-dirs =
${openssl:location}/include
library-dirs =
${openssl:location}/lib
[M2Crypto-env]
PATH = ${swig:location}/bin:%(PATH)s
[buildout]
parts =
m4
[m4]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/m4/m4-1.4.15.tar.gz
md5sum = 5649a2e593b6c639deae9e72ede777dd
# MariaDB - a database server that offers drop-in replacement functionality for MySQL.
# http://mariadb.org/
[buildout]
extends =
zlib.cfg
ncurses.cfg
readline.cfg
parts =
mariadb
[mariadb]
recipe = hexagonit.recipe.cmmi
version = 5.2.6
url = http://www.percona.com/downloads/MariaDB/mariadb-${:version}/kvm-tarbake-jaunty-x86/mariadb-${:version}.tar.gz
md5sum = e562aca71ae16b490196f99aa7e64b55
# compile directory is required to build mysql plugins.
keep-compile-dir = true
# configure: how to avoid searching for my.cnf?
# - like in mysql part in http://svn.zope.org/zodbshootout/trunk/buildout.cfg?view=markup
# we use embeded yassl instead of openssl to avoid compilation errors on sphinx search engine.
configure-options =
--disable-static
--enable-thread-safe-client
--enable-local-infile
--enable-assembler
--with-pic
--with-fast-mutexes
--with-charset=utf8
--with-collation=utf8_unicode_ci
--without-readline
--with-ssl
--with-zlib-dir=${zlib:location}
environment =
CPPFLAGS =-I${ncurses:location}/include -I${readline:location}/include
LDFLAGS =-L${readline:location}/lib -L${ncurses:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -Wl,-rpath -Wl,${readline:location}/lib
[buildout]
parts = memcached
extends = libevent.cfg
[memcached-strict-aliasing-patch]
# on some platforms original memcached refuses to build:
# * http://code.google.com/p/memcached/issues/detail?id=60
# * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565033
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = c03b3bfc237b77667b0e90442b0980e8
download-only = true
filename = memcached-fix-strict-aliasing.patch
[memcached-fix-array-subscript-is-above-array-bounds]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
filename = memcached-1.4-fix-array-subscript-is-above-array-bounds.patch
download-only = true
md5sum = 472508b9a4b6c0b9f5d6f2abce3444e3
[memcached-gcc4.6.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
filename = memcached-gcc4.6.patch
download-only = true
md5sum = 3418477f64500cd2a8dce046f5d72fec
[memcached]
<= memcached-1.4.5
[memcached-1.4.5]
<= memcached-common
url = http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
md5sum = 583441a25f937360624024f2881e5ea8
[memcached-1.4.4]
<= memcached-common
url = http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
md5sum = 5ca5b24de347e97ac1f48f3785b4178a
[memcached-common]
recipe = hexagonit.recipe.cmmi
configure-options =
--with-libevent=${libevent:location}
patches =
${memcached-strict-aliasing-patch:location}/${memcached-strict-aliasing-patch:filename}
${memcached-fix-array-subscript-is-above-array-bounds:location}/${memcached-fix-array-subscript-is-above-array-bounds:filename}
${memcached-gcc4.6.patch:location}/${memcached-gcc4.6.patch:filename}
patch-options = -p1
environment =
LDFLAGS =-Wl,-rpath ${libevent:location}/lib
Took originally from OpenSuse spec. Needed on opensuse to avoid "error: array subscript is above array bounds"
--- memcached-orig/memcached.c
+++ memcached-new/memcached.c 2010/05/06 11:40:56
@@ -2335,15 +2335,18 @@
inline static void process_stats_detail(conn *c, const char *command) {
assert(c != NULL);
- if (strcmp(command, "on") == 0) {
+ char on[] = "on";
+ char off[] = "off";
+ char dump[] = "dump";
+ if (strcmp(command, on) == 0) {
settings.detail_enabled = 1;
out_string(c, "OK");
}
- else if (strcmp(command, "off") == 0) {
+ else if (strcmp(command, off) == 0) {
settings.detail_enabled = 0;
out_string(c, "OK");
}
- else if (strcmp(command, "dump") == 0) {
+ else if (strcmp(command, dump) == 0) {
int len;
char *stats = stats_prefix_dump(&len);
write_and_free(c, stats, len);
diff -rdBu memcached-1.4.0-rc1/memcached.h memcached-1.4.0-my/memcached.h
--- memcached-1.4.0-rc1/memcached.h 2009-05-29 00:51:56.000000000 +0400
+++ memcached-1.4.0-my/memcached.h 2009-06-07 22:32:52.000000000 +0400
@@ -75,21 +75,21 @@
/* warning: don't use these macros with a function, as it evals its arg twice */
#define ITEM_get_cas(i) ((uint64_t)(((i)->it_flags & ITEM_CAS) ? \
- *(uint64_t*)&((i)->end[0]) : 0x0))
+ *(uint64_t*)((char*)(i) + sizeof(*i)) : 0x0))
#define ITEM_set_cas(i,v) { if ((i)->it_flags & ITEM_CAS) { \
- *(uint64_t*)&((i)->end[0]) = v; } }
+ *(uint64_t*)((char*)(i) + sizeof(*i)) = v; } }
-#define ITEM_key(item) (((char*)&((item)->end[0])) \
+#define ITEM_key(item) ((char*)(item) + sizeof(*item) \
+ (((item)->it_flags & ITEM_CAS) ? sizeof(uint64_t) : 0))
-#define ITEM_suffix(item) ((char*) &((item)->end[0]) + (item)->nkey + 1 \
+#define ITEM_suffix(item) ((char*)(item) + sizeof(*item) + (item)->nkey + 1 \
+ (((item)->it_flags & ITEM_CAS) ? sizeof(uint64_t) : 0))
-#define ITEM_data(item) ((char*) &((item)->end[0]) + (item)->nkey + 1 \
+#define ITEM_data(item) ((char*)(item) + sizeof(*item) + (item)->nkey + 1 \
+ (item)->nsuffix \
+ (((item)->it_flags & ITEM_CAS) ? sizeof(uint64_t) : 0))
-#define ITEM_ntotal(item) (sizeof(struct _stritem) + (item)->nkey + 1 \
+#define ITEM_ntotal(item) (sizeof(*item) + (item)->nkey + 1 \
+ (item)->nsuffix + (item)->nbytes \
+ (((item)->it_flags & ITEM_CAS) ? sizeof(uint64_t) : 0))
@@ -285,7 +285,6 @@
uint8_t it_flags; /* ITEM_* above */
uint8_t slabs_clsid;/* which slab class we're in */
uint8_t nkey; /* key length, w/terminating null and padding */
- void * end[];
/* if it_flags & ITEM_CAS we have 8 bytes CAS */
/* then null-terminated key */
/* then " flags length\r\n" (no terminating null) */
diff --git a/items.c b/items.c
index e7f01ea..9fc6704 100644
--- a/items.c
+++ b/items.c
@@ -450,9 +450,7 @@ void do_item_stats_sizes(ADD_STAT add_stats, void *c) {
for (i = 0; i < num_buckets; i++) {
if (histogram[i] != 0) {
char key[8];
- int klen = 0;
- klen = snprintf(key, sizeof(key), "%d", i * 32);
- assert(klen < sizeof(key));
+ assert(snprintf(key, sizeof(key), "%d", i * 32) < sizeof(key));
APPEND_STAT(key, "%u", histogram[i]);
}
}
diff --git a/memcached.c b/memcached.c
index 750c8b3..0913b77 100644
--- a/memcached.c
+++ b/memcached.c
@@ -4627,8 +4627,6 @@ int main (int argc, char **argv) {
/* create the listening socket, bind it, and init */
if (settings.socketpath == NULL) {
- int udp_port;
-
const char *portnumber_filename = getenv("MEMCACHED_PORT_FILENAME");
char temp_portnumber_filename[PATH_MAX];
FILE *portnumber_file = NULL;
@@ -4658,7 +4656,6 @@ int main (int argc, char **argv) {
* then daemonise if needed, then init libevent (in some cases
* descriptors created by libevent wouldn't survive forking).
*/
- udp_port = settings.udpport ? settings.udpport : settings.port;
/* create the UDP listening socket and bind it */
errno = 0;
[buildout]
parts = messagepack
find-links = http://www.nexedi.org/static/packages/source/
[messagepack]
recipe = erp5.recipe.cmmiforcei686
url = http://downloads.sourceforge.net/project/msgpack/msgpack/cpp/msgpack-0.5.4.tar.gz
md5sum = 18d96a3178f7cad73c0ca44f6284ae7d
configure-options =
--disable-static
# mroonga - a MySQL storage engine using full-text search engine groonga
# http://mroonga.github.com/
# http://groonga.org/
[buildout]
parts =
mroonga
extends =
mariadb.cfg
pkgconfig.cfg
[groonga]
recipe = hexagonit.recipe.cmmi
url = http://groonga.org/files/groonga/groonga-1.1.0.tar.gz
md5sum = a5a381db446e017f172bf6b003a4fed9
configure-options =
--without-mecab
[mroonga-mariadb-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = da2457b9f8006cddb279a165128479e5
filename = groonga-storage-engine-0.4.mariadb.patch
download-only = true
[mroonga]
recipe = hexagonit.recipe.cmmi
url = http://github.com/downloads/mroonga/mroonga/groonga-storage-engine-0.4.tar.gz
md5sum = eb39ddaebb5a295f103bb1f66d5b33da
patch-options = -p1
patches =
${mroonga-mariadb-patch:location}/${mroonga-mariadb-patch:filename}
configure-options =
--with-mysql-source=${mariadb:location}__compile__/mariadb-${mariadb:version}
--with-mysql-config=${mariadb:location}/bin/mysql_config
environment =
PATH=${groonga:location}/bin:${pkgconfig:location}/bin:%(PATH)s
CPPFLAGS=-I${groonga:location}/include/groonga
LDFLAGS=-L${groonga:location}/lib
PKG_CONFIG_PATH=${groonga:location}/lib/pkgconfig
diff -ur groonga-storage-engine-0.4.orig/configure groonga-storage-engine-0.4/configure
--- groonga-storage-engine-0.4.orig/configure 2010-11-24 06:23:50.000000000 +0100
+++ groonga-storage-engine-0.4/configure 2011-01-01 16:01:07.000000000 +0100
@@ -13925,8 +13925,8 @@
as_fn_error "failed to run \"$ac_mysql_config\": $plugindir" "$LINENO" 5
fi
MYSQL_INC="$MYSQL_INC $($ac_mysql_config --include)"
- ac_mysql_major_version="`$ac_mysql_config --version | cut -b 1-3`"
- if test "$ac_mysql_major_version" = "5.1"; then
+ ac_mysql_major_version="`$ac_mysql_config --version | cut -b 1,3`"
+ if test $ac_mysql_major_version -lt 55; then
MYSQL51="-DMYSQL51"
fi
[buildout]
extends =
autoconf.cfg
automake.cfg
zlib.cfg
bison.cfg
flex.cfg
libtool.cfg
ncurses.cfg
readline.cfg
parts =
mysql-5.1
[mysql-5.1-sphinx-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 6580393ca93ecf564cad0552b91a563e
filename = mysql-5.1.49-sphinx-1.10.diff
download-only = true
[mysql-5.1]
recipe = hexagonit.recipe.cmmi
version = 5.1.54
url = http://mysql.he.net/Downloads/MySQL-5.1/mysql-${:version}.tar.gz
md5sum = 2a0f45a2f8b5a043b95ce7575796a30b
# compile directory is required to build mysql plugins.
keep-compile-dir = true
# configure: how to avoid searching for my.cnf?
# - like in mysql part in http://svn.zope.org/zodbshootout/trunk/buildout.cfg?view=markup
configure-command =
libtoolize -c -f
aclocal -I ${libtool:location}/share/aclocal -I config/ac-macros
autoheader
automake -c -a -f
autoconf
touch sql/sql_yacc.yy
./configure
# we use embeded yassl instead of openssl to avoid compilation errors on sphinx search engine.
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--enable-thread-safe-client
--enable-local-infile
--enable-assembler
--with-pic
--with-fast-mutexes
--with-charset=utf8
--with-collation=utf8_unicode_ci
--with-server-suffix=mysql-5.1
--without-readline
--with-ssl
--with-zlib-dir=${zlib:location}
make-options =
LIBTOOL=libtool
patch-options = -p1
patches =
${mysql-5.1-sphinx-patch:location}/${mysql-5.1-sphinx-patch:filename}
environment =
PATH =${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin:%(PATH)s
CPPFLAGS =-I${ncurses:location}/include -I${readline:location}/include
LDFLAGS =-L${readline:location}/lib -L${ncurses:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -Wl,-rpath -Wl,${readline:location}/lib
This source diff could not be displayed because it is too large. You can view the blob instead.
[buildout]
extends =
mariadb.cfg
openssl.cfg
zlib.cfg
parts =
mysql-python
[mysql-python-env]
PATH =${mariadb:location}/bin:%(PATH)s
[mysql-python]
recipe = zc.recipe.egg:custom
egg = MySQL-python
environment = mysql-python-env
rpath =
${mariadb:location}/lib/mysql/
${zlib:location}/lib/
${openssl:location}/lib/
# This is software part of buildout for mysql with senna
# Originally made by Leonardo Rochael Almeida <leorochael@gmail.com> (thanks!)
# Original place: https://svn.erp5.org/repos/public/experimental/mysqlsenna.buildout/
[buildout]
extends =
autoconf.cfg
automake.cfg
zlib.cfg
bison.cfg
flex.cfg
libtool.cfg
ncurses.cfg
openssl.cfg
readline.cfg
parts =
mysql-tritonn-5.0
[senna]
recipe = hexagonit.recipe.cmmi
url = http://www.nexedi.org/static/tarballs/senna/senna-r1311.tar.gz
md5sum = 1cc51554789f81a9e5208da04a5c2f4c
configure-command =
echo 'AC_CONFIG_MACRO_DIR([m4])' >> configure.ac
echo 'ACLOCAL_AMFLAGS = -I m4' >> Makefile.am
ACLOCAL_ARGS=-I${libtool:location}/share/aclocal ./autogen.sh
./configure
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--without-mecab
--disable-glibtest
make-options =
LIBTOOL=libtool
environment =
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:%(PATH)s
[mysql-5.0-tritonn-patch]
recipe = hexagonit.recipe.download
url = http://dl.sourceforge.jp/tritonn/44472/${:filename}
md5sum = 257abe9c4afdc9b08033687fd486a595
filename = tritonn-1.0.12-mysql-5.0.87.diff
download-only = true
[mysql-5.0-sphinx-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 4ca071cde319213a213ab3605e326d1c
filename = mysql-5.0.87-sphinx-1.10.diff
download-only = true
[mysql-tritonn-5.0]
recipe = hexagonit.recipe.cmmi
url = http://www.nexedi.org/static/tarballs/mysql/mysql-5.0.87.tar.gz
md5sum = 65e6229cc98b6a8d4c5206d7fe16c7be
# configure: how to avoid searching for my.cnf?
# - like in mysql part in http://svn.zope.org/zodbshootout/trunk/buildout.cfg?view=markup
configure-command =
libtoolize -c -f
aclocal -I ${libtool:location}/share/aclocal -I config/ac-macros
autoheader
automake -c -a -f
autoconf
touch sql/sql_yacc.yy
./configure
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--with-senna
--with-openssl=${openssl:location}
--without-mecab
--enable-thread-safe-client
--with-charset=utf8
--with-collation=utf8_unicode_ci
--with-server-suffix=mysql-tritonn-5.0
--with-mysqlmanager
--enable-assembler
--without-readline
--with-sphinx-storage-engine
--with-named-curses-libs=${ncurses:location}/lib/libncurses.so
--with-zlib-dir=${zlib:location}
make-options =
LIBTOOL=libtool
LN_S='ln -s'
patch-options = -p1
patches =
${mysql-5.0-tritonn-patch:location}/${mysql-5.0-tritonn-patch:filename}
${mysql-5.0-sphinx-patch:location}/${mysql-5.0-sphinx-patch:filename}
environment =
PATH=${senna:location}/bin:${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:${bison:location}/bin:${flex:location}/bin:%(PATH)s
CPPFLAGS=-I${senna:location}/include/senna -I${ncurses:location}/include -I${readline:location}/include
LDFLAGS=-L${senna:location}/lib -L${readline:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -Wl,-rpath -Wl,${readline:location}/lib
This source diff could not be displayed because it is too large. You can view the blob instead.
[buildout]
parts =
ncurses
[ncurses]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
md5sum = 8cb9c412e5f2d96bc6f459aa8c6282a1
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--with-shared
--without-normal
--without-debug
--enable-rpath
# tricky way to rerun with --enable-widec
make-targets =
install && (for i in curses unctrl eti form menu panel term; do ln -sf ncurses/$i.h ${buildout:parts-directory}/${:_buildout_section_name_}/include/$i.h; done) && ./configure ${:configure-options} --enable-widec && make install
environment =
LDFLAGS =-Wl,--as-needed
make-options =
-j1
[buildout]
parts =
neon
extends =
libxml2.cfg
openssl.cfg
pkgconfig.cfg
zlib.cfg
[neon]
recipe = hexagonit.recipe.cmmi
url = http://www.webdav.org/neon/neon-0.29.5.tar.gz
md5sum = ff369e69ef0f0143beb5626164e87ae2
configure-options =
--disable-static
--enable-shared
--with-ssl=openssl
--without-expat
--without-gssapi
--with-libxml2
--enable-threadsafe-ssl=posix
--disable-nls
environment =
PATH=${libxml2:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig:${libxml2:location}/lib/pkgconfig
CPPFLAGS=-I${openssl:location}/include -I${zlib:location}/include
LDFLAGS=-L${openssl:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${libxml2:location}/lib
[buildout]
parts = nullmailer
[nullmailer]
recipe = hexagonit.recipe.cmmi
url = http://untroubled.org/nullmailer/nullmailer-1.05.tar.gz
md5sum = 35124cc05f893efba1310e2ec7c876ff
[buildout]
parts = ocropus
[ocropus-patch-scons]
recipe = hexagonit.recipe.download
download-only = true
filename = ocropus.SConstruct-local-installation.patch
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 08710ec022f3ce13e5c0b584dfee2c1c
[ocropus]
recipe = hexagonit.recipe.cmmi
url = http://www.nexedi.org/static/packages/source/ocropus/ocropus-0.4.4.tar.gz
md5sum = 1485dbe9aab27574bfe3c8b4395cf3ce
configure-options =
${iulib:location}
patches = ${ocropus-patch-scons:location}/${ocropus-patch-scons:filename}
patch-options = -p1
environment =
PATH =${scons-bin:destination_directory}:%(PATH)s
[scons-local]
recipe = hexagonit.recipe.download
url = http://prdownloads.sourceforge.net/scons/scons-local-2.0.1.tar.gz
[scons-bin]
recipe = plone.recipe.command
destination_directory = ${scons-local:location}
command =
ln -sf ${scons-local:location}/scons.py ${:destination_directory}/scons
[iulib-patch-scons]
recipe = hexagonit.recipe.download
download-only = true
filename = iulib.SConstruct-libtiff-detection.patch
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = dbbdf909814fb84ffe47e2ff59980db7
[iulib]
recipe = hexagonit.recipe.cmmi
url = http://www.nexedi.org/static/packages/source/ocropus/iulib-0.4.4.tar.gz
md5sum = 3d9754dbd64c56029ce1cd7c2f61894c
# workaround http://code.google.com/p/iulib/issues/detail?id=27
patches = ${iulib-patch-scons:location}/${iulib-patch-scons:filename}
patch-options = -p1
environment =
PATH =${scons-bin:destination_directory}:%(PATH)s
# OpenOffice.org daemon software buildout
[buildout]
extends = openoffice-bin.cfg
parts +=
oood
[oood]
recipe = hexagonit.recipe.download
url = http://www.nexedi.org/static/tarballs/oood/oood-r36294.tar.gz
md5sum = 9e71251eea4b310fd6bd4ebf8abf890e
strip-top-level-dir = true
[buildout]
parts =
openldap
extends =
openssl.cfg
cyrus-sasl.cfg
[openldap]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.25.tgz
md5sum = ec63f9c2add59f323a0459128846905b
configure-options =
--disable-static
--disable-slapd
--enable-backends=no
--enable-overlays=no
--with-cyrus-sasl
--without-fetch
--disable-rewrite
--disable-odbc
--with-threads
--with-tls=openssl
environment =
CPPFLAGS=-I${openssl:location}/include -I${cyrus-sasl:location}/include
LDFLAGS=-L${openssl:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -L${cyrus-sasl:location}/lib -Wl,-rpath -Wl,${cyrus-sasl:location}/lib
[buildout]
parts =
openoffice-bin
find-links =
http://www.nexedi.org/static/packages/source/
[openoffice-bin]
# XXX: This section and recipe have to be reviewed against using
# zc.buildout.download API and generally following zc.buildout way
# of dealing with remote resources
#recipe = erp5.recipe.openoffice
recipe = z3c.recipe.openoffice
install-pyuno-egg = no
hack-openoffice-python = no
base-url = http://download.services.openoffice.org/files/stable/3.3.0/OOo_3.3.0_Linux_%s_install-rpm-wJRE_en-US.tar.gz
version = 3
# profile to build openoffice from source
[buildout]
[buildout]
[opensp]
recipe = hexagonit.recipe.cmmi
url = http://prdownloads.sourceforge.net/openjade/OpenSP-1.5.2.tar.gz
md5sum = 670b223c5d12cee40c9137be86b6c39b
configure-options =
--disable-static
--disable-doc-build
# OpenSSL - a toolkit implementing SSL v2/v3 and TLS v1 protocols as
# well as a full-strength general purpose cryptography
# library.
# http://www.openssl.org/
[buildout]
extends =
zlib.cfg
parts =
openssl
[openssl]
recipe = hexagonit.recipe.cmmi
url = https://www.openssl.org/source/openssl-1.0.0d.tar.gz
md5sum = 40b6ea380cc8a5bf9734c2f8bf7e701e
configure-command = ./config
configure-options =
-I${zlib:location}/include
-L${zlib:location}/lib
--openssldir=${buildout:parts-directory}/${:_buildout_section_name_}/etc/ssl
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
--libdir=lib
shared
no-zlib
# it seems that parallel build sometimes fails for openssl.
make-options =
-j1
LDFLAGS="-Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${buildout:parts-directory}/${:_buildout_section_name_}/lib"
SHARED_LDFLAGS="-Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${buildout:parts-directory}/${:_buildout_section_name_}/lib"
[buildout]
parts =
patch
[patch]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.gnu.org/gnu/patch/patch-2.6.1.tar.gz
md5sum = d758eb96d3f75047efc004a720d33daf
[buildout]
parts =
pcre
[pcre]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.bz2
md5sum = f14a9fef3c92f3fc6c5ac92d7a2c7eb3
configure-options =
--disable-static
--enable-utf8
--enable-unicode-properties
[buildout]
# Note: Locally provided gcc with gcj is used, as there is high unstability
# in how gcj is functional on many operating systems.
# Because of this the only way to have portable pdftk profile it is required
# to provide working gcj and then have it used for pdftk compilation.
extends =
fastjar.cfg
gcc.cfg
parts = pdftk
[pdftk-1.44-Makefile.Base.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
download-only = true
md5sum = 04a3607213e4e638c1fd993321804499
filename = pdftk-1.44-Makefile.Base.patch
[pdftk-hooks-download]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../hook/${:filename}
filename = pdftk-hooks.py
md5sum = d2a067b98953ad30ba1230f87dfb8b92
download-only = true
[pdftk]
recipe = hexagonit.recipe.cmmi
url = http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-1.44-src.zip
md5sum = 9eb50fffcd621a627d387750c60982b4
configure-command = true
patches =
${pdftk-1.44-Makefile.Base.patch:location}/${pdftk-1.44-Makefile.Base.patch:filename}
patch-options = -p1
# pdftk does not work correcly with parallel building
make-options =
-j1
-f Makefile.Redhat
DEST=${buildout:parts-directory}/${:_buildout_section_name_}
pre-make-hook = ${pdftk-hooks-download:location}/${pdftk-hooks-download:filename}:pre_make_hook
environment =
PATH=${gcc-java:location}/bin:${fastjar:location}/bin:%(PATH)s
LDFLAGS=-L${gcc-java:location}/lib -Wl,-rpath -Wl,${gcc-java:location}/lib -L${gcc-java:location}/lib64 -Wl,-rpath -Wl,${gcc-java:location}/lib64
LD_LIBRARY_PATH=${gcc-java:location}/lib:${gcc-java:location}/lib64
diff --git a/pdftk/Makefile.Base b/pdftk/Makefile.Base
index 0bedd04..36a439e 100644
--- a/pdftk/Makefile.Base
+++ b/pdftk/Makefile.Base
@@ -35,22 +35,24 @@ javalib :
$(MAKE) -f Makefile -iC $(JAVALIBPATH) all
attachments.o : attachments.cc attachments.h pdftk.h $(JAVALIB)
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) attachments.cc -c
+ $(CXX) $(CPPFLAGS) $(LDFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) attachments.cc -c
report.o : report.cc report.h pdftk.h $(JAVALIB)
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) report.cc -c
+ $(CXX) $(CPPFLAGS) $(LDFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) report.cc -c
pdftk.o : pdftk.cc pdftk.h attachments.h report.h $(JAVALIB) $(GCJ_LOCAL_LIB_FULL)
- $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) pdftk.cc -c
+ $(CXX) $(CPPFLAGS) $(LDFLAGS) $(CXXFLAGS) -I$(JAVALIBPATH) pdftk.cc -c
pdftk : pdftk.o attachments.o report.o $(JAVALIB) $(GCJ_LOCAL_LIB_FULL)
- $(CXX) $(CXXFLAGS) attachments.o report.o pdftk.o $(JAVALIB) $(GCJ_LOCAL_LIB_FULL) $(LDLIBS) -o pdftk
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) attachments.o report.o pdftk.o $(JAVALIB) $(GCJ_LOCAL_LIB_FULL) $(LDLIBS) -o pdftk
install:
- /usr/bin/install pdftk /usr/local/bin
+ mkdir -p ${DEST}/bin
+ install pdftk ${DEST}/bin
uninstall:
- $(RM) $(RMFLAGS) /usr/local/bin/pdftk
+ $(RM) $(RMFLAGS) ${DEST}/pdftk
+ rmdir ${DEST}
clean:
$(RM) $(RMFLAGS) *.o
import os
def pre_make_hook(options, buildout):
# change to pdftk directory, where built process shall be done
os.chdir('pdftk')
[buildout]
extends =
perl.cfg
parts =
perl-Class-Accessor
[perl-Class-Accessor]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/K/KA/KASEI/Class-Accessor-0.34.tar.gz
md5sum = 0d9640d237a13276145f7e44b4855b89
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
parts =
perl-Config-General
[perl-Config-General]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/Config-General-2.50.tar.gz
md5sum = 18d9b00582e8943956b32f8a9ba23380
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
parts =
perl-Encode-HanExtra
[perl-Encode-HanExtra]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz
md5sum = e1d3bc32c1c8ee304235a06fbcd5d5a4
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
parts =
perl-HTML-Encoding
[perl-HTML-Encoding]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/B/BJ/BJOERN/HTML-Encoding-0.61.tar.gz
md5sum = bce9f00f04ad055feaa4d6511b30e421
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
perl-HTML-Tagset.cfg
parts =
perl-HTML-Parser
[perl-HTML-Parser]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
${perl-HTML-Tagset:location}
url = http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.68.tar.gz
md5sum = 5550b2da7aa94341f1e8a17a4ac20c68
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
parts =
perl-HTML-Tagset
[perl-HTML-Tagset]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz
md5sum = d2bfa18fe1904df7f683e96611e87437
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
parts =
perl-HTML-Template
[perl-HTML-Template]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/S/SA/SAMTREGAR/HTML-Template-2.9.tar.gz
md5sum = cbf88a486b36284be55765ac7357c187
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
parts =
perl-JSON
[perl-JSON]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/M/MA/MAKAMAKA/JSON-2.50.tar.gz
md5sum = 7aa1f17255ec8b074a1e8b18df23d6fb
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
parts =
perl-Net-IP
[perl-Net-IP]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz
md5sum = a49c0b02a9b793ff60191cdafc0c202e
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
opensp.cfg
perl.cfg
perl-Class-Accessor.cfg
parts =
perl-SGML-Parser-OpenSP
[perl-SGML-Parser-OpenSP]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
${perl-Class-Accessor:location}
url = http://search.cpan.org/CPAN/authors/id/B/BJ/BJOERN/SGML-Parser-OpenSP-0.994.tar.gz
md5sum = b1ee0244e9daa4d37f28cf32c4753691
configure-command =
${perl:location}/bin/perl Makefile.PL
make-options =
INC=-I${opensp:location}/include
OTHERLDFLAGS="-L${opensp:location}/lib -Wl,-rpath -Wl,${opensp:location}/lib"
[buildout]
extends =
perl.cfg
parts =
perl-URI
[perl-URI]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.58.tar.gz
md5sum = 540575aee18616ad9a21e0af7a1e7b18
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
libxml2.cfg
perl.cfg
perl-XML-NamespaceSupport.cfg
perl-XML-SAX.cfg
zlib.cfg
parts =
perl-XML-LibXML
[perl-XML-LibXML]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
${perl-XML-NamespaceSupport:location}
${perl-XML-SAX:location}
url = http://search.cpan.org/CPAN/authors/id/P/PA/PAJAS/XML-LibXML-1.70.tar.gz
md5sum = 33d4294f708e20c298cfe534d1166844
configure-command =
${perl:location}/bin/perl Makefile.PL DEBUG=1 \
INC=-I${libxml2:location}/include/libxml2 \
LIBS="-L${libxml2:location}/lib -L${zlib:location}/lib"
# Parallel make does not work for this package on fast machines
# with many cores
make-options =
OTHERLDFLAGS=" -Wl,-rpath -Wl,${libxml2:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib" -j1
environment =
LD_LIBRARY_PATH=${libxml2:location}/lib:${zlib:location}/lib
PERLLIB=blib/lib
[buildout]
extends =
perl.cfg
parts =
perl-XML-NamespaceSupport
[perl-XML-NamespaceSupport]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
url = http://search.cpan.org/CPAN/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz
md5sum = 222cca76161cd956d724286d36b607da
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
perl.cfg
perl-XML-NamespaceSupport.cfg
parts =
perl-XML-SAX
[perl-XML-SAX]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
${perl-XML-NamespaceSupport:location}
url = http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-0.96.tar.gz
md5sum = bdcd4119a62505184e211e9dfaef0ab1
configure-command =
${perl:location}/bin/perl Makefile.PL
environment =
PERLLIB=blib/lib
[buildout]
extends =
perl.cfg
perl-HTML-Parser.cfg
parts =
perl-libwww-perl
[perl-libwww-perl]
recipe = hexagonit.recipe.cmmi
depends =
${perl:version}
${perl-HTML-Parser:location}
url = http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.837.tar.gz
md5sum = 9bbf1bce482b0bac98bb4f04253c03d0
configure-command =
${perl:location}/bin/perl Makefile.PL
[buildout]
extends =
gdbm.cfg
patch.cfg
parts =
perl
[perl-keep-linker-flags-in-ldflags.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 9873a89c969bd5a478434c3b8b2d57d8
download-only = true
filename = ${:_buildout_section_name_}
[perl]
recipe = hexagonit.recipe.cmmi
version = 5.14.0
url = http://www.cpan.org/src/5.0/perl-${:version}.tar.bz2
md5sum = e7457deea78330c5f8eebb2fd2a45479
patch-options = -p1
patches =
${perl-keep-linker-flags-in-ldflags.patch:location}/${perl-keep-linker-flags-in-ldflags.patch:filename}
configure-command =
sh Configure -des \
-Dprefix=${buildout:parts-directory}/${:_buildout_section_name_} \
-Dsiteprefix=${buildout:parts-directory}/site_${:_buildout_section_name_} \
-Dcflags=-I${gdbm:location}/include \
-Dldflags="-L${gdbm:location}/lib -Wl,-rpath -Wl,${gdbm:location}/lib" \
-Ui_db \
-Dnoextensions=ODBM_File
environment =
PATH=${patch:location}/bin:%(PATH)s
--- perl-5.12.3/Configure.orig 2011-01-09 21:20:52.000000000 +0100
+++ perl-5.12.3/Configure 2011-01-26 19:33:33.106561007 +0100
@@ -8092,16 +8092,7 @@
case "$dflt" in
none) dflt='' ;;
esac
- for thisflag in $ldflags; do
- case "$thisflag" in
- -L*|-R*|-Wl,-R*)
- case " $dflt " in
- *" $thisflag "*) ;;
- *) dflt="$dflt $thisflag" ;;
- esac
- ;;
- esac
- done
+ dflt="$dflt $ldflags"
case "$dflt" in
''|' ') dflt='none' ;;
# pkg-config - a helper tool used when compiling applications and libraries
# http://pkgconfig.freedesktop.org/
[buildout]
parts =
pkgconfig
extends =
gettext.cfg
glib.cfg
popt.cfg
[pkgconfig]
recipe = hexagonit.recipe.cmmi
url = http://pkgconfig.freedesktop.org/releases/pkg-config-0.25.tar.gz
md5sum = a3270bab3f4b69b7dc6dbdacbcae9745
location = ${buildout:parts-directory}/${:_buildout_section_name_}
# build pkg-config twice so that second configure can use pkg-config
# to compute GLIB_CFLAGS and GLIB_LIBS.
configure-command =
./configure --prefix=${:location} --with-installed-glib --with-installed-popt && make && make install && ./configure
configure-options =
--prefix=${:location}
--with-installed-glib
--with-installed-popt
environment =
PATH=${:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig
CPPFLAGS=-I${glib:location}/include -I${popt:location}/include
LDFLAGS=-L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib -L${glib:location}/lib -Wl,-rpath -Wl,${glib:location}/lib -L${popt:location}/lib -Wl,-rpath -Wl,${popt:location}/lib
[buildout]
parts =
popt
[popt]
recipe = hexagonit.recipe.cmmi
url = ftp://anduin.linuxfromscratch.org/BLFS/svn/p/popt-1.16.tar.gz
md5sum = 3743beefa3dd6247a73f8f7a32c14c33
configure-options =
--disable-static
# Postfix
# http://www.postfix.org/
[buildout]
extends =
libdb.cfg
openssl.cfg
pcre.cfg
parts = postfix
[postfix]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.8.3.tar.gz
md5sum = b3922ededd3fd6051f759e58a4ada3ae
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command = make
configure-options = makefiles CCARGS='-DUSE_TLS -DHAS_PCRE -DHAS_DB -I${libdb:location}/include -I${pcre:location}/include -I${openssl:location}/include' AUXLIBS='-L${openssl:location}/lib -L${pcre:location}/lib -L${libdb:location}/lib -lssl -lpcre -ldb -lcrypto -Wl,-rpath -Wl,${openssl:location}/lib -Wl,-rpath -Wl,${pcre:location}/lib -Wl,-rpath -Wl,${libdb:location}/lib'
make-targets = non-interactive-package install_root=${:location}
[buildout]
extends =
apache.cfg
subversion.cfg
parts =
pysvn-python
[pysvn-python]
recipe = zc.recipe.egg:custom
egg =
pysvn
include-dirs =
${subversion:location}/include/subversion-1
${apache:location}/include
library-dirs =
${subversion:location}/lib
${apache:location}/lib
[buildout]
extends =
bzip2.cfg
gdbm.cfg
gettext.cfg
ncurses.cfg
openssl.cfg
readline.cfg
sqlite3.cfg
zlib.cfg
parts =
pythonbin2.4
[python2.4-dbm-patch]
recipe = hexagonit.recipe.download
# original patch from http://bugs.gentoo.org/attachment.cgi?id=109117
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 8611020af1463b42f253ac73a91b09a1
download-only = true
filename = python2.4-dbm.patch
[python2.4-no_system_inc_dirs-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 65c1193ac42c15109be0e6f9b7a671b8
download-only = true
filename = python2.4-no_system_inc_dirs.patch
[python2.4-CPPFLAGS-patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 912b6d4b107e3f382995a4d3afcd3eca
download-only = true
filename = python2.4-backport-CPPFLAGS-setup-from-python2.6.patch
[python2.4]
recipe = hexagonit.recipe.cmmi
# This is actually the default setting for prefix, but we can't use it in
# other settings in this part if we don't set it explicitly here.
prefix = ${buildout:parts-directory}/${:_buildout_section_name_}
version = 2.4
package_version = ${:version}.6
executable = ${:prefix}/bin/python${:version}
python_version_major = 2.4
python_version_minor = 6
python_version_full = ${:python_version_major}.${:python_version_minor}
url =
http://python.org/ftp/python/${:python_version_full}/Python-${:python_version_full}.tgz
patches =
${python2.4-dbm-patch:location}/${python2.4-dbm-patch:filename}
${python2.4-no_system_inc_dirs-patch:location}/${python2.4-no_system_inc_dirs-patch:filename}
${python2.4-CPPFLAGS-patch:location}/${python2.4-CPPFLAGS-patch:filename}
configure-options =
--enable-unicode=ucs4
--with-threads
environment =
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${ncurses:location}/include/ -I${ncurses:location}/include/ncursesw/ -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${readline:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -Wl,${gdbm:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib
[pythonbin2.4]
# XXX/Note: This is hackish way to have fully featured python interpreter
recipe = zc.recipe.egg:scripts
python = python2.4
eggs = ${eggs:eggs}
invokepython>=0.4
extra-paths =
${zope-2.8:location}/lib/python
scripts =
invokepython=python${python2.4:python_version_major}
ipython=ipython${python2.4:python_version_major}
[bootstrap2.4]
recipe = zc.recipe.egg
eggs = zc.buildout
suffix =
scripts =
buildout=bootstrap2.4
arguments = sys.argv[1:] + ["bootstrap"]
suffix = 2.4
python = python2.4
From: Arnaud Fontaine <arnaud.fontaine@nexedi.com>
Date: Mon, 7 Mar 2011 13:02:05 +0900
Subject: [PATCH] Pass CPPFLAGS when building modules in Python 2.4
In contrary to Python 2.6, when building Python 2.4 modules, CPPFLAGS
specified to configure script is not passed at all. This patch backports
the fix from Python 2.6.
--- Makefile.pre.in 2006-10-09 02:41:25.000000000 +0900
+++ Makefile.pre.in 2011-03-07 14:58:34.368000777 +0900
@@ -56,7 +56,10 @@
OPT= @OPT@
BASECFLAGS= @BASECFLAGS@
CFLAGS= $(BASECFLAGS) $(OPT)
-CPPFLAGS= -I. -I$(srcdir)/Include
+# Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to
+# be able to build extension modules using the directories specified in the
+# environment variables
+CPPFLAGS= -I. -I$(srcdir)/Include @CPPFLAGS@
LDFLAGS= @LDFLAGS@
LDLAST= @LDLAST@
SGI_ABI= @SGI_ABI@
--- setup.py 2006-10-09 02:41:25.000000000 +0900
+++ setup.py 2011-03-07 14:53:36.208000779 +0900
@@ -3,7 +3,7 @@
__version__ = "$Revision: 52231 $"
-import sys, os, getopt, imp, re
+import sys, os, getopt, imp, re, optparse
from distutils import log
from distutils import sysconfig
@@ -243,6 +243,39 @@
add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ # Add paths specified in the environment variables LDFLAGS and
+ # CPPFLAGS for header and library files.
+ # We must get the values from the Makefile and not the environment
+ # directly since an inconsistently reproducible issue comes up where
+ # the environment variable is not set even though the value were passed
+ # into configure and stored in the Makefile (issue found on OS X 10.3).
+ for env_var, arg_name, dir_list in (
+ ('LDFLAGS', '-L', self.compiler.library_dirs),
+ ('CPPFLAGS', '-I', self.compiler.include_dirs)):
+ env_val = sysconfig.get_config_var(env_var)
+ if env_val:
+ # To prevent optparse from raising an exception about any
+ # options in env_val that is doesn't know about we strip out
+ # all double dashes and any dashes followed by a character
+ # that is not for the option we are dealing with.
+ #
+ # Please note that order of the regex is important! We must
+ # strip out double-dashes first so that we don't end up with
+ # substituting "--Long" to "-Long" and thus lead to "ong" being
+ # used for a library directory.
+ env_val = re.sub(r'(^|\s+)-(-|(?!%s))' % arg_name[1],
+ ' ', env_val)
+ parser = optparse.OptionParser()
+ # Make sure that allowing args interspersed with options is
+ # allowed
+ parser.allow_interspersed_args = True
+ parser.error = lambda msg: None
+ parser.add_option(arg_name, dest="dirs", action="append")
+ options = parser.parse_args(env_val.split())[0]
+ if options.dirs:
+ for directory in reversed(options.dirs):
+ add_dir_to_list(dir_list, directory)
+
# Add paths to popular package managers on OS X/darwin
if sys.platform == "darwin":
# Fink installs into /sw by default
--- Lib/optparse.py 2006-05-29 03:15:43.000000000 +0900
+++ Lib/optparse.py 2011-03-07 21:20:17.192000789 +0900
@@ -69,7 +69,13 @@
import sys, os
import types
import textwrap
-from gettext import gettext as _
+
+try:
+ from gettext import gettext
+except ImportError:
+ def gettext(message):
+ return message
+_ = gettext
def _repr(self):
return "<%s at 0x%x: %s>" % (self.__class__.__name__, id(self), self)
From: Arnaud Fontaine <arnaud.fontaine@nexedi.com>
Date: Mon, 7 Mar 2011 14:10:31 +0900
Subject: [PATCH] Do not use system include directory
Backport python-2.6.6-no_system_inc_dirs.patch to Python 2.4.
--- setup.py 2006-10-09 02:41:25.000000000 +0900
+++ setup.py 2011-03-07 15:15:00.724000778 +0900
@@ -270,7 +270,7 @@
'/lib64', '/usr/lib64',
'/lib', '/usr/lib',
]
- inc_dirs = self.compiler.include_dirs + ['/usr/include']
+ inc_dirs = self.compiler.include_dirs
exts = []
platform = self.get_platform()
@@ -528,31 +528,7 @@
# construct a list of paths to look for the header file in on
# top of the normal inc_dirs.
- db_inc_paths = [
- '/usr/include/db4',
- '/usr/local/include/db4',
- '/opt/sfw/include/db4',
- '/sw/include/db4',
- '/usr/include/db3',
- '/usr/local/include/db3',
- '/opt/sfw/include/db3',
- '/sw/include/db3',
- ]
- # 4.x minor number specific paths
- for x in (0,1,2,3,4):
- db_inc_paths.append('/usr/include/db4%d' % x)
- db_inc_paths.append('/usr/include/db4.%d' % x)
- db_inc_paths.append('/usr/local/BerkeleyDB.4.%d/include' % x)
- db_inc_paths.append('/usr/local/include/db4%d' % x)
- db_inc_paths.append('/pkg/db-4.%d/include' % x)
- db_inc_paths.append('/opt/db-4.%d/include' % x)
- # 3.x minor number specific paths
- for x in (2,3):
- db_inc_paths.append('/usr/include/db3%d' % x)
- db_inc_paths.append('/usr/local/BerkeleyDB.3.%d/include' % x)
- db_inc_paths.append('/usr/local/include/db3%d' % x)
- db_inc_paths.append('/pkg/db-3.%d/include' % x)
- db_inc_paths.append('/opt/db-3.%d/include' % x)
+ db_inc_paths = []
# Add some common subdirectories for Sleepycat DB to the list,
# based on the standard include directories. This way DB3/4 gets
[buildout]
# XXX: Extends shall not jump out of software
extends =
bzip2.cfg
gdbm.cfg
gettext.cfg
ncurses.cfg
openssl.cfg
readline.cfg
sqlite3.cfg
zlib.cfg
parts =
python2.6
[python-2.6.6-no_system_inc_dirs.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
path = ${:filename}
md5sum = ed7f8e11a97e45e5e09649c8b242e917
download-only = true
filename = python-2.6.6-no_system_inc_dirs.patch
[python2.6]
recipe = hexagonit.recipe.cmmi
# This is actually the default setting for prefix, but we can't use it in
# other settings in this part if we don't set it explicitly here.
prefix = ${buildout:parts-directory}/${:_buildout_section_name_}
version = 2.6
package_version = ${:version}.6
executable = ${:prefix}/bin/python${:version}
url =
http://python.org/ftp/python/${:package_version}/Python-${:package_version}.tgz
md5sum = b2f209df270a33315e62c1ffac1937f0
patch-options = -p1
patches =
${python-2.6.6-no_system_inc_dirs.patch:location}/${python-2.6.6-no_system_inc_dirs.patch:filename}
configure-options =
--enable-unicode=ucs4
--with-threads
environment =
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${ncurses:location}/include/ -I${ncurses:location}/include/ncursesw/ -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${readline:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -Wl,${gdbm:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib
[bootstrap2.6]
recipe = zc.recipe.egg
eggs = zc.buildout
suffix =
scripts =
buildout=bootstrap2.6
arguments = sys.argv[1:] + ["bootstrap"]
python = python2.6
--- Python-2.6.6/setup.py~ 2010-12-11 12:05:13.000000000 +0100
+++ Python-2.6.6/setup.py 2011-03-05 13:33:04.556662701 +0100
@@ -411,7 +411,7 @@
'/lib64', '/usr/lib64',
'/lib', '/usr/lib',
]
- inc_dirs = self.compiler.include_dirs + ['/usr/include']
+ inc_dirs = self.compiler.include_dirs
exts = []
missing = []
@@ -818,15 +818,6 @@
# construct a list of paths to look for the header file in on
# top of the normal inc_dirs.
db_inc_paths = [
- '/usr/include/db4',
- '/usr/local/include/db4',
- '/opt/sfw/include/db4',
- '/usr/include/db3',
- '/usr/local/include/db3',
- '/opt/sfw/include/db3',
- # Fink defaults (http://fink.sourceforge.net/)
- '/sw/include/db4',
- '/sw/include/db3',
]
# 4.x minor number specific paths
for x in gen_db_minor_ver_nums(4):
[buildout]
extends =
bzip2.cfg
gdbm.cfg
gettext.cfg
ncurses.cfg
openssl.cfg
readline.cfg
sqlite3.cfg
zlib.cfg
parts =
python2.7
[python2.7]
<= python2.7.1
[python2.7.0]
<= python2.7common
package_version = 2.7
md5sum = 35f56b092ecf39a6bd59d64f142aae0f
package_version_suffix =
[python2.7.1]
<= python2.7common
package_version = 2.7.1
md5sum = 15ed56733655e3fab785e49a7278d2fb
package_version_suffix =
[bootstrap2.7]
recipe = zc.recipe.egg
eggs = zc.buildout
suffix =
scripts =
buildout=bootstrap2.7
arguments = sys.argv[1:] + ["bootstrap"]
python = python2.7
[python2.7common]
recipe = hexagonit.recipe.cmmi
# This is actually the default setting for prefix, but we can't use it in
# other settings in this part if we don't set it explicitly here.
prefix = ${buildout:parts-directory}/${:_buildout_section_name_}
version = 2.7
executable = ${:prefix}/bin/python${:version}
url =
http://python.org/ftp/python/${:package_version}/Python-${:package_version}${:package_version_suffix}.tgz
configure-options =
--enable-unicode=ucs4
--with-threads
environment =
CPPFLAGS=-I${zlib:location}/include -I${readline:location}/include -I${ncurses:location}/include/ -I${ncurses:location}/include/ncursesw/ -I${bzip2:location}/include -I${gdbm:location}/include -I${openssl:location}/include -I${sqlite3:location}/include -I${gettext:location}/include
LDFLAGS=-L${zlib:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib -L${bzip2:location}/lib -L${gdbm:location}/lib -L${openssl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${readline:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -Wl,${gdbm:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib -L${gettext:location}/lib -Wl,-rpath -Wl,${gettext:location}/lib
[buildout]
parts =
python-ldap
extends =
cyrus-sasl.cfg
openldap.cfg
openssl.cfg
[python-ldap-python]
recipe = zc.recipe.egg:custom
egg = python-ldap
rpath =
${openldap:location}/lib
${cyrus-sasl:location}/lib
${openssl:location}/lib
include-dirs =
${openldap:location}/include
${cyrus-sasl:location}/include/sasl
${openssl:location}/include
library-dirs =
${openldap:location}/lib
${cyrus-sasl:location}/lib
${openssl:location}/lib
[buildout]
extends =
librsync.cfg
parts =
rdiff-backup
[rdiff-backup-build]
recipe = zc.recipe.egg:custom
egg = rdiff-backup
include-dirs =
${librsync:location}/include/
library-dirs =
${librsync:location}/lib/
rpath =
${librsync:location}/lib/
find-links = http://download.savannah.nongnu.org/releases/rdiff-backup/rdiff-backup-1.0.5.tar.gz
[rdiff-backup]
# Scripts only generation part for rdiff-backup
unzip = true
recipe = zc.recipe.egg
eggs =
${rdiff-backup-build:egg}
entry-points =
rdiff-backup=rdiff_backup.Main:Main
arguments = sys.argv[1:]
[buildout]
parts =
readline
extends =
ncurses.cfg
[readline]
recipe = hexagonit.recipe.cmmi
url = http://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
md5sum = fc2f7e714fe792db1ce6ddc4c9fb4ef3
configure-options =
--disable-static
--with-ncurses=${ncurses:location}
environment =
LDFLAGS =-Wl,-rpath ${ncurses:location}/lib
[buildout]
parts =
sed
[sed]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.gnu.org/gnu/sed/sed-4.2.1.tar.gz
md5sum = f0fd4d7da574d4707e442285fd2d3b86
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
environment =
LDFLAGS =-Wl,--as-needed
[buildout]
parts =
serf
extends =
apache.cfg
libuuid.cfg
openssl.cfg
zlib.cfg
[serf]
recipe = hexagonit.recipe.cmmi
url = http://serf.googlecode.com/files/serf-0.7.0.tar.gz
md5sum = 3233f22a5875320da7bdc854d0873080
configure-options =
--with-apr=${apache:location}/bin/apr-1-config
--with-apr-util=${apache:location}/bin/apu-1-config
--with-openssl=${openssl:location}
environment =
CFLAGS=-I${zlib:location}/include -I${libuuid:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${libuuid:location}/lib -Wl,-rpath -Wl,${libuuid:location}/lib
[buildout]
parts = sphinx
extends =
libexpat.cfg
mariadb.cfg
zlib.cfg
[sphinx-1.10-fix_nosigpipe.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = b606b2a267ebfbd009bb1e72e7a29462
download-only = true
filename = sphinx-1.10-fix_nosigpipe.patch
[sphinx-1.10-beta-snowball.patch]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
path = ${:filename}
md5sum = 65a5ee78bf27c030734674c018006287
download-only = true
filename = sphinx-1.10-beta-snowball.patch
[sphinx]
recipe = hexagonit.recipe.cmmi
url = http://www.sphinxsearch.com/files/sphinx-1.10-beta.tar.gz
md5sum = 5b52ce9e93a73c66d37bc3a2402f14fa
configure-options =
--with-mysql
--with-mysql-includes=${mariadb:location}/include/mysql
--with-mysql-libs=${mariadb:location}/lib/mysql
--with-libstemmer
--with-iconv
--without-pgsql
--without-unixodbc
patch-options = -p1
patches =
${sphinx-1.10-fix_nosigpipe.patch:location}/${sphinx-1.10-fix_nosigpipe.patch:filename}
${sphinx-1.10-beta-snowball.patch:location}/${sphinx-1.10-beta-snowball.patch:filename}
environment =
CPPFLAGS=-I${zlib:location}/include -I${libexpat:location}/include
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath ${mariadb:location}/lib/mysql -L${libexpat:location}/lib -Wl,-rpath ${libexpat:location}/lib
This source diff could not be displayed because it is too large. You can view the blob instead.
# http://www.sphinxsearch.com/bugs/view.php?id=550
# 0000550: Can not make libsphinxclient
--- sphinx-1.10-beta/api/libsphinxclient/sphinxclient.c 2010-07-15 13:05:40.000000000 +0200
+++ sphinx-1.10-beta/api/libsphinxclient/sphinxclient.c 2010-07-21 20:43:26.760024489 +0200
@@ -1355,11 +1355,13 @@
optval = 1;
#ifndef _WIN32
+ #ifdef SO_NOSIGPIPE
if ( setsockopt ( sock, SOL_SOCKET, SO_NOSIGPIPE, (void *)&optval, (socklen_t)sizeof(optval) ) < 0 )
{
set_error ( client, "setsockopt() failed: %s", sock_error() );
return -1;
}
+ #endif
#endif
res = connect ( sock, (struct sockaddr*)&sa, sizeof(sa) );
[buildout]
extends = readline.cfg
parts =
sqlite3
[sqlite3]
recipe = hexagonit.recipe.cmmi
url = http://www.sqlite.org/sqlite-autoconf-3070602.tar.gz
md5sum = f16c08617968b4087b3d591fd575f59f
configure-options =
--disable-static
--enable-readline
environment =
CPPFLAGS=-I${readline:location}/include -I${ncurses:location}/include
LDFLAGS=-L${buildout:parts-directory}/${:_buildout_section_name_} -Wl,-rpath -Wl,${readline:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -L${readline:location}/lib -L${ncurses:location}/lib
[buildout]
extends = openssl.cfg
parts =
stunnel
[stunnel]
<= stunnel-4
recipe = hexagonit.recipe.cmmi
[stunnel-4-hook-download]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../hook/${:filename}
md5sum = 5b099b386c34c5b8d0664c0292ba322a
download-only=true
filename = stunnel-4-hooks.py
[stunnel-4]
recipe = hexagonit.recipe.cmmi
url = ftp://ftp.stunnel.org/stunnel/stunnel-4.36.tar.gz
md5sum = 600a09b03798424842b24548ca1e4235
pre-configure-hook = ${stunnel-4-hook-download:location}/${stunnel-4-hook-download:filename}:pre_configure_hook
configure-options =
--enable-ipv6
--disable-libwrap
--with-ssl=${openssl:location}
environment =
CPPFLAGS=-I${zlib:location}/include
LDFLAGS=-Wl,-rpath -Wl,${openssl:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
import os
def pre_configure_hook(options, buildout):
# remove certificate generation
# based on Gentoo: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-misc/stunnel/stunnel-4.33.ebuild
name = os.path.join('tools','Makefile.in')
f = file(name, 'r')
d = f.read().replace('install-data-local:', 'do-not-run-this:')
f.close()
file(name, 'w').write(d)
# Subversion - Enterprise-class centralized version control for the masses
# http://subversion.apache.org/
[buildout]
extends =
apache.cfg
libexpat.cfg
libuuid.cfg
neon.cfg
pkgconfig.cfg
sqlite3.cfg
zlib.cfg
parts =
subversion
[subversion-1.6.0-disable_linking_against_unneeded_libraries]
recipe = hexagonit.recipe.download
download-only = true
filename = ${:_buildout_section_name_}.patch
# Patch available thanks to gentoo developpers
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-vcs/subversion/files/subversion-1.6.0-disable_linking_against_unneeded_libraries.patch?revision=1.1
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = 8d911ec2422dc4c08a00693ac915a07a
[subversion]
recipe = hexagonit.recipe.cmmi
url = http://subversion.tigris.org/downloads/subversion-1.6.16.tar.bz2
md5sum = 32f25a6724559fe8691d1f57a63f636e
patches =
${subversion-1.6.0-disable_linking_against_unneeded_libraries:location}/${subversion-1.6.0-disable_linking_against_unneeded_libraries:filename}
configure-options =
--disable-static
--with-apr=${apache:location}/bin/apr-1-config
--with-apr-util=${apache:location}/bin/apu-1-config
--without-apxs
--with-zlib=${zlib:location}
--with-sqlite=${sqlite3:location}
--with-neon=${neon:location}
--without-berkeley-db
--without-sasl
--without-apr_memcache
--without-gnome-keyring
--without-kwallet
--without-jdk
--without-jikes
--without-swig
--without-junit
--without-ctypesgen
--without-ruby-sitedir
--without-ruby-test-verbose
--disable-nls
# it seems that parallel build sometimes fails.
make-options =
-j1
environment =
PATH=${pkgconfig:location}/bin:${neon:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${apache:location}/lib/pkgconfig:${sqlite3:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig:${neon:location}/lib/pkgconfig
CPPFLAGS=-I${libexpat:location}/include -I${libuuid:location}/include
LDFLAGS=-L${libexpat:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib -Wl,-rpath -Wl,${neon:location}/lib -Wl,-rpath -Wl,${apache:location}/lib -L${libuuid:location}/lib -Wl,-rpath -Wl,${libuuid:location}/lib
--- Makefile.in
+++ Makefile.in
@@ -47,6 +47,7 @@
SVN_SASL_LIBS = @SVN_SASL_LIBS@
SVN_SERF_LIBS = @SVN_SERF_LIBS@
SVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@
+SVN_XML_LIBS = -lexpat
SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@
LIBS = @LIBS@
--- build/ac-macros/aprutil.m4
+++ build/ac-macros/aprutil.m4
@@ -77,16 +77,14 @@
AC_MSG_ERROR([apu-config --prefix failed])
fi
- dnl When APR stores the dependent libs in the .la file, we don't need
- dnl --libs.
- SVN_APRUTIL_LIBS="`$apu_config --link-libtool --libs`"
+ SVN_APRUTIL_LIBS="`$apu_config --link-libtool`"
if test $? -ne 0; then
- AC_MSG_ERROR([apu-config --link-libtool --libs failed])
+ AC_MSG_ERROR([apu-config --link-libtool failed])
fi
- SVN_APRUTIL_EXPORT_LIBS="`$apu_config --link-ld --libs`"
+ SVN_APRUTIL_EXPORT_LIBS="`$apu_config --link-ld`"
if test $? -ne 0; then
- AC_MSG_ERROR([apu-config --link-ld --libs failed])
+ AC_MSG_ERROR([apu-config --link-ld failed])
fi
AC_SUBST(SVN_APRUTIL_INCLUDES)
--- build/ac-macros/apr.m4
+++ build/ac-macros/apr.m4
@@ -74,16 +74,14 @@
AC_MSG_ERROR([apr-config --prefix failed])
fi
- dnl When APR stores the dependent libs in the .la file, we don't need
- dnl --libs.
- SVN_APR_LIBS="`$apr_config --link-libtool --libs`"
+ SVN_APR_LIBS="`$apr_config --link-libtool`"
if test $? -ne 0; then
- AC_MSG_ERROR([apr-config --link-libtool --libs failed])
+ AC_MSG_ERROR([apr-config --link-libtool failed])
fi
- SVN_APR_EXPORT_LIBS="`$apr_config --link-ld --libs`"
+ SVN_APR_EXPORT_LIBS="`$apr_config --link-ld`"
if test $? -ne 0; then
- AC_MSG_ERROR([apr-config --link-ld --libs failed])
+ AC_MSG_ERROR([apr-config --link-ld failed])
fi
SVN_APR_SHLIB_PATH_VAR="`$apr_config --shlib-path-var`"
# swig - Generate scripting interfaces to C/C++ code
# http://www.swig.org/
[buildout]
extends =
bison.cfg
parts =
swig
[swig]
recipe = hexagonit.recipe.cmmi
url = http://downloads.sourceforge.net/project/swig/swig/swig-1.3.40/swig-1.3.40.tar.gz
md5sum = 2df766c9e03e02811b1ab4bba1c7b9cc
configure-options =
--disable-ccache
--with-python=${buildout:executable}
--without-allegrocl
--without-chicken
--without-clisp
--without-csharp
--without-gcj
--without-guile
--without-java
--without-lua
--without-mzscheme
--without-ocaml
--without-octave
--without-perl5
--without-php
--without-pike
--without-python3
--without-r
--without-ruby
--without-tcl
environment =
PATH = ${bison:location}/bin:%(PATH)s
[buildout]
extends =
jbigkit.cfg
libjpeg.cfg
libpng.cfg
libtiff.cfg
zlib.cfg
parts =
tesseract-eng-traineddata-unzip
tesseract
[tesseract-share]
# XXX: tesseract seems not easy configurable on runtime about where to find
# its trained data, so just move out its datadir to own controlled location
recipe = plone.recipe.command
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = mkdir -p ${:location} && mkdir -p ${:location}/tessdata
update-command = ${:command}
stop-on-error = yes
[tesseract]
recipe = hexagonit.recipe.cmmi
url = http://tesseract-ocr.googlecode.com/files/tesseract-3.00.tar.gz
md5sum = cc812a261088ea0c3d2da735be35d09f
configure-options =
--disable-static
--datarootdir=${tesseract-share:location}
environment =
CPPFLAGS=-I${zlib:location}/include -I${jbigkit:location}/include -I${libjpeg:location}/include -I${libtiff:location}/include -I${libpng:location}/include
LDFLAGS =-Wl,-rpath -L${zlib:location}/lib -Wl,${zlib:location}/lib -L${jbigkit:location}/lib -Wl,-rpath -Wl,${jbigkit:location}/lib -L${libjpeg:location}/lib -Wl,-rpath -Wl,${libjpeg:location}/lib -L${libtiff:location}/lib -Wl,-rpath -Wl,${libtiff:location}/lib -L${libpng:location}/lib -Wl,-rpath -Wl,${libpng:location}/lib
[tesseract-eng-traineddata]
recipe = hexagonit.recipe.download
download-only = true
url = http://tesseract-ocr.googlecode.com/files/eng.traineddata.gz
md5sum = d91041ad156cf2db36664e91ef799451
[tesseract-eng-traineddata-unzip]
location = ${buildout:parts-directory}/${:_buildout_section_name_}
recipe = plone.recipe.command
command = gunzip ${tesseract-eng-traineddata:location}/eng.traineddata.gz -c > ${tesseract-share:location}/tessdata/eng.traineddata
update-command = ${:command}
stop-on-error = yes
[buildout]
extends =
bzip2.cfg
zlib.cfg
parts = tokyocabinet
[tokyocabinet]
recipe = hexagonit.recipe.cmmi
url = http://fallabs.com/tokyocabinet/tokyocabinet-1.4.46.tar.gz
md5sum = 341dadd1f3d68760e350f7e731111786
configure-options =
--with-zlib=${zlib:location}
--with-bzip=${bzip2:location}
environment =
LDFLAGS =-Wl,-rpath -Wl,${zlib:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath=${buildout:parts-directory}/${:_buildout_section_name_}/lib
# varnish - a web accelerator written with performance and flexibility in mind.
# http://www.varnish-cache.org/
[buildout]
parts =
varnish
varnish-2.1
extends =
ncurses.cfg
pcre.cfg
pkgconfig.cfg
[varnish]
<= varnish-2.0
[varnish-2.0]
recipe = hexagonit.recipe.cmmi
url = http://sourceforge.net/projects/varnish/files/varnish/2.0.6/varnish-2.0.6.tar.gz/download
md5sum = d91dc21c636db61c69b5e8f061c5bb95
configure-options =
--disable-static
environment =
CPPFLAGS=-I${ncurses:location}/include
LDFLAGS=-L${ncurses:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib
[varnish-2.1]
recipe = hexagonit.recipe.cmmi
url = http://repo.varnish-cache.org/source/varnish-2.1.5.tar.gz
md5sum = 2d2f227da36a2a240c475304c717b8e3
configure-options =
--disable-static
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${pcre:location}/lib/pkgconfig
CPPFLAGS=-I${ncurses:location}/include
LDFLAGS=-L${ncurses:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib
[buildout]
extends =
perl.cfg
perl-Config-General.cfg
perl-Encode-HanExtra.cfg
perl-HTML-Encoding.cfg
perl-HTML-Parser.cfg
perl-HTML-Template.cfg
perl-JSON.cfg
perl-Net-IP.cfg
perl-SGML-Parser-OpenSP.cfg
perl-URI.cfg
perl-XML-LibXML.cfg
perl-libwww-perl.cfg
parts = w3-validator
find-links =
http://www.nexedi.org/static/packages/source/
versions = versions
[versions]
erp5.recipe.w3validator = 1.0.2
[w3-validator]
recipe = erp5.recipe.w3validator
depends =
${perl-Config-General:location}
${perl-Encode-HanExtra:location}
${perl-HTML-Encoding:location}
${perl-HTML-Parser:location}
${perl-HTML-Template:location}
${perl-JSON:location}
${perl-Net-IP:location}
${perl-SGML-Parser-OpenSP:location}
${perl-URI:location}
${perl-XML-LibXML:location}
${perl-libwww-perl:location}
perl-path = ${perl:location}/bin/perl
# validator-1_2-release in http://dvcs.w3.org/hg/markup-validator/tags
validator-url = http://dvcs.w3.org/hg/markup-validator/archive/754b7a64cdb4.tar.bz2
dtd-url =
[buildout]
extends =
garbage-collector.cfg
ncurses.cfg
openssl.cfg
pkgconfig.cfg
zlib.cfg
parts =
w3m
[w3m]
recipe = hexagonit.recipe.cmmi
md5sum = 1b845a983a50b8dec0169ac48479eacc
url = http://downloads.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz
configure-options =
--with-gc=${garbage-collector:location}
--with-ssl=${openssl:location}
--with-termlib=ncurses
--disable-nls
--disable-image
--disable-dict
--disable-xface
--disable-mouse
--disable-nntp
--disable-help-cgi
--disable-external-uri-loader
--disable-w3mmailer
environment =
PATH=${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig
CPPFLAGS=-I${ncurses:location}/include/ -I${zlib:location}/include/
LDFLAGS=-Wl,--as-needed -L${garbage-collector:location}/lib -Wl,-rpath -Wl,${garbage-collector:location}/lib -L${ncurses:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -L${openssl:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib
# Minimalistict xorg
[buildout]
extends =
freetype.cfg
libxml2.cfg
libxslt.cfg
pkgconfig.cfg
zlib.cfg
parts =
libXdmcp
libXext
libXau
libX11
[xorg-aclocal]
ACLOCAL=${xorg-util-macros:location}/share/aclocal
[xorg-util-macros]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/util/util-macros-1.11.0.tar.bz2
md5sum = 22d5cdff672450cb6902e0d68c200dcb
[xproto]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/proto/xproto-7.0.20.tar.bz2
md5sum = 65633168e5315c19defb4652cd3d83c1
configure-options =
--disable-specs
--without-xmlto
--without-fop
[xextproto]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/proto/xextproto-7.1.2.tar.bz2
md5sum = 263ae968b223c23b2986603d84e5c30e
configure-options =
--disable-specs
--without-xmlto
--without-fop
[xtrans]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/lib/xtrans-1.2.6.tar.bz2
md5sum = c66f9ffd2da4fb012220c6c40ebc7609
configure-options =
--disable-docs
--without-xmlto
--without-fop
[libXau]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/lib/libXau-1.0.6.tar.bz2
md5sum = 4a2cbd83727682f9ee1c1e719bac6adb
configure-options =
--disable-static
environment =
PKG_CONFIG_PATH=${xproto:location}/lib/pkgconfig
LD_LIBRARY_PATH=${xproto:location}/lib
LD_RUN_PATH=${xproto:location}/lib
PATH=${pkgconfig:location}/bin:%(PATH)s
[xcbproto]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/xcb/xcb-proto-1.6.tar.bz2
md5sum = 04313e1d914b44d0e457f6c494fc178b
environment =
PATH=${libxml2:location}/bin:%(PATH)s
PYTHON=${buildout:executable}
[xorg-libpthread-stubs]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/xcb/libpthread-stubs-0.3.tar.bz2
md5sum = e8fa31b42e13f87e8f5a7a2b731db7ee
[libxcb]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/xcb/libxcb-1.7.tar.bz2
md5sum = 925699df361b99491165ebc12068056b
configure-options =
--disable-static
--disable-build-docs
environment =
PKG_CONFIG_PATH=${xcbproto:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${libxslt:location}/lib/pkgconfig
LD_LIBRARY_PATH=${xcbproto:location}/lib:${libXau:location}/lib:${xorg-libpthread-stubs:location}/lib:${libxslt:location}/lib
LD_RUN_PATH=${xcbproto:location}/lib:${libXau:location}/lib:${xorg-libpthread-stubs:location}/lib:${libxslt:location}/lib
PATH=${pkgconfig:location}/bin:${libxslt:location}/bin:%(PATH)s
PYTHON=${buildout:executable}
# Python note: libxcb requires python with ElementTree. In case of appliance
# non system python is used, and this binary contains ElementTree. In case of
# using this profile outside appliance it is required to provide python with
# suitable library.
[libXext]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/lib/libXext-1.2.0.tar.bz2
md5sum = 9bb236ff0193e9fc1c1fb504dd840331
environment =
PKG_CONFIG_PATH=${xcbproto:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig:${xproto:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${xextproto:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libxcb:location}/lib/pkgconfig
LD_LIBRARY_PATH=${xcbproto:location}/lib:${libXau:location}/lib:${xorg-libpthread-stubs:location}/lib:${xextproto:location}/lib:${libX11:location}/lib:${libxcb:location}/lib
LD_RUN_PATH=${xcbproto:location}/lib:${libXau:location}/lib:${xorg-libpthread-stubs:location}/lib:${xextproto:location}/lib:${libX11:location}/lib:${libxcb:location}/lib
PATH=${pkgconfig:location}/bin:%(PATH)s
# Warning: do *not* enable -fPIC CFLAGS for this library. Even if it fails and ld asks you to enable it. This will not solve your problem, and create an unexpected (by build chain) setup (all .o will be position-independant code).
# CFLAGS=-fPIC
configure-options =
--disable-static
--disable-specs
--without-xmlto
--without-fop
patches =
${libXext-patch-link-error:location}/${libXext-patch-link-error:filename}
patch-options = -p1
[libXext-patch-link-error]
# Fixes libXext.la link error
recipe = hexagonit.recipe.download
url = http://cgit.freedesktop.org/xorg/lib/libXext/patch/?id=700c7896b832d6e4fb0185f0d5382b01f94e7141
download-only = true
filename = 700c7896b832d6e4fb0185f0d5382b01f94e7141.patch
md5sum = 52635ef694ee6f1acb642a77ee8eb010
[libX11]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/lib/libX11-1.4.0.tar.bz2
md5sum = b63d9f7493a61df51d0c0be04ac435e4
configure-options =
--disable-static
--enable-loadable-i18n
--disable-composecache
--disable-xcms
--disable-xf86bigfont
--disable-xkb
--disable-specs
--without-xmlto
--without-fop
environment =
PKG_CONFIG_PATH=${xproto:location}/lib/pkgconfig:${xextproto:location}/lib/pkgconfig:${xtrans:location}/share/pkgconfig:${libxcb:location}/lib/pkgconfig:${xorg-libpthread-stubs:location}/lib/pkgconfig:${libXau:location}/lib/pkgconfig
LD_LIBRARY_PATH=${xproto:location}/lib:${xextproto:location}/lib:${libxcb:location}/lib
LD_RUN_PATH=${xproto:location}/lib:${xextproto:location}/lib:${libxcb:location}/lib
PATH=${pkgconfig:location}/bin:%(PATH)s
CFLAGS=-I${xproto:location}/include
CPPFLAGS=-I${xproto:location}/include
[libXdmcp]
recipe = hexagonit.recipe.cmmi
url = http://www.x.org/releases/X11R7.6/src/lib/libXdmcp-1.1.0.tar.bz2
md5sum = 762b6bbaff7b7d0831ddb4f072f939a5
environment =
PKG_CONFIG_PATH=${xorg-util-macros:location}/share/pkgconfig:${xproto:location}/lib/pkgconfig
LD_LIBRARY_PATH=${xproto:location}/lib
LD_RUN_PATH=${xproto:location}/lib
PATH=${pkgconfig:location}/bin:%(PATH)s
configure-options =
--disable-static
--without-xmlto
--without-fop
[buildout]
parts = xpdf
[xpdf]
<= xpdf-3.02
[xpdf-patch-download]
recipe = hexagonit.recipe.download
url = ftp://ftp.foolabs.com/pub/xpdf/${:filename}
download-only = true
[xpdf-3.02pl1.patch]
<= xpdf-patch-download
filename = xpdf-3.02pl1.patch
md5sum = 877118786dfe27d1b7aa5a6759cc6e45
[xpdf-3.02pl2.patch]
<= xpdf-patch-download
filename = xpdf-3.02pl2.patch
md5sum = 3a5cb165ae66781e0b21e6219ae06795
[xpdf-3.02pl3.patch]
<= xpdf-patch-download
filename = xpdf-3.02pl3.patch
md5sum = 581963ede0fb5715e1a69f01b5b8ce63
[xpdf-3.02pl4.patch]
<= xpdf-patch-download
filename = xpdf-3.02pl4.patch
md5sum = 70b752716798dd341a4bf890df5f6fdc
[xpdf-3.02pl5.patch]
<= xpdf-patch-download
filename = xpdf-3.02pl5.patch
md5sum = 504902ca5e9d66c67eed03636ec6b163
[xpdf-3.02]
recipe = hexagonit.recipe.cmmi
md5sum = 599dc4cc65a07ee868cf92a667a913d2
url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz
configure-options =
--without-x
patch-options = -p1
patches =
${xpdf-3.02pl1.patch:location}/${xpdf-3.02pl1.patch:filename}
${xpdf-3.02pl2.patch:location}/${xpdf-3.02pl2.patch:filename}
${xpdf-3.02pl3.patch:location}/${xpdf-3.02pl3.patch:filename}
${xpdf-3.02pl4.patch:location}/${xpdf-3.02pl4.patch:filename}
${xpdf-3.02pl5.patch:location}/${xpdf-3.02pl5.patch:filename}
# xtrabackup: hot backup utility for MySQL
# http://www.percona.com/
[buildout]
extends =
autoconf.cfg
automake.cfg
bison.cfg
flex.cfg
libtool.cfg
ncurses.cfg
readline.cfg
zlib.cfg
parts =
xtrabackup
[xtrabackup-build-patch-download]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/../patch/${:filename}
md5sum = e018df8bb3ed672891388556b8e91e35
download-only = true
filename = xtrabackup_build.patch
[xtrabackup]
recipe = hexagonit.recipe.cmmi
url = http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-1.6/source/xtrabackup-1.6.tar.gz
md5sum = 7c263723312cba36539df4cd7a119744
make-binary = true
patches = ${xtrabackup-build-patch-download:location}/${xtrabackup-build-patch-download:filename}
patch-options = -p1
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command = utils/build.sh innodb51_builtin ${:location} ${libtool:location}
environment =
CPPFLAGS =-I${zlib:location}/include -I${ncurses:location}/include -I${readline:location}/include
LDFLAGS =-L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${ncurses:location}/lib -Wl,-rpath -Wl,${ncurses:location}/lib -L${readline:location}/lib -Wl,-rpath -Wl,${readline:location}/lib
PATH=${autoconf:location}/bin:${automake-1.11:location}/bin:${libtool:location}/bin:${flex:location}/bin:%(PATH)s:${bison:location}/bin
make-options =
-j1
diff --git a/Makefile b/Makefile
index dbb15d5..852a627 100644
--- a/Makefile
+++ b/Makefile
@@ -137,5 +137,5 @@ $(TARGET): xtrabackup.o $(INNODBOBJS) $(MYSQLOBJS)
clean:
rm -f *.o xtrabackup_*
install:
- install -m 755 innobackupex-1.5.1 $(BIN_DIR)
+ install -m 755 innobackupex-1.5.1 $(BIN_DIR)/innobackupex
install -m 755 xtrabackup_* $(BIN_DIR)
diff --git a/utils/build.sh b/utils/build.sh
index 3f0cee7..c41dc89 100755
--- a/utils/build.sh
+++ b/utils/build.sh
@@ -21,12 +21,14 @@ function usage()
{
echo "Build an xtrabackup binary against the specified InnoDB flavor."
echo
- echo "Usage: `basename $0` CODEBASE"
+ echo "Usage: `basename $0` CODEBASE PREFIX LIBTOOL_LOCATION"
echo "where CODEBASE can be one of the following values or aliases:"
echo " innodb51_builtin | 5.1 build against built-in InnoDB in MySQL 5.1"
echo " innodb55 | 5.5 build against InnoDB in MySQL 5.5"
echo " xtradb51 | xtradb build against Percona Server with XtraDB 5.1"
echo " xtradb55 | xtradb55 build against Percona Server with XtraDB 5.5"
+ echo "where PREFIX is abolute path for install location"
+ echo "where LIBTOOL_LOCATION is abolute path of libtool"
exit -1
}
@@ -79,7 +81,12 @@ function build_server()
{
echo "Configuring the server"
cd $server_dir
- BUILD/autorun.sh
+ libtoolize -c -f
+ aclocal -I $libtool_location/share/aclocal -I config/ac-macros
+ autoheader
+ automake -c -a -f
+ autoconf
+ touch sql/sql_yacc.yy
eval $configure_cmd
echo "Building the server"
@@ -92,9 +99,10 @@ function build_xtrabackup()
echo "Building XtraBackup"
mkdir $build_dir
cp $top_dir/Makefile $top_dir/xtrabackup.c $build_dir
+ cp $top_dir/innobackupex $build_dir/innobackupex-1.5.1
cd $build_dir
- $MAKE_CMD $xtrabackup_target
+ $MAKE_CMD PREFIX=$1 $xtrabackup_target
cd $top_dir
}
@@ -103,11 +111,36 @@ function build_tar4ibd()
echo "Building tar4ibd"
unpack_and_patch libtar-1.2.11.tar.gz tar4ibd_libtar-1.2.11.patch
cd libtar-1.2.11
- ./configure
+ ./configure --prefix=$1
$MAKE_CMD
cd $topdir
}
+function install_server()
+{
+ echo "Installing the server"
+ cd $server_dir
+ $MAKE_CMD install
+ cd $top_dir
+}
+
+function install_xtrabackup()
+{
+ echo "Installing XtraBackup"
+ echo $build_dir
+ cd $build_dir
+ $MAKE_CMD PREFIX=$1 install
+ cd $top_dir
+}
+
+function install_tar4ibd()
+{
+ echo "Installing tar4ibd"
+ cd libtar-1.2.11
+ $MAKE_CMD install
+ cd $topdir
+}
+
################################################################################
# Do all steps to build the server, xtrabackup and tar4ibd
# Expects the following variables to be set before calling:
@@ -136,9 +169,15 @@ function build_all()
build_server
- build_xtrabackup
+ build_xtrabackup $1
+
+ build_tar4ibd $1
+
+ install_server
+
+ install_xtrabackup $1
- build_tar4ibd
+ install_tar4ibd
}
if ! test -f xtrabackup.c
@@ -148,6 +187,15 @@ then
fi
type=$1
+prefix=$2
+if [ "x$prefix" == "x" ] ; then
+ usage
+fi
+libtool_location=$3
+if [ "x$libtool_location" == "x" ] ; then
+ usage
+fi
+
top_dir=`pwd`
case "$type" in
@@ -161,9 +209,10 @@ case "$type" in
--with-plugins=innobase \
--with-zlib-dir=bundled \
--enable-shared \
- --with-extra-charsets=complex"
+ --with-extra-charsets=complex \
+ --prefix=$2"
- build_all
+ build_all $2
;;
"innodb55" | "5.5")
@@ -225,7 +274,7 @@ case "$type" in
build_server
- build_xtrabackup
+ build_xtrabackup
build_tar4ibd
;;
[buildout]
parts =
zabbix-agent
[zabbix-agent]
recipe = hexagonit.recipe.cmmi
url = http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.4.tar.gz?download
md5sum = 969ce09317c98b205bc96157e16f5c8c
configure-options =
--enable-agent
--enable-ipv6
[buildout]
parts = zip
[zip]
recipe = hexagonit.recipe.cmmi
url = http://sourceforge.net/projects/infozip/files/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz/download
md5sum = 7b74551e63f8ee6aab6fbc86676c0d37
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-command = true
make-options = prefix=${:location} NO_BZIP2_SUPPORT=1 -f unix/Makefile generic
[buildout]
parts =
zlib
[zlib]
recipe = hexagonit.recipe.cmmi
url = http://prdownloads.sourceforge.net/libpng/zlib-1.2.5.tar.gz?download
md5sum = c735eab2d659a96e5a594c9e8541ad63
[buildout]
# adapt https://svn.erp5.org/repos/public/experimental/erp5.buildout-zope-2.12/
# based on https://svn.erp5.org/repos/public/experimental/erp5.buildout
[buildout]
extends=
python-2.4.cfg
[zope-2.8]
recipe = erp5.recipe.zope2install
url = http://www.zope.org/Products/Zope/2.8.11/Zope-2.8.11-final.tgz
md5sum = eff3e52d6ecde2d3669ea81e445b5a3a
python = python2.4
skip-fake-eggs =
ClientForm
mechanize
pytz
[buildout]
parts =
instance
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
[instance]
recipe = ${instance-recipe:name}
dcrond_binary = ${dcron:location}/sbin/crond
haproxy_binary = ${haproxy:location}/sbin/haproxy
httpd_binary = ${apache:location}/bin/httpd
innobackupex_binary = ${xtrabackup:location}/bin/innobackupex
kumo_gateway_binary = ${kumo:location}/bin/kumo-gateway
kumo_manager_binary = ${kumo:location}/bin/kumo-manager
kumo_server_binary = ${kumo:location}/bin/kumo-server
logrotate_binary = ${logrotate:location}/usr/sbin/logrotate
memcached_binary = ${memcached:location}/bin/memcached
mysql_binary = ${mariadb:location}/bin/mysql
mysql_install_binary = ${mariadb:location}/bin/mysql_install_db
mysql_upgrade_binary = ${mariadb:location}/bin/mysql_upgrade
mysqld_binary = ${mariadb:location}/libexec/mysqld
openssl_binary = ${openssl:location}/bin/openssl
perl_binary = ${perl:location}/bin/perl
rdiff_backup_binary = ${buildout:bin-directory}/rdiff-backup
repozo_binary = ${buildout:bin-directory}/repozo
runTestSuite_binary = ${buildout:bin-directory}/runTestSuite
runUnitTest_binary = ${buildout:bin-directory}/runUnitTest
runzeo_binary = ${buildout:bin-directory}/runzeo
runzope_binary = ${buildout:bin-directory}/runzope
tidstorage_repozo_binary = ${buildout:bin-directory}/tidstorage_repozo
tidstoraged_binary = ${buildout:bin-directory}/tidstoraged
zabbix_agent_binary = ${zabbix-agent:location}/sbin/zabbix_agent
# cloudooo specific configuration
ooo_binary_path = ${libreoffice-bin:location}/program
ooo_paster = ${buildout:bin-directory}/cloudooo_paster
ooo_uno_path = ${libreoffice-bin:location}/basis-link/program
link_binary_list =
${coreutils:location}/bin/basename
${coreutils:location}/bin/cat
${coreutils:location}/bin/cp
${coreutils:location}/bin/ls
${coreutils:location}/bin/tr
${coreutils:location}/bin/uname
${git:location}/bin/git
${graphviz:location}/bin/dot
${grep:location}/bin/grep
${imagemagick:location}/bin/convert
${mariadb:location}/bin/mysql
${mariadb:location}/bin/mysqldump
${pdftk:location}/bin/pdftk
${sed:location}/bin/sed
${tesseract:location}/bin/tesseract
${w3m:location}/bin/w3m
${xpdf:location}/bin/pdfinfo
${xpdf:location}/bin/pdftotext
${xtrabackup:location}/bin/xtrabackup_51
# XXX: products won't be needed as soon as all ERP5 (and products-deps)
# products will be eggified so then it will be possible to use them thanks to
# availability in software's eggs
products = ${products:list}
environment =
LD_LIBRARY_PATH = ${file:location}/lib:${zlib:location}/lib:${freetype:location}/lib:${libXext:location}/lib:${libXau:location}/lib:${libX11:location}/lib:${libXdmcp:location}/lib:${libxcb:location}/lib
[buildout]
extensions =
slapos.tool.rebootstrap
slapos.tool.networkcache
slapos.zcbworkarounds
mr.developer
find-links =
http://www.nexedi.org/static/packages/source/slapos.buildout/
http://dist.repoze.org
http://www.nexedi.org/static/packages/source/
extends =
# Exact version of Zope
http://svn.zope.org/repos/main/Zope/tags/2.12.18/versions.cfg
profile/logrotate.cfg
profile/dcron.cfg
profile/file.cfg
profile/fonts.cfg
profile/ghostscript.cfg
profile/git.cfg
profile/glib.cfg
profile/graphviz.cfg
profile/haproxy.cfg
profile/hookbox.cfg
profile/imagemagick.cfg
profile/kumo.cfg
profile/libreoffice-bin.cfg
profile/lxml-python.cfg
profile/mariadb.cfg
profile/memcached.cfg
profile/mysql-python.cfg
profile/pdftk.cfg
profile/pysvn-python.cfg
profile/python-2.6.cfg
profile/python-2.7.cfg
profile/python-ldap-python.cfg
profile/rdiff-backup.cfg
profile/stunnel.cfg
profile/subversion.cfg
profile/tesseract.cfg
profile/varnish.cfg
profile/w3-validator.cfg
profile/w3m.cfg
profile/xorg.cfg
profile/xpdf.cfg
profile/xtrabackup.cfg
profile/zabbix.cfg
profile/sed.cfg
profile/coreutils.cfg
profile/grep.cfg
versions = versions
parts =
itools-build
rdiff-backup
apache
apache-antiloris
file
graphviz
memcached
haproxy
varnish-2.1
stunnel
w3m
xpdf
libpng12
ghostscript
mariadb
imagemagick
kumo
libreoffice-bin
w3-validator
tesseract-eng-traineddata-unzip
tesseract
hookbox
bootstrap2.6
zabbix-agent
pdftk
dcron
# Buildoutish
eggs
instance-recipe-egg
testrunner
test_suite_runner
# basic Xorg
libXdmcp
libXext
libXau
libX11
# fonts
liberation-fonts
ipaex-fonts
# Zope products
products-deps
# Cloudooo specific part
cloudooo
# get git repositories
erp5
# Create instance template
template
[instance-recipe]
# Note: In case if specific instantiation recipe is used this is the place to
# put its name
name = slapos.recipe.erp5
[products]
# XXX: ERP5 related products are not defined as python distributions, so it is
# required to configure them in declarative manner
list = ${products-deps:location} ${erp5:location}/product
[bootstrap2.6]
python = python2.6
[rebootstrap]
# Default first version of rebootstrapped python
version = 2
section = python2.7
[template]
# Default template for erp5 instance.
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
md5sum = 16d09f1964101bbe128a81c7ffcf996e
output = ${buildout:directory}/template.cfg
mode = 0644
[itools]
pkgname = itools-0.50.8
location = ${buildout:parts-directory}/${:_buildout_section_name_}
lib = ${:location}/lib
source = ${:location}/src
# ugly itools building sections until itools and setuptools learn to get
# along:
[itools-download]
recipe = hexagonit.recipe.download
strip-top-level-dir = true
url = http://download.hforge.org/itools/0.50/${itools:pkgname}.tar.gz
md5sum = 12704cc354e2201e0921a832bf6b1556
destination = ${itools:source}
[itools-build]
recipe = plone.recipe.command
# reference itools-download:destination instead of itools:source to trigger its
# execution
# here, we unset PYTHONPATH to invoke different python than buildout one.
command =
cd ${itools-download:destination} &&
PYTHONPATH= ${python2.6:executable} setup.py build_ext -L ${glib:location}/lib -I ${glib:location}/include/glib-2.0:${glib:location}/lib/glib-2.0/include -R ${glib:location}/lib &&
PYTHONPATH= ${python2.6:executable} setup.py install_lib -d ${itools:lib}
update-command = ${:command}
location = ${itools:location}
stop-on-error = true
[products-deps]
# Recipe minitage.recipe.fetch is disabled, as it uses PATH variable, but it
# is not possible to change its environment to use localy delivered subversion
# nor git. plone.recipe.command can do same job, but it is controllable which
# binary will be used
recipe = plone.recipe.command
svn_param =--trust-server-cert --non-interactive --quiet
location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
command =
${subversion:location}/bin/svn checkout ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
${git:location}/bin/git clone --quiet git://git.hforge.org/Localizer.git ${:location}/Localizer
update-command =
if ${buildout:newest}; then
${subversion:location}/bin/svn checkout ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
cd ${:location}/Localizer &&
${git:location}/bin/git pull --quiet
fi
[erp5_repository_list]
repository_id_list = erp5
[erp5]
# Recipe zerokspot.recipe.git is disabled, as is not possible to change its
# environment to use localy delivered git.
# plone.recipe.command can do same job, but it is controllable which binary
# will be used
recipe = plone.recipe.command
location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
repository = http://git.erp5.org/repos/erp5.git
branch = master
command = ${git:location}/bin/git clone --quiet -b ${:branch} ${:repository} ${:location}
update-command = cd ${:location} && ${git:location}/bin/git pull --quiet
[products]
# XXX: ERP5 related products are not defined as python distributions, so it is
# required to configure them in declarative manner
list = ${products-deps:location} ${buildout:parts-directory}/erp5/product
[testrunner]
# XXX: Workaround for fact ERP5Type is not an distribution and does not
# expose entry point for test runner
recipe = zc.recipe.egg
python = python2.6
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
runUnitTest=Products.ERP5Type.tests.runUnitTest:main
scripts = runUnitTest
initialization =
import os
import sys
import Products
[Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
Products.__path__.extend(reversed('''${products:list}'''.split()))
import Zope2
os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
os.environ['ZOPE_SCRIPTS'] = ''
temp_bt5_path_list = ['/'.join(['''${buildout:parts-directory}''', x, 'bt5']) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
bt5_path_list = []
[bt5_path_list.extend([bt5_path, '%s/*' % bt5_path]) for bt5_path in temp_bt5_path_list]
os.environ['erp5_tests_bt5_path'] = ','.join(bt5_path_list)
sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x, 'tests']) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
import glob
product_test_path_list = []
[product_test_path_list.extend(glob.glob('/'.join(['''${buildout:parts-directory}''', x, 'product/*/tests']))) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
sys.path[0:0] = product_test_path_list
[test_suite_runner]
# XXX: Workaround for fact ERP5Type is not an distribution and does not
# expose entry point for test runner
recipe = zc.recipe.egg
python = python2.6
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
runTestSuite=Products.ERP5Type.tests.runTestSuite:main
scripts = runTestSuite
initialization =
import os
import sys
import Products
[Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
Products.__path__.extend(reversed('''${products:list}'''.split()))
import Zope2
os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
os.environ['ZOPE_SCRIPTS'] = ''
sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
[instance-recipe-egg]
recipe = zc.recipe.egg
python = python2.6
eggs =
# instantiation egg
${instance-recipe:name}
erp5.conflictresolver
[eggs]
recipe = zc.recipe.egg
python = python2.6
eggs =
${mysql-python:egg}
${lxml-python:egg}
${python-ldap-python:egg}
${pysvn-python:egg}
pycrypto
PyXML
SOAPpy
cElementTree
chardet
elementtree
erp5diff
ipdb
mechanize
numpy
ordereddict
paramiko
ply
python-magic
python-memcached
pytz
threadframe
timerserver
urlnorm
uuid
xml_marshaller
xupdate_processor
feedparser
argparse
# Zope 2.12 with patched acquisition
ZODB3
Zope2
Acquisition
# Other Zope 2 packages
Products.PluggableAuthService
Products.PluginRegistry
# CMF 2.2
Products.CMFActionIcons
Products.CMFCalendar
Products.CMFCore
Products.CMFDefault
Products.CMFTopic
Products.CMFUid
Products.DCWorkflow
Products.GenericSetup
five.localsitemanager
# Other products
Products.DCWorkflowGraph
Products.MimetypesRegistry
Products.ExternalEditor
Products.TIDStorage
Products.Zelenium
# Currently forked in our repository
# Products.PortalTransforms
# Dependency for our fork of PortalTransforms
StructuredText
# parameterizing the version of the generated python interpreter name by the
# python section version causes dependency between this egg section and the
# installation of python, which we don't want on an instance
interpreter = python2.6
scripts =
repozo
runzope
runzeo
tidstoraged
tidstorage_repozo
extra-paths =
${itools:location}/lib
[mysql-python]
python = python2.6
[lxml-python]
python = python2.6
[python-ldap-python]
python = python2.6
[pysvn-python]
python = python2.6
[cloudooo]
recipe = zc.recipe.egg
python = python2.6
eggs =
${lxml-python:egg}
cloudooo.handler.ffmpeg
cloudooo.handler.imagemagick
cloudooo.handler.ooo
cloudooo.handler.pdf
cloudooo
PasteScript
scripts =
paster=cloudooo_paster
[versions]
# Use SlapOS patched zc.buildout
zc.buildout = 1.5.3-dev-SlapOS-001
# pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
Acquisition = 2.13.7nxd001
Products.DCWorkflow = 2.2.3nxd002
# Known version with works
numpy = 1.3.0
# Patched version which support python 2.6
PyXML = 0.8.4nxd001
# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
# we are still using this old stable version.
rdiff-backup = 1.0.5
# Zope Known Good Set is incompatible with buildout 1.5.0 in case of
# distribute and zc.buildout, and as ERP5 Appliance trunk wants to use
# the newest versions of buildout infrastructure clear the pin
distribute =
setuptools =
# official pysvn egg does not supports --include-dirs and
# --library-dirs, so we use our modified version
pysvn = 1.7.4nxd006
[buildout]
parts =
testnode
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
[testnode]
recipe = erp5.recipe.testnode
buildbot_binary = ${buildout:bin-directory}/buildbot
slapgrid_partition_binary = ${buildout:bin-directory}/slapgrid-cp
slapgrid_software_binary = ${buildout:bin-directory}/slapgrid-sr
slapproxy_binary = ${buildout:bin-directory}/slapproxy
svn_binary = ${subversion:location}/bin/svn
git_binary = ${git:location}/bin/git
svnversion_binary = ${subversion:location}/bin/svnversion
zip_binary = ${zip:location}/bin/zip
[buildout]
extensions =
slapos.tool.rebootstrap
slapos.tool.networkcache
slapos.zcbworkarounds
mr.developer
find-links = http://www.nexedi.org/static/packages/source/slapos.buildout/
http://dist.repoze.org
http://www.nexedi.org/static/packages/source/
versions = versions
rebootstrap-section = python2.6
extends =
profile/python-2.6.cfg
profile/subversion.cfg
profile/git.cfg
profile/lxml-python.cfg
profile/zip.cfg
parts =
template
bootstrap
eggs
subversion
zip
git
[bootstrap]
recipe = zc.recipe.egg
eggs = zc.buildout
suffix =
scripts =
buildout=bootstrap2.6
arguments = sys.argv[1:] + ["bootstrap"]
[rebootstrap]
section = python2.6
version = 1
[versions]
# Use SlapOS patched zc.buildout
zc.buildout = 1.5.3-dev-SlapOS-001
[eggs]
recipe = zc.recipe.egg
eggs =
${lxml-python:egg}
erp5.recipe.testnode
slapos.tool.grid
slapos.tool.proxy
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/testnode-instance.cfg
md5sum = 0b44b72c9e21d760f7e27a89e9d10187
output = ${buildout:directory}/template.cfg
mode = 0644
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment