summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/Config.in1
-rw-r--r--package/Makefile1
-rw-r--r--package/base-files/Makefile2
-rw-r--r--package/base-files/extra/etc/group1
-rw-r--r--package/base-files/extra/etc/mdev.conf2
-rw-r--r--package/base-files/extra/etc/passwd1
-rwxr-xr-xpackage/base-files/extra/init8
-rw-r--r--package/busybox/config/editors/Config.in2
-rw-r--r--package/busybox/config/miscutils/Config.in2
-rw-r--r--package/dropbear/files/dropbear.postinst2
-rw-r--r--package/libvirt/Config.in2
-rw-r--r--package/libvirt/Makefile10
-rw-r--r--package/microperl/Makefile5
-rw-r--r--package/mksh/Makefile4
-rw-r--r--package/openssh/Makefile5
-rw-r--r--package/openssh/files/sshd_config2
-rw-r--r--package/openssh/patches/patch-auth2-jpake_c79
-rw-r--r--package/openssh/patches/patch-channels_c29
-rw-r--r--package/openssh/patches/patch-clientloop_c20
-rw-r--r--package/openssh/patches/patch-jpake_c38
-rw-r--r--package/openssh/patches/patch-monitor_c62
-rw-r--r--package/openssh/patches/patch-openbsd-compat_port-tun_c13
-rw-r--r--package/openssh/patches/patch-schnorr_c11
-rw-r--r--package/openssh/patches/patch-session_c11
-rw-r--r--package/openssh/patches/patch-sftp-client_c11
-rw-r--r--package/openssh/patches/patch-ssh_c13
-rw-r--r--package/openssh/patches/patch-sshconnect2_c71
-rw-r--r--package/openssl/Makefile20
-rw-r--r--package/python/Config.in6
-rw-r--r--package/python/Makefile56
-rw-r--r--package/python/patches/patch-Makefile_pre_in108
-rw-r--r--package/python/patches/patch-Modules__io__iomodule_h14
-rw-r--r--package/python/patches/patch-configure324
33 files changed, 904 insertions, 32 deletions
diff --git a/package/Config.in b/package/Config.in
index 43f8a4760..4a9c4ea38 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -376,6 +376,7 @@ source "package/m4/Config.in"
source "package/make/Config.in"
source "package/microperl/Config.in"
source "package/php/Config.in"
+source "package/python/Config.in"
source "package/ruby/Config.in"
source "package/libffi/Config.in"
source "package/tcl/Config.in"
diff --git a/package/Makefile b/package/Makefile
index c4f8dcb97..c6c2d4114 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -321,6 +321,7 @@ package-$(ADK_PACKAGE_PRIVOXY) += privoxy
package-$(ADK_PACKAGE_PROCMAIL) += procmail
package-$(ADK_PACKAGE_PROCPS) += procps
package-$(ADK_PACKAGE_PTUNNEL) += ptunnel
+package-$(ADK_PACKAGE_PYTHON) += python
package-$(ADK_PACKAGE_QUAGGA) += quagga
package-$(ADK_PACKAGE_RADDUMP) += raddump
package-$(ADK_PACKAGE_RADVD) += radvd
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 213895e96..52130bf10 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
PKG_NAME:= base-files
PKG_VERSION:= 1.0
-PKG_RELEASE:= 5
+PKG_RELEASE:= 6
PKG_DESCR:= basic filesystem structure and scripts
PKG_SECTION:= base
diff --git a/package/base-files/extra/etc/group b/package/base-files/extra/etc/group
index 1f444a8bf..c4e77f316 100644
--- a/package/base-files/extra/etc/group
+++ b/package/base-files/extra/etc/group
@@ -1,3 +1,2 @@
root:x:0:
-admin:x:100:
nogroup:x:65534:
diff --git a/package/base-files/extra/etc/mdev.conf b/package/base-files/extra/etc/mdev.conf
index 61b818523..99c910d0b 100644
--- a/package/base-files/extra/etc/mdev.conf
+++ b/package/base-files/extra/etc/mdev.conf
@@ -6,6 +6,6 @@ kmem 0:0 000
mem 0:0 0640
port 0:0 0640
ptmx 0:0 666
-tty 0:0 0660
+tty 0:0 0666
ttyS* 0:0 640
.* 0:0 644 @/lib/mdev/init
diff --git a/package/base-files/extra/etc/passwd b/package/base-files/extra/etc/passwd
index 87eee84af..32531eb92 100644
--- a/package/base-files/extra/etc/passwd
+++ b/package/base-files/extra/etc/passwd
@@ -1,3 +1,2 @@
root:x:0:0:root:/root:/bin/sh
-admin:x:100:100:admin:/tmp:/bin/sh
nobody:*:65534:65534:nobody:/var:/bin/false
diff --git a/package/base-files/extra/init b/package/base-files/extra/init
index 4b4e90213..9013065d0 100755
--- a/package/base-files/extra/init
+++ b/package/base-files/extra/init
@@ -2,10 +2,12 @@
echo "Pre-boot initializing"
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
mount -nt proc proc /proc
-size=$(awk '/MemTotal:/ { if ($2 > 16000) { print 4096 } else { print 2048 }}' /proc/meminfo)
mount -o nosuid,nodev,noexec -t sysfs sysfs /sys
-mount none /tmp -t tmpfs -o size=${size}k
-mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777
+[ ! -f /etc/notmpfs ] && {
+ size=$(awk '/MemTotal:/ { if ($2 > 16000) { print 4096 } else { print 2048 }}' /proc/meminfo)
+ mount none /tmp -t tmpfs -o size=${size}k
+ mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777
+}
mount -o nosuid,size=64k,mode=0755 -t tmpfs mdev /dev
mkdir /dev/pts /dev/shm
mount -o nosuid,noexec -t devpts devpts /dev/pts
diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in
index ad46c649b..0d598af4c 100644
--- a/package/busybox/config/editors/Config.in
+++ b/package/busybox/config/editors/Config.in
@@ -22,7 +22,7 @@ config BUSYBOX_FEATURE_AWK_LIBM
config BUSYBOX_CMP
bool "cmp"
- default n
+ default y
help
cmp is used to compare two files and returns the result
to standard output.
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index c7281edc5..d5912c6d6 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -523,7 +523,7 @@ config BUSYBOX_STRINGS
config BUSYBOX_TIME
bool "time"
- default n
+ default y
help
The time command runs the specified program with the given arguments.
When the command finishes, time writes a message to standard output
diff --git a/package/dropbear/files/dropbear.postinst b/package/dropbear/files/dropbear.postinst
index 8cde82f3f..b09c34147 100644
--- a/package/dropbear/files/dropbear.postinst
+++ b/package/dropbear/files/dropbear.postinst
@@ -1,3 +1,3 @@
#!/bin/sh
. $IPKG_INSTROOT/etc/functions.sh
-add_rcconf '"NO" to disable' dropbear_flags "-w"
+add_rcconf '"NO" to disable' dropbear_flags " "
diff --git a/package/libvirt/Config.in b/package/libvirt/Config.in
index e4a322b18..b378722b8 100644
--- a/package/libvirt/Config.in
+++ b/package/libvirt/Config.in
@@ -1,8 +1,10 @@
config ADK_PACKAGE_LIBVIRT
prompt "libvirt........................... virtualization API"
tristate
+ select ADK_PACKAGE_PYTHON
select ADK_PACKAGE_LIBXML2
select ADK_PACKAGE_LIBGNUTLS
+ select ADK_PACKAGE_BRIDGE_UTILS
default n
help
http://www.libvirt.org
diff --git a/package/libvirt/Makefile b/package/libvirt/Makefile
index dcdb0804b..f40800ded 100644
--- a/package/libvirt/Makefile
+++ b/package/libvirt/Makefile
@@ -9,7 +9,7 @@ PKG_RELEASE:= 1
PKG_MD5SUM:= 8c2c14a7695c9c661004bcfc6468d62d
PKG_DESCR:= virtualization API
PKG_SECTION:= utils
-PKG_DEPENDS:= libxml2 libgnutls
+PKG_DEPENDS:= libxml2 libgnutls python
PKG_URL:= http://www.libvirt.org
PKG_SITES:= ftp://libvirt.org/libvirt/
@@ -23,11 +23,17 @@ CONFIGURE_ARGS+= --without-xen \
--without-uml \
--without-esx \
--without-openvz \
+ --without-vbox \
--without-sasl
BUILD_STYLE:= auto
INSTALL_STYLE:= auto
post-install:
- ${INSTALL_DIR} ${IDIR_LIBVIRT}/usr/lib
+ ${INSTALL_DIR} ${IDIR_LIBVIRT}/usr/lib ${IDIR_LIBVIRT}/usr/bin
+ ${INSTALL_DIR} ${IDIR_LIBVIRT}/etc/libvirt ${IDIR_LIBVIRT}/usr/sbin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/virsh ${IDIR_LIBVIRT}/usr/bin
+ ${CP} ${WRKINST}/usr/lib/libvirt.so* ${IDIR_LIBVIRT}/usr/lib
+ ${CP} ${WRKINST}/etc/libvirt/* ${IDIR_LIBVIRT}/etc/libvirt
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/libvirtd ${IDIR_LIBVIRT}/usr/sbin
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/microperl/Makefile b/package/microperl/Makefile
index 359357462..9e3ab4fff 100644
--- a/package/microperl/Makefile
+++ b/package/microperl/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= microperl
PKG_VERSION:= 5.10.0
-PKG_RELEASE:= 2
+PKG_RELEASE:= 3
PKG_MD5SUM:= d2c39b002ebfd2c3c5dba589365c5a71
PKG_DESCR:= Perl without operating-specific functions
PKG_SECTION:= net
@@ -31,6 +31,9 @@ pre-configure:
do-install:
${INSTALL_DIR} ${IDIR_MICROPERL}/usr/bin
+ ${INSTALL_DIR} ${IDIR_MICROPERL}/usr/lib/perl5/${PKG_VERSION}
${INSTALL_BIN} ${WRKBUILD}/microperl ${IDIR_MICROPERL}/usr/bin/perl
+ ${INSTALL_DATA} ${WRKBUILD}/lib/strict.pm \
+ ${IDIR_MICROPERL}/usr/lib/perl5/${PKG_VERSION}
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/mksh/Makefile b/package/mksh/Makefile
index 101fc91fc..aeb4fe44e 100644
--- a/package/mksh/Makefile
+++ b/package/mksh/Makefile
@@ -4,9 +4,9 @@
include ${TOPDIR}/rules.mk
PKG_NAME= mksh
-PKG_VERSION= 38c
+PKG_VERSION= 39
PKG_RELEASE= 1
-PKG_MD5SUM= 692192a6468b5f5c5e559756f1851766
+PKG_MD5SUM= b2eeb4fe4ccac2704e1440e53cd2672c
PKG_DESCR:= MirBSD Korn Shell
PKG_SECTION:= shells
PKG_URL:= http://www.mirbsd.org
diff --git a/package/openssh/Makefile b/package/openssh/Makefile
index ea8d9e178..e5803b003 100644
--- a/package/openssh/Makefile
+++ b/package/openssh/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= openssh
PKG_VERSION:= 5.2p1
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= ada79c7328a8551bdf55c95e631e7dad
PKG_DESCR:= OpenSSH server
PKG_SECTION:= net
@@ -56,7 +56,8 @@ CONFIGURE_ARGS+= --disable-strip \
--without-zlib-version-check \
--sysconfdir=/etc/ssh \
--with-privsep-user=sshd \
- --with-privsep-path=/var/run/sshd
+ --with-privsep-path=/var/run/sshd \
+ --with-ssl-dir="${STAGING_DIR}/usr"
BUILD_STYLE:= auto
INSTALL_STYLE:= auto
diff --git a/package/openssh/files/sshd_config b/package/openssh/files/sshd_config
index 19b87bd17..1ef114940 100644
--- a/package/openssh/files/sshd_config
+++ b/package/openssh/files/sshd_config
@@ -38,7 +38,7 @@ HostKey /etc/ssh/ssh_host_rsa_key
# Authentication:
#LoginGraceTime 2m
-PermitRootLogin without-password
+PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
diff --git a/package/openssh/patches/patch-auth2-jpake_c b/package/openssh/patches/patch-auth2-jpake_c
new file mode 100644
index 000000000..3ea529fce
--- /dev/null
+++ b/package/openssh/patches/patch-auth2-jpake_c
@@ -0,0 +1,79 @@
+--- openssh-5.2p1.orig/auth2-jpake.c 2008-11-11 06:33:03.000000000 +0100
++++ openssh-5.2p1/auth2-jpake.c 2009-09-18 12:28:10.000000000 +0200
+@@ -172,7 +172,7 @@ derive_rawsalt(const char *username, u_c
+ fatal("%s: not enough bytes for rawsalt (want %u have %u)",
+ __func__, len, digest_len);
+ memcpy(rawsalt, digest, len);
+- bzero(digest, digest_len);
++ memset(digest, 0, digest_len);
+ xfree(digest);
+ }
+
+@@ -197,10 +197,10 @@ makesalt(u_int want, const char *user)
+ fatal("%s: want %u", __func__, want);
+
+ derive_rawsalt(user, rawsalt, sizeof(rawsalt));
+- bzero(ret, sizeof(ret));
++ memset(ret, 0, sizeof(ret));
+ for (i = 0; i < want; i++)
+ ret[i] = pw_encode64(rawsalt[i]);
+- bzero(rawsalt, sizeof(rawsalt));
++ memset(rawsalt, 0, sizeof(rawsalt));
+
+ return ret;
+ }
+@@ -354,7 +354,7 @@ auth2_jpake_get_pwdata(Authctxt *authctx
+ debug3("%s: scheme = %s", __func__, *hash_scheme);
+ JPAKE_DEBUG_BN((*s, "%s: s = ", __func__));
+ #endif
+- bzero(secret, secret_len);
++ memset(secret, 0, secret_len);
+ xfree(secret);
+ }
+
+@@ -395,12 +395,12 @@ auth2_jpake_start(Authctxt *authctxt)
+ packet_send();
+ packet_write_wait();
+
+- bzero(hash_scheme, strlen(hash_scheme));
+- bzero(salt, strlen(salt));
++ memset(hash_scheme, 0, strlen(hash_scheme));
++ memset(salt, 0, strlen(salt));
+ xfree(hash_scheme);
+ xfree(salt);
+- bzero(x3_proof, x3_proof_len);
+- bzero(x4_proof, x4_proof_len);
++ memset(x3_proof, 0, x3_proof_len);
++ memset(x4_proof, 0, x4_proof_len);
+ xfree(x3_proof);
+ xfree(x4_proof);
+
+@@ -447,8 +447,8 @@ input_userauth_jpake_client_step1(int ty
+ &pctx->b,
+ &x4_s_proof, &x4_s_proof_len));
+
+- bzero(x1_proof, x1_proof_len);
+- bzero(x2_proof, x2_proof_len);
++ memset(x1_proof, 0, x1_proof_len);
++ memset(x2_proof, 0, x2_proof_len);
+ xfree(x1_proof);
+ xfree(x2_proof);
+
+@@ -462,7 +462,7 @@ input_userauth_jpake_client_step1(int ty
+ packet_send();
+ packet_write_wait();
+
+- bzero(x4_s_proof, x4_s_proof_len);
++ memset(x4_s_proof, 0, x4_s_proof_len);
+ xfree(x4_s_proof);
+
+ /* Expect step 2 packet from peer */
+@@ -503,7 +503,7 @@ input_userauth_jpake_client_step2(int ty
+ &pctx->k,
+ &pctx->h_k_sid_sessid, &pctx->h_k_sid_sessid_len));
+
+- bzero(x2_s_proof, x2_s_proof_len);
++ memset(x2_s_proof, 0, x2_s_proof_len);
+ xfree(x2_s_proof);
+
+ if (!use_privsep)
diff --git a/package/openssh/patches/patch-channels_c b/package/openssh/patches/patch-channels_c
new file mode 100644
index 000000000..3712809e4
--- /dev/null
+++ b/package/openssh/patches/patch-channels_c
@@ -0,0 +1,29 @@
+--- openssh-5.2p1.orig/channels.c 2009-02-14 06:28:21.000000000 +0100
++++ openssh-5.2p1/channels.c 2009-09-18 12:29:28.000000000 +0200
+@@ -411,7 +411,7 @@ channel_free(Channel *c)
+ if (cc->abandon_cb != NULL)
+ cc->abandon_cb(c, cc->ctx);
+ TAILQ_REMOVE(&c->status_confirms, cc, entry);
+- bzero(cc, sizeof(*cc));
++ memset(cc, 0, sizeof(*cc));
+ xfree(cc);
+ }
+ if (c->filter_cleanup != NULL && c->filter_ctx != NULL)
+@@ -2447,7 +2447,7 @@ channel_input_status_confirm(int type, u
+ return;
+ cc->cb(type, c, cc->ctx);
+ TAILQ_REMOVE(&c->status_confirms, cc, entry);
+- bzero(cc, sizeof(*cc));
++ memset(cc, 0, sizeof(*cc));
+ xfree(cc);
+ }
+
+@@ -2941,7 +2941,7 @@ channel_connect_ctx_free(struct channel_
+ xfree(cctx->host);
+ if (cctx->aitop)
+ freeaddrinfo(cctx->aitop);
+- bzero(cctx, sizeof(*cctx));
++ memset(cctx, 0, sizeof(*cctx));
+ cctx->host = NULL;
+ cctx->ai = cctx->aitop = NULL;
+ }
diff --git a/package/openssh/patches/patch-clientloop_c b/package/openssh/patches/patch-clientloop_c
new file mode 100644
index 000000000..1da1d31c9
--- /dev/null
+++ b/package/openssh/patches/patch-clientloop_c
@@ -0,0 +1,20 @@
+--- openssh-5.2p1.orig/clientloop.c 2009-02-14 06:28:21.000000000 +0100
++++ openssh-5.2p1/clientloop.c 2009-09-18 12:28:59.000000000 +0200
+@@ -487,7 +487,7 @@ client_global_request_reply(int type, u_
+ gc->cb(type, seq, gc->ctx);
+ if (--gc->ref_count <= 0) {
+ TAILQ_REMOVE(&global_confirms, gc, entry);
+- bzero(gc, sizeof(*gc));
++ memset(gc, 0, sizeof(*gc));
+ xfree(gc);
+ }
+
+@@ -768,7 +768,7 @@ process_cmdline(void)
+ int cancel_port;
+ Forward fwd;
+
+- bzero(&fwd, sizeof(fwd));
++ memset(&fwd, 0, sizeof(fwd));
+ fwd.listen_host = fwd.connect_host = NULL;
+
+ leave_raw_mode();
diff --git a/package/openssh/patches/patch-jpake_c b/package/openssh/patches/patch-jpake_c
new file mode 100644
index 000000000..37b69ee45
--- /dev/null
+++ b/package/openssh/patches/patch-jpake_c
@@ -0,0 +1,38 @@
+--- openssh-5.2p1.orig/jpake.c 2008-11-05 06:20:46.000000000 +0100
++++ openssh-5.2p1/jpake.c 2009-09-18 12:26:24.000000000 +0200
+@@ -160,7 +160,7 @@ hash_buffer(const u_char *buf, u_int len
+ success = 0;
+ out:
+ EVP_MD_CTX_cleanup(&evp_md_ctx);
+- bzero(digest, sizeof(digest));
++ memset(digest, 0, sizeof(digest));
+ digest_len = 0;
+ return success;
+ }
+@@ -259,7 +259,7 @@ jpake_free(struct jpake_ctx *pctx)
+ #define JPAKE_BUF_CLEAR_FREE(v, l) \
+ do { \
+ if ((v) != NULL) { \
+- bzero((v), (l)); \
++ memset((v), 0, (l)); \
+ xfree(v); \
+ (v) = NULL; \
+ (l) = 0; \
+@@ -287,7 +287,7 @@ jpake_free(struct jpake_ctx *pctx)
+ #undef JPAKE_BN_CLEAR_FREE
+ #undef JPAKE_BUF_CLEAR_FREE
+
+- bzero(pctx, sizeof(pctx));
++ memset(pctx, 0, sizeof(pctx));
+ xfree(pctx);
+ }
+
+@@ -592,7 +592,7 @@ jpake_check_confirm(const BIGNUM *k,
+ else if (memcmp(peer_confirm_hash, expected_confirm_hash,
+ expected_confirm_hash_len) == 0)
+ success = 1;
+- bzero(expected_confirm_hash, expected_confirm_hash_len);
++ memset(expected_confirm_hash, 0, expected_confirm_hash_len);
+ xfree(expected_confirm_hash);
+ debug3("%s: success = %d", __func__, success);
+ return success;
diff --git a/package/openssh/patches/patch-monitor_c b/package/openssh/patches/patch-monitor_c
new file mode 100644
index 000000000..8992b3e6e
--- /dev/null
+++ b/package/openssh/patches/patch-monitor_c
@@ -0,0 +1,62 @@
+--- openssh-5.2p1.orig/monitor.c 2009-02-14 06:33:31.000000000 +0100
++++ openssh-5.2p1/monitor.c 2009-09-18 12:31:53.000000000 +0200
+@@ -2029,8 +2029,8 @@ mm_answer_jpake_step1(int sock, Buffer *
+ debug3("%s: sending step1", __func__);
+ mm_request_send(sock, MONITOR_ANS_JPAKE_STEP1, m);
+
+- bzero(x3_proof, x3_proof_len);
+- bzero(x4_proof, x4_proof_len);
++ memset(x3_proof, 0, x3_proof_len);
++ memset(x4_proof, 0, x4_proof_len);
+ xfree(x3_proof);
+ xfree(x4_proof);
+
+@@ -2059,8 +2059,8 @@ mm_answer_jpake_get_pwdata(int sock, Buf
+ debug3("%s: sending pwdata", __func__);
+ mm_request_send(sock, MONITOR_ANS_JPAKE_GET_PWDATA, m);
+
+- bzero(hash_scheme, strlen(hash_scheme));
+- bzero(salt, strlen(salt));
++ memset(hash_scheme, 0, strlen(hash_scheme));
++ memset(salt, 0, strlen(salt));
+ xfree(hash_scheme);
+ xfree(salt);
+
+@@ -2099,8 +2099,8 @@ mm_answer_jpake_step2(int sock, Buffer *
+
+ JPAKE_DEBUG_CTX((pctx, "step2 done in %s", __func__));
+
+- bzero(x1_proof, x1_proof_len);
+- bzero(x2_proof, x2_proof_len);
++ memset(x1_proof, 0, x1_proof_len);
++ memset(x2_proof, 0, x2_proof_len);
+ xfree(x1_proof);
+ xfree(x2_proof);
+
+@@ -2112,7 +2112,7 @@ mm_answer_jpake_step2(int sock, Buffer *
+ debug3("%s: sending step2", __func__);
+ mm_request_send(sock, MONITOR_ANS_JPAKE_STEP2, m);
+
+- bzero(x4_s_proof, x4_s_proof_len);
++ memset(x4_s_proof, 0, x4_s_proof_len);
+ xfree(x4_s_proof);
+
+ monitor_permit(mon_dispatch, MONITOR_REQ_JPAKE_KEY_CONFIRM, 1);
+@@ -2146,7 +2146,7 @@ mm_answer_jpake_key_confirm(int sock, Bu
+
+ JPAKE_DEBUG_CTX((pctx, "key_confirm done in %s", __func__));
+
+- bzero(x2_s_proof, x2_s_proof_len);
++ memset(x2_s_proof, 0, x2_s_proof_len);
+ buffer_clear(m);
+
+ /* pctx->k is sensitive, not sent */
+@@ -2180,7 +2180,7 @@ mm_answer_jpake_check_confirm(int sock,
+
+ JPAKE_DEBUG_CTX((pctx, "check_confirm done in %s", __func__));
+
+- bzero(peer_confirm_hash, peer_confirm_hash_len);
++ memset(peer_confirm_hash, 0, peer_confirm_hash_len);
+ xfree(peer_confirm_hash);
+
+ buffer_clear(m);
diff --git a/package/openssh/patches/patch-openbsd-compat_port-tun_c b/package/openssh/patches/patch-openbsd-compat_port-tun_c
index bc6e0b1b3..c4eb11c4c 100644
--- a/package/openssh/patches/patch-openbsd-compat_port-tun_c
+++ b/package/openssh/patches/patch-openbsd-compat_port-tun_c
@@ -1,6 +1,15 @@
$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- openssh-5.1p1.orig/openbsd-compat/port-tun.c 2008-05-19 07:28:36.000000000 +0200
-+++ openssh-5.1p1/openbsd-compat/port-tun.c 2008-10-14 10:20:42.000000000 +0200
+--- openssh-5.2p1.orig/openbsd-compat/port-tun.c 2008-05-19 07:28:36.000000000 +0200
++++ openssh-5.2p1/openbsd-compat/port-tun.c 2009-09-18 12:25:49.000000000 +0200
+@@ -67,7 +67,7 @@ sys_tun_open(int tun, int mode)
+ return (-1);
+ }
+
+- bzero(&ifr, sizeof(ifr));
++ memset(&ifr, 0, sizeof(ifr));
+
+ if (mode == SSH_TUNMODE_ETHERNET) {
+ ifr.ifr_flags = IFF_TAP;
@@ -213,7 +213,7 @@ sys_tun_infilter(struct Channel *c, char
if (len <= 0 || len > (int)(sizeof(rbuf) - sizeof(*af)))
return (-1);
diff --git a/package/openssh/patches/patch-schnorr_c b/package/openssh/patches/patch-schnorr_c
new file mode 100644
index 000000000..aff2497ba
--- /dev/null
+++ b/package/openssh/patches/patch-schnorr_c
@@ -0,0 +1,11 @@
+--- openssh-5.2p1.orig/schnorr.c 2009-02-21 02:45:18.000000000 +0100
++++ openssh-5.2p1/schnorr.c 2009-09-18 12:28:29.000000000 +0200
+@@ -105,7 +105,7 @@ schnorr_hash(const BIGNUM *p, const BIGN
+ out:
+ buffer_free(&b);
+ EVP_MD_CTX_cleanup(&evp_md_ctx);
+- bzero(digest, digest_len);
++ memset(digest, 0, digest_len);
+ xfree(digest);
+ digest_len = 0;
+ if (success == 0)
diff --git a/package/openssh/patches/patch-session_c b/package/openssh/patches/patch-session_c
new file mode 100644
index 000000000..ea9508cfd
--- /dev/null
+++ b/package/openssh/patches/patch-session_c
@@ -0,0 +1,11 @@
+--- openssh-5.2p1.orig/session.c 2009-01-28 06:29:49.000000000 +0100
++++ openssh-5.2p1/session.c 2009-09-18 12:25:29.000000000 +0200
+@@ -1865,7 +1865,7 @@ session_unused(int id)
+ fatal("%s: insane session id %d (max %d nalloc %d)",
+ __func__, id, options.max_sessions, sessions_nalloc);
+ }
+- bzero(&sessions[id], sizeof(*sessions));
++ memset(&sessions[id], 0, sizeof(*sessions));
+ sessions[id].self = id;
+ sessions[id].used = 0;
+ sessions[id].chanid = -1;
diff --git a/package/openssh/patches/patch-sftp-client_c b/package/openssh/patches/patch-sftp-client_c
new file mode 100644
index 000000000..21363fee7
--- /dev/null
+++ b/package/openssh/patches/patch-sftp-client_c
@@ -0,0 +1,11 @@
+--- openssh-5.2p1.orig/sftp-client.c 2008-07-04 15:10:49.000000000 +0200
++++ openssh-5.2p1/sftp-client.c 2009-09-18 12:30:56.000000000 +0200
+@@ -273,7 +273,7 @@ get_decode_statvfs(int fd, struct sftp_s
+ SSH2_FXP_EXTENDED_REPLY, type);
+ }
+
+- bzero(st, sizeof(*st));
++ memset(st, 0, sizeof(*st));
+ st->f_bsize = buffer_get_int64(&msg);
+ st->f_frsize = buffer_get_int64(&msg);
+ st->f_blocks = buffer_get_int64(&msg);
diff --git a/package/openssh/patches/patch-ssh_c b/package/openssh/patches/patch-ssh_c
new file mode 100644
index 000000000..486429320
--- /dev/null
+++ b/package/openssh/patches/patch-ssh_c
@@ -0,0 +1,13 @@
+--- openssh-5.2p1.orig/ssh.c 2009-02-14 06:28:21.000000000 +0100
++++ openssh-5.2p1/ssh.c 2009-09-18 12:26:46.000000000 +0200
+@@ -1277,8 +1277,8 @@ load_public_identity_files(void)
+ options.identity_files[i] = filename;
+ options.identity_keys[i] = public;
+ }
+- bzero(pwname, strlen(pwname));
++ memset(pwname, 0, strlen(pwname));
+ xfree(pwname);
+- bzero(pwdir, strlen(pwdir));
++ memset(pwdir, 0, strlen(pwdir));
+ xfree(pwdir);
+ }
diff --git a/package/openssh/patches/patch-sshconnect2_c b/package/openssh/patches/patch-sshconnect2_c
new file mode 100644
index 000000000..405989001
--- /dev/null
+++ b/package/openssh/patches/patch-sshconnect2_c
@@ -0,0 +1,71 @@
+--- openssh-5.2p1.orig/sshconnect2.c 2008-11-05 06:20:47.000000000 +0100
++++ openssh-5.2p1/sshconnect2.c 2009-09-18 12:30:37.000000000 +0200
+@@ -921,14 +921,14 @@ jpake_password_to_secret(Authctxt *authc
+ &secret, &secret_len) != 0)
+ fatal("%s: hash_buffer", __func__);
+
+- bzero(password, strlen(password));
+- bzero(crypted, strlen(crypted));
++ memset(password, 0, strlen(password));
++ memset(crypted, 0, strlen(crypted));
+ xfree(password);
+ xfree(crypted);
+
+ if ((ret = BN_bin2bn(secret, secret_len, NULL)) == NULL)
+ fatal("%s: BN_bin2bn (secret)", __func__);
+- bzero(secret, secret_len);
++ memset(secret, 0, secret_len);
+ xfree(secret);
+
+ return ret;
+@@ -965,8 +965,8 @@ input_userauth_jpake_server_step1(int ty
+
+ /* Obtain password and derive secret */
+ pctx->s = jpake_password_to_secret(authctxt, crypt_scheme, salt);
+- bzero(crypt_scheme, strlen(crypt_scheme));
+- bzero(salt, strlen(salt));
++ memset(crypt_scheme, 0, strlen(crypt_scheme));
++ memset(salt, 0, strlen(salt));
+ xfree(crypt_scheme);
+ xfree(salt);
+ JPAKE_DEBUG_BN((pctx->s, "%s: s = ", __func__));
+@@ -981,8 +981,8 @@ input_userauth_jpake_server_step1(int ty
+ &pctx->a,
+ &x2_s_proof, &x2_s_proof_len);
+
+- bzero(x3_proof, x3_proof_len);
+- bzero(x4_proof, x4_proof_len);
++ memset(x3_proof, 0, x3_proof_len);
++ memset(x4_proof, 0, x4_proof_len);
+ xfree(x3_proof);
+ xfree(x4_proof);
+
+@@ -994,7 +994,7 @@ input_userauth_jpake_server_step1(int ty
+ packet_put_string(x2_s_proof, x2_s_proof_len);
+ packet_send();
+
+- bzero(x2_s_proof, x2_s_proof_len);
++ memset(x2_s_proof, 0, x2_s_proof_len);
+ xfree(x2_s_proof);
+
+ /* Expect step 2 packet from peer */
+@@ -1034,7 +1034,7 @@ input_userauth_jpake_server_step2(int ty
+ &pctx->k,
+ &pctx->h_k_cid_sessid, &pctx->h_k_cid_sessid_len);
+
+- bzero(x4_s_proof, x4_s_proof_len);
++ memset(x4_s_proof, 0, x4_s_proof_len);
+ xfree(x4_s_proof);
+
+ JPAKE_DEBUG_CTX((pctx, "confirm sending in %s", __func__));
+@@ -1700,8 +1700,8 @@ userauth_jpake(Authctxt *authctxt)
+ packet_put_string(x2_proof, x2_proof_len);
+ packet_send();
+
+- bzero(x1_proof, x1_proof_len);
+- bzero(x2_proof, x2_proof_len);
++ memset(x1_proof, 0, x1_proof_len);
++ memset(x2_proof, 0, x2_proof_len);
+ xfree(x1_proof);
+ xfree(x2_proof);
+
diff --git a/package/openssl/Makefile b/package/openssl/Makefile
index 559cf7565..fa93afd82 100644
--- a/package/openssl/Makefile
+++ b/package/openssl/Makefile
@@ -5,8 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= openssl
PKG_VERSION:= 0.9.8k
-PKG_RELEASE:= 2
-CACERT_VER:= 12
+PKG_RELEASE:= 3
PKG_MD5SUM:= e555c6d58d276aec7fdc53363e338ab3
PKG_DESCR:= OpenSSL (Secure Socket Layer) libraries
PKG_SECTION:= libs
@@ -17,20 +16,17 @@ PKG_SITES:= http://www.openssl.org/source/ \
ftp://ftp.webmonster.de/pub/openssl/source/ \
ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/
-PKG_DESCR_1:= OpenSSL (Secure Socket Layer) command line tool
-PKG_SECTION_1:= admin
-PKG_DEPENDS_1:= libopenssl
-
-PKG_DESCR_2:= X.509v3 Root CA Certificates
-PKG_SECTION_2:= base
+PKG_DESCR_UTIL:= OpenSSL (Secure Socket Layer) command line tool
+PKG_SECTION_UTIL:= admin
+PKG_DEPENDS_UTIL:= libopenssl
include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,LIBOPENSSL,libopenssl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_1},${PKG_DESCR_1},${PKG_SECTION_1}))
+$(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_UTIL},${PKG_DESCR_UTIL},${PKG_SECTION_UTIL}))
BUILD_STYLE:= manual
-INSTALL_STYLE:= auto confprog
+INSTALL_STYLE:= auto
INSTALL_TARGET:= install_sw
FAKE_FLAGS+= INSTALL_PREFIX=${WRKINST}
@@ -64,8 +60,8 @@ do-build:
post-install:
${INSTALL_DIR} ${IDIR_LIBOPENSSL}/usr/lib
- ${CP} ${WRKINST}/usr/lib/lib*.so.* ${IDIR_LIBOPENSSL}/usr/lib
- chmod 644 ${IDIR_LIBOPENSSL}/usr/lib/lib*.so.*
+ ${CP} ${WRKINST}/usr/lib/lib*.so* ${IDIR_LIBOPENSSL}/usr/lib
+ chmod 644 ${IDIR_LIBOPENSSL}/usr/lib/lib*.so*
${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/usr/bin
${CP} ${WRKINST}/usr/bin/openssl ${IDIR_OPENSSL_UTIL}/usr/bin
${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/etc/ssl/{,certs,private}
diff --git a/package/python/Config.in b/package/python/Config.in
new file mode 100644
index 000000000..321f8c59c
--- /dev/null
+++ b/package/python/Config.in
@@ -0,0 +1,6 @@
+config ADK_PACKAGE_PYTHON
+ prompt "python........................... Python scripting language"
+ tristate
+ default n
+ help
+ http://www.python.org
diff --git a/package/python/Makefile b/package/python/Makefile
new file mode 100644
index 000000000..a602c6706
--- /dev/null
+++ b/package/python/Makefile
@@ -0,0 +1,56 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= python
+PKG_VERSION:= 3.1.1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= f1317dbb2398374d6691edd5bff1b91d
+PKG_DESCR:= Python scripting language
+PKG_SECTION:= lang
+PKG_URL:= http://www.python.org
+PKG_SITES:= http://www.python.org/ftp/python/3.1.1/
+
+DISTFILES= Python-${PKG_VERSION}.tgz
+WRKDIST= ${WRKDIR}/Python-${PKG_VERSION}
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,PYTHON,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+MAKE_ENV+= OPT="$(TARGET_CFLAGS)" \
+ HOSTPYTHON=hostpython \
+ HOSTPGEN=hostpgen \
+ CROSS_COMPILE=yes
+
+CONFIGURE_STYLE:= gnu
+CONFIGURE_ENV+= OPT="$(TARGET_CFLAGS)"
+CONFGIURE_ARGS:= --with-threads \
+ --with-system-ffi \
+ --without-cxx-main
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+pre-configure:
+ (cd ${WRKBUILD}; rm -rf config.{cache,status} ; \
+ OPT="$(HOSTCFLAGS)" \
+ ./configure --without-cxx-main --without-threads \
+ --prefix=$(STAGING_TOOLS) \
+ );
+ $(MAKE) -C ${WRKBUILD} python Parser/pgen
+ ${CP} ${WRKBUILD}/Parser/pgen ${STAGING_TOOLS}/bin/hostpgen
+ ${CP} ${WRKBUILD}/python ${STAGING_TOOLS}/bin/hostpython
+ PATH='${TARGET_PATH}' \
+ $(MAKE) -C ${WRKBUILD} HOSTPYTHON="hostpython" sharedmods install
+ $(MAKE) -C ${WRKBUILD} distclean
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_PYTHON}/usr/bin ${IDIR_PYTHON}/usr/lib
+ ${INSTALL_DIR} ${IDIR_PYTHON}/usr/lib/python3.1
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/python3 ${IDIR_PYTHON}/usr/bin
+ ${CP} ${WRKINST}/usr/lib/libpython*.so* ${IDIR_PYTHON}/usr/lib
+ cd ${IDIR_PYTHON}/usr/bin && ln -s python3 python
+ ${CP} ${WRKINST}/usr/lib/python3.1/* ${IDIR_PYTHON}/usr/lib/python3.1
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/python/patches/patch-Makefile_pre_in b/package/python/patches/patch-Makefile_pre_in
new file mode 100644
index 000000000..ac6c129ee
--- /dev/null
+++ b/package/python/patches/patch-Makefile_pre_in
@@ -0,0 +1,108 @@
+--- Python-3.1.1.orig/Makefile.pre.in 2009-06-12 00:54:11.000000000 +0200
++++ Python-3.1.1/Makefile.pre.in 2009-09-23 21:48:18.000000000 +0200
+@@ -177,6 +177,7 @@ LIBOBJS= @LIBOBJS@
+
+ PYTHON= python$(EXE)
+ BUILDPYTHON= python$(BUILDEXE)
++HOSTPYTHON?= $(BUILDPYTHON)
+
+ # The task to run while instrument when building the profile-opt target
+ PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
+@@ -217,6 +218,7 @@ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
+ ##########################################################################
+ # Parser
+ PGEN= Parser/pgen$(EXE)
++HOSTPGEN?= $(PGEN)$(EXE)
+
+ POBJS= \
+ Parser/acceler.o \
+@@ -393,7 +395,7 @@ build_all_generate_profile:
+ $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
+
+ run_profile_task:
+- ./$(BUILDPYTHON) $(PROFILE_TASK)
++ $(HOSTPYTHON) $(PROFILE_TASK)
+
+ build_all_use_profile:
+ $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
+@@ -411,14 +413,14 @@ $(BUILDPYTHON): Modules/python.o $(LIBRA
+ $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+ platform: $(BUILDPYTHON)
+- $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
++ $(RUNSHARED) $(HOSTPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
+
+
+ # Build the shared modules
+ sharedmods: $(BUILDPYTHON)
+ @case $$MAKEFLAGS in \
+- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
+- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
++ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
++ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
+ esac
+
+ # Build static library
+@@ -542,7 +544,7 @@ $(IO_OBJS): $(IO_H)
+
+ $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
+ -@$(INSTALL) -d Include
+- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
++ -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+
+ $(PGEN): $(PGENOBJS)
+ $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
+@@ -705,7 +707,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Modules/pytho
+
+ TESTOPTS= -l $(EXTRATESTOPTS)
+ TESTPROG= $(srcdir)/Lib/test/regrtest.py
+-TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -E -bb
++TESTPYTHON= $(RUNSHARED) $(HOSTPYTHON) -E -bb
+ test: all platform
+ -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
+ -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
+@@ -1018,7 +1020,7 @@ libainstall: all
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall:
+- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
++ $(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+@@ -1056,7 +1058,7 @@ frameworkinstallstructure: $(LDLIBRARY)
+ fi; \
+ done
+ $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers
+- sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print(platform.python_version())'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
++ sed 's/%VERSION%/'"`$(RUNSHARED) $(HOSTPYTHON) -c 'import platform; print(platform.python_version())'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist
+ $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current
+ $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)
+ $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers
+@@ -1098,7 +1100,7 @@ frameworkinstallextras:
+ # This installs a few of the useful scripts in Tools/scripts
+ scriptsinstall:
+ SRCDIR=$(srcdir) $(RUNSHARED) \
+- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \
++ $(HOSTPYTHON) $(srcdir)/Tools/scripts/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --root=/$(DESTDIR)
+@@ -1120,7 +1122,7 @@ config.status: $(srcdir)/configure
+
+ # Run reindent on the library
+ reindent:
+- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
++ $(HOSTPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib
+
+ # Rerun configure with the same options as it was run last time,
+ # provided the config.status script exists
+@@ -1234,7 +1236,7 @@ funny:
+
+ # Perform some verification checks on any modified files.
+ patchcheck:
+- $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
++ $(RUNSHARED) $(HOSTPYTHON) $(srcdir)/Tools/scripts/patchcheck.py
+
+ # Dependencies
+
diff --git a/package/python/patches/patch-Modules__io__iomodule_h b/package/python/patches/patch-Modules__io__iomodule_h
new file mode 100644
index 000000000..64ac4ffaf
--- /dev/null
+++ b/package/python/patches/patch-Modules__io__iomodule_h
@@ -0,0 +1,14 @@
+--- Python-3.1.1.orig/Modules/_io/_iomodule.h 2009-06-12 04:07:12.000000000 +0200
++++ Python-3.1.1/Modules/_io/_iomodule.h 2009-09-16 22:02:30.000000000 +0200
+@@ -99,7 +99,10 @@ typedef off_t Py_off_t;
+ # define PY_OFF_T_MAX LONG_MAX
+ # define PY_OFF_T_MIN LONG_MIN
+ #else
+-# error off_t does not match either size_t, long, or long long!
++# define PyLong_AsOff_t PyLong_AsSsize_t
++# define PyLong_FromOff_t PyLong_FromSsize_t
++# define PY_OFF_T_MAX PY_SSIZE_T_MAX
++# define PY_OFF_T_MIN PY_SSIZE_T_MIN
+ #endif
+
+ #endif
diff --git a/package/python/patches/patch-configure b/package/python/patches/patch-configure
new file mode 100644
index 000000000..968288ed4
--- /dev/null
+++ b/package/python/patches/patch-configure
@@ -0,0 +1,324 @@
+--- Python-3.1.1.orig/configure 2009-06-08 23:22:57.000000000 +0200
++++ Python-3.1.1/configure 2009-09-16 20:36:05.000000000 +0200
+@@ -17204,141 +17204,6 @@ fi
+ fi
+
+
+-# On Tru64, chflags seems to be present, but calling it will
+-# exit Python
+-{ echo "$as_me:$LINENO: checking for chflags" >&5
+-echo $ECHO_N "checking for chflags... $ECHO_C" >&6; }
+-if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-#include <sys/stat.h>
+-#include <unistd.h>
+-int main(int argc, char*argv[])
+-{
+- if(chflags(argv[0], 0) != 0)
+- return 1;
+- return 0;
+-}
+-
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_try") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_CHFLAGS 1
+-_ACEOF
+-
+- { echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-( exit $ac_status )
+-{ echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+-
+-
+-
+-{ echo "$as_me:$LINENO: checking for lchflags" >&5
+-echo $ECHO_N "checking for lchflags... $ECHO_C" >&6; }
+-if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-#include <sys/stat.h>
+-#include <unistd.h>
+-int main(int argc, char*argv[])
+-{
+- if(lchflags(argv[0], 0) != 0)
+- return 1;
+- return 0;
+-}
+-
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_try") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LCHFLAGS 1
+-_ACEOF
+-
+- { echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-( exit $ac_status )
+-{ echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+
+
+
+@@ -22435,84 +22300,6 @@ fi
+
+ LIBS=$LIBS_SAVE
+
+-# Multiprocessing check for broken sem_getvalue
+-{ echo "$as_me:$LINENO: checking for broken sem_getvalue" >&5
+-echo $ECHO_N "checking for broken sem_getvalue... $ECHO_C" >&6; }
+-if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-#include <unistd.h>
+-#include <fcntl.h>
+-#include <stdio.h>
+-#include <semaphore.h>
+-#include <sys/stat.h>
+-
+-int main(void){
+- sem_t *a = sem_open("/autoconf", O_CREAT, S_IRUSR|S_IWUSR, 0);
+- int count;
+- int res;
+- if(a==SEM_FAILED){
+- perror("sem_open");
+- return 1;
+-
+- }
+- res = sem_getvalue(a, &count);
+- sem_close(a);
+- return res==-1 ? 1 : 0;
+-}
+-
+-
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_try") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-( exit $ac_status )
+-{ echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_BROKEN_SEM_GETVALUE 1
+-_ACEOF
+-
+-
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+
+
+
+@@ -25145,94 +24932,6 @@ else
+ echo "${ECHO_T}no" >&6; }
+ fi
+
+-{ echo "$as_me:$LINENO: checking for %zd printf() format support" >&5
+-echo $ECHO_N "checking for %zd printf() format support... $ECHO_C" >&6; }
+-if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <stdio.h>
+-#include <stddef.h>
+-#include <string.h>
+-
+-#ifdef HAVE_SYS_TYPES_H
+-#include <sys/types.h>
+-#endif
+-
+-#ifdef HAVE_SSIZE_T
+-typedef ssize_t Py_ssize_t;
+-#elif SIZEOF_VOID_P == SIZEOF_LONG
+-typedef long Py_ssize_t;
+-#else
+-typedef int Py_ssize_t;
+-#endif
+-
+-int main()
+-{
+- char buffer[256];
+-
+- if(sprintf(buffer, "%zd", (size_t)123) < 0)
+- return 1;
+-
+- if (strcmp(buffer, "123"))
+- return 1;
+-
+- if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
+- return 1;
+-
+- if (strcmp(buffer, "-123"))
+- return 1;
+-
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_link") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+- (eval "$ac_try") 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- { echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define PY_FORMAT_SIZE_T "z"
+-_ACEOF
+-
+-else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-( exit $ac_status )
+-{ echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
+
+
+