Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to stable-0.61 grimoire by Vlad Glagolev (cbf69137b2f1132c0885c681b67994f4acb21753)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Vlad Glagolev <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to stable-0.61 grimoire by Vlad Glagolev (cbf69137b2f1132c0885c681b67994f4acb21753)
  • Date: Fri, 10 Aug 2012 06:36:24 -0500

GIT changes to stable-0.61 grimoire by Vlad Glagolev <stealth AT sourcemage.org>:

VERSION | 2
archive-libs/lzo/BUILD | 3
archive-libs/lzo/DETAILS | 1
archive-libs/lzo/HISTORY | 4
devel/oprofile/DETAILS | 4
devel/oprofile/HISTORY | 4
disk/fuse/DETAILS | 5
disk/fuse/HISTORY | 6
disk/fuse/PRE_BUILD | 3
disk/fuse/init.patch | 12
disk/fuse/unlock.patch | 71 -
ftp/proftpd/BUILD | 39
ftp/proftpd/CONFIGURE | 158 ++-
ftp/proftpd/DEPENDS | 112 +-
ftp/proftpd/DETAILS | 4
ftp/proftpd/HISTORY | 16
ftp/proftpd/PRE_BUILD | 6
ftp/proftpd/init.d/proftpd | 8
ftp/proftpd/ldap-cert.patch | 286 +++++
http/webkitgtk/DETAILS | 10
http/webkitgtk/HISTORY | 5
http/webkitgtk/PRE_BUILD | 1
http/webkitgtk/bison-2.6.patch | 515
++++++++++
http/webkitgtk3/DETAILS | 6
http/webkitgtk3/HISTORY | 5
http/webkitgtk3/PRE_BUILD | 1
http/webkitgtk3/bison-2.6.patch | 515
++++++++++
java/antlr/HISTORY | 4
java/antlr/PRE_SUB_DEPENDS | 6
java/antlr/REPAIR^all^PRE_SUB_DEPENDS | 6
java/antlr/SUB_DEPENDS | 6
kde4-apps/KDE_DEPENDS | 6
kernels/linux/HISTORY | 9
kernels/linux/info/patches/maintenance_patches_3/patch-3.0.39 | 5
kernels/linux/info/patches/maintenance_patches_3/patch-3.0.40 | 5
kernels/linux/info/patches/maintenance_patches_3/patch-3.2.24 | 5
kernels/linux/info/patches/maintenance_patches_3/patch-3.2.25 | 5
kernels/linux/info/patches/maintenance_patches_3/patch-3.2.26 | 5
kernels/linux/info/patches/maintenance_patches_3/patch-3.4.7 | 5
kernels/linux/info/patches/maintenance_patches_3/patch-3.4.8 | 5
kernels/linux/info/patches/maintenance_patches_3/patch-3.5.1 | 5
kernels/linux/latest.defaults | 2
libs/libxml2/DETAILS | 2
libs/libxml2/HISTORY | 5
libs/libxml2/PRE_BUILD | 4
libs/libxml2/bufsize.patch.gz |binary
net/openntpd/BUILD | 6
net/openntpd/DETAILS | 1
net/openntpd/HISTORY | 6
net/openntpd/PRE_BUILD | 4
net/openntpd/linux-adjtimex.patch | 168 +++
net/tinc/BUILD | 3
net/tinc/CONFIGURE | 3
net/tinc/DEPENDS | 12
net/tinc/DETAILS | 12
net/tinc/HISTORY | 9
net/tinc/INSTALL | 6
net/tinc/PREPARE | 5
net/tinc/init.d/tinc | 16
net/tinc/init.d/tinc.conf | 3
smgl/castfs/DETAILS | 2
smgl/castfs/HISTORY | 7
smgl/castfs/PRE_BUILD | 3
smgl/castfs/TRIGGERS | 2
smgl/castfs/argc.patch | 30
65 files changed, 2007 insertions(+), 183 deletions(-)

New commits:
commit cbf69137b2f1132c0885c681b67994f4acb21753
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

VERSION: 0.61-4

commit 0ade63258bb2d8779ce69cea55f87858e6ba0548
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

linux: => 3.4.8 (lts), 3.2.26 (lts), 3.0.40 (lts)
(cherry picked from commit fc0dd15e4050a2d507428d402f0b83eec4467fc5)

commit 47a899832c1f09c0a751870e532a60fc0219b459
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

libxml2: security update (CVE-2012-2807)
(cherry picked from commit 62febc4a2ee58696cb5926e029f972e9b52da016)

commit 4df19742cdb7a2d44d66ca7aae0636d9d119b896
Author: Ladislav Hagara <hgr AT vabo.cz>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

linux 3.5.1
(cherry picked from commit 7f3161451a767b13ba5a72d203491b3ef7329e05)

commit 3f89fddfc769db737b3f36f67591ccf64cc15105
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

openntpd: applied a patch to fix time sync on modern systems
(cherry picked from commit d9d4915d6223740e03a54ee9553742749f1901b8)

commit cc441e492b4409b402d0fde861b9088fc871ebfe
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

castfs: fixes crashing when running without arguments, see #395
(cherry picked from commit 97a7df774a4796df05c6992d6eb0805cbc8b585e)

commit b6b866d337bcff80c3e7b4efe82abf43abb16634
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

castfs: fixed TRIGGERS
(cherry picked from commit 734076c6c8cc0517acd0bf35995c64ebedca9154)

commit 165032b1804e0fd3b3fad546c8e79c066183ba08
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

fuse: => 2.9.1
(cherry picked from commit 382a264886735197a83dcf8c700e541a77dd2c04)

commit 377d88554e1de1a25f0d395aa193599e39667ccb
Author: Ladislav Hagara <hgr AT vabo.cz>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

webkitgtk3 1.8.2, SECURITY_PATCH=2
(cherry picked from commit e3f911dd1a79e0eab597796a2795892222aa4c0c)

commit b4d32fa40415f9fb7b06f6da54f84d737162b76d
Author: Ladislav Hagara <hgr AT vabo.cz>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

webkitgtk 1.8.2, SECURITY_PATCH=6
(cherry picked from commit 284317a959437e3ed1f6696c6acec5c163d4d32b)

commit fc39e890d30b5a6ed371cc08e7794ace325d9370
Author: Tommy Boatman <tboatman AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

oprofile: version 0.9.7 upgrade to deal with 3.x kernels
(cherry picked from commit a80994625bdad912f96045b0b20efeb9b760332f)

commit 9a7aee7a1b9aabb106e48a810bbba5452ffeca3b
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

proftpd: => 1.3.4b
(cherry picked from commit cdd3d5247d489e19d7b15298d5b7911cb28f7c99)

commit 5bf69de4a95578e21f940bdcfff7a9a75962ef77
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

tinc: => 1.0.19
(cherry picked from commit ff2503d402d8773df0cea6c22361611617a67632)

commit 3a3b80ffa680008dcd3a0ac1adaa496f5ba9a181
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

lzo: build shared library
(cherry picked from commit e3db9690eb4e9f017869ba82551d444ee0b76665)

commit 3289ca3e061c3d832175157d300b2d2a82d32465
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

proftpd: corrected stop() in init script
(cherry picked from commit 6066097f9c88ccc7ec55af3c5252329022bed69f)

commit 3de0f58cdb56e1be8a96b87006f1a9e7870d1e16
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

proftpd: redefine localstatedir to /var/run
(cherry picked from commit 89752a2b528752fb620c32f192dff60599f65cf8)

commit d0746991fb9f3a9fc1b0240c249e32e75e4080bc
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

proftpd: refreshed the spell
(cherry picked from commit 8f263101003fb52446deb59c47bce498bb86107d)

commit 132dde5e76f590425e045af820d8d3fd1ff4450d
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

kde4-apps/KDE_DEPENDS revert an invalid change
(cherry picked from commit 8b13b10f35784d86ca17e3b5fa48f3a866f62848)

commit 2563284fcc9d0da42da54400475c5ff72f3e116b
Author: Sukneet Basuta <sukneet AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>

antlr: SUB_DEPENDS added to force JAVA optional_depends
(cherry picked from commit 2674392074fb77c2d96190f9bb6658126529c541)

diff --git a/VERSION b/VERSION
index 87edb4e..cadb882 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.61-3
+0.61-4
diff --git a/archive-libs/lzo/BUILD b/archive-libs/lzo/BUILD
new file mode 100755
index 0000000..6bf90bf
--- /dev/null
+++ b/archive-libs/lzo/BUILD
@@ -0,0 +1,3 @@
+OPTS="--enable-shared $OPTS" &&
+
+default_build
diff --git a/archive-libs/lzo/DETAILS b/archive-libs/lzo/DETAILS
index cde7026..32d0991 100755
--- a/archive-libs/lzo/DETAILS
+++ b/archive-libs/lzo/DETAILS
@@ -1,5 +1,6 @@
SPELL=lzo
VERSION=2.06
+ PATCHLEVEL=1

SOURCE_HASH=sha512:2369b87627c6f075b58b88189344989969050289185596db1174e6d918baa2b86e6076c8ec9cc68953df10c13bd1145d841603f26bde8a80111fb0d7091bf1c7
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
diff --git a/archive-libs/lzo/HISTORY b/archive-libs/lzo/HISTORY
index 4435ac4..1378b50 100644
--- a/archive-libs/lzo/HISTORY
+++ b/archive-libs/lzo/HISTORY
@@ -1,3 +1,7 @@
+2012-07-31 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: PATCHLEVEL=1
+ * BUILD: added, to build shared library
+
2011-10-14 Bor Kraljič <pyrobor AT ver.si>
* DETAILS: fixed long description wrap (scripted)

diff --git a/devel/oprofile/DETAILS b/devel/oprofile/DETAILS
index 14cbccf..f2eeb82 100755
--- a/devel/oprofile/DETAILS
+++ b/devel/oprofile/DETAILS
@@ -1,6 +1,6 @@
SPELL=oprofile
- VERSION=0.9.6
-
SOURCE_HASH=sha512:dfc496255183d0413f534feaca86d42d38ce4e25ea9d29f9e5956721f30049e99b1f58b6b56e71e6d466be5e8204a7c867b1b3db4fe557774d8db7ad698cd04a

+ VERSION=0.9.7
+
SOURCE_HASH=sha512:9242525eb285e920e166315aa82907d55507055d520bf951d7203ed7a047c1627d211225211c303d9dd70e8ca24cfa003d1541226180f06396c2fede9ffeccaa

SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE_URL[0]=$SOURCEFORGE_URL/$SPELL/$SOURCE
diff --git a/devel/oprofile/HISTORY b/devel/oprofile/HISTORY
index dc46a5b..6fd3c12 100644
--- a/devel/oprofile/HISTORY
+++ b/devel/oprofile/HISTORY
@@ -1,3 +1,7 @@
+2012-08-02 Tommy Boatman <tboatman AT sourcemage.org>
+ * DETAILS: 0.9.7 to handle 3.x kernels
+
+
2011-10-10 Bor Kraljič <pyrobor AT ver.si>
* DEPENDS: removed optional dependency on qt-x11

diff --git a/disk/fuse/DETAILS b/disk/fuse/DETAILS
index c9ece06..6f3dee8 100755
--- a/disk/fuse/DETAILS
+++ b/disk/fuse/DETAILS
@@ -1,8 +1,7 @@
SPELL=fuse
if [ "$FUSE_BRANCH" != "scm" ]; then
- VERSION=2.9.0
- PATCHLEVEL=1
-
SOURCE_HASH=sha512:bee17f24299b96af956fa2620d3d6764ac742197fd5e5b168f495d8b046d9954ccf7fbbdadc0087f52cf341cc90a31bd0404108403eb6dcabed5508c5f2d1918
+ VERSION=2.9.1
+
SOURCE_HASH=sha512:6675810ba92b9f8dd289eec9c4eb45fe371e6a7f7c0c5c7a2533d813353fcbbcb78e20eb61a92057a985a556eacc67e4e6a9d5d06513028e1c2c19ab7fe59ffc
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_URL[0]=$SOURCEFORGE_URL/$SPELL/$SOURCE
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
diff --git a/disk/fuse/HISTORY b/disk/fuse/HISTORY
index 86811ba..85d3042 100644
--- a/disk/fuse/HISTORY
+++ b/disk/fuse/HISTORY
@@ -1,3 +1,9 @@
+2012-08-05 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 2.9.1
+ * init.patch: updated
+ * unlock.patch: removed, finally fixed in upstream vcs with
+ (3c4c063a2fd5cc6e9ce2b5db82e2a0dfa59b2e40)
+
2012-07-23 Pol Vinogradov <vin.public AT gmail.com>
* PRE_BUILD: unlock.patch now applies to stable branch only

diff --git a/disk/fuse/PRE_BUILD b/disk/fuse/PRE_BUILD
index dc1471d..0545e39 100755
--- a/disk/fuse/PRE_BUILD
+++ b/disk/fuse/PRE_BUILD
@@ -6,9 +6,6 @@ cd "$SOURCE_DIRECTORY" &&
sed -i "/sched/s|<|<linux/|" util/fusermount.c &&

if [ "$FUSE_BRANCH" != "scm" ]; then
- # part of revert of official commit 3743f3fe
- # that brakes our castfs staging system
- patch -p1 < "$SPELL_DIRECTORY/unlock.patch"
# prevent installing fuse initscript into the wrong place
patch -p0 < "$SPELL_DIRECTORY/init.patch"
else
diff --git a/disk/fuse/init.patch b/disk/fuse/init.patch
index 5f3b3b2..7846a18 100644
--- a/disk/fuse/init.patch
+++ b/disk/fuse/init.patch
@@ -1,10 +1,10 @@
---- util/Makefile.in.orig 2010-09-28 13:23:54.000000000 +0400
-+++ util/Makefile.in 2011-05-14 22:35:20.612452475 +0400
-@@ -593,8 +593,6 @@
+--- util/Makefile.in.orig 2012-07-19 16:53:28.000000000 +0400
++++ util/Makefile.in 2012-08-05 15:32:53.820922057 +0400
+@@ -650,8 +650,6 @@
install-exec-local:
- $(mkdir_p) $(DESTDIR)$(MOUNT_FUSE_PATH)
- $(INSTALL_PROGRAM) $(srcdir)/mount.fuse
$(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse
-- $(mkdir_p) $(DESTDIR)$(INIT_D_PATH)
+ $(MKDIR_P) $(DESTDIR)$(MOUNT_FUSE_PATH)
+ $(INSTALL_PROGRAM) $(builddir)/mount.fuse
$(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse
+- $(MKDIR_P) $(DESTDIR)$(INIT_D_PATH)
- $(INSTALL_SCRIPT) $(srcdir)/init_script $(DESTDIR)$(INIT_D_PATH)/fuse
@if test -x /usr/sbin/update-rc.d; then \
echo "/usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 .
|| true"; \
diff --git a/disk/fuse/unlock.patch b/disk/fuse/unlock.patch
deleted file mode 100644
index 44ea382..0000000
--- a/disk/fuse/unlock.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-reverted:
---- b/lib/fuse.c
-+++ a/lib/fuse.c
-@@ -495,26 +495,6 @@
- }
- }
-
--static void release_tickets(struct fuse *f, fuse_ino_t nodeid,
-- struct node *wnode, int ticket)
--{
-- struct node *node;
--
-- if (wnode) {
-- if (wnode->ticket != ticket)
-- return;
--
-- wnode->ticket = 0;
-- }
--
-- for (node = get_node(f, nodeid);
-- node->nodeid != FUSE_ROOT_ID; node = node->parent) {
-- if (node->ticket != ticket)
-- return;
-- node->ticket = 0;
-- }
--}
--
- static int try_get_path(struct fuse *f, fuse_ino_t nodeid, const char *name,
- char **path, struct node **wnodep, int ticket)
- {
-@@ -527,10 +507,9 @@
-
- *path = NULL;
-
-- err = -ENOMEM;
- buf = malloc(bufsize);
- if (buf == NULL)
-+ return -ENOMEM;
-- goto out_err;
-
- s = buf + bufsize - 1;
- *s = '\0';
-@@ -598,10 +577,6 @@
- out_free:
- free(buf);
-
-- out_err:
-- if (ticket && err != -EAGAIN)
-- release_tickets(f, nodeid, wnode, ticket);
--
- return err;
- }
-
-@@ -736,14 +711,9 @@
- err = try_get_path(f, nodeid1, name1, path1, wnode1, ticket);
- if (!err) {
- err = try_get_path(f, nodeid2, name2, path2, wnode2, ticket);
-+ if (err)
-+ unlock_path(f, nodeid1, wnode1 ? *wnode1 : NULL, NULL,
-+ ticket);
-- if (err) {
-- struct node *wn1 = wnode1 ? *wnode1 : NULL;
--
-- unlock_path(f, nodeid1, wn1, NULL, ticket);
-- free(path1);
-- if (ticket && err != -EAGAIN)
-- release_tickets(f, nodeid1, wn1, ticket);
-- }
- }
- return err;
- }
diff --git a/ftp/proftpd/BUILD b/ftp/proftpd/BUILD
index 7e44a7f..da079c3 100755
--- a/ftp/proftpd/BUILD
+++ b/ftp/proftpd/BUILD
@@ -1,26 +1,27 @@
-#if [[ $PROFTPD_DEVEL == "n" ]]; then
-if [[ -z $PROFTPD_CAPS ]]; then
- CFLAGS=${CFLAGS/-fPIC} &&
- CFLAGS=${CFLAGS/-DPIC} &&
- CXXFLAGS=${CXXFLAGS/-fPIC} &&
- CXXFLAGS=${CXXFLAGS/-DPIC}
-fi
-#fi &&
+if list_find "$PROFTPD_OPTS" "--disable-cap"; then
+ disable_pic
+fi &&

-sedit "s/ standalone/ inetd/" sample-configurations/basic.conf
&&
+if [[ $XINETD_INSTALLED ]]; then
+ sedit "s/ standalone/ inetd/" sample-configurations/basic.conf
+fi &&

-OPTS="${PROFTPD_CAPS} ${PROFTPD_MODS} ${OPTS}" &&
+local SQL_INC="." &&

-./configure --prefix=${INSTALL_ROOT}/usr \
- --sysconfdir=${INSTALL_ROOT}/etc \
- --localstatedir=${INSTALL_ROOT}/var/run \
- --mandir=$INSTALL_ROOT/usr/share/man \
- --enable-shadow \
- ${OPTS} &&
+if list_find "$PROFTPD_MODS" "mod_sql_mysql"; then
+ SQL_INC="$SQL_INC:$INSTALL_ROOT/usr/include/mysql"
+fi &&

-sedit 's:RUN_DIR.*"/var/run/proftpd":RUN_DIR "/var/run":' config.h &&
-sedit 's:rundir=/var/run/proftpd:rundir=/var/run:' Make.rules &&
+if list_find "$PROFTPD_MODS" "mod_sql_postgres"; then
+ SQL_INC="$SQL_INC:$INSTALL_ROOT/usr/include/postgresql"
+fi &&
+
+OPTS="${PROFTPD_OPTS} \
+ ${OPTS} \
+ --localstatedir=$INSTALL_ROOT/var/run \
+ --with-modules=${PROFTPD_MODS// /:} \
+ --with-includes=${SQL_INC}" &&

make_single &&
-make &&
+default_build &&
make_normal
diff --git a/ftp/proftpd/CONFIGURE b/ftp/proftpd/CONFIGURE
index 67b6db6..ac57f9c 100755
--- a/ftp/proftpd/CONFIGURE
+++ b/ftp/proftpd/CONFIGURE
@@ -1,40 +1,138 @@
-. $GRIMOIRE/FUNCTIONS &&
-#if [[ $PROFTPD_DEVEL == "n" ]]; then
+. $GRIMOIRE/FUNCTIONS &&
+
if [[ $(get_sorcery_kernel_config CONFIG_SECURITY) != y ]]; then
- config_query_option PROFTPD_CAPS \
- "You don't have capabilities enabled in your kernel, do you still \
- want to build them?" n "" "--disable-cap"
-fi
-#fi &&
+ config_query_option PROFTPD_OPTS "You don't have capabilities enabled in
your kernel, do you still want to build them?" n \
+ "--enable-cap" \
+ "--disable-cap"
+fi &&
+
+config_query_option PROFTPD_OPTS "Enable IPv6 support?" y \
+ "--enable-ipv6" \
+ "--disable-ipv6" &&
+
+config_query_option PROFTPD_OPTS "Enable use of ident (RFC1413) lookups?" y \
+ "--enable-ident" \
+ "--disable-ident" &&

-config_query_option PROFTPD_IP6 "enable IPv6 support?" \
-y "--enable-ipv6" "" &&
+config_query_option PROFTPD_OPTS "Enable sendfile support?" y \
+ "--enable-sendfile" \
+ "--disable-sendfile" &&

-config_query PROFTPD_MOD \
-"Choose optional user contributed modules to install?" n &&
+config_query_option PROFTPD_OPTS "Enable proftpd controls via ftpdctl?" n \
+ "--enable-ctrls" \
+ "--disable-ctrls" &&
+
+config_query PROFTPD_MOD "Choose optional user contributed modules to
install?" n &&

-#radius module failed (probably missing dep), all the others not in
-#the query are yet to be tried.
if [[ $PROFTPD_MOD == "y" ]]; then
- config_query_multi PROFTPD_MODS "Choose among this list:" \
- mod_ratio mod_readme mod_rewrite mod_tls mod_wrap \
- mod_sql mod_ldap &&
+ local MODULES="mod_copy \
+ mod_deflate \
+ mod_dynmasq \
+ mod_exec \
+ mod_ifsession \
+ mod_ifversion \
+ mod_load \
+ mod_qos \
+ mod_quotatab \
+ mod_ratio \
+ mod_readme \
+ mod_rewrite \
+ mod_sftp \
+ mod_site_misc \
+ mod_sql \
+ mod_tls \
+ mod_unique_id \
+ mod_wrap \
+ mod_wrap2" &&
+
+ if list_find "$PROFTPD_OPTS" "--enable-ctrls"; then
+ MODULES="mod_ban \
+ mod_ctrls_admin \
+ mod_shaper \
+ ${MODULES}"
+ fi &&
+
+ config_query_multi PROFTPD_MODS "Choose among this list:" ${MODULES} &&
+
+ if list_find "$PROFTPD_MODS" "mod_quotatab"; then
+ config_query PROFTPD_MOD_QUOTATAB_LDAP "Include LDAP support in
mod_quotatab?" n &&

- PROFTPD_MODS="--with-modules=`echo $PROFTPD_MODS | sed 's/\ /:/g'`" &&
+ if [[ $PROFTPD_MOD_QUOTATAB_LDAP == y ]]; then
+ list_add "PROFTPD_MODS" "mod_quotatab_ldap"
+ fi &&

- if [[ "x`echo $PROFTPD_MODS | grep sql`" != "x" ]]; then
- config_query_list PROFTPD_SQL \
- "You chose mod_sql, now which DBMS do you want:" mod_sql_mysql \
- mod_sql_postgres &&
+ config_query PROFTPD_MOD_QUOTATAB_RADIUS "Include RADIUS support in
mod_quotatab?" n &&

- if [[ "x${PROFTPD_SQL}" == "xmod_sql_mysql" ]]; then
- SQL_INC="/usr/include/mysql"
- else
- SQL_INC="/usr/include/postgresql"
+ if [[ $PROFTPD_MOD_QUOTATAB_RADIUS == y ]]; then
+ list_add "PROFTPD_MODS" "mod_quotatab_radius"
+ fi &&
+
+ config_query PROFTPD_MOD_QUOTATAB_SQL "Include SQL support in
mod_quotatab?" n &&
+
+ if ! list_find "$PROFTPD_MODS" "mod_sql"; then
+ list_add "PROFTPD_MODS" "mod_sql"
+ fi &&
+
+ if [[ $PROFTPD_MOD_QUOTATAB_SQL == y ]]; then
+ list_add "PROFTPD_MODS" "mod_quotatab_sql"
fi
-
- PROFTPD_MODS="${PROFTPD_MODS}:${PROFTPD_SQL} \
- --with-includes=${SQL_INC}"
- fi
-fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_sftp"; then
+ config_query PROFTPD_MOD_SFTP_SQL "Include SQL support in mod_sftp?" n &&
+
+ if ! list_find "$PROFTPD_MODS" "mod_sql"; then
+ list_add "PROFTPD_MODS" "mod_sql"
+ fi &&
+
+ if [[ $PROFTPD_MOD_SFTP_SQL == y ]]; then
+ list_add "PROFTPD_MODS" "mod_sftp_sql"
+ fi &&
+
+ config_query PROFTPD_MOD_SFTP_PAM "Include PAM support in mod_sftp?" n &&

+ if [[ $PROFTPD_MOD_SFTP_PAM == y ]]; then
+ list_add "PROFTPD_MODS" "mod_sftp_pam"
+ fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_wrap2"; then
+ config_query PROFTPD_MOD_WRAP2_FILE "Include file support in mod_wrap2?"
n &&
+
+ if [[ $PROFTPD_MOD_WRAP2_FILE == y ]]; then
+ list_add "PROFTPD_MODS" "mod_wrap2_file"
+ fi &&
+
+ config_query PROFTPD_MOD_WRAP2_SQL "Include SQL support in mod_wrap2?" n
&&
+
+ if ! list_find "$PROFTPD_MODS" "mod_sql"; then
+ list_add "PROFTPD_MODS" "mod_sql"
+ fi &&
+
+ if [[ $PROFTPD_MOD_WRAP2_SQL == y ]]; then
+ list_add "PROFTPD_MODS" "mod_wrap2_sql"
+ fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_sql"; then
+ config_query PROFTPD_MOD_SQL_PASSWD "Include passwd support in mod_sql?"
n &&
+
+ if [[ $PROFTPD_MOD_SQL_PASSWD == y ]]; then
+ list_add "PROFTPD_MODS" "mod_sql_passwd"
+ fi
+ fi &&
+
+ if list_find "$PROFTPD_MODS" "mod_tls"; then
+ config_query PROFTPD_MOD_TLS_MEMCACHE "Include memcache support in
mod_tls?" n &&
+
+ if [[ $PROFTPD_MOD_TLS_MEMCACHE == y ]]; then
+ list_add "PROFTPD_MODS" "mod_tls_memcache"
+ fi &&
+
+ config_query PROFTPD_MOD_TLS_SHMCACHE "Include SysV shared memory cache
support in mod_tls?" n &&
+
+ if [[ $PROFTPD_MOD_TLS_SHMCACHE == y ]]; then
+ list_add "PROFTPD_MODS" "mod_tls_shmcache"
+ fi
+ fi
+fi
diff --git a/ftp/proftpd/DEPENDS b/ftp/proftpd/DEPENDS
index f4c0dd2..a45290b 100755
--- a/ftp/proftpd/DEPENDS
+++ b/ftp/proftpd/DEPENDS
@@ -1,29 +1,111 @@
-if [[ "x`echo $PROFTPD_MODS | grep tls`" != "x" ]]; then
- depends openssl
+if list_find "$PROFTPD_MODS" "mod_deflate"; then
+ depends zlib
fi &&

-if [[ "x`echo $PROFTPD_MODS | grep wrap`" != "x" ]]; then
- depends tcp_wrappers
+if list_find "$PROFTPD_MODS" "mod_sql"; then
+ optional_depends MYSQL "" "" "for MySQL support in mod_sql" &&
+
+ if is_depends_enabled $SPELL $(get_spell_provider $SPELL MYSQL); then
+ list_add "PROFTPD_MODS" "mod_sql_mysql"
+ fi &&
+
+ optional_depends postgresql "" "" "for PostgreSQL support in mod_sql" &&
+
+ if is_depends_enabled $SPELL postgresql; then
+ list_add "PROFTPD_MODS" "mod_sql_postgres"
+ fi &&
+
+ optional_depends sqlite "" "" "for SQLite support in mod_sql" &&
+
+ if is_depends_enabled $SPELL sqlite; then
+ list_add "PROFTPD_MODS" "mod_sql_sqlite"
+ fi &&
+
+ optional_depends ODBC-MGR "" "" "for ODBC support in mod_sql" &&
+
+ if is_depends_enabled $SPELL $(get_spell_provider $SPELL ODBC-MGR); then
+ list_add "PROFTPD_MODS" "mod_sql_odbc"
+ fi
+fi &&
+
+if list_find "$PROFTPD_MODS" "mod_wrap" || list_find "$PROFTPD_MODS"
"mod_wrap2"; then
+ depends tcp_wrappers
+fi &&
+
+if list_find "$PROFTPD_MODS" "mod_tls" || list_find "$PROFTPD_MODS"
"mod_sftp" || list_find "$PROFTPD_MODS" "mod_sql_passwd"; then
+ depends openssl '--enable-openssl'
+else
+ optional_depends openssl \
+ "--enable-openssl" \
+ "--disable-openssl" \
+ "for OpenSSL support"
+fi &&
+
+if list_find "$PROFTPD_OPTS" "mod_sftp_pam"; then
+ depends linux-pam
+fi &&
+
+if list_find "$PROFTPD_OPTS" "mod_tls_memcache"; then
+ depends libmemcached
fi &&

-if [[ "x`echo $PROFTPD_MODS | grep mysql`" != "x" ]]; then
- depends MYSQL
+optional_depends openldap "" "" "to build mod_ldap module" &&
+
+if is_depends_enabled $SPELL openldap; then
+ list_add "PROFTPD_MODS" "mod_ldap"
+elif list_find "$PROFTPD_MODS" "mod_quotatab_ldap"; then
+ depends openldap
fi &&

-if [[ "x`echo $PROFTPD_MODS | grep postgresql`" != "x" ]]; then
- depends postgresql
+optional_depends freeradius "" "" "to build mod_radius module" &&
+
+if is_depends_enabled $SPELL freeradius; then
+ list_add "PROFTPD_MODS" "mod_radius"
+elif list_find "$PROFTPD_MODS" "mod_quotatab_radius"; then
+ depends freeradius
fi &&

-if [[ "x`echo $PROFTPD_MODS | grep ldap`" != "x" ]]; then
- depends openldap
+optional_depends ncurses \
+ "--enable-curses" \
+ "--disable-curses" \
+ "for use of curses" &&
+
+optional_depends shadow \
+ "--enable-shadow" \
+ "--disable-shadow" \
+ "for shadowed password support" &&
+
+if is_depends_enabled $SPELL shadow; then
+ config_query_option PROFTPD_OPTS "Enable run-time auto-detection of
shadowed passwords?" n \
+ "--enable-autoshadow" \
+ "--disable-autoshadow"
fi &&

-optional_depends libcap \
- "--enable-cap" \
- "--disable-cap" \
- "for POSIX.1e capabilities" &&
+if list_find "$PROFTPD_OPTS" "--enable-cap"; then
+ optional_depends libcap "" "" "to use system libcap library for POSIX.1e
capabilities"
+fi &&

optional_depends linux-pam \
"--enable-auth-pam" \
"--disable-auth-pam" \
- "for Linux-PAM support"
+ "for Linux-PAM support" &&
+
+optional_depends libmemcached \
+ "--enable-memcache" \
+ "--disable-memcache" \
+ "for memcache support" &&
+
+optional_depends gettext \
+ "--enable-nls" \
+ "--disable-nls" \
+ "for Native Language Support" &&
+
+optional_depends pcre \
+ "--enable-pcre" \
+ "--disable-pcre" \
+ "for use of PCRE for POSIX regular expressions rather than
the system library" &&
+
+optional_depends acl \
+ "--enable-facl" \
+ "--disable-facl" \
+ "for POSIX ACLs support"
diff --git a/ftp/proftpd/DETAILS b/ftp/proftpd/DETAILS
index 03ee949..2b880dd 100755
--- a/ftp/proftpd/DETAILS
+++ b/ftp/proftpd/DETAILS
@@ -1,7 +1,7 @@
SPELL=proftpd
- VERSION=1.3.4a
+ VERSION=1.3.4b
SECURITY_PATCH=2
- SOURCE=$SPELL-$VERSION.tar.bz2
+ SOURCE=$SPELL-$VERSION.tar.gz
SOURCE2=$SOURCE.asc
SOURCE2_IGNORE=signature
SOURCE_GPG=A511976A.gpg:$SOURCE2:UPSTREAM_KEY
diff --git a/ftp/proftpd/HISTORY b/ftp/proftpd/HISTORY
index 99ac8f3..2d5f693 100644
--- a/ftp/proftpd/HISTORY
+++ b/ftp/proftpd/HISTORY
@@ -1,3 +1,19 @@
+2012-08-01 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 1.3.4b; changed SOURCEs extension
+
+2012-07-31 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: PATCHLEVEL=1
+ * BUILD: remove pic flags wisely; fix basic config file only when
xinetd
+ script had been installed; use default_build; dropped deprecated
seds;
+ use PROFTPD_OPTS and PROFTPD_MODS; moved sql include paths here;
+ redefine localstatedir to /var/run
+ * CONFIGURE, DEPENDS: use new modules framework; added missing options
+ and dependencies; switched to PROFTPD_OPTS
+ * PRE_BUILD: added, to optionally apply the patch
+ * ldap-cert.patch: added, for certificates selection support in
mod_ldap
+ * init.d/proftpd: switch to default stop() method, which doesn't
return
+ success on already stopped service
+
2012-01-09 Vlad Glagolev <stealth AT sourcemage.org>
* DETAILS: SECURITY_PATCH++ (CVE-2011-4130)

diff --git a/ftp/proftpd/PRE_BUILD b/ftp/proftpd/PRE_BUILD
new file mode 100755
index 0000000..e4c1378
--- /dev/null
+++ b/ftp/proftpd/PRE_BUILD
@@ -0,0 +1,6 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+
+if is_depends_enabled $SPELL openldap; then
+ patch -p0 < "$SPELL_DIRECTORY/ldap-cert.patch"
+fi
diff --git a/ftp/proftpd/init.d/proftpd b/ftp/proftpd/init.d/proftpd
index 09a4400..848b81c 100755
--- a/ftp/proftpd/init.d/proftpd
+++ b/ftp/proftpd/init.d/proftpd
@@ -5,11 +5,3 @@ RUNLEVEL=3
NEEDS="+remote_fs"

. /etc/init.d/smgl_init
-
-stop() {
- echo "Stopping proftpd..."
- if [ -f /var/run/proftpd.pid ]; then
- kill `cat /var/run/proftpd.pid`
- fi
- evaluate_retval
-}
diff --git a/ftp/proftpd/ldap-cert.patch b/ftp/proftpd/ldap-cert.patch
new file mode 100644
index 0000000..f4fee22
--- /dev/null
+++ b/ftp/proftpd/ldap-cert.patch
@@ -0,0 +1,286 @@
+--- contrib/mod_ldap.c.orig 2011-05-24 00:56:40.000000000 +0400
++++ contrib/mod_ldap.c 2012-07-31 15:14:59.181954021 +0400
+@@ -161,7 +161,14 @@
+ *ldap_attr_memberuid = "memberUid",
+ *ldap_attr_ftpquota = "ftpQuota",
+ *ldap_attr_ftpquota_profiledn = "ftpQuotaProfileDN",
+- *ldap_attr_ssh_pubkey = "sshPublicKey";
++ *ldap_attr_ssh_pubkey = "sshPublicKey",
++ *ldap_tls_ca_cert_dir,
++ *ldap_tls_ca_cert_file,
++ *ldap_tls_cert_file,
++ *ldap_tls_cipher_suite,
++ *ldap_tls_crl_file,
++ *ldap_tls_dh_file,
++ *ldap_tls_key_file;
+ #ifdef HAS_LDAP_INITIALIZE
+ static char *ldap_server_url;
+ #endif /* HAS_LDAP_INITIALIZE */
+@@ -171,7 +178,9 @@
+ ldap_forcedefaultuid = 0, ldap_forcedefaultgid = 0,
+ ldap_forcegenhdir = 0, ldap_protocol_version = 3,
+ ldap_dereference = LDAP_DEREF_NEVER,
+- ldap_search_scope = LDAP_SCOPE_SUBTREE;
++ ldap_search_scope = LDAP_SCOPE_SUBTREE,
++ ldap_tls_crl_check = -1,
++ ldap_tls_require_cert = -1;
+ static struct timeval ldap_querytimeout_tp;
+
+ static uid_t ldap_defaultuid = -1;
+@@ -214,6 +223,86 @@
+ struct berval bindcred;
+ #endif
+
++ if (ldap_tls_ca_cert_dir) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_CACERTDIR,
ldap_tls_ca_cert_dir);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_CACERTDIR option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": set LDAP_OPT_X_TLS_CACERTDIR
to %s", ldap_tls_ca_cert_dir);
++ }
++
++ if (ldap_tls_ca_cert_file) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_CACERTFILE,
ldap_tls_ca_cert_file);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_CACERTFILE option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": set LDAP_OPT_X_TLS_CACERTFILE
to %s", ldap_tls_ca_cert_file);
++ }
++
++ if (ldap_tls_cert_file) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_CERTFILE,
ldap_tls_cert_file);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_CERTFILE option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": set LDAP_OPT_X_TLS_CERTFILE to
%s", ldap_tls_cert_file);
++ }
++
++ if (ldap_tls_cipher_suite) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_CIPHER_SUITE,
ldap_tls_cipher_suite);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_CIPHER_SUITE option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": set
LDAP_OPT_X_TLS_CIPHER_SUITE to %s", ldap_tls_cipher_suite);
++ }
++
++ if (ldap_tls_dh_file) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_DHFILE, ldap_tls_dh_file);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_DHFILE option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": set LDAP_OPT_X_TLS_DHFILE
version to %s", ldap_tls_dh_file);
++ }
++
++ if (ldap_tls_key_file) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_KEYFILE, ldap_tls_key_file);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_KEYFILE option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": pr_ldap_connect(): set
LDAP_OPT_X_TLS_KEYFILE to %s", ldap_tls_key_file);
++ }
++
++ if (ldap_tls_crl_check != -1) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_CRLCHECK, (void
*)&ldap_tls_crl_check);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_CRLCHECK option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": set LDAP_OPT_X_TLS_CRLCHECK to
%d", ldap_tls_crl_check);
++ }
++
++ if (ldap_tls_require_cert != -1) {
++ ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, (void
*)&ldap_tls_require_cert);
++ if (ret != LDAP_OPT_SUCCESS) {
++ pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": pr_ldap_connect(): Setting
LDAP_OPT_X_TLS_REQUIRE_CERT option failed: %s", ldap_err2string(ret));
++ pr_ldap_unbind();
++ return -1;
++ }
++ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": set
LDAP_OPT_X_TLS_REQUIRE_CERT to %d", ldap_tls_require_cert);
++ }
++
+ #ifdef HAS_LDAP_INITIALIZE
+ pr_log_debug(DEBUG3, MOD_LDAP_VERSION ": attempting connection to %s",
ldap_server_url ? ldap_server_url : "(null)");
+
+@@ -1876,6 +1965,130 @@
+ return PR_HANDLED(cmd);
+ }
+
++MODRET
++set_ldap_tls_ca_cert_dir(cmd_rec *cmd)
++{
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_ca_cert_file(cmd_rec *cmd)
++{
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_cert_file(cmd_rec *cmd)
++{
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_cipher_suite(cmd_rec *cmd)
++{
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_crl_check(cmd_rec *cmd)
++{
++ int value;
++ config_rec *c;
++
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ if (strcasecmp(cmd->argv[1], "none") == 0) {
++ value = LDAP_OPT_X_TLS_CRL_NONE;
++ } else if (strcasecmp(cmd->argv[1], "peer") == 0) {
++ value = LDAP_OPT_X_TLS_CRL_PEER;
++ } else if (strcasecmp(cmd->argv[1], "all") == 0) {
++ value = LDAP_OPT_X_TLS_CRL_ALL;
++ } else {
++ CONF_ERROR(cmd, "LDAPTLSCrlCheck: expected a valid
LDAP_OPT_X_TLS_CRLCHECK option (none, peer, all).");
++ }
++
++ c = add_config_param("LDAPTLSCrlCheck", 1, NULL);
++ c->argv[0] = pcalloc(c->pool, sizeof(int));
++ *((int *) c->argv[0]) = value;
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_dh_file(cmd_rec *cmd)
++{
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_crl_file(cmd_rec *cmd)
++{
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_key_file(cmd_rec *cmd)
++{
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
++ return PR_HANDLED(cmd);
++}
++
++MODRET
++set_ldap_tls_require_cert(cmd_rec *cmd)
++{
++ int value;
++ config_rec *c;
++
++ CHECK_ARGS(cmd, 1);
++ CHECK_CONF(cmd, CONF_ROOT | CONF_VIRTUAL | CONF_GLOBAL);
++
++ if (strcasecmp(cmd->argv[1], "never") == 0) {
++ value = LDAP_OPT_X_TLS_NEVER;
++ } else if (strcasecmp(cmd->argv[1], "hard") == 0) {
++ value = LDAP_OPT_X_TLS_HARD;
++ } else if (strcasecmp(cmd->argv[1], "demand") == 0) {
++ value = LDAP_OPT_X_TLS_DEMAND;
++ } else if (strcasecmp(cmd->argv[1], "allow") == 0) {
++ value = LDAP_OPT_X_TLS_ALLOW;
++ } else if (strcasecmp(cmd->argv[1], "try") == 0) {
++ value = LDAP_OPT_X_TLS_TRY;
++ } else {
++ CONF_ERROR(cmd, "LDAPTLSRequireCert: expected a valid
LDAP_OPT_X_TLS_REQUIRE_CERT option (never, hard, demand, allow, try).");
++ }
++
++ c = add_config_param("LDAPTLSRequireCert", 1, NULL);
++ c->argv[0] = pcalloc(c->pool, sizeof(int));
++ *((int *) c->argv[0]) = value;
++ return PR_HANDLED(cmd);
++}
++
+ static int
+ ldap_getconf(void)
+ {
+@@ -2060,6 +2273,22 @@
+ }
+ }
+
++ ldap_tls_ca_cert_dir = (char *)get_param_ptr(main_server->conf,
"LDAPTLSCACertDir", FALSE);
++ ldap_tls_ca_cert_file = (char *)get_param_ptr(main_server->conf,
"LDAPTLSCACertFile", FALSE);
++ ldap_tls_cert_file = (char *)get_param_ptr(main_server->conf,
"LDAPTLSCertFile", FALSE);
++ ldap_tls_cipher_suite = (char *)get_param_ptr(main_server->conf,
"LDAPTLSCipherSuite", FALSE);
++ ldap_tls_crl_file = (char *)get_param_ptr(main_server->conf,
"LDAPTLSCrlFile", FALSE);
++ ldap_tls_dh_file = (char *)get_param_ptr(main_server->conf,
"LDAPTLSDHFile", FALSE);
++ ldap_tls_key_file = (char *)get_param_ptr(main_server->conf,
"LDAPTLSKeyFile", FALSE);
++ ptr = get_param_ptr(main_server->conf, "LDAPTLSCrlCheck", FALSE);
++ if (ptr) {
++ ldap_tls_crl_check = *((int *) ptr);
++ }
++ ptr = get_param_ptr(main_server->conf, "LDAPTLSRequireCert", FALSE);
++ if (ptr) {
++ ldap_tls_require_cert = *((int *) ptr);
++ }
++
+ return 0;
+ }
+
+@@ -2093,6 +2322,15 @@
+ { "LDAPForceGeneratedHomedir", set_ldap_forcegenhdir, NULL },
+ { "LDAPDefaultQuota", set_ldap_defaultquota, NULL },
+ { "LDAPGroups", set_ldap_grouplookups, NULL },
++ { "LDAPTLSCACertDir", set_ldap_tls_ca_cert_dir, NULL },
++ { "LDAPTLSCACertFile", set_ldap_tls_ca_cert_file, NULL },
++ { "LDAPTLSCertFile", set_ldap_tls_cert_file, NULL },
++ { "LDAPTLSCipherSuite", set_ldap_tls_cipher_suite, NULL },
++ { "LDAPTLSCrlCheck", set_ldap_tls_crl_check, NULL },
++ { "LDAPTLSCrlFile", set_ldap_tls_crl_file, NULL },
++ { "LDAPTLSDHFile", set_ldap_tls_dh_file, NULL },
++ { "LDAPTLSKeyFile", set_ldap_tls_key_file, NULL },
++ { "LDAPTLSRequireCert", set_ldap_tls_require_cert, NULL },
+ { NULL, NULL, NULL },
+ };
+
diff --git a/http/webkitgtk/DETAILS b/http/webkitgtk/DETAILS
index c13f78d..1124e4e 100755
--- a/http/webkitgtk/DETAILS
+++ b/http/webkitgtk/DETAILS
@@ -1,19 +1,19 @@
SPELL=webkitgtk
if [[ $WEBKITGTK_NIGHT == "y" ]]; then
- VERSION=1.8.1
+ VERSION=1.8.2
SOURCE=webkit-$VERSION.tar.xz
SOURCE_URL[0]=http://www.webkitgtk.org/releases/$SOURCE
-
SOURCE_HASH=sha512:67d9eaedfc18805ae7694bb56e74538726e2f1bc653363adcd941e0394c54c72c55c31aedd3b65b8798cc0e19ab69e0fe8c3ad0a313dec02c505214f48f5ffff
+
SOURCE_HASH=sha512:a6ecb8bd3c4221842038885e37108e797b20a37012bc8f60e89e2f823a9e45e977565638e3c93ddad8b1b756e903d2455d6dce8911f106044efe46a7de7c4d3a
SOURCE_DIRECTORY="$BUILD_DIRECTORY/webkit-$VERSION"
else
- VERSION=1.8.1
+ VERSION=1.8.2
SOURCE=webkit-$VERSION.tar.xz
SOURCE_URL[0]=http://www.webkitgtk.org/releases/$SOURCE
-
SOURCE_HASH=sha512:67d9eaedfc18805ae7694bb56e74538726e2f1bc653363adcd941e0394c54c72c55c31aedd3b65b8798cc0e19ab69e0fe8c3ad0a313dec02c505214f48f5ffff
+
SOURCE_HASH=sha512:a6ecb8bd3c4221842038885e37108e797b20a37012bc8f60e89e2f823a9e45e977565638e3c93ddad8b1b756e903d2455d6dce8911f106044efe46a7de7c4d3a
SOURCE_DIRECTORY="$BUILD_DIRECTORY/webkit-$VERSION"
fi
WEB_SITE=http://webkitgtk.org/
- SECURITY_PATCH=5
+ SECURITY_PATCH=6
GATHER_DOCS=off
LICENSE[0]=GPL
ENTERED=20071208
diff --git a/http/webkitgtk/HISTORY b/http/webkitgtk/HISTORY
index 774407e..3f7971b 100644
--- a/http/webkitgtk/HISTORY
+++ b/http/webkitgtk/HISTORY
@@ -1,3 +1,8 @@
+2012-08-04 Ladislav Hagara <hgr AT vabo.cz>
+ * DETAILS: 1.8.2, SECURITY_PATCH=6
+ * PRE_BUILD, bison-2.6.patch: upstream patch added
+ http://trac.webkit.org/changeset/124099
+
2012-04-25 Ladislav Hagara <hgr AT vabo.cz>
* DETAILS: 1.8.1, SECURITY_PATCH=5
* PRE_BUILD, disable-geo.patch: patch removed
diff --git a/http/webkitgtk/PRE_BUILD b/http/webkitgtk/PRE_BUILD
index cdd362a..6f1c302 100755
--- a/http/webkitgtk/PRE_BUILD
+++ b/http/webkitgtk/PRE_BUILD
@@ -1,5 +1,6 @@
default_pre_build &&
cd "$SOURCE_DIRECTORY" &&

+patch -p2 < "$SPELL_DIRECTORY/bison-2.6.patch" &&
patch -p0 < "$SPELL_DIRECTORY/gtk-doc.patch" &&
patch -p0 < "$SPELL_DIRECTORY/opengl-headers.patch"
diff --git a/http/webkitgtk/bison-2.6.patch b/http/webkitgtk/bison-2.6.patch
new file mode 100644
index 0000000..95898ad
--- /dev/null
+++ b/http/webkitgtk/bison-2.6.patch
@@ -0,0 +1,515 @@
+Index: /trunk/Source/WebCore/ChangeLog
+===================================================================
+--- /trunk/Source/WebCore/ChangeLog (revision 124098)
++++ /trunk/Source/WebCore/ChangeLog (revision 124099)
+@@ -1,2 +1,27 @@
++2012-07-30 Alexis Menard <alexis.menard AT openbossa.org>
++
++ Build fix with newer bison 2.6.
++ https://bugs.webkit.org/show_bug.cgi?id=92264
++
++ Reviewed by Adam Barth.
++
++ As stated in
http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html
++ YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875.
So far all Mac OS
++ version I had access to as well as recent Linux runs at least
version 2.3 so it's safe
++ to use the replacement of these deprecated macros in favor of
%lex-param and %parse-param.
++ As announced
http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the
release
++ of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported
anymore.
++
++ No new tests : build fix and the patch should not trigger any
regressions
++
++ * css/CSSGrammar.y:
++ * css/CSSParser.cpp:
++ * xml/XPathGrammar.y: Refactored a bit to not use an intermediate
PARSER define.
++ * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h
file now, i.e. XPathGrammar.h
++ therefore including this file within the namespace {} declarations
leads to xpathyyparse being
++ defined part of WebCore::XPath namespaces but the actual
implementation of xpathyyparse is in XPathGrammar.cpp
++ (generated) and not implemented within the WebCore::XPath so it
lead to linking issues. Last, XPathGrammar.h needs
++ to be included after the other includes as it uses some XPath
types. It breaks the style but CSSParser.cpp is doing the same.
++
+ 2012-07-30 Sadrul Habib Chowdhury <sadrul AT chromium.org>
+
+Index: /trunk/Source/WebCore/css/CSSParser.cpp
+===================================================================
+--- /trunk/Source/WebCore/css/CSSParser.cpp (revision 124098)
++++ /trunk/Source/WebCore/css/CSSParser.cpp (revision 124099)
+@@ -115,5 +115,5 @@
+ #endif
+
+-extern int cssyyparse(void* parser);
++extern int cssyyparse(WebCore::CSSParser*);
+
+ using namespace std;
+Index: /trunk/Source/WebCore/css/CSSGrammar.y
+===================================================================
+--- /trunk/Source/WebCore/css/CSSGrammar.y (revision 124098)
++++ /trunk/Source/WebCore/css/CSSGrammar.y (revision 124099)
+@@ -54,11 +54,10 @@
+ #define YYDEBUG 0
+
+-// FIXME: Replace with %parse-param { CSSParser* parser } once we can
depend on bison 2.x
+-#define YYPARSE_PARAM parser
+-#define YYLEX_PARAM parser
+-
+ %}
+
+ %pure_parser
++
++%parse-param { CSSParser* parser }
++%lex-param { CSSParser* parser }
+
+ %union {
+@@ -90,5 +89,5 @@
+ %{
+
+-static inline int cssyyerror(const char*)
++static inline int cssyyerror(void*, const char*)
+ {
+ return 1;
+Index: /trunk/Source/WebCore/xml/XPathParser.cpp
+===================================================================
+--- /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124098)
++++ /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124099)
+@@ -33,22 +33,19 @@
+ #include "XPathException.h"
+ #include "XPathNSResolver.h"
++#include "XPathPath.h"
+ #include "XPathStep.h"
+ #include <wtf/StdLibExtras.h>
+ #include <wtf/text/StringHash.h>
+
+-int xpathyyparse(void*);
+-
++using namespace WebCore;
+ using namespace WTF;
+ using namespace Unicode;
+-
+-namespace WebCore {
+-namespace XPath {
+-
+-class LocationPath;
+-
+-#include "XPathGrammar.h"
++using namespace XPath;
++
++extern int xpathyyparse(WebCore::XPath::Parser*);
++#include "XPathGrammar.h"
+
+ Parser* Parser::currentParser = 0;
+-
++
+ enum XMLCat { NameStart, NameCont, NotPartOfName };
+
+@@ -631,4 +628,2 @@
+ }
+
+-}
+-}
+Index: /trunk/Source/WebCore/xml/XPathGrammar.y
+===================================================================
+--- /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124098)
++++ /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124099)
+@@ -35,4 +35,5 @@
+ #include "XPathPath.h"
+ #include "XPathPredicate.h"
++#include "XPathStep.h"
+ #include "XPathVariableReference.h"
+ #include <wtf/FastMalloc.h>
+@@ -45,6 +46,4 @@
+ #define YYDEBUG 0
+ #define YYMAXDEPTH 10000
+-#define YYPARSE_PARAM parserParameter
+-#define PARSER static_cast<Parser*>(parserParameter)
+
+ using namespace WebCore;
+@@ -54,4 +53,5 @@
+
+ %pure_parser
++%parse-param { WebCore::XPath::Parser* parser }
+
+ %union
+@@ -72,5 +72,5 @@
+
+ static int xpathyylex(YYSTYPE* yylval) { return
Parser::current()->lex(yylval); }
+-static void xpathyyerror(const char*) { }
++static void xpathyyerror(void*, const char*) { }
+
+ %}
+@@ -119,5 +119,5 @@
+ OrExpr
+ {
+- PARSER->m_topExpr = $1;
++ parser->m_topExpr = $1;
+ }
+ ;
+@@ -139,5 +139,5 @@
+ {
+ $$ = new LocationPath;
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -151,5 +151,5 @@
+ $$ = $2;
+ $$->insertFirstStep($1);
+- PARSER->unregisterParseNode($1);
++ parser->unregisterParseNode($1);
+ }
+ ;
+@@ -160,6 +160,6 @@
+ $$ = new LocationPath;
+ $$->appendStep($1);
+- PARSER->unregisterParseNode($1);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -167,5 +167,5 @@
+ {
+ $$->appendStep($3);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($3);
+ }
+ |
+@@ -174,6 +174,6 @@
+ $$->appendStep($2);
+ $$->appendStep($3);
+- PARSER->unregisterParseNode($2);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($2);
++ parser->unregisterParseNode($3);
+ }
+ ;
+@@ -184,9 +184,9 @@
+ if ($2) {
+ $$ = new Step(Step::ChildAxis, *$1, *$2);
+- PARSER->deletePredicateVector($2);
++ parser->deletePredicateVector($2);
+ } else
+ $$ = new Step(Step::ChildAxis, *$1);
+- PARSER->deleteNodeTest($1);
+- PARSER->registerParseNode($$);
++ parser->deleteNodeTest($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -195,6 +195,6 @@
+ String localName;
+ String namespaceURI;
+- if (!PARSER->expandQName(*$1, localName, namespaceURI)) {
+- PARSER->m_gotNamespaceError = true;
++ if (!parser->expandQName(*$1, localName, namespaceURI)) {
++ parser->m_gotNamespaceError = true;
+ YYABORT;
+ }
+@@ -202,9 +202,9 @@
+ if ($2) {
+ $$ = new Step(Step::ChildAxis,
Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
+- PARSER->deletePredicateVector($2);
++ parser->deletePredicateVector($2);
+ } else
+ $$ = new Step(Step::ChildAxis,
Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -213,9 +213,9 @@
+ if ($3) {
+ $$ = new Step($1, *$2, *$3);
+- PARSER->deletePredicateVector($3);
++ parser->deletePredicateVector($3);
+ } else
+ $$ = new Step($1, *$2);
+- PARSER->deleteNodeTest($2);
+- PARSER->registerParseNode($$);
++ parser->deleteNodeTest($2);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -224,6 +224,6 @@
+ String localName;
+ String namespaceURI;
+- if (!PARSER->expandQName(*$2, localName, namespaceURI)) {
+- PARSER->m_gotNamespaceError = true;
++ if (!parser->expandQName(*$2, localName, namespaceURI)) {
++ parser->m_gotNamespaceError = true;
+ YYABORT;
+ }
+@@ -231,9 +231,9 @@
+ if ($3) {
+ $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest,
localName, namespaceURI), *$3);
+- PARSER->deletePredicateVector($3);
++ parser->deletePredicateVector($3);
+ } else
+ $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest,
localName, namespaceURI));
+- PARSER->deleteString($2);
+- PARSER->registerParseNode($$);
++ parser->deleteString($2);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -260,6 +260,6 @@
+ $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
+
+- PARSER->deleteString($1);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->registerNodeTest($$);
+ }
+ |
+@@ -267,6 +267,6 @@
+ {
+ $$ = new
Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
+- PARSER->deleteString($1);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->registerNodeTest($$);
+ }
+ |
+@@ -274,7 +274,7 @@
+ {
+ $$ = new
Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest,
$3->stripWhiteSpace());
+- PARSER->deleteString($1);
+- PARSER->deleteString($3);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->deleteString($3);
++ parser->registerNodeTest($$);
+ }
+ ;
+@@ -294,6 +294,6 @@
+ $$ = new Vector<Predicate*>;
+ $$->append(new Predicate($1));
+- PARSER->unregisterParseNode($1);
+- PARSER->registerPredicateVector($$);
++ parser->unregisterParseNode($1);
++ parser->registerPredicateVector($$);
+ }
+ |
+@@ -301,5 +301,5 @@
+ {
+ $$->append(new Predicate($2));
+- PARSER->unregisterParseNode($2);
++ parser->unregisterParseNode($2);
+ }
+ ;
+@@ -316,5 +316,5 @@
+ {
+ $$ = new Step(Step::DescendantOrSelfAxis,
Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -324,5 +324,5 @@
+ {
+ $$ = new Step(Step::SelfAxis,
Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -330,5 +330,5 @@
+ {
+ $$ = new Step(Step::ParentAxis,
Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -338,6 +338,6 @@
+ {
+ $$ = new VariableReference(*$1);
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -350,6 +350,6 @@
+ {
+ $$ = new StringExpression(*$1);
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -357,6 +357,6 @@
+ {
+ $$ = new Number($1->toDouble());
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -370,6 +370,6 @@
+ if (!$$)
+ YYABORT;
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -379,7 +379,7 @@
+ if (!$$)
+ YYABORT;
+- PARSER->deleteString($1);
+- PARSER->deleteExpressionVector($3);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->deleteExpressionVector($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -390,6 +390,6 @@
+ $$ = new Vector<Expression*>;
+ $$->append($1);
+- PARSER->unregisterParseNode($1);
+- PARSER->registerExpressionVector($$);
++ parser->unregisterParseNode($1);
++ parser->registerExpressionVector($$);
+ }
+ |
+@@ -397,5 +397,5 @@
+ {
+ $$->append($3);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($3);
+ }
+ ;
+@@ -413,7 +413,7 @@
+ $$->addSubExpression($1);
+ $$->addSubExpression($3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -431,7 +431,7 @@
+ $3->setAbsolute(true);
+ $$ = new Path(static_cast<Filter*>($1), $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -441,8 +441,8 @@
+ $3->setAbsolute(true);
+ $$ = new Path(static_cast<Filter*>($1), $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($2);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($2);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -454,7 +454,7 @@
+ {
+ $$ = new Filter($1, *$2);
+- PARSER->unregisterParseNode($1);
+- PARSER->deletePredicateVector($2);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->deletePredicateVector($2);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -466,7 +466,7 @@
+ {
+ $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -478,7 +478,7 @@
+ {
+ $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -490,7 +490,7 @@
+ {
+ $$ = new EqTestOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -502,7 +502,7 @@
+ {
+ $$ = new EqTestOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -514,7 +514,7 @@
+ {
+ $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -522,7 +522,7 @@
+ {
+ $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -534,7 +534,7 @@
+ {
+ $$ = new NumericOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -547,6 +547,6 @@
+ $$ = new Negative;
+ $$->addSubExpression($2);
+- PARSER->unregisterParseNode($2);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($2);
++ parser->registerParseNode($$);
+ }
+ ;
diff --git a/http/webkitgtk3/DETAILS b/http/webkitgtk3/DETAILS
index 396dc02..4c039b1 100755
--- a/http/webkitgtk3/DETAILS
+++ b/http/webkitgtk3/DETAILS
@@ -1,11 +1,11 @@
SPELL=webkitgtk3
- VERSION=1.8.1
+ VERSION=1.8.2
SOURCE=webkit-$VERSION.tar.xz
SOURCE_URL[0]=http://www.webkitgtk.org/releases/$SOURCE
-
SOURCE_HASH=sha512:67d9eaedfc18805ae7694bb56e74538726e2f1bc653363adcd941e0394c54c72c55c31aedd3b65b8798cc0e19ab69e0fe8c3ad0a313dec02c505214f48f5ffff
+
SOURCE_HASH=sha512:a6ecb8bd3c4221842038885e37108e797b20a37012bc8f60e89e2f823a9e45e977565638e3c93ddad8b1b756e903d2455d6dce8911f106044efe46a7de7c4d3a
SOURCE_DIRECTORY="$BUILD_DIRECTORY/webkit-$VERSION"
WEB_SITE=http://webkitgtk.org/
- SECURITY_PATCH=1
+ SECURITY_PATCH=2
GATHER_DOCS=off
LICENSE[0]=GPL
ENTERED=20101017
diff --git a/http/webkitgtk3/HISTORY b/http/webkitgtk3/HISTORY
index fb486a7..1b2fa01 100644
--- a/http/webkitgtk3/HISTORY
+++ b/http/webkitgtk3/HISTORY
@@ -1,3 +1,8 @@
+2012-08-04 Ladislav Hagara <hgr AT vabo.cz>
+ * DETAILS: 1.8.2, SECURITY_PATCH=2
+ * PRE_BUILD, bison-2.6.patch: upstream patch added
+ http://trac.webkit.org/changeset/124099
+
2012-05-10 Arjan Bouter <abouter AT sourcemage.org>
* PRE_BUILD, opengl-headers.patch, gtk-doc.patch: apply
webkitgtk patches to webkitgtk3
diff --git a/http/webkitgtk3/PRE_BUILD b/http/webkitgtk3/PRE_BUILD
index cdd362a..6f1c302 100755
--- a/http/webkitgtk3/PRE_BUILD
+++ b/http/webkitgtk3/PRE_BUILD
@@ -1,5 +1,6 @@
default_pre_build &&
cd "$SOURCE_DIRECTORY" &&

+patch -p2 < "$SPELL_DIRECTORY/bison-2.6.patch" &&
patch -p0 < "$SPELL_DIRECTORY/gtk-doc.patch" &&
patch -p0 < "$SPELL_DIRECTORY/opengl-headers.patch"
diff --git a/http/webkitgtk3/bison-2.6.patch b/http/webkitgtk3/bison-2.6.patch
new file mode 100644
index 0000000..95898ad
--- /dev/null
+++ b/http/webkitgtk3/bison-2.6.patch
@@ -0,0 +1,515 @@
+Index: /trunk/Source/WebCore/ChangeLog
+===================================================================
+--- /trunk/Source/WebCore/ChangeLog (revision 124098)
++++ /trunk/Source/WebCore/ChangeLog (revision 124099)
+@@ -1,2 +1,27 @@
++2012-07-30 Alexis Menard <alexis.menard AT openbossa.org>
++
++ Build fix with newer bison 2.6.
++ https://bugs.webkit.org/show_bug.cgi?id=92264
++
++ Reviewed by Adam Barth.
++
++ As stated in
http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html
++ YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875.
So far all Mac OS
++ version I had access to as well as recent Linux runs at least
version 2.3 so it's safe
++ to use the replacement of these deprecated macros in favor of
%lex-param and %parse-param.
++ As announced
http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the
release
++ of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported
anymore.
++
++ No new tests : build fix and the patch should not trigger any
regressions
++
++ * css/CSSGrammar.y:
++ * css/CSSParser.cpp:
++ * xml/XPathGrammar.y: Refactored a bit to not use an intermediate
PARSER define.
++ * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h
file now, i.e. XPathGrammar.h
++ therefore including this file within the namespace {} declarations
leads to xpathyyparse being
++ defined part of WebCore::XPath namespaces but the actual
implementation of xpathyyparse is in XPathGrammar.cpp
++ (generated) and not implemented within the WebCore::XPath so it
lead to linking issues. Last, XPathGrammar.h needs
++ to be included after the other includes as it uses some XPath
types. It breaks the style but CSSParser.cpp is doing the same.
++
+ 2012-07-30 Sadrul Habib Chowdhury <sadrul AT chromium.org>
+
+Index: /trunk/Source/WebCore/css/CSSParser.cpp
+===================================================================
+--- /trunk/Source/WebCore/css/CSSParser.cpp (revision 124098)
++++ /trunk/Source/WebCore/css/CSSParser.cpp (revision 124099)
+@@ -115,5 +115,5 @@
+ #endif
+
+-extern int cssyyparse(void* parser);
++extern int cssyyparse(WebCore::CSSParser*);
+
+ using namespace std;
+Index: /trunk/Source/WebCore/css/CSSGrammar.y
+===================================================================
+--- /trunk/Source/WebCore/css/CSSGrammar.y (revision 124098)
++++ /trunk/Source/WebCore/css/CSSGrammar.y (revision 124099)
+@@ -54,11 +54,10 @@
+ #define YYDEBUG 0
+
+-// FIXME: Replace with %parse-param { CSSParser* parser } once we can
depend on bison 2.x
+-#define YYPARSE_PARAM parser
+-#define YYLEX_PARAM parser
+-
+ %}
+
+ %pure_parser
++
++%parse-param { CSSParser* parser }
++%lex-param { CSSParser* parser }
+
+ %union {
+@@ -90,5 +89,5 @@
+ %{
+
+-static inline int cssyyerror(const char*)
++static inline int cssyyerror(void*, const char*)
+ {
+ return 1;
+Index: /trunk/Source/WebCore/xml/XPathParser.cpp
+===================================================================
+--- /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124098)
++++ /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124099)
+@@ -33,22 +33,19 @@
+ #include "XPathException.h"
+ #include "XPathNSResolver.h"
++#include "XPathPath.h"
+ #include "XPathStep.h"
+ #include <wtf/StdLibExtras.h>
+ #include <wtf/text/StringHash.h>
+
+-int xpathyyparse(void*);
+-
++using namespace WebCore;
+ using namespace WTF;
+ using namespace Unicode;
+-
+-namespace WebCore {
+-namespace XPath {
+-
+-class LocationPath;
+-
+-#include "XPathGrammar.h"
++using namespace XPath;
++
++extern int xpathyyparse(WebCore::XPath::Parser*);
++#include "XPathGrammar.h"
+
+ Parser* Parser::currentParser = 0;
+-
++
+ enum XMLCat { NameStart, NameCont, NotPartOfName };
+
+@@ -631,4 +628,2 @@
+ }
+
+-}
+-}
+Index: /trunk/Source/WebCore/xml/XPathGrammar.y
+===================================================================
+--- /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124098)
++++ /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124099)
+@@ -35,4 +35,5 @@
+ #include "XPathPath.h"
+ #include "XPathPredicate.h"
++#include "XPathStep.h"
+ #include "XPathVariableReference.h"
+ #include <wtf/FastMalloc.h>
+@@ -45,6 +46,4 @@
+ #define YYDEBUG 0
+ #define YYMAXDEPTH 10000
+-#define YYPARSE_PARAM parserParameter
+-#define PARSER static_cast<Parser*>(parserParameter)
+
+ using namespace WebCore;
+@@ -54,4 +53,5 @@
+
+ %pure_parser
++%parse-param { WebCore::XPath::Parser* parser }
+
+ %union
+@@ -72,5 +72,5 @@
+
+ static int xpathyylex(YYSTYPE* yylval) { return
Parser::current()->lex(yylval); }
+-static void xpathyyerror(const char*) { }
++static void xpathyyerror(void*, const char*) { }
+
+ %}
+@@ -119,5 +119,5 @@
+ OrExpr
+ {
+- PARSER->m_topExpr = $1;
++ parser->m_topExpr = $1;
+ }
+ ;
+@@ -139,5 +139,5 @@
+ {
+ $$ = new LocationPath;
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -151,5 +151,5 @@
+ $$ = $2;
+ $$->insertFirstStep($1);
+- PARSER->unregisterParseNode($1);
++ parser->unregisterParseNode($1);
+ }
+ ;
+@@ -160,6 +160,6 @@
+ $$ = new LocationPath;
+ $$->appendStep($1);
+- PARSER->unregisterParseNode($1);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -167,5 +167,5 @@
+ {
+ $$->appendStep($3);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($3);
+ }
+ |
+@@ -174,6 +174,6 @@
+ $$->appendStep($2);
+ $$->appendStep($3);
+- PARSER->unregisterParseNode($2);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($2);
++ parser->unregisterParseNode($3);
+ }
+ ;
+@@ -184,9 +184,9 @@
+ if ($2) {
+ $$ = new Step(Step::ChildAxis, *$1, *$2);
+- PARSER->deletePredicateVector($2);
++ parser->deletePredicateVector($2);
+ } else
+ $$ = new Step(Step::ChildAxis, *$1);
+- PARSER->deleteNodeTest($1);
+- PARSER->registerParseNode($$);
++ parser->deleteNodeTest($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -195,6 +195,6 @@
+ String localName;
+ String namespaceURI;
+- if (!PARSER->expandQName(*$1, localName, namespaceURI)) {
+- PARSER->m_gotNamespaceError = true;
++ if (!parser->expandQName(*$1, localName, namespaceURI)) {
++ parser->m_gotNamespaceError = true;
+ YYABORT;
+ }
+@@ -202,9 +202,9 @@
+ if ($2) {
+ $$ = new Step(Step::ChildAxis,
Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
+- PARSER->deletePredicateVector($2);
++ parser->deletePredicateVector($2);
+ } else
+ $$ = new Step(Step::ChildAxis,
Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -213,9 +213,9 @@
+ if ($3) {
+ $$ = new Step($1, *$2, *$3);
+- PARSER->deletePredicateVector($3);
++ parser->deletePredicateVector($3);
+ } else
+ $$ = new Step($1, *$2);
+- PARSER->deleteNodeTest($2);
+- PARSER->registerParseNode($$);
++ parser->deleteNodeTest($2);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -224,6 +224,6 @@
+ String localName;
+ String namespaceURI;
+- if (!PARSER->expandQName(*$2, localName, namespaceURI)) {
+- PARSER->m_gotNamespaceError = true;
++ if (!parser->expandQName(*$2, localName, namespaceURI)) {
++ parser->m_gotNamespaceError = true;
+ YYABORT;
+ }
+@@ -231,9 +231,9 @@
+ if ($3) {
+ $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest,
localName, namespaceURI), *$3);
+- PARSER->deletePredicateVector($3);
++ parser->deletePredicateVector($3);
+ } else
+ $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest,
localName, namespaceURI));
+- PARSER->deleteString($2);
+- PARSER->registerParseNode($$);
++ parser->deleteString($2);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -260,6 +260,6 @@
+ $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
+
+- PARSER->deleteString($1);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->registerNodeTest($$);
+ }
+ |
+@@ -267,6 +267,6 @@
+ {
+ $$ = new
Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
+- PARSER->deleteString($1);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->registerNodeTest($$);
+ }
+ |
+@@ -274,7 +274,7 @@
+ {
+ $$ = new
Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest,
$3->stripWhiteSpace());
+- PARSER->deleteString($1);
+- PARSER->deleteString($3);
+- PARSER->registerNodeTest($$);
++ parser->deleteString($1);
++ parser->deleteString($3);
++ parser->registerNodeTest($$);
+ }
+ ;
+@@ -294,6 +294,6 @@
+ $$ = new Vector<Predicate*>;
+ $$->append(new Predicate($1));
+- PARSER->unregisterParseNode($1);
+- PARSER->registerPredicateVector($$);
++ parser->unregisterParseNode($1);
++ parser->registerPredicateVector($$);
+ }
+ |
+@@ -301,5 +301,5 @@
+ {
+ $$->append(new Predicate($2));
+- PARSER->unregisterParseNode($2);
++ parser->unregisterParseNode($2);
+ }
+ ;
+@@ -316,5 +316,5 @@
+ {
+ $$ = new Step(Step::DescendantOrSelfAxis,
Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -324,5 +324,5 @@
+ {
+ $$ = new Step(Step::SelfAxis,
Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -330,5 +330,5 @@
+ {
+ $$ = new Step(Step::ParentAxis,
Step::NodeTest(Step::NodeTest::AnyNodeTest));
+- PARSER->registerParseNode($$);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -338,6 +338,6 @@
+ {
+ $$ = new VariableReference(*$1);
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -350,6 +350,6 @@
+ {
+ $$ = new StringExpression(*$1);
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -357,6 +357,6 @@
+ {
+ $$ = new Number($1->toDouble());
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -370,6 +370,6 @@
+ if (!$$)
+ YYABORT;
+- PARSER->deleteString($1);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -379,7 +379,7 @@
+ if (!$$)
+ YYABORT;
+- PARSER->deleteString($1);
+- PARSER->deleteExpressionVector($3);
+- PARSER->registerParseNode($$);
++ parser->deleteString($1);
++ parser->deleteExpressionVector($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -390,6 +390,6 @@
+ $$ = new Vector<Expression*>;
+ $$->append($1);
+- PARSER->unregisterParseNode($1);
+- PARSER->registerExpressionVector($$);
++ parser->unregisterParseNode($1);
++ parser->registerExpressionVector($$);
+ }
+ |
+@@ -397,5 +397,5 @@
+ {
+ $$->append($3);
+- PARSER->unregisterParseNode($3);
++ parser->unregisterParseNode($3);
+ }
+ ;
+@@ -413,7 +413,7 @@
+ $$->addSubExpression($1);
+ $$->addSubExpression($3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -431,7 +431,7 @@
+ $3->setAbsolute(true);
+ $$ = new Path(static_cast<Filter*>($1), $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -441,8 +441,8 @@
+ $3->setAbsolute(true);
+ $$ = new Path(static_cast<Filter*>($1), $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($2);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($2);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -454,7 +454,7 @@
+ {
+ $$ = new Filter($1, *$2);
+- PARSER->unregisterParseNode($1);
+- PARSER->deletePredicateVector($2);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->deletePredicateVector($2);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -466,7 +466,7 @@
+ {
+ $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -478,7 +478,7 @@
+ {
+ $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -490,7 +490,7 @@
+ {
+ $$ = new EqTestOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -502,7 +502,7 @@
+ {
+ $$ = new EqTestOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -514,7 +514,7 @@
+ {
+ $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ |
+@@ -522,7 +522,7 @@
+ {
+ $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -534,7 +534,7 @@
+ {
+ $$ = new NumericOp($2, $1, $3);
+- PARSER->unregisterParseNode($1);
+- PARSER->unregisterParseNode($3);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($1);
++ parser->unregisterParseNode($3);
++ parser->registerParseNode($$);
+ }
+ ;
+@@ -547,6 +547,6 @@
+ $$ = new Negative;
+ $$->addSubExpression($2);
+- PARSER->unregisterParseNode($2);
+- PARSER->registerParseNode($$);
++ parser->unregisterParseNode($2);
++ parser->registerParseNode($$);
+ }
+ ;
diff --git a/java/antlr/HISTORY b/java/antlr/HISTORY
index b347d88..7d882db 100644
--- a/java/antlr/HISTORY
+++ b/java/antlr/HISTORY
@@ -1,3 +1,7 @@
+2012-07-29 Sukneet Basuta <sukneet AT sourcemage.org>
+ * SUB_DEPENDS, PRE_SUB_DEPENDS, REPAIR^all^PRE_SUB_DEPENDS: added,
+ to force JAVA optional_depends
+
2011-07-30 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* DEPENDS: changed dependency on g++ to dependency on gcc with
sub-depends on CXX (scripted)
diff --git a/java/antlr/PRE_SUB_DEPENDS b/java/antlr/PRE_SUB_DEPENDS
new file mode 100755
index 0000000..38770c0
--- /dev/null
+++ b/java/antlr/PRE_SUB_DEPENDS
@@ -0,0 +1,6 @@
+case $THIS_SUB_DEPENDS in
+ JAVA) is_depends_enabled $SPELL $(get_spell_provider $SPELL JAVA);;
+ *) message "${PROBLEM_COLOR}bogus sub_depends: $SPELL
$THIS_SUB_DEPENDS${DEFAULT_COLOR}"
+ return 1;;
+esac
+
diff --git a/java/antlr/REPAIR^all^PRE_SUB_DEPENDS
b/java/antlr/REPAIR^all^PRE_SUB_DEPENDS
new file mode 100755
index 0000000..38770c0
--- /dev/null
+++ b/java/antlr/REPAIR^all^PRE_SUB_DEPENDS
@@ -0,0 +1,6 @@
+case $THIS_SUB_DEPENDS in
+ JAVA) is_depends_enabled $SPELL $(get_spell_provider $SPELL JAVA);;
+ *) message "${PROBLEM_COLOR}bogus sub_depends: $SPELL
$THIS_SUB_DEPENDS${DEFAULT_COLOR}"
+ return 1;;
+esac
+
diff --git a/java/antlr/SUB_DEPENDS b/java/antlr/SUB_DEPENDS
new file mode 100755
index 0000000..1dd11f7
--- /dev/null
+++ b/java/antlr/SUB_DEPENDS
@@ -0,0 +1,6 @@
+case $THIS_SUB_DEPENDS in
+ JAVA) message "JAVA support requested, forcing JAVA dependency" &&
+ depends JAVA '--enable-java' ;;
+ *) message "${PROBLEM_COLOR}bogus sub_depends: $SPELL
$THIS_SUB_DEPENDS${DEFAULT_COLOR}"
+ return 1;;
+esac
diff --git a/kde4-apps/KDE_DEPENDS b/kde4-apps/KDE_DEPENDS
index 4ea0397..04814f6 100755
--- a/kde4-apps/KDE_DEPENDS
+++ b/kde4-apps/KDE_DEPENDS
@@ -1,5 +1,5 @@
depends -sub CXX gcc &&
-depends cmake
+depends cmake &&

-#depends kdebase4-runtime &&
-#optional_depends kdebase-workspace4 '' '' 'kde desktop'
+depends kdebase4-runtime &&
+optional_depends kdebase-workspace4 '' '' 'kde desktop'
diff --git a/kernels/linux/HISTORY b/kernels/linux/HISTORY
index a9d4b4b..a5b1199 100644
--- a/kernels/linux/HISTORY
+++ b/kernels/linux/HISTORY
@@ -1,3 +1,12 @@
+2012-08-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * info/patches/maintenance_patches_3/patch-3.0.{39,40}: added
+ * info/patches/maintenance_patches_3/patch-3.2.{24-26}: added
+ * info/patches/maintenance_patches_3/patch-3.4.{7,8}: added
+
+2012-08-09 Ladislav Hagara <hgr AT vabo.cz>
+ * latest.defaults: LATEST_maintenance_patches_3=patch-3.5.1
+ * info/patches/maintenance_patches_3/patch-3.5.1: added
+
2012-07-26 Vlad Glagolev <stealth AT sourcemage.org>
* info/patches/maintenance_patches_3/patch-3.0.38: added

diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.0.39
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.0.39
new file mode 100755
index 0000000..0ca8d38
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.0.39
@@ -0,0 +1,5 @@
+appliedkernels="3.0"
+patchversion="${appliedkernels}.39"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.0/${source}"
+sha1sum="50080958f96a73e3d35a9bf9bbb4453eb1777979"
diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.0.40
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.0.40
new file mode 100755
index 0000000..4573269
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.0.40
@@ -0,0 +1,5 @@
+appliedkernels="3.0"
+patchversion="${appliedkernels}.40"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.0/${source}"
+sha1sum="8d8076d786e4e4ebfb9f30b8a07ca31ec186de4a"
diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.24
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.24
new file mode 100755
index 0000000..ec1a93c
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.24
@@ -0,0 +1,5 @@
+appliedkernels="3.2"
+patchversion="${appliedkernels}.24"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.x/${source}"
+sha1sum="a500078ccfc7d477e321add7f707b2b2e88d1aba"
diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.25
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.25
new file mode 100755
index 0000000..584beae
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.25
@@ -0,0 +1,5 @@
+appliedkernels="3.2"
+patchversion="${appliedkernels}.25"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.x/${source}"
+sha1sum="9f9584acdccbc906487e5ee36534fa3fe5e957a6"
diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.26
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.26
new file mode 100755
index 0000000..ab0dfb9
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.2.26
@@ -0,0 +1,5 @@
+appliedkernels="3.2"
+patchversion="${appliedkernels}.26"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.x/${source}"
+sha1sum="8db825b6573e55d7c181f2b5f5ba4a655ab25a18"
diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.4.7
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.4.7
new file mode 100755
index 0000000..189a70f
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.4.7
@@ -0,0 +1,5 @@
+appliedkernels="3.4"
+patchversion="${appliedkernels}.7"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.x/${source}"
+sha1sum="403972f3e66ad5c6d9661c20dd4dc0ed10c6645a"
diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.4.8
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.4.8
new file mode 100755
index 0000000..2ac2b7c
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.4.8
@@ -0,0 +1,5 @@
+appliedkernels="3.4"
+patchversion="${appliedkernels}.8"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.x/${source}"
+sha1sum="5da9d3a989d9459aaa794a5daf9e5196b2449dda"
diff --git a/kernels/linux/info/patches/maintenance_patches_3/patch-3.5.1
b/kernels/linux/info/patches/maintenance_patches_3/patch-3.5.1
new file mode 100755
index 0000000..593b31d
--- /dev/null
+++ b/kernels/linux/info/patches/maintenance_patches_3/patch-3.5.1
@@ -0,0 +1,5 @@
+appliedkernels="3.5"
+patchversion="${appliedkernels}.1"
+source="patch-${patchversion}.bz2"
+source_url="${KERNEL_URL}/pub/linux/kernel/v3.x/${source}"
+sha1sum="3c290f2cb7d0c3f77d31817e11ca2d7f89434ccf"
diff --git a/kernels/linux/latest.defaults b/kernels/linux/latest.defaults
index b532346..48f5c81 100644
--- a/kernels/linux/latest.defaults
+++ b/kernels/linux/latest.defaults
@@ -2,7 +2,7 @@ LATEST_3=3.5
LATEST_2_6=2.6.39
LATEST_PRE_2_6=patch-2.6.39
LATEST_maintenance_patches=patch-2.6.39.4
-LATEST_maintenance_patches_3=patch-3.5
+LATEST_maintenance_patches_3=patch-3.5.1
LATEST_git_patches=patch-2.6.25-rc6-git7
LATEST_2_4=2.4.37.9
LATEST_PRE_2_4=patch-2.4.33-pre1
diff --git a/libs/libxml2/DETAILS b/libs/libxml2/DETAILS
index b094dd4..d056161 100755
--- a/libs/libxml2/DETAILS
+++ b/libs/libxml2/DETAILS
@@ -1,6 +1,6 @@
SPELL=libxml2
VERSION=2.8.0
- SECURITY_PATCH=7
+ SECURITY_PATCH=8

SOURCE_HASH=sha512:e36ca96e5ba18f767346f1310c43d3c8c9a35c53252de18ad63ebce7f1f8df7ae40dd0719b2c6d78f5a64e61be154eec63a36ae738d29e93a9139c524a289ad4
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
diff --git a/libs/libxml2/HISTORY b/libs/libxml2/HISTORY
index d1aaa7f..37bb42e 100644
--- a/libs/libxml2/HISTORY
+++ b/libs/libxml2/HISTORY
@@ -1,3 +1,8 @@
+2012-08-10 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: SECURITY_PATCH++ (CVE-2012-2807)
+ * PRE_BUILD: added, to apply the patch
+ * bufsize.patch.gz: added, official patch to fix several security
issues
+
2012-05-24 Vlad Glagolev <stealth AT sourcemage.org>
* DETAILS: updated spell to 2.8.0
* DEPENDS: added xz-utils opt dep for LZMA support
diff --git a/libs/libxml2/PRE_BUILD b/libs/libxml2/PRE_BUILD
new file mode 100755
index 0000000..c7262aa
--- /dev/null
+++ b/libs/libxml2/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+
+zcat "$SPELL_DIRECTORY/bufsize.patch.gz" | patch -p1
diff --git a/libs/libxml2/bufsize.patch.gz b/libs/libxml2/bufsize.patch.gz
new file mode 100644
index 0000000..5106ed6
Binary files /dev/null and b/libs/libxml2/bufsize.patch.gz differ
diff --git a/net/openntpd/BUILD b/net/openntpd/BUILD
index a125806..6384556 100755
--- a/net/openntpd/BUILD
+++ b/net/openntpd/BUILD
@@ -1,3 +1,7 @@
create_account ntp &&
-OPTS="$OPTS --with-privsep-user=ntp" &&
+
+OPTS="--with-privsep-user=ntp \
+ --with-adjtimex \
+ $OPTS" &&
+
default_build
diff --git a/net/openntpd/DETAILS b/net/openntpd/DETAILS
index 9f1b3eb..75aa94c 100755
--- a/net/openntpd/DETAILS
+++ b/net/openntpd/DETAILS
@@ -1,5 +1,6 @@
SPELL=openntpd
VERSION=3.9p1
+ PATCHLEVEL=1

SOURCE_HASH=sha512:e19e7242b67c8d12fbf0a78cd29dae4248afff5b5308069b190b663a9f9426666aad20f8c9ec70fabf8d2e5c2a2e61052191fe4ccc132c62a7decd8c498c2a13
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_URL[0]=ftp://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/$SOURCE
diff --git a/net/openntpd/HISTORY b/net/openntpd/HISTORY
index 7c7df60..5ab26b3 100644
--- a/net/openntpd/HISTORY
+++ b/net/openntpd/HISTORY
@@ -1,3 +1,9 @@
+2012-08-07 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: PATCHLEVEL=1
+ * BUILD: apply adjtimex flag, readbility++
+ * PRE_BUILD: added, to apply the patch
+ * linux-adjtimex.patch: added, to fix time sync on modern systems
+
2008-09-29 Elisamuel Resto <ryuji AT sourcemage.org>
* DETAILS: added 4 mirrors

diff --git a/net/openntpd/PRE_BUILD b/net/openntpd/PRE_BUILD
new file mode 100755
index 0000000..7c4bd48
--- /dev/null
+++ b/net/openntpd/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+
+patch -p1 < "$SPELL_DIRECTORY/linux-adjtimex.patch"
diff --git a/net/openntpd/linux-adjtimex.patch
b/net/openntpd/linux-adjtimex.patch
new file mode 100644
index 0000000..e7b72da
--- /dev/null
+++ b/net/openntpd/linux-adjtimex.patch
@@ -0,0 +1,168 @@
+Only in openntpd-3.9p1.old: configure
+diff -ur --unidirectional-new-file openntpd-3.9p1.old/configure.ac
openntpd-3.9p1/configure.ac
+--- openntpd-3.9p1.old/configure.ac 2006-05-14 07:29:23.000000000 +0200
++++ openntpd-3.9p1/configure.ac 2008-02-07 13:13:18.066366142 +0100
+@@ -583,6 +583,11 @@
+ [ builtin_arc4random=$withval ]
+ )
+
++AC_ARG_WITH(adjtimex,
++ [ --with-adjtimex Use adjtimex to adjust kernel
skew],
++ [ AC_DEFINE(USE_ADJTIMEX, [], [Use adjust skew with adjtimex
(experimental)]) ]
++ )
++
+ AC_ARG_WITH(mantype,
+ [ --with-mantype=man|cat|doc Set man page type],
+ [
+diff -ur --unidirectional-new-file openntpd-3.9p1.old/defines.h
openntpd-3.9p1/defines.h
+--- openntpd-3.9p1.old/defines.h 2006-05-14 07:29:21.000000000 +0200
++++ openntpd-3.9p1/defines.h 2008-02-07 13:14:34.488711868 +0100
+@@ -20,6 +20,10 @@
+ # define setproctitle(x)
+ #endif
+
++#ifdef USE_ADJTIMEX
++# define adjtime(a,b) (_compat_adjtime((a),(b)))
++#endif
++
+ #if !defined(SA_LEN)
+ # if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)
+ # define SA_LEN(x) ((x)->sa_len)
+Only in openntpd-3.9p1.old: ntpd.0
+Only in openntpd-3.9p1.old: ntpd.conf.0
+diff -ur --unidirectional-new-file
openntpd-3.9p1.old/openbsd-compat/Makefile.in
openntpd-3.9p1/openbsd-compat/Makefile.in
+--- openntpd-3.9p1.old/openbsd-compat/Makefile.in 2006-05-14
07:29:19.000000000 +0200
++++ openntpd-3.9p1/openbsd-compat/Makefile.in 2008-02-07 13:31:39.499728930
+0100
+@@ -9,7 +9,7 @@
+ COMPAT= atomicio.o bsd-arc4random.o bsd-misc.o bsd-poll.o \
+ bsd-snprintf.o bsd-getifaddrs.o bsd-setresuid.o \
+ bsd-setresgid.o fake-rfc2553.o
+-PORT= port-qnx.o
++PORT= port-linux.o port-qnx.o
+
+ VPATH=@srcdir@
+ CC=@CC@
+diff -ur --unidirectional-new-file
openntpd-3.9p1.old/openbsd-compat/openbsd-compat.h
openntpd-3.9p1/openbsd-compat/openbsd-compat.h
+--- openntpd-3.9p1.old/openbsd-compat/openbsd-compat.h 2006-05-14
07:29:19.000000000 +0200
++++ openntpd-3.9p1/openbsd-compat/openbsd-compat.h 2008-02-07
13:17:00.272366764 +0100
+@@ -46,6 +46,11 @@
+ __attribute__((__format__ (printf, 2, 3)));
+ #endif
+
++#ifdef USE_ADJTIMEX
++# include <sys/time.h>
++int _compat_adjtime(const struct timeval *, struct timeval *);
++#endif
++
+ #ifndef HAVE_INET_PTON
+ int inet_pton(int, const char *, void *);
+ #endif
+diff -ur --unidirectional-new-file
openntpd-3.9p1.old/openbsd-compat/port-linux.c
openntpd-3.9p1/openbsd-compat/port-linux.c
+--- openntpd-3.9p1.old/openbsd-compat/port-linux.c 1970-01-01
01:00:00.000000000 +0100
++++ openntpd-3.9p1/openbsd-compat/port-linux.c 2008-02-07 13:24:43.800366563
+0100
+@@ -0,0 +1,105 @@
++
++
++/*
++ * Copyright (c) 2004 Darren Tucker <dtucker at zip com au>
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#include "includes.h"
++
++#ifdef USE_ADJTIMEX
++#include <sys/timex.h>
++#include <errno.h>
++#ifdef adjtime
++# undef adjtime
++#endif
++
++#include "ntpd.h"
++
++/* scale factor used by adjtimex freq param. 1 ppm = 65536 */
++#define ADJTIMEX_FREQ_SCALE 65536
++
++/* maximum change to skew per adjustment, in PPM */
++#define MAX_SKEW_DELTA 5.0
++
++int
++_compat_adjtime(const struct timeval *delta, struct timeval *olddelta)
++{
++ static struct timeval tlast = {0,0};
++ static double tskew = 0;
++ static int synced = -1;
++ struct timeval tnow, tdelta;
++ double skew = 0, newskew, deltaskew, adjust, interval = 0;
++ struct timex tmx;
++ int result, saved_errno;
++
++ gettimeofday(&tnow, NULL);
++ adjust = (double)delta->tv_sec;
++ adjust += (double)delta->tv_usec / 1000000;
++
++ /* Even if the caller doesn't care about the olddelta, we do */
++ if (olddelta == NULL)
++ olddelta = &tdelta;
++
++ result = adjtime(delta, olddelta);
++ saved_errno = errno;
++
++ if (olddelta->tv_sec == 0 && olddelta->tv_usec == 0 &&
++ synced != INT_MAX)
++ synced++;
++ else
++ synced = 0;
++
++ /*
++ * do skew calculations if we have synced
++ */
++ if (synced == 0 ) {
++ tmx.modes = 0;
++ if (adjtimex(&tmx) == -1)
++ log_warn("adjtimex get failed");
++ else
++ tskew = (double)tmx.freq / ADJTIMEX_FREQ_SCALE;
++ } else if (synced >= 1) {
++ interval = (double)(tnow.tv_sec - tlast.tv_sec);
++ interval += (double)(tnow.tv_usec - tlast.tv_usec) / 1000000;
++
++ skew = (adjust * 1000000) / interval;
++ newskew = ((tskew * synced) + skew) / synced;
++ deltaskew = newskew - tskew;
++
++ if (deltaskew > MAX_SKEW_DELTA) {
++ log_info("skew change %0.3lf exceeds limit",
deltaskew);
++ tskew += MAX_SKEW_DELTA;
++ } else if (deltaskew < -MAX_SKEW_DELTA) {
++ log_info("skew change %0.3lf exceeds limit",
deltaskew);
++ tskew -= MAX_SKEW_DELTA;
++ } else {
++ tskew = newskew;
++ }
++
++ /* Adjust the kernel skew. */
++ tmx.freq = (long)(tskew * ADJTIMEX_FREQ_SCALE);
++ tmx.modes = ADJ_FREQUENCY;
++ if (adjtimex(&tmx) == -1)
++ log_warn("adjtimex set freq failed");
++ }
++
++ log_debug("interval %0.3lf skew %0.3lf total skew %0.3lf", interval,
++ skew, tskew);
++
++ tlast = tnow;
++ errno = saved_errno;
++ return result;
++}
++#endif
diff --git a/net/tinc/BUILD b/net/tinc/BUILD
new file mode 100755
index 0000000..5f63f8e
--- /dev/null
+++ b/net/tinc/BUILD
@@ -0,0 +1,3 @@
+OPTS="$TINC_OPTS $OPTS" &&
+
+default_build
diff --git a/net/tinc/CONFIGURE b/net/tinc/CONFIGURE
new file mode 100755
index 0000000..8209925
--- /dev/null
+++ b/net/tinc/CONFIGURE
@@ -0,0 +1,3 @@
+config_query_option TINC_OPTS "Enable support for jumbograms (packets up to
9000 bytes)?" y \
+ "--enable-jumbograms" \
+ "--disable-jumbograms"
diff --git a/net/tinc/DEPENDS b/net/tinc/DEPENDS
index 1f00205..3a0df5c 100755
--- a/net/tinc/DEPENDS
+++ b/net/tinc/DEPENDS
@@ -1,3 +1,11 @@
depends openssl &&
-depends zlib &&
-depends lzo
+
+optional_depends zlib \
+ "--enable-zlib" \
+ "--disable-zlib" \
+ "for zlib compression support" &&
+
+optional_depends lzo \
+ "--enable-lzo" \
+ "--disable-lzo" \
+ "for lzo compression support"
diff --git a/net/tinc/DETAILS b/net/tinc/DETAILS
index 7be9821..dea04dc 100755
--- a/net/tinc/DETAILS
+++ b/net/tinc/DETAILS
@@ -1,5 +1,5 @@
SPELL=tinc
- VERSION=1.0.11
+ VERSION=1.0.19
SOURCE="$SPELL-$VERSION.tar.gz"
SOURCE2=$SOURCE.sig
SOURCE_URL[0]=http://www.$SPELL-vpn.org/packages/$SOURCE
@@ -10,12 +10,14 @@ SOURCE_DIRECTORY="${BUILD_DIRECTORY}/$SPELL-$VERSION"
WEB_SITE=http://www.tinc-vpn.org/
LICENSE[0]=GPL
ENTERED=20070116
- SHORT="tinc is a Virtual Private Network (VPN) daemon"
+ SHORT="Virtual Private Network (VPN) daemon"
cat << EOF
tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and
encryption to create a secure private network between hosts on the Internet.

-* Encryption, authentication and compression * Automatic full mesh routing *
-Easily expand your VPN * Ability to bridge ethernet segments * Runs on many
-operating systems and supports IPv6
+ * Encryption, authentication and compression
+ * Automatic full mesh routing
+ * Easily expand your VPN
+ * Ability to bridge ethernet segments
+ * Runs on many operating systems and supports IPv6
EOF
diff --git a/net/tinc/HISTORY b/net/tinc/HISTORY
index 7cc9fee..b588c70 100644
--- a/net/tinc/HISTORY
+++ b/net/tinc/HISTORY
@@ -1,3 +1,12 @@
+2012-07-31 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: updated spell to 1.0.19; corrected descriptions
+ * DEPENDS: zlib and lzo are optional
+ * CONFIGURE: added, for jumbograms config option
+ * INSTALL: added, to install init script config
+ * BUILD: added, for TINC_OPTS
+ * PREPARE: added, to prevent building malfunctional spell
+ * init.d/tinc{,.conf}: added init system
+
2009-11-11 Bor Kraljič <pyrobor AT ver.si>
* C0D71F4A.gpg: added gpg keyring
* DETAILS: updated spell to 1.0.11
diff --git a/net/tinc/INSTALL b/net/tinc/INSTALL
new file mode 100755
index 0000000..774524a
--- /dev/null
+++ b/net/tinc/INSTALL
@@ -0,0 +1,6 @@
+default_install &&
+
+if [[ $INIT_INSTALLED ]]; then
+ install_config_file "$SPELL_DIRECTORY/init.d/tinc.conf" \
+ "$INSTALL_ROOT/etc/sysconfig/tinc"
+fi
diff --git a/net/tinc/PREPARE b/net/tinc/PREPARE
new file mode 100755
index 0000000..eb1f41d
--- /dev/null
+++ b/net/tinc/PREPARE
@@ -0,0 +1,5 @@
+. $GRIMOIRE/FUNCTIONS &&
+
+if [ -z "$(get_sorcery_kernel_config CONFIG_TUN)" ]; then
+ message "${PROBLEM_COLOR}Your kernel does not appear to have tun/tap
support enabled (CONFIG_TUN is not set). $SPELL will not function without
tun/tap support.${DEFAULT_COLOR}"
+fi
diff --git a/net/tinc/init.d/tinc b/net/tinc/init.d/tinc
new file mode 100755
index 0000000..e5f84ca
--- /dev/null
+++ b/net/tinc/init.d/tinc
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+. /etc/sysconfig/tinc
+
+PROGRAM=/usr/sbin/tincd
+ARGS="$TINCD_ARGS"
+RUNLEVEL=3
+NEEDS="+network"
+
+. /etc/init.d/smgl_init
+
+stop() {
+ echo "Stopping $NAME..."
+ $PROGRAM $ARGS --kill
+ evaluate_retval
+}
diff --git a/net/tinc/init.d/tinc.conf b/net/tinc/init.d/tinc.conf
new file mode 100644
index 0000000..e32c8bc
--- /dev/null
+++ b/net/tinc/init.d/tinc.conf
@@ -0,0 +1,3 @@
+# For the arguments and description see tincd(8)
+
+TINCD_ARGS=""
diff --git a/smgl/castfs/DETAILS b/smgl/castfs/DETAILS
index 57caacd..5ddd3bb 100755
--- a/smgl/castfs/DETAILS
+++ b/smgl/castfs/DETAILS
@@ -14,6 +14,7 @@ SOURCE_DIRECTORY=$BUILD_DIRECTORY/${SPELL}-git
FORCE_DOWNLOAD=1
else
VERSION=0.6.1
+ PATCHLEVEL=4
SOURCE=${SPELL}-${VERSION}.tar.bz2
SOURCE2=${SOURCE}.sig
SOURCE_DIRECTORY=$BUILD_DIRECTORY/${SPELL}-${VERSION}
@@ -27,7 +28,6 @@ fi
LICENSE[0]=GPL
KEYWORDS="filesystems smgl"
SHORT="Fuse filesystem used for staging packages."
- PATCHLEVEL=3
cat << EOF
castfs is a fuse filesystem written in C and is used for capturing
filesystem
calls for your root filesystem and staging any modifications or additions to
diff --git a/smgl/castfs/HISTORY b/smgl/castfs/HISTORY
index abe8701..6c0c4df 100644
--- a/smgl/castfs/HISTORY
+++ b/smgl/castfs/HISTORY
@@ -1,3 +1,10 @@
+2012-08-05 Vlad Glagolev <stealth AT sourcemage.org>
+ * DETAILS: register new triggers (PATCHLEVEL+=1)
+ * TRIGGERS: corrected static build check
+ * PRE_BUILD: apply the patch
+ * argc.patch: added, to prevent crashing when ran without arguments
+ (fixes #395)
+
2012-06-06 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* BUILD: added -lpthread to LDFLAGS to prevent link error

diff --git a/smgl/castfs/PRE_BUILD b/smgl/castfs/PRE_BUILD
index 946a46c..20c1e58 100755
--- a/smgl/castfs/PRE_BUILD
+++ b/smgl/castfs/PRE_BUILD
@@ -1,4 +1,7 @@
default_pre_build &&
cd $SOURCE_DIRECTORY &&
+
+patch -p0 < "$SPELL_DIRECTORY/argc.patch" &&
+
# disable the xattr functions until they get fixed #14479
sed -i 's,setxattr,,' configure
diff --git a/smgl/castfs/TRIGGERS b/smgl/castfs/TRIGGERS
index 1324f64..6af29bb 100755
--- a/smgl/castfs/TRIGGERS
+++ b/smgl/castfs/TRIGGERS
@@ -1,3 +1,3 @@
-if [[ $STATIC_FUSE == y ]]; then
+if list_find "$STATIC_FUSE" "--enable-static-fuse"; then
on_cast fuse cast_self
fi
diff --git a/smgl/castfs/argc.patch b/smgl/castfs/argc.patch
new file mode 100644
index 0000000..a70bc69
--- /dev/null
+++ b/smgl/castfs/argc.patch
@@ -0,0 +1,30 @@
+--- src/castfs.c.orig 2010-03-30 09:07:57.000000000 +0400
++++ src/castfs.c 2012-08-05 16:05:34.667167115 +0400
+@@ -724,6 +724,13 @@
+ char *new_argv[argc], *logptr, *dbgptr, deflog[]="/tmp/castfs.log";
+ int new_argc = 0;
+
++ /* Currently, need: `castfs mnt-dir -o stage=stage-dir` */
++ if (argc < 4) {
++fprintf(stderr, "castfs: argc wrong\n");
++ usage();
++ exit(-1);
++ }
++
+ /* get environmental vars and open fd's for log file */
+ umask(0);
+
+@@ -760,13 +767,6 @@
+ dbglvl = dbgdef; // Toggle the needed bits.
+ }
+
+- /* Currently, need: `castfs mnt-dir -o stage=stage-dir` */
+- if (argc < 4) {
+-fprintf(stderr, "castfs: argc wrong\n");
+- usage();
+- exit(-1);
+- }
+-
+ /* dump some nice header information in the log file */
+ cast_log(CAST_DBG_MAIN, "main\n");
+ cast_log(CAST_DBG_MAIN, "logfile %s fd %d\n",
getenv("CASTFS_LOGFILE"),



  • [SM-Commit] GIT changes to stable-0.61 grimoire by Vlad Glagolev (cbf69137b2f1132c0885c681b67994f4acb21753), Vlad Glagolev, 08/10/2012

Archive powered by MHonArc 2.6.24.

Top of Page