aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorAndrew Manison <amanison@anselsystems.com>2010-05-26 23:11:28 +0000
committerAndrew Manison <amanison@anselsystems.com>2010-05-26 23:11:28 +0000
commit2ba547e9ab67ad5ab07df1c33973abf013936ae9 (patch)
tree26875bc13c57dac7aec1abd619a2d9d6dc6569b3 /testing
parent9fddb4d5b41c0b5e69d5ee138297e95eff290302 (diff)
parentf12146d5ba7a85010295e4142ca35d9ea1588fb2 (diff)
downloadaports-2ba547e9ab67ad5ab07df1c33973abf013936ae9.tar.bz2
aports-2ba547e9ab67ad5ab07df1c33973abf013936ae9.tar.xz
Merge remote branch 'alpine/master'
Diffstat (limited to 'testing')
-rw-r--r--testing/cryptsetup/APKBUILD9
-rw-r--r--testing/gtkspell/APKBUILD24
-rw-r--r--testing/kamailio/APKBUILD25
-rw-r--r--testing/kamailio/kamailio-3-backslash.patch36
-rw-r--r--testing/kamailio/kamailio-backslash.patch15
-rw-r--r--testing/mediaproxy/APKBUILD8
-rw-r--r--testing/nagios/APKBUILD10
-rw-r--r--testing/nspr/APKBUILD64
-rw-r--r--testing/nspr/nspr-4.6.1-config-1.patch11
-rw-r--r--testing/nspr/nspr-4.7.0-prtime.patch26
-rw-r--r--testing/nspr/nspr-4.8-config.patch47
-rw-r--r--testing/nspr/nspr-4.8-pkgconfig-gentoo-3.patch126
-rw-r--r--testing/nss/APKBUILD119
-rw-r--r--testing/nss/add_spi+cacert_ca_certs.patch1168
-rw-r--r--testing/nss/nss-config.in145
-rw-r--r--testing/nss/nss-no-rpath.patch14
-rw-r--r--testing/nss/nss-nolocalsql.patch52
-rw-r--r--testing/nss/nss.pc.in11
-rw-r--r--testing/nss/ssl-renegotiate-transitional.patch21
-rw-r--r--testing/openxcap/APKBUILD39
-rw-r--r--testing/openxcap/config.ini118
-rw-r--r--testing/openxcap/openxcap.initd23
-rwxr-xr-xtesting/openxcap/openxcap.post-install5
-rwxr-xr-xtesting/openxcap/openxcap.pre-install5
-rw-r--r--testing/pidgin/APKBUILD64
-rw-r--r--testing/pidgin/msn_fix.patch28
-rw-r--r--testing/privoxy/APKBUILD55
-rw-r--r--testing/privoxy/privoxy-3.0.16-gentoo.patch108
-rw-r--r--testing/privoxy/privoxy.initd32
-rw-r--r--testing/privoxy/privoxy.logrotate9
-rw-r--r--testing/privoxy/privoxy.pre-install6
-rw-r--r--testing/py-application/APKBUILD (renamed from testing/python-application/APKBUILD)9
-rw-r--r--testing/py-buildutils/APKBUILD (renamed from testing/python26-buildutils/APKBUILD)6
-rw-r--r--testing/py-cjson/APKBUILD (renamed from testing/python-cjson/APKBUILD)9
-rw-r--r--testing/py-crypto/APKBUILD (renamed from testing/pycrypto/APKBUILD)9
-rw-r--r--testing/py-gnutls/APKBUILD (renamed from testing/python-gnutls/APKBUILD)9
-rw-r--r--testing/py-imaging/APKBUILD21
-rw-r--r--testing/py-lxml/APKBUILD26
-rw-r--r--testing/py-mysqldb/APKBUILD23
-rw-r--r--testing/py-setuptools/APKBUILD (renamed from testing/python26-setuptools/APKBUILD)4
-rw-r--r--testing/py-twisted-web2/APKBUILD20
-rw-r--r--testing/py-twisted/APKBUILD (renamed from testing/twisted/APKBUILD)9
-rw-r--r--testing/py-zope-interface/APKBUILD (renamed from testing/zope-interface/APKBUILD)17
-rw-r--r--testing/qemu/APKBUILD90
-rw-r--r--testing/qemu/kqemu.c997
-rw-r--r--testing/qemu/kqemu.patch32
-rw-r--r--testing/qemu/qemu-0.10.3-nopl-fix.patch32
-rw-r--r--testing/qemu/qemu.pre-install6
-rw-r--r--testing/xmlrpc-c/APKBUILD42
49 files changed, 2561 insertions, 1223 deletions
diff --git a/testing/cryptsetup/APKBUILD b/testing/cryptsetup/APKBUILD
index 2f6fed11db..887d15d3ed 100644
--- a/testing/cryptsetup/APKBUILD
+++ b/testing/cryptsetup/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=cryptsetup
-pkgver=1.0.7
-pkgrel=1
+pkgver=1.1.0
+pkgrel=0
pkgdesc="Userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi"
url="http://code.google.com/p/cryptsetup/"
license="GPL"
@@ -13,7 +13,8 @@ source="http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.bz2"
build() {
cd "$srcdir"/$pkgname-$pkgver
./configure --prefix=/usr \
- --disable-static
+ --disable-static \
+ || return 1
make || return 1
}
@@ -21,4 +22,4 @@ package() {
cd "$srcdir"/$pkgname-$pkgver
make DESTDIR=$pkgdir install
}
-md5sums="5eea2a77391a8a1a651b31cbaef59e22 cryptsetup-1.0.7.tar.bz2"
+md5sums="8177f1833f4d6aaacc5812046d2010b6 cryptsetup-1.1.0.tar.bz2"
diff --git a/testing/gtkspell/APKBUILD b/testing/gtkspell/APKBUILD
new file mode 100644
index 0000000000..7e8d2a1dcc
--- /dev/null
+++ b/testing/gtkspell/APKBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=gtkspell
+pkgver=2.0.16
+pkgrel=0
+pkgdesc="GtkSpell provides word-processor-style highlighting and replacement of misspelled words in a GtkTextView widget"
+url="http://gtkspell.sourceforge.net/"
+license="GPL"
+makedepends="gtk+-dev enchant-dev intltool"
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://$pkgname.sourceforge.net/download/$pkgname-$pkgver.tar.gz"
+
+depends_dev="gtk+-dev"
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ ./configure --prefix=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install || return 1
+}
+md5sums="f75dcc9338f182c571b321d37c606a94 gtkspell-2.0.16.tar.gz"
diff --git a/testing/kamailio/APKBUILD b/testing/kamailio/APKBUILD
index 604796d546..fff2908231 100644
--- a/testing/kamailio/APKBUILD
+++ b/testing/kamailio/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=kamailio
-pkgver=3.0.0
-pkgrel=2
+pkgver=3.0.1
+pkgrel=1
pkgdesc="Open Source SIP Server"
url="http://www.kamailio.org/"
pkgusers="kamailio"
@@ -14,25 +14,28 @@ makedepends="bison flex expat-dev postgresql-dev pcre-dev
install=
subpackages="$pkgname-doc $pkgname-postgres
$pkgname-mediaproxy $pkgname-unixodbc"
-source="http://sip-router.org/tarballs/sr/kamailio_3.0/kamailio-${pkgver}_src_2010-01-12_6d1e9f.tar.gz
+source="http://www.kamailio.org/pub/kamailio/$pkgver/src/kamailio-${pkgver}_src.tar.gz
kamailio.cfg
kamailio.initd
kamailio.pre-install
kamailio.post-install
- kamailio-backslash.patch
+ kamailio-3-backslash.patch
"
_builddir="$srcdir"/$pkgname-$pkgver
+_modules="db_postgres mediaproxy db_unixodbc carrierroute xmlrpc"
prepare() {
cd "$_builddir"
- patch -p1 -i "$srcdir"/kamailio-backslash.patch || return 1
+ patch -p1 -i "$srcdir"/kamailio-3-backslash.patch || return 1
- sed -i -e 's:^cfg-target.*:cfg-target = $(cfg-dir):' \
- -e 's:^cfg-prefix.*:cfg-prefix = $(basedir):' \
+ sed -i \
-e "s:-O9 -funroll-loops:$CFLAGS:g" \
Makefile.defs \
|| return 1
+# -e 's:^cfg-target.*:cfg-target = $(cfg-dir):' \
+# -e 's:^cfg-prefix.*:cfg-prefix = $(basedir):' \
+
cd utils/kamctl/
sed -i -e 's:/var/run/kamailio.pid:/var/run/kamailio/kamailio.pid:g' \
kamctl.base kamctlrc || return 1
@@ -55,7 +58,7 @@ build() {
MODS_PRESENCE=yes \
MODS_RADIUS= \
TLS= \
- include_modules="db_postgres mediaproxy db_unixodbc carrierroute" \
+ include_modules="$_modules" \
all || return 1
}
@@ -68,7 +71,7 @@ package() {
MODS_PRESENCE=yes \
MODS_RADIUS= \
TLS= \
- include_modules="db_postgres mediaproxy db_unixodbc carrierroute" \
+ include_modules="$_modules" \
basedir="$pkgdir" install || return 1
# move default config to -doc package and use our own default config
@@ -141,9 +144,9 @@ unixodbc() {
_mv_mod_k db_unixodbc
}
-md5sums="a043944e195338d56bdfdcd6c86a468b kamailio-3.0.0_src_2010-01-12_6d1e9f.tar.gz
+md5sums="c0e488ab240f9a4668c10068e3fb2cae kamailio-3.0.1_src.tar.gz
eb665248ee39cf755a247286affc5cbb kamailio.cfg
81100c479890a2a8c2628db22fdd1a0c kamailio.initd
c646af2dd31f5c4289a2f802c873d98f kamailio.pre-install
3fbaf633ff1620d0d526fc4047c7bed9 kamailio.post-install
-10f8be110985a841dd5b892f86eb6722 kamailio-backslash.patch"
+36f81be3a082a81497e261ac8e6c5414 kamailio-3-backslash.patch"
diff --git a/testing/kamailio/kamailio-3-backslash.patch b/testing/kamailio/kamailio-3-backslash.patch
new file mode 100644
index 0000000000..f132aebab4
--- /dev/null
+++ b/testing/kamailio/kamailio-3-backslash.patch
@@ -0,0 +1,36 @@
+diff --git a/scripts/kamdbctl.base b/scripts/kamdbctl.base
+index 83f5a8a..5b640be 100644
+--- a/utils/kamctl/kamdbctl.base
++++ b/utils/kamctl/kamdbctl.base
+@@ -32,13 +32,13 @@ INSTALL_PRESENCE_TABLES=${INSTALL_PRESENCE_TABLES:-ask}
+
+ # Used by dbtext and db_berkeley to define tables to be created, used by
+ # postgres to do the grants
+-STANDARD_TABLES=${STANDARD_TABLES:-version acc dbaliases lcr domain grp
+- uri speed_dial gw pdt subscriber location re_grp trusted
+- address missed_calls usr_preferences aliases silo dialog
++STANDARD_TABLES=${STANDARD_TABLES:-version acc dbaliases lcr domain grp \
++ uri speed_dial gw pdt subscriber location re_grp trusted \
++ address missed_calls usr_preferences aliases silo dialog \
+ dispatcher dialplan}
+-EXTRA_TABLES=${EXTRA_TABLES:-imc_members imc_rooms cpl sip_trace domainpolicy carrierroute
++EXTRA_TABLES=${EXTRA_TABLES:-imc_members imc_rooms cpl sip_trace domainpolicy carrierroute \
+ carrier_name domain_name carrierfailureroute userblacklist globalblacklist htable purplemap}
+-PRESENCE_TABLES=${PRESENCE_TABLES:-presentity active_watchers watchers xcap
++PRESENCE_TABLES=${PRESENCE_TABLES:-presentity active_watchers watchers xcap \
+ pua rls_presentity rls_watchers}
+
+ # SQL definitions
+@@ -61,9 +61,9 @@ GREP=${GREP:-grep}
+ SED=${SED:-sed}
+
+ # define what modules should be installed
+-STANDARD_MODULES=${STANDARD_MODULES:-standard acc lcr domain group permissions
+- registrar usrloc msilo alias_db uri_db
+- speeddial avpops auth_db pdt dialog dispatcher
++STANDARD_MODULES=${STANDARD_MODULES:-standard acc lcr domain group permissions \
++ registrar usrloc msilo alias_db uri_db \
++ speeddial avpops auth_db pdt dialog dispatcher \
+ dialplan}
+ EXTRA_MODULES=${EXTRA_MODULES:-imc cpl siptrace domainpolicy carrierroute userblacklist htable purple}
+
diff --git a/testing/kamailio/kamailio-backslash.patch b/testing/kamailio/kamailio-backslash.patch
deleted file mode 100644
index c474db38de..0000000000
--- a/testing/kamailio/kamailio-backslash.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/utils/kamctl/kamdbctl.base Tue Dec 22 07:01:57 2009
-+++ b/utils/kamctl/kamdbctl.base Tue Dec 22 07:02:26 2009
-@@ -32,9 +32,9 @@
-
- # Used by dbtext and db_berkeley to define tables to be created, used by
- # postgres to do the grants
--STANDARD_TABLES=${STANDARD_TABLES:-version acc dbaliases lcr domain grp
-- uri speed_dial gw pdt subscriber location re_grp trusted
-- address missed_calls usr_preferences aliases silo dialog
-+STANDARD_TABLES=${STANDARD_TABLES:-version acc dbaliases lcr domain grp \
-+ uri speed_dial gw pdt subscriber location re_grp trusted \
-+ address missed_calls usr_preferences aliases silo dialog \
- dispatcher dialplan}
- EXTRA_TABLES=${EXTRA_TABLES:-imc_members imc_rooms cpl sip_trace domainpolicy carrierroute
- carrier_name domain_name carrierfailureroute userblacklist globalblacklist htable purplemap}
diff --git a/testing/mediaproxy/APKBUILD b/testing/mediaproxy/APKBUILD
index 6702781dde..3cd3d4d9a1 100644
--- a/testing/mediaproxy/APKBUILD
+++ b/testing/mediaproxy/APKBUILD
@@ -2,15 +2,15 @@
# Maintainer:
pkgname=mediaproxy
pkgver=2.3.8
-pkgrel=3
+pkgrel=4
pkgdesc="MediaProxy"
url="http://www.ag-projects.com/MediaProxy/"
pkgusers="kamailio"
pkggroups="kamailio"
license="GPL"
-depends="python python-application python-gnutls twisted python-cjson iptables"
-makedepends="libnetfilter_conntrack-dev libnfnetlink-dev python26-buildutils
- python26-setuptools python-dev"
+depends="python py-application py-gnutls py-twisted py-cjson iptables"
+makedepends="libnetfilter_conntrack-dev libnfnetlink-dev py-buildutils
+ py-setuptools python-dev"
install=
subpackages=""
#subpackages="$pkgname-dev $pkgname-doc"
diff --git a/testing/nagios/APKBUILD b/testing/nagios/APKBUILD
index 0234cac1be..1bde07a882 100644
--- a/testing/nagios/APKBUILD
+++ b/testing/nagios/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter at gmail>
# Maintainer: Carlo Landmeter <clandmeter at gmail>
pkgname=nagios
-pkgver=3.1.0
-pkgrel=1
+pkgver=3.2.1
+pkgrel=0
pkgdesc="Popular monitoring tool"
url="http://www.nagios.org/"
license="GPL-2"
@@ -33,6 +33,10 @@ build() {
--enable-embedded-perl \
--with-perlcache
make all || return 1
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
make DESTDIR="$pkgdir" install-config
make DESTDIR="$pkgdir" install-commandmode
@@ -49,7 +53,7 @@ web() {
install -m644 -D "$srcdir"/lighttpd-nagios.conf "$subpkgdir"/etc/lighttpd-nagios.conf
}
-md5sums="02d3b0e13f772481d0ac9e00bdc3e979 nagios-3.1.0.tar.gz
+md5sums="d4655ee8c95c9679fd4fd53dac34bbe3 nagios-3.2.1.tar.gz
431dfe7403323e247a88b97beade5d78 nagios.confd
2ead8695b32222abe922692664aa9de1 nagios.initd
d63c36f47d26f1f71ae2faf272eec640 lighttpd-nagios.conf"
diff --git a/testing/nspr/APKBUILD b/testing/nspr/APKBUILD
new file mode 100644
index 0000000000..38f9d9c4d1
--- /dev/null
+++ b/testing/nspr/APKBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=nspr
+pkgver=4.8.4
+pkgrel=0
+pkgdesc="Netscape Portable Runtime"
+url="http://www.mozilla.org/projects/nspr/"
+license="MPL-1.1 GPL-2 LGPL-2.1"
+depends=
+subpackages="$pkgname-dev"
+source="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$pkgver/src/nspr-$pkgver.tar.gz
+ nspr-4.6.1-config-1.patch
+ nspr-4.7.0-prtime.patch
+ nspr-4.8-config.patch
+ nspr-4.8-pkgconfig-gentoo-3.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ mkdir build inst
+ for i in "$srcdir"/*.patch; do
+ msg "Applying $i"
+ patch -p1 -i "$i" || return 1
+ done
+ # respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
+ mozilla/nsprpub/config/rules.mk
+}
+
+build() {
+ cd "$_builddir"/build
+ ../mozilla/nsprpub/configure --prefix=/usr \
+ || return 1
+ make CC="${CC:-gcc}" CXX="${CXX:-g++}" || return 1
+}
+
+package() {
+ local file= minor_version=${pkgver#*.}
+ minor_version=${minor_version%.*}
+
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir" install || die "emake install failed"
+
+ cd "$pkgdir"/usr/lib
+ rm -f *.a
+ for file in *.so; do
+ mv ${file} ${file}.${minor_version} || return 1
+ ln -s ${file}.${minor_version} ${file} || return 1
+ done
+
+ cd "$_builddir"/build/config
+ install -Dm755 nspr-config "$pkgdir"/usr/bin/nspr-config || return 1
+ install -Dm644 nspr.pc "$pkgdir"/usr/lib/pkgconfig/nspr.pc || return 1
+ rm -rf "$pkgdir"/usr/bin/prerr.properties \
+ "$pkgdir"/usr/bin/compile-et.pl \
+ "$pkgdir"/usr/share/aclocal/nspr.m4 \
+ "$pkgdir"/usr/include/nspr/md
+}
+
+md5sums="a85bdbe1eb646aa32c785a37d8e3a2f5 nspr-4.8.4.tar.gz
+d204a641dd7cbf6751d14dc6b98835f1 nspr-4.6.1-config-1.patch
+c48e1f47799c1cff7e3bf46dc0e653f1 nspr-4.7.0-prtime.patch
+c790c638a7c9fd1d731272f464f065c6 nspr-4.8-config.patch
+5b67b4339be94d0dbc4337a55eabe73a nspr-4.8-pkgconfig-gentoo-3.patch"
diff --git a/testing/nspr/nspr-4.6.1-config-1.patch b/testing/nspr/nspr-4.6.1-config-1.patch
new file mode 100644
index 0000000000..b919c7930b
--- /dev/null
+++ b/testing/nspr/nspr-4.6.1-config-1.patch
@@ -0,0 +1,11 @@
+--- a/mozilla/nsprpub/configure.orig 2006-01-14 22:41:37.000000000 +0000
++++ b/mozilla/nsprpub/configure 2006-01-14 22:49:14.000000000 +0000
+@@ -3893,7 +3893,7 @@
+ PR_MD_CSRCS=linux.c
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
+ DSO_CFLAGS=-fPIC
+- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@).$(MOD_MINOR_VERSION)'
+ _OPTIMIZE_FLAGS=-O2
+ _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
+ # combo is not yet good at debugging inlined
diff --git a/testing/nspr/nspr-4.7.0-prtime.patch b/testing/nspr/nspr-4.7.0-prtime.patch
new file mode 100644
index 0000000000..74d5534d5a
--- /dev/null
+++ b/testing/nspr/nspr-4.7.0-prtime.patch
@@ -0,0 +1,26 @@
+--- a/mozilla/nsprpub/pr/src/misc/prtime.c.orig 2007-09-14 19:41:08.000000000 +0200
++++ b/mozilla/nsprpub/pr/src/misc/prtime.c 2007-09-14 19:42:17.000000000 +0200
+@@ -1536,7 +1536,7 @@
+ case TT_EET: zone_offset = 2 * 60; break;
+ case TT_JST: zone_offset = 9 * 60; break;
+ default:
+- PR_ASSERT (0);
++ return PR_FAILURE;
+ break;
+ }
+ }
+@@ -1578,11 +1578,12 @@
+ struct tm localTime;
+ time_t secs;
+
+- PR_ASSERT(result->tm_month > -1 &&
++ if (!(result->tm_month > -1 &&
+ result->tm_mday > 0 &&
+ result->tm_hour > -1 &&
+ result->tm_min > -1 &&
+- result->tm_sec > -1);
++ result->tm_sec > -1))
++ return PR_FAILURE;
+
+ /*
+ * To obtain time_t from a tm structure representing the local
diff --git a/testing/nspr/nspr-4.8-config.patch b/testing/nspr/nspr-4.8-config.patch
new file mode 100644
index 0000000000..4db2517e4e
--- /dev/null
+++ b/testing/nspr/nspr-4.8-config.patch
@@ -0,0 +1,47 @@
+--- a/mozilla/nsprpub/lib/libc/src/Makefile.in.orig 2005-06-01 14:28:26.000000000 +0000
++++ b/mozilla/nsprpub/lib/libc/src/Makefile.in 2006-01-15 02:50:39.000000000 +0000
+@@ -112,6 +112,10 @@
+ MKSHLIB += -R '$$ORIGIN'
+ endif
+
++ifeq ($(OS_ARCH), Linux)
++DSO_LDOPTS +=-Wl,-R,'$$ORIGIN'
++endif
++
+ ifeq ($(OS_ARCH),OS2)
+ MAPFILE = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).def
+ GARBAGE += $(MAPFILE)
+--- a/mozilla/nsprpub/lib/ds/Makefile.in.orig 2005-06-01 14:28:25.000000000 +0000
++++ b/mozilla/nsprpub/lib/ds/Makefile.in 2006-01-15 02:52:30.000000000 +0000
+@@ -102,6 +102,10 @@
+ MKSHLIB += -R '$$ORIGIN'
+ endif
+
++ifeq ($(OS_ARCH), Linux)
++DSO_LDOPTS += -Wl,-R,'$$ORIGIN'
++endif
++
+ ifeq ($(OS_ARCH),OS2)
+ MAPFILE = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).def
+ GARBAGE += $(MAPFILE)
+--- a/mozilla/nsprpub/pr/src/Makefile.in.orig 2005-06-01 14:28:27.000000000 +0000
++++ b/mozilla/nsprpub/pr/src/Makefile.in 2006-01-15 03:29:36.000000000 +0000
+@@ -168,6 +168,7 @@
+ else
+ OS_LIBS = -ldl
+ endif
++DSO_LDOPTS +=-Wl,-R,'$$ORIGIN'
+ endif
+
+ ifeq ($(OS_ARCH),HP-UX)
+--- a/mozilla/nsprpub/config/nspr-config.in.orig 2005-05-11 00:53:41.000000000 +0000
++++ b/mozilla/nsprpub/config/nspr-config.in 2006-01-15 06:37:58.000000000 +0000
+@@ -122,7 +122,7 @@
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- libdirs=-L$libdir
++ libdirs="-Wl,-R$libdir -L$libdir"
+ if test -n "$lib_plds"; then
+ libdirs="$libdirs -lplds${major_version}"
+ fi
diff --git a/testing/nspr/nspr-4.8-pkgconfig-gentoo-3.patch b/testing/nspr/nspr-4.8-pkgconfig-gentoo-3.patch
new file mode 100644
index 0000000000..2525928db4
--- /dev/null
+++ b/testing/nspr/nspr-4.8-pkgconfig-gentoo-3.patch
@@ -0,0 +1,126 @@
+diff -urN nspr-4.8-orig/mozilla/nsprpub/config/config.mk nspr-4.8/mozilla/nsprpub/config/config.mk
+--- nspr-4.8-orig/mozilla/nsprpub/config/config.mk 2009-09-12 00:43:47.678357452 -0500
++++ nspr-4.8/mozilla/nsprpub/config/config.mk 2009-09-12 00:44:19.383381757 -0500
+@@ -162,3 +162,4 @@
+ RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/include
+ RELEASE_BIN_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/bin
+ RELEASE_LIB_DIR = $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME)/lib
++RELEASE_PC_DIR = $(RELEASE_LIB_DIR)/pkgconfig
+diff -urN nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in nspr-4.8/mozilla/nsprpub/config/Makefile.in
+--- nspr-4.8-orig/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:43:47.678357452 -0500
++++ nspr-4.8/mozilla/nsprpub/config/Makefile.in 2009-09-12 00:44:19.384379661 -0500
+@@ -52,9 +52,10 @@
+
+ # autoconf.mk must be deleted last (from the top-level directory)
+ # because it is included by every makefile.
+-DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config
++DIST_GARBAGE = nsprincl.mk nsprincl.sh nspr-config nspr.pc
+
+ RELEASE_BINS = nspr-config
++RELEASE_PC = nspr.pc
+
+ include $(topsrcdir)/config/config.mk
+
+diff -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in nspr-4.8/mozilla/nsprpub/config/nspr-config.in
+--- nspr-4.8-orig/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:43:47.677356194 -0500
++++ nspr-4.8/mozilla/nsprpub/config/nspr-config.in 2009-09-12 00:45:53.723359547 -0500
+@@ -92,13 +92,13 @@
+
+ # Set variables that may be dependent upon other variables
+ if test -z "$exec_prefix"; then
+- exec_prefix=@exec_prefix@
++ exec_prefix=`pkg-config --variable=exec_prefix nspr`
+ fi
+ if test -z "$includedir"; then
+- includedir=@includedir@
++ includedir=`pkg-config --variable=includedir nspr`
+ fi
+ if test -z "$libdir"; then
+- libdir=@libdir@
++ libdir=`pkg-config --variable=libdir nspr`
+ fi
+
+ if test "$echo_prefix" = "yes"; then
+diff -urN nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in nspr-4.8/mozilla/nsprpub/config/nspr.pc.in
+--- nspr-4.8-orig/mozilla/nsprpub/config/nspr.pc.in 1969-12-31 18:00:00.000000000 -0600
++++ nspr-4.8/mozilla/nsprpub/config/nspr.pc.in 2009-09-12 00:44:19.410432811 -0500
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSPR
++Description: The Netscape Portable Runtime
++Version: @MOD_MAJOR_VERSION@.@MOD_MINOR_VERSION@.@MOD_PATCH_VERSION@
++Libs: -L${libdir} -lplds@MOD_MAJOR_VERSION@ -lplc@MOD_MAJOR_VERSION@ -lnspr@MOD_MAJOR_VERSION@ -lpthread -Wl,-R${libdir}
++Cflags: -I${includedir}
++
+diff -urN nspr-4.8-orig/mozilla/nsprpub/config/rules.mk nspr-4.8/mozilla/nsprpub/config/rules.mk
+--- nspr-4.8-orig/mozilla/nsprpub/config/rules.mk 2009-09-12 00:43:47.677356194 -0500
++++ nspr-4.8/mozilla/nsprpub/config/rules.mk 2009-09-12 00:44:19.435517111 -0500
+@@ -211,7 +211,7 @@
+ rm -rf $(wildcard *.OBJ *.OBJD) dist $(ALL_TRASH) $(DIST_GARBAGE)
+ +$(LOOP_OVER_DIRS)
+
+-install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS)
++install:: $(RELEASE_BINS) $(RELEASE_HEADERS) $(RELEASE_LIBS) $(RELEASE_PC)
+ ifdef RELEASE_BINS
+ $(NSINSTALL) -t -m 0755 $(RELEASE_BINS) $(DESTDIR)$(bindir)
+ endif
+@@ -221,6 +221,9 @@
+ ifdef RELEASE_LIBS
+ $(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
+ endif
++ifdef RELEASE_PC
++ $(NSINSTALL) -t -m 0644 $(RELEASE_PC) $(DESTDIR)$(libdir)/pkgconfig/
++endif
+ +$(LOOP_OVER_DIRS)
+
+ release:: export
+@@ -272,6 +275,23 @@
+ fi
+ cp $(RELEASE_HEADERS) $(RELEASE_HEADERS_DEST)
+ endif
++ifdef RELEASE_PC
++ @echo "Copying pkg-config files to release directory"
++ @if test -z "$(BUILD_NUMBER)"; then \
++ echo "BUILD_NUMBER must be defined"; \
++ false; \
++ else \
++ true; \
++ fi
++ @if test ! -d $(RELEASE_PC_DEST); then \
++ rm -rf $(RELEASE_PC_DEST); \
++ $(NSINSTALL) -D $(RELEASE_PC_DEST);\
++ else \
++ true; \
++ fi
++ cp $(RELEASE_PC) $(RELEASE_PC_DEST)
++endif
++
+ +$(LOOP_OVER_DIRS)
+
+ alltags:
+diff -urN nspr-4.8-orig/mozilla/nsprpub/configure nspr-4.8/mozilla/nsprpub/configure
+--- nspr-4.8-orig/mozilla/nsprpub/configure 2009-09-12 00:43:47.600359058 -0500
++++ nspr-4.8/mozilla/nsprpub/configure 2009-09-12 00:44:19.444380569 -0500
+@@ -6037,6 +6037,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++config/nspr.pc
+ lib/Makefile
+ lib/ds/Makefile
+ lib/libc/Makefile
+diff -urN nspr-4.8-orig/mozilla/nsprpub/configure.in nspr-4.8/mozilla/nsprpub/configure.in
+--- nspr-4.8-orig/mozilla/nsprpub/configure.in 2009-09-12 00:43:47.678357452 -0500
++++ nspr-4.8/mozilla/nsprpub/configure.in 2009-09-12 00:44:19.451396074 -0500
+@@ -2871,6 +2871,7 @@
+ config/nsprincl.mk
+ config/nsprincl.sh
+ config/nspr-config
++config/nspr.pc
+ lib/Makefile
+ lib/ds/Makefile
+ lib/libc/Makefile
diff --git a/testing/nss/APKBUILD b/testing/nss/APKBUILD
new file mode 100644
index 0000000000..c795669ea7
--- /dev/null
+++ b/testing/nss/APKBUILD
@@ -0,0 +1,119 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=nss
+pkgver=3.12.6
+_ver=3_12_6
+pkgrel=0
+pkgdesc="Mozilla Network Security Services"
+url="http://www.mozilla.org/projects/security/pki/nss/"
+license="MPL GPL"
+depends=
+makedepends="nspr-dev sqlite-dev zlib-dev perl"
+subpackages="$pkgname-dev libnss"
+source="ftp://ftp.mozilla.org/pub/security/$pkgname/releases/NSS_${_ver}_RTM/src/$pkgname-$pkgver.tar.gz
+ nss-nolocalsql.patch
+ nss-no-rpath.patch
+ nss.pc.in
+ nss-config.in
+ add_spi+cacert_ca_certs.patch
+ ssl-renegotiate-transitional.patch"
+depends_dev="nspr-dev"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ patch -Np1 -i ""$srcdir"/add_spi+cacert_ca_certs.patch" || return 1
+ patch -Np1 -i ""$srcdir"/ssl-renegotiate-transitional.patch" || return 1
+ patch -Np0 -i ""$srcdir"/nss-nolocalsql.patch" || return 1
+ patch -Np0 -i ""$srcdir"/nss-no-rpath.patch" || return 1
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' \
+ mozilla/security/coreconf/rules.mk
+
+}
+
+build() {
+ cd "$_builddir"
+ unset CFLAGS
+ unset CXXFLAGS
+ export BUILD_OPT=1
+ export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
+ export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
+ export NSPR_INCLUDE_DIR=`pkg-config --cflags-only-I nspr | sed 's/-I//'`
+ export NSPR_LIB_DIR=`pkg-config --libs-only-L nspr | sed 's/-L.//'`
+ export XCFLAGS="${CFLAGS}"
+ make -j 1 -C mozilla/security/coreconf || return 1
+ make -j 1 -C mozilla/security/dbm || return 1
+ make -j 1 -C mozilla/security/nss || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -d "$pkgdir"/usr/lib/pkgconfig
+ install -m755 -d "$pkgdir"/usr/bin
+ install -m755 -d "$pkgdir"/usr/include/nss
+
+ NSS_VMAJOR=`awk '/#define.*NSS_VMAJOR/ {print $3}' mozilla/security/nss/lib/nss/nss.h `
+ msg "DEBUG: $NSS_VMAJOR"
+ NSS_VMINOR=`awk '/#define.*NSS_VMINOR/ {print $3}' mozilla/security/nss/lib/nss/nss.h`
+ NSS_VPATCH=`awk '/#define.*NSS_VPATCH"/ {print $3}' mozilla/security/nss/lib/nss/nss.h`
+
+ # pkgconfig files
+ sed "$srcdir"/nss.pc.in \
+ -e "s,%libdir%,/usr/lib,g" \
+ -e "s,%prefix%,/usr,g" \
+ -e "s,%exec_prefix%,/usr/bin,g" \
+ -e "s,%includedir%,/usr/include/nss,g" \
+ -e "s,%NSPR_VERSION%,$pkgver,g" \
+ -e "s,%NSS_VERSION%,$pkgver,g" \
+ > "$pkgdir"/usr/lib/pkgconfig/nss.pc \
+ || return 1
+ ln -sf nss.pc "$pkgdir"/usr/lib/pkgconfig/mozilla-nss.pc || return 1
+ chmod 644 "$pkgdir"/usr/lib/pkgconfig/*.pc || return 1
+
+ # nss-config
+ sed "$srcdir"/nss-config.in \
+ -e "s,@libdir@,/usr/lib,g" \
+ -e "s,@prefix@,/usr/bin,g" \
+ -e "s,@exec_prefix@,/usr/bin,g" \
+ -e "s,@includedir@,/usr/include/nss,g" \
+ -e "s,@MOD_MAJOR_VERSION@,${NSS_VMAJOR},g" \
+ -e "s,@MOD_MINOR_VERSION@,${NSS_VMINOR},g" \
+ -e "s,@MOD_PATCH_VERSION@,${NSS_VPATCH},g" \
+ > "$pkgdir"/usr/bin/nss-config || return 1
+ chmod 755 "$pkgdir"/usr/bin/nss-config || return 1
+ local minor=${pkgver#*.}
+ minor=${minor%.*}
+ for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so \
+ libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
+ install -m755 mozilla/dist/*.OBJ/lib/${file} \
+ "$pkgdir"/usr/lib/${file}.$minor || return 1
+ ln -s $file.$minor "$pkgdir"/usr/lib/$file
+ done
+ install -m644 mozilla/dist/*.OBJ/lib/libcrmf.a "$pkgdir"/usr/lib/ \
+ || return 1
+ install -m644 mozilla/dist/*.OBJ/lib/*.chk "$pkgdir"/usr/lib/ \
+ || return 1
+
+ for file in certutil cmsutil crlutil modutil pk12util shlibsign \
+ signtool signver ssltap; do
+ install -m755 mozilla/dist/*.OBJ/bin/${file} "$pkgdir"/usr/bin/\
+ || return 1
+ done
+ install -m644 mozilla/dist/public/nss/*.h "$pkgdir"/usr/include/nss/ \
+ || return 1
+}
+
+libnss() {
+ pkgdesc="Mozilla Network Security Service libraries"
+ mkdir -p "$subpkgdir"/usr/
+ mv "$pkgdir"/usr/lib "$subpkgdir"/usr
+}
+
+md5sums="da42596665f226de5eb3ecfc1ec57cd1 nss-3.12.6.tar.gz
+1d8305dc458d28c6f32746d9132b9873 nss-nolocalsql.patch
+e5c97db0c884d5f4cfda21e562dc9bba nss-no-rpath.patch
+c547b030c57fe1ed8b77c73bf52b3ded nss.pc.in
+46bee81908f1e5b26d6a7a2e14c64d9f nss-config.in
+a744b499e7da252acd9ac8ff09af3d48 add_spi+cacert_ca_certs.patch
+d83c7b61abb7e9f8f7bcd157183d1ade ssl-renegotiate-transitional.patch"
diff --git a/testing/nss/add_spi+cacert_ca_certs.patch b/testing/nss/add_spi+cacert_ca_certs.patch
new file mode 100644
index 0000000000..a8969ee43f
--- /dev/null
+++ b/testing/nss/add_spi+cacert_ca_certs.patch
@@ -0,0 +1,1168 @@
+## 95_add_spi+cacert_ca_certs.patch by martin f. krafft <madduck@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Adds the SPI Inc. and CAcert.org CA certificates
+
+diff --git a/mozilla/security/nss/lib/ckfw/builtins/certdata.c b/mozilla/security/nss/lib/ckfw/builtins/certdata.c
+index 2c6fdab..2fb754c 100644
+--- a/mozilla/security/nss/lib/ckfw/builtins/certdata.c
++++ b/mozilla/security/nss/lib/ckfw/builtins/certdata.c
+@@ -35,7 +35,7 @@
+ *
+ * ***** END LICENSE BLOCK ***** */
+ #ifdef DEBUG
+-static const char CVS_ID[] = "@(#) $RCSfile: certdata.c,v $ $Revision: 1.59 $ $Date: 2010/02/16 22:14:34 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.59 $ $Date: 2010/02/16 22:14:34 $";
++static const char CVS_ID[] = "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.58 $ $Date: 2010/02/16 22:14:35 $""; @(#) $RCSfile: certdata.perl,v $ $Revision: 1.12 $ $Date: 2008/01/23 07:34:49 $";
+ #endif /* DEBUG */
+
+ #ifndef BUILTINS_H
+@@ -1020,6 +1020,24 @@ static const CK_ATTRIBUTE_TYPE nss_builtins_types_320 [] = {
+ static const CK_ATTRIBUTE_TYPE nss_builtins_types_321 [] = {
+ CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
+ };
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_322 [] = {
++ CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_323 [] = {
++ CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_324 [] = {
++ CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_325 [] = {
++ CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_326 [] = {
++ CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE
++};
++static const CK_ATTRIBUTE_TYPE nss_builtins_types_327 [] = {
++ CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING, CKA_TRUST_STEP_UP_APPROVED
++};
+ #ifdef DEBUG
+ static const NSSItem nss_builtins_items_0 [] = {
+ { (void *)&cko_data, (PRUint32)sizeof(CK_OBJECT_CLASS) },
+@@ -1028,7 +1046,7 @@ static const NSSItem nss_builtins_items_0 [] = {
+ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
+ { (void *)"CVS ID", (PRUint32)7 },
+ { (void *)"NSS", (PRUint32)4 },
+- { (void *)"@(#) $RCSfile: certdata.c,v $ $Revision: 1.59 $ $Date: 2010/02/16 22:14:34 $""; @(#) $RCSfile: certdata.c,v $ $Revision: 1.59 $ $Date: 2010/02/16 22:14:34 $", (PRUint32)160 }
++ { (void *)"@(#) $RCSfile: certdata.txt,v $ $Revision: 1.58 $ $Date: 2010/02/16 22:14:35 $""; @(#) $RCSfile: certdata.perl,v $ $Revision: 1.12 $ $Date: 2008/01/23 07:34:49 $", (PRUint32)160 }
+ };
+ #endif /* DEBUG */
+ static const NSSItem nss_builtins_items_1 [] = {
+@@ -21537,6 +21555,531 @@ static const NSSItem nss_builtins_items_321 [] = {
+ { (void *)&ckt_netscape_trust_unknown, (PRUint32)sizeof(CK_TRUST) },
+ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
+ };
++static const NSSItem nss_builtins_items_322 [] = {
++ { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++ { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)"CAcert.org Class 1 Root CA", (PRUint32)27 },
++ { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
++ { (void *)"\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157"
++"\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150"
++"\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164"
++"\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103"
++"\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101"
++"\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206"
++"\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164"
++"\100\143\141\143\145\162\164\056\157\162\147"
++, (PRUint32)123 },
++ { (void *)"0", (PRUint32)2 },
++ { (void *)"\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157"
++"\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150"
++"\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164"
++"\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103"
++"\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101"
++"\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206"
++"\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164"
++"\100\143\141\143\145\162\164\056\157\162\147"
++, (PRUint32)123 },
++ { (void *)"\002\001\000"
++, (PRUint32)3 },
++ { (void *)"\060\202\007\075\060\202\005\045\240\003\002\001\002\002\001\000"
++"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060"
++"\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157\164"
++"\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150\164"
++"\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164\056"
++"\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103\101"
++"\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101\165"
++"\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206\110"
++"\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164\100"
++"\143\141\143\145\162\164\056\157\162\147\060\036\027\015\060\063"
++"\060\063\063\060\061\062\062\071\064\071\132\027\015\063\063\060"
++"\063\062\071\061\062\062\071\064\071\132\060\171\061\020\060\016"
++"\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036"
++"\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057"
++"\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042"
++"\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164"
++"\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151"
++"\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011"
++"\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162"
++"\164\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110"
++"\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002"
++"\012\002\202\002\001\000\316\042\300\342\106\175\354\066\050\007"
++"\120\226\362\240\063\100\214\113\361\073\146\077\061\345\153\002"
++"\066\333\326\174\366\361\210\217\116\167\066\005\101\225\371\011"
++"\360\022\317\106\206\163\140\267\156\176\350\300\130\144\256\315"
++"\260\255\105\027\014\143\372\147\012\350\326\322\277\076\347\230"
++"\304\360\114\372\340\003\273\065\135\154\041\336\236\040\331\272"
++"\315\146\062\067\162\372\367\010\365\307\315\130\311\216\347\016"
++"\136\352\076\376\034\241\024\012\025\154\206\204\133\144\146\052"
++"\172\251\113\123\171\365\210\242\173\356\057\012\141\053\215\262"
++"\176\115\126\245\023\354\352\332\222\236\254\104\101\036\130\140"
++"\145\005\146\370\300\104\275\313\224\367\102\176\013\367\145\150"
++"\230\121\005\360\363\005\221\004\035\033\027\202\354\310\127\273"
++"\303\153\172\210\361\260\162\314\045\133\040\221\354\026\002\022"
++"\217\062\351\027\030\110\320\307\005\056\002\060\102\270\045\234"
++"\005\153\077\252\072\247\353\123\110\367\350\322\266\007\230\334"
++"\033\306\064\177\177\311\034\202\172\005\130\053\010\133\363\070"
++"\242\253\027\135\146\311\230\327\236\020\213\242\322\335\164\232"
++"\367\161\014\162\140\337\315\157\230\063\235\226\064\166\076\044"
++"\172\222\260\016\225\036\157\346\240\105\070\107\252\327\101\355"
++"\112\267\022\366\327\033\203\212\017\056\330\011\266\131\327\252"
++"\004\377\322\223\175\150\056\335\213\113\253\130\272\057\215\352"
++"\225\247\240\303\124\211\245\373\333\213\121\042\235\262\303\276"
++"\021\276\054\221\206\213\226\170\255\040\323\212\057\032\077\306"
++"\320\121\145\207\041\261\031\001\145\177\105\034\207\365\174\320"
++"\101\114\117\051\230\041\375\063\037\165\014\004\121\372\031\167"
++"\333\324\024\034\356\201\303\035\365\230\267\151\006\221\042\335"
++"\000\120\314\201\061\254\022\007\173\070\332\150\133\346\053\324"
++"\176\311\137\255\350\353\162\114\363\001\345\113\040\277\232\246"
++"\127\312\221\000\001\213\241\165\041\067\265\143\015\147\076\106"
++"\117\160\040\147\316\305\326\131\333\002\340\360\322\313\315\272"
++"\142\267\220\101\350\335\040\344\051\274\144\051\102\310\042\334"
++"\170\232\377\103\354\230\033\011\121\113\132\132\302\161\361\304"
++"\313\163\251\345\241\013\002\003\001\000\001\243\202\001\316\060"
++"\202\001\312\060\035\006\003\125\035\016\004\026\004\024\026\265"
++"\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262\071"
++"\030\321\060\201\243\006\003\125\035\043\004\201\233\060\201\230"
++"\200\024\026\265\062\033\324\307\363\340\346\216\363\275\322\260"
++"\072\356\262\071\030\321\241\175\244\173\060\171\061\020\060\016"
++"\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036"
++"\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057"
++"\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042"
++"\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164"
++"\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151"
++"\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011"
++"\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162"
++"\164\056\157\162\147\202\001\000\060\017\006\003\125\035\023\001"
++"\001\377\004\005\060\003\001\001\377\060\062\006\003\125\035\037"
++"\004\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160"
++"\163\072\057\057\167\167\167\056\143\141\143\145\162\164\056\157"
++"\162\147\057\162\145\166\157\153\145\056\143\162\154\060\060\006"
++"\011\140\206\110\001\206\370\102\001\004\004\043\026\041\150\164"
++"\164\160\163\072\057\057\167\167\167\056\143\141\143\145\162\164"
++"\056\157\162\147\057\162\145\166\157\153\145\056\143\162\154\060"
++"\064\006\011\140\206\110\001\206\370\102\001\010\004\047\026\045"
++"\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162"
++"\164\056\157\162\147\057\151\156\144\145\170\056\160\150\160\077"
++"\151\144\075\061\060\060\126\006\011\140\206\110\001\206\370\102"
++"\001\015\004\111\026\107\124\157\040\147\145\164\040\171\157\165"
++"\162\040\157\167\156\040\143\145\162\164\151\146\151\143\141\164"
++"\145\040\146\157\162\040\106\122\105\105\040\150\145\141\144\040"
++"\157\166\145\162\040\164\157\040\150\164\164\160\072\057\057\167"
++"\167\167\056\143\141\143\145\162\164\056\157\162\147\060\015\006"
++"\011\052\206\110\206\367\015\001\001\004\005\000\003\202\002\001"
++"\000\050\307\356\234\202\002\272\134\200\022\312\065\012\035\201"
++"\157\211\152\231\314\362\150\017\177\247\341\215\130\225\076\275"
++"\362\006\303\220\132\254\265\140\366\231\103\001\243\210\160\234"
++"\235\142\235\244\207\257\147\130\015\060\066\073\346\255\110\323"
++"\313\164\002\206\161\076\342\053\003\150\361\064\142\100\106\073"
++"\123\352\050\364\254\373\146\225\123\212\115\135\375\073\331\140"
++"\327\312\171\151\073\261\145\222\246\306\201\202\134\234\315\353"
++"\115\001\212\245\337\021\125\252\025\312\037\067\300\202\230\160"
++"\141\333\152\174\226\243\216\056\124\076\117\041\251\220\357\334"
++"\202\277\334\350\105\255\115\220\163\010\074\224\145\260\004\231"
++"\166\177\342\274\302\152\025\252\227\004\067\044\330\036\224\116"
++"\155\016\121\276\326\304\217\312\226\155\367\103\337\350\060\145"
++"\047\073\173\273\103\103\143\304\103\367\262\354\150\314\341\031"
++"\216\042\373\230\341\173\132\076\001\067\073\213\010\260\242\363"
++"\225\116\032\313\233\315\232\261\333\262\160\360\055\112\333\330"
++"\260\343\157\105\110\063\022\377\376\074\062\052\124\367\304\367"
++"\212\360\210\043\302\107\376\144\172\161\300\321\036\246\143\260"
++"\007\176\244\057\323\001\217\334\237\053\266\306\010\251\017\223"
++"\110\045\374\022\375\237\102\334\363\304\076\366\127\260\327\335"
++"\151\321\006\167\064\012\113\322\312\240\377\034\306\214\311\026"
++"\276\304\314\062\067\150\163\137\010\373\121\367\111\123\066\005"
++"\012\225\002\114\362\171\032\020\366\330\072\165\234\363\035\361"
++"\242\015\160\147\206\033\263\026\365\057\345\244\353\171\206\371"
++"\075\013\302\163\013\245\231\254\157\374\147\270\345\057\013\246"
++"\030\044\215\173\321\110\065\051\030\100\254\223\140\341\226\206"
++"\120\264\172\131\330\217\041\013\237\317\202\221\306\073\277\153"
++"\334\007\221\271\227\126\043\252\266\154\224\306\110\006\074\344"
++"\316\116\252\344\366\057\011\334\123\157\056\374\164\353\072\143"
++"\231\302\246\254\211\274\247\262\104\240\015\212\020\343\154\362"
++"\044\313\372\233\237\160\107\056\336\024\213\324\262\040\011\226"
++"\242\144\361\044\034\334\241\065\234\025\262\324\274\125\056\175"
++"\006\365\234\016\125\364\132\326\223\332\166\255\045\163\114\305"
++"\103"
++, (PRUint32)1857 }
++};
++static const NSSItem nss_builtins_items_323 [] = {
++ { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++ { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)"CAcert.org Class 1 Root CA", (PRUint32)27 },
++ { (void *)"\023\134\354\066\364\234\270\351\073\032\262\160\315\200\210\106"
++"\166\316\217\063"
++, (PRUint32)20 },
++ { (void *)"\246\033\067\136\071\015\234\066\124\356\275\040\061\106\037\153"
++, (PRUint32)16 },
++ { (void *)"\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157"
++"\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150"
++"\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164"
++"\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103"
++"\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101"
++"\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206"
++"\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164"
++"\100\143\141\143\145\162\164\056\157\162\147"
++, (PRUint32)123 },
++ { (void *)"\002\001\000"
++, (PRUint32)3 },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
++};
++static const NSSItem nss_builtins_items_324 [] = {
++ { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++ { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)"CAcert.org Class 3 Root CA", (PRUint32)27 },
++ { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
++ { (void *)"\060\124\061\024\060\022\006\003\125\004\012\023\013\103\101\143"
++"\145\162\164\040\111\156\143\056\061\036\060\034\006\003\125\004"
++"\013\023\025\150\164\164\160\072\057\057\167\167\167\056\103\101"
++"\143\145\162\164\056\157\162\147\061\034\060\032\006\003\125\004"
++"\003\023\023\103\101\143\145\162\164\040\103\154\141\163\163\040"
++"\063\040\122\157\157\164"
++, (PRUint32)86 },
++ { (void *)"0", (PRUint32)2 },
++ { (void *)"\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157"
++"\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150"
++"\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164"
++"\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103"
++"\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101"
++"\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206"
++"\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164"
++"\100\143\141\143\145\162\164\056\157\162\147"
++, (PRUint32)123 },
++ { (void *)"\002\001\001"
++, (PRUint32)3 },
++ { (void *)"\060\202\006\010\060\202\003\360\240\003\002\001\002\002\001\001"
++"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060"
++"\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157\164"
++"\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150\164"
++"\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164\056"
++"\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103\101"
++"\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101\165"
++"\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206\110"
++"\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164\100"
++"\143\141\143\145\162\164\056\157\162\147\060\036\027\015\060\065"
++"\061\060\061\064\060\067\063\066\065\065\132\027\015\063\063\060"
++"\063\062\070\060\067\063\066\065\065\132\060\124\061\024\060\022"
++"\006\003\125\004\012\023\013\103\101\143\145\162\164\040\111\156"
++"\143\056\061\036\060\034\006\003\125\004\013\023\025\150\164\164"
++"\160\072\057\057\167\167\167\056\103\101\143\145\162\164\056\157"
++"\162\147\061\034\060\032\006\003\125\004\003\023\023\103\101\143"
++"\145\162\164\040\103\154\141\163\163\040\063\040\122\157\157\164"
++"\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001"
++"\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001"
++"\000\253\111\065\021\110\174\322\046\176\123\224\317\103\251\335"
++"\050\327\102\052\213\363\207\170\031\130\174\017\236\332\211\175"
++"\341\373\353\162\220\015\164\241\226\144\253\237\240\044\231\163"
++"\332\342\125\166\307\027\173\365\004\254\106\270\303\276\177\144"
++"\215\020\154\044\363\141\234\300\362\220\372\121\346\365\151\001"
++"\143\303\017\126\342\112\102\317\342\104\214\045\050\250\305\171"
++"\011\175\106\271\212\363\351\363\064\051\010\105\344\034\237\313"
++"\224\004\034\201\250\024\263\230\145\304\103\354\116\202\215\011"
++"\321\275\252\133\215\222\320\354\336\220\305\177\012\302\343\353"
++"\346\061\132\136\164\076\227\063\131\350\303\003\075\140\063\277"
++"\367\321\157\107\304\315\356\142\203\122\156\056\010\232\244\331"
++"\025\030\221\246\205\222\107\260\256\110\353\155\267\041\354\205"
++"\032\150\162\065\253\377\360\020\135\300\364\224\247\152\325\073"
++"\222\176\114\220\005\176\223\301\054\213\244\216\142\164\025\161"
++"\156\013\161\003\352\257\025\070\232\324\322\005\162\157\214\371"
++"\053\353\132\162\045\371\071\106\343\162\033\076\004\303\144\047"
++"\042\020\052\212\117\130\247\003\255\276\264\056\023\355\135\252"
++"\110\327\325\175\324\052\173\134\372\106\004\120\344\314\016\102"
++"\133\214\355\333\362\317\374\226\223\340\333\021\066\124\142\064"
++"\070\217\014\140\233\073\227\126\070\255\363\322\133\213\240\133"
++"\352\116\226\270\174\327\325\240\206\160\100\323\221\051\267\242"
++"\074\255\365\214\273\317\032\222\212\344\064\173\300\330\154\137"
++"\351\012\302\303\247\040\232\132\337\054\135\122\134\272\107\325"
++"\233\357\044\050\160\070\040\057\325\177\051\300\262\101\003\150"
++"\222\314\340\234\314\227\113\105\357\072\020\012\253\160\072\230"
++"\225\160\255\065\261\352\205\053\244\034\200\041\061\251\256\140"
++"\172\200\046\110\000\270\001\300\223\143\125\042\221\074\126\347"
++"\257\333\072\045\363\217\061\124\352\046\213\201\131\371\241\321"
++"\123\021\305\173\235\003\366\164\021\340\155\261\054\077\054\206"
++"\221\231\161\232\246\167\213\064\140\321\024\264\054\254\235\257"
++"\214\020\323\237\304\152\370\157\023\374\163\131\367\146\102\164"
++"\036\212\343\370\334\322\157\230\234\313\107\230\225\100\005\373"
++"\351\002\003\001\000\001\243\201\277\060\201\274\060\017\006\003"
++"\125\035\023\001\001\377\004\005\060\003\001\001\377\060\135\006"
++"\010\053\006\001\005\005\007\001\001\004\121\060\117\060\043\006"
++"\010\053\006\001\005\005\007\060\001\206\027\150\164\164\160\072"
++"\057\057\157\143\163\160\056\103\101\143\145\162\164\056\157\162"
++"\147\057\060\050\006\010\053\006\001\005\005\007\060\002\206\034"
++"\150\164\164\160\072\057\057\167\167\167\056\103\101\143\145\162"
++"\164\056\157\162\147\057\143\141\056\143\162\164\060\112\006\003"
++"\125\035\040\004\103\060\101\060\077\006\010\053\006\001\004\001"
++"\201\220\112\060\063\060\061\006\010\053\006\001\005\005\007\002"
++"\001\026\045\150\164\164\160\072\057\057\167\167\167\056\103\101"
++"\143\145\162\164\056\157\162\147\057\151\156\144\145\170\056\160"
++"\150\160\077\151\144\075\061\060\060\015\006\011\052\206\110\206"
++"\367\015\001\001\004\005\000\003\202\002\001\000\177\010\210\241"
++"\332\032\120\111\332\211\373\241\010\162\363\212\367\036\304\072"
++"\264\171\133\040\060\261\105\336\302\135\323\145\151\361\302\135"
++"\124\124\074\205\137\271\173\102\221\302\231\375\033\121\233\253"
++"\106\245\241\020\123\236\155\210\254\163\156\054\063\246\360\364"
++"\236\340\165\301\076\210\105\251\341\146\103\376\126\132\321\172"
++"\101\170\367\100\332\112\072\361\013\133\245\273\026\006\346\302"
++"\347\223\271\205\115\227\117\261\036\070\103\200\357\233\015\214"
++"\357\270\247\140\000\207\127\175\036\104\034\313\043\357\233\074"
++"\231\235\257\265\051\034\105\171\026\226\115\047\155\361\034\154"
++"\303\302\125\144\263\274\024\342\363\244\037\036\062\374\047\025"
++"\005\317\335\056\256\076\202\141\173\360\041\020\030\366\104\352"
++"\123\071\371\334\320\232\040\340\306\273\340\273\132\117\304\231"
++"\310\007\275\265\275\242\333\056\142\015\102\064\101\274\377\213"
++"\212\365\121\042\252\210\060\000\342\260\324\274\276\145\272\325"
++"\003\127\171\233\350\334\310\115\370\120\355\221\245\122\050\242"
++"\254\373\066\130\076\351\224\053\221\120\207\033\326\136\326\214"
++"\314\367\017\020\014\122\116\320\026\141\345\345\012\154\277\027"
++"\307\162\106\127\234\230\365\154\140\143\172\157\136\271\116\057"
++"\310\271\271\273\152\205\274\230\015\355\371\076\227\204\064\224"
++"\256\000\257\241\345\347\222\156\116\275\363\342\331\024\213\134"
++"\322\353\001\154\240\027\245\055\020\353\234\172\112\275\275\356"
++"\316\375\355\042\100\253\160\070\210\365\012\207\152\302\253\005"
++"\140\311\110\005\332\123\301\336\104\167\152\263\363\074\074\355"
++"\200\274\246\070\112\051\044\137\376\131\073\233\045\172\126\143"
++"\000\144\271\135\244\142\175\127\066\117\255\203\357\037\222\123"
++"\240\216\167\127\335\345\141\021\075\043\000\220\114\074\372\243"
++"\140\223\004\243\257\065\366\016\152\217\117\112\140\247\205\005"
++"\154\106\241\217\364\307\166\343\241\131\127\367\161\262\304\156"
++"\024\134\155\155\101\146\337\033\223\261\324\000\303\356\313\317"
++"\074\075\041\200\251\137\143\145\374\335\340\137\244\364\053\360"
++"\205\161\101\324\147\045\373\032\261\227\256\326\231\202\023\101"
++"\322\156\245\033\231\047\200\347\013\251\250\000"
++, (PRUint32)1548 }
++};
++static const NSSItem nss_builtins_items_325 [] = {
++ { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++ { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)"CAcert.org Class 3 Root CA", (PRUint32)27 },
++ { (void *)"\333\114\102\151\007\077\351\302\243\175\211\012\134\033\030\304"
++"\030\116\052\055"
++, (PRUint32)20 },
++ { (void *)"\163\077\065\124\035\104\311\351\132\112\357\121\255\003\006\266"
++, (PRUint32)16 },
++ { (void *)"\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157"
++"\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150"
++"\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164"
++"\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103"
++"\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101"
++"\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206"
++"\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164"
++"\100\143\141\143\145\162\164\056\157\162\147"
++, (PRUint32)123 },
++ { (void *)"\002\001\001"
++, (PRUint32)3 },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
++};
++static const NSSItem nss_builtins_items_326 [] = {
++ { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++ { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)"Software in the Public Interest, Inc. Root CA (2008)", (PRUint32)53 },
++ { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) },
++ { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123"
++"\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141"
++"\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144"
++"\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125"
++"\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040"
++"\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162"
++"\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157"
++"\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004"
++"\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101"
++"\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206"
++"\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163"
++"\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147"
++, (PRUint32)191 },
++ { (void *)"0", (PRUint32)2 },
++ { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123"
++"\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141"
++"\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144"
++"\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125"
++"\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040"
++"\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162"
++"\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157"
++"\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004"
++"\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101"
++"\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206"
++"\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163"
++"\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147"
++, (PRUint32)191 },
++ { (void *)"\002\011\000\350\216\266\311\370\052\024\050"
++, (PRUint32)11 },
++ { (void *)"\060\202\010\016\060\202\005\366\240\003\002\001\002\002\011\000"
++"\350\216\266\311\370\052\024\050\060\015\006\011\052\206\110\206"
++"\367\015\001\001\005\005\000\060\201\274\061\013\060\011\006\003"
++"\125\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010"
++"\023\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125"
++"\004\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163"
++"\061\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167"
++"\141\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151"
++"\143\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003"
++"\125\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061"
++"\036\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146"
++"\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061"
++"\045\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026"
++"\150\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151"
++"\156\143\056\157\162\147\060\036\027\015\060\070\060\065\061\063"
++"\060\070\060\067\065\066\132\027\015\061\070\060\065\061\061\060"
++"\070\060\067\065\066\132\060\201\274\061\013\060\011\006\003\125"
++"\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023"
++"\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125\004"
++"\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163\061"
++"\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167\141"
++"\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151\143"
++"\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003\125"
++"\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061\036"
++"\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146\151"
++"\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\045"
++"\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026\150"
++"\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151\156"
++"\143\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110"
++"\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002"
++"\012\002\202\002\001\000\334\066\346\107\102\302\304\121\165\051"
++"\207\100\303\330\216\041\006\322\030\116\353\357\040\275\220\074"
++"\205\020\023\214\051\133\224\143\366\364\055\361\006\102\221\271"
++"\031\304\102\151\010\277\213\066\105\352\050\005\063\111\110\240"
++"\047\103\223\065\212\101\330\170\263\360\357\263\156\055\335\321"
++"\313\175\352\364\165\046\323\076\220\072\356\327\347\054\004\265"
++"\174\341\365\174\305\116\357\167\275\134\242\223\063\222\316\175"
++"\201\110\317\153\265\042\054\010\203\375\323\325\317\073\055\375"
++"\265\111\220\133\366\255\115\023\312\336\323\246\235\123\121\161"
++"\143\106\370\112\026\134\230\356\055\155\232\026\241\166\220\342"
++"\140\103\231\326\211\326\154\056\172\230\262\013\003\054\343\172"
++"\117\307\335\343\314\343\112\152\215\171\122\372\364\301\257\056"
++"\217\052\010\313\033\051\202\222\162\103\274\316\210\251\252\247"
++"\212\121\103\125\205\232\067\003\170\223\310\360\275\264\101\310"
++"\007\102\232\313\065\227\172\212\201\145\336\035\124\010\001\361"
++"\144\134\267\027\032\121\274\036\303\131\207\166\030\026\230\356"
++"\277\366\147\201\213\006\065\305\113\155\131\031\307\322\306\110"
++"\276\156\024\050\203\112\020\234\033\365\157\274\251\216\365\151"
++"\376\262\301\125\314\347\024\311\371\133\024\123\121\007\352\316"
++"\075\344\117\050\037\074\141\011\327\063\322\156\247\156\324\307"
++"\023\011\157\153\135\024\356\235\211\033\245\152\362\366\370\320"
++"\162\216\352\162\037\057\064\152\051\012\305\012\354\034\100\205"
++"\022\367\246\245\323\117\255\300\205\214\114\174\163\040\314\123"
++"\030\361\262\130\114\001\365\277\352\144\325\134\071\305\316\154"
++"\314\123\132\126\272\101\017\045\337\153\120\266\307\212\240\275"
++"\002\302\305\073\125\245\262\144\042\204\121\050\126\256\061\356"
++"\136\373\013\026\115\106\005\221\200\104\355\254\155\360\127\250"
++"\372\353\141\110\240\313\033\263\037\216\315\305\041\167\003\204"
++"\036\374\254\243\103\010\143\214\355\371\047\357\264\260\135\147"
++"\326\117\355\320\213\076\135\133\311\221\275\226\002\204\075\305"
++"\115\274\102\077\164\375\074\135\254\134\110\066\136\207\061\057"
++"\030\154\304\150\356\241\213\311\131\320\030\343\000\200\263\124"
++"\047\056\231\360\025\123\002\003\001\000\001\243\202\002\017\060"
++"\202\002\013\060\035\006\003\125\035\016\004\026\004\024\064\161"
++"\321\070\327\025\066\203\107\153\327\067\144\102\073\216\215\122"
++"\235\253\060\201\361\006\003\125\035\043\004\201\351\060\201\346"
++"\200\024\064\161\321\070\327\025\066\203\107\153\327\067\144\102"
++"\073\216\215\122\235\253\241\201\302\244\201\277\060\201\274\061"
++"\013\060\011\006\003\125\004\006\023\002\125\123\061\020\060\016"
++"\006\003\125\004\010\023\007\111\156\144\151\141\156\141\061\025"
++"\060\023\006\003\125\004\007\023\014\111\156\144\151\141\156\141"
++"\160\157\154\151\163\061\050\060\046\006\003\125\004\012\023\037"
++"\123\157\146\164\167\141\162\145\040\151\156\040\164\150\145\040"
++"\120\165\142\154\151\143\040\111\156\164\145\162\145\163\164\061"
++"\023\060\021\006\003\125\004\013\023\012\150\157\163\164\155\141"
++"\163\164\145\162\061\036\060\034\006\003\125\004\003\023\025\103"
++"\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157"
++"\162\151\164\171\061\045\060\043\006\011\052\206\110\206\367\015"
++"\001\011\001\026\026\150\157\163\164\155\141\163\164\145\162\100"
++"\163\160\151\055\151\156\143\056\157\162\147\202\011\000\350\216"
++"\266\311\370\052\024\050\060\017\006\003\125\035\023\001\001\377"
++"\004\005\060\003\001\001\377\060\021\006\011\140\206\110\001\206"
++"\370\102\001\001\004\004\003\002\000\007\060\011\006\003\125\035"
++"\022\004\002\060\000\060\056\006\011\140\206\110\001\206\370\102"
++"\001\015\004\041\026\037\123\157\146\164\167\141\162\145\040\151"
++"\156\040\164\150\145\040\120\165\142\154\151\143\040\111\156\164"
++"\145\162\145\163\164\060\060\006\011\140\206\110\001\206\370\102"
++"\001\004\004\043\026\041\150\164\164\160\163\072\057\057\143\141"
++"\056\163\160\151\055\151\156\143\056\157\162\147\057\143\141\055"
++"\143\162\154\056\160\145\155\060\062\006\011\140\206\110\001\206"
++"\370\102\001\003\004\045\026\043\150\164\164\160\163\072\057\057"
++"\143\141\056\163\160\151\055\151\156\143\056\157\162\147\057\143"
++"\145\162\164\055\143\162\154\056\160\145\155\060\041\006\003\125"
++"\035\021\004\032\060\030\201\026\150\157\163\164\155\141\163\164"
++"\145\162\100\163\160\151\055\151\156\143\056\157\162\147\060\016"
++"\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\015"
++"\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002"
++"\001\000\264\315\275\340\271\352\262\003\053\176\062\351\336\162"
++"\077\311\113\202\136\235\342\257\125\011\242\014\124\350\317\030"
++"\074\050\040\035\251\273\003\002\057\122\071\042\371\027\317\255"
++"\147\220\263\003\177\330\025\343\153\176\273\233\126\001\257\065"
++"\324\332\271\307\147\027\233\324\325\016\067\263\040\101\056\014"
++"\001\304\133\371\145\076\302\141\350\322\360\152\225\160\303\306"
++"\157\325\065\244\254\131\162\341\211\337\241\240\235\044\275\051"
++"\171\351\141\052\331\323\036\311\106\244\010\170\101\222\162\017"
++"\253\024\165\355\011\360\242\360\134\357\303\012\142\040\267\302"
++"\050\146\256\114\057\056\217\105\143\046\226\360\356\061\346\213"
++"\125\233\252\072\371\202\071\035\210\074\342\007\165\032\341\017"
++"\261\060\274\161\062\322\072\376\372\241\211\363\103\054\326\162"
++"\304\171\247\025\110\005\300\330\055\162\002\343\313\075\026\152"
++"\272\311\270\021\020\342\111\205\314\226\107\140\005\045\056\357"
++"\165\131\063\365\107\031\026\357\332\154\137\007\310\246\120\266"
++"\035\313\146\064\045\374\146\203\353\305\266\060\101\370\106\104"
++"\142\250\301\014\124\346\352\114\132\050\346\256\306\267\376\177"
++"\073\226\250\056\356\307\150\076\335\000\075\051\257\052\143\253"
++"\137\356\111\052\055\305\334\373\321\306\323\321\227\126\122\206"
++"\266\224\353\324\140\121\267\374\036\233\314\002\233\324\037\217"
++"\371\112\217\266\056\050\073\027\314\305\246\005\343\322\323\265"
++"\306\003\311\341\110\102\233\313\077\344\027\340\376\015\001\225"
++"\011\272\270\015\161\344\011\160\167\102\330\115\341\102\251\140"
++"\203\327\027\211\103\322\324\335\247\030\266\253\324\044\045\207"
++"\265\324\342\374\056\042\151\275\255\150\054\377\162\265\230\252"
++"\006\234\347\052\152\270\241\223\166\316\260\363\177\234\341\340"
++"\117\270\330\206\106\245\063\002\054\045\141\067\052\222\310\254"
++"\201\164\150\143\207\063\166\275\005\177\136\325\325\002\155\275"
++"\257\377\052\132\252\111\354\230\171\107\123\221\366\016\064\132"
++"\311\245\306\353\262\343\305\254\266\240\160\065\273\310\121\151"
++"\320\362\265\242\062\156\274\077\240\067\071\174\161\066\246\005"
++"\337\014\022\344\026\247\305\326\313\143\243\225\160\077\346\004"
++"\243\140"
++, (PRUint32)2066 }
++};
++static const NSSItem nss_builtins_items_327 [] = {
++ { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) },
++ { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) },
++ { (void *)"Software in the Public Interest, Inc. Root CA (2008)", (PRUint32)53 },
++ { (void *)"\257\160\210\103\203\202\002\025\315\141\306\274\354\375\067\044"
++"\251\220\103\034"
++, (PRUint32)20 },
++ { (void *)"\052\107\237\140\273\203\164\157\001\003\327\013\015\366\015\170"
++, (PRUint32)16 },
++ { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123"
++"\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141"
++"\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144"
++"\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125"
++"\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040"
++"\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162"
++"\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157"
++"\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004"
++"\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101"
++"\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206"
++"\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163"
++"\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147"
++, (PRUint32)191 },
++ { (void *)"\002\011\000\350\216\266\311\370\052\024\050"
++, (PRUint32)11 },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) },
++ { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }
++};
+
+ builtinsInternalObject
+ nss_builtins_data[] = {
+@@ -21863,11 +22406,17 @@ nss_builtins_data[] = {
+ { 11, nss_builtins_types_318, nss_builtins_items_318, {NULL} },
+ { 13, nss_builtins_types_319, nss_builtins_items_319, {NULL} },
+ { 11, nss_builtins_types_320, nss_builtins_items_320, {NULL} },
+- { 13, nss_builtins_types_321, nss_builtins_items_321, {NULL} }
++ { 13, nss_builtins_types_321, nss_builtins_items_321, {NULL} },
++ { 11, nss_builtins_types_322, nss_builtins_items_322, {NULL} },
++ { 13, nss_builtins_types_323, nss_builtins_items_323, {NULL} },
++ { 11, nss_builtins_types_324, nss_builtins_items_324, {NULL} },
++ { 13, nss_builtins_types_325, nss_builtins_items_325, {NULL} },
++ { 11, nss_builtins_types_326, nss_builtins_items_326, {NULL} },
++ { 13, nss_builtins_types_327, nss_builtins_items_327, {NULL} }
+ };
+ const PRUint32
+ #ifdef DEBUG
+- nss_builtins_nObjects = 321+1;
++ nss_builtins_nObjects = 327+1;
+ #else
+- nss_builtins_nObjects = 321;
++ nss_builtins_nObjects = 327;
+ #endif /* DEBUG */
+diff --git a/mozilla/security/nss/lib/ckfw/builtins/certdata.txt b/mozilla/security/nss/lib/ckfw/builtins/certdata.txt
+index 22ed023..a8b94dd 100644
+--- a/mozilla/security/nss/lib/ckfw/builtins/certdata.txt
++++ b/mozilla/security/nss/lib/ckfw/builtins/certdata.txt
+@@ -22200,3 +22200,558 @@ CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
+ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUST_UNKNOWN
+ CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUST_UNKNOWN
+ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
++
++#
++# Certificate "CAcert.org Class 1 Root CA"
++#
++CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "CAcert.org Class 1 Root CA"
++CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
++CKA_SUBJECT MULTILINE_OCTAL
++\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
++\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
++\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
++\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
++\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
++\100\143\141\143\145\162\164\056\157\162\147
++END
++CKA_ID UTF8 "0"
++CKA_ISSUER MULTILINE_OCTAL
++\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
++\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
++\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
++\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
++\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
++\100\143\141\143\145\162\164\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\001\000
++END
++CKA_VALUE MULTILINE_OCTAL
++\060\202\007\075\060\202\005\045\240\003\002\001\002\002\001\000
++\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
++\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157\164
++\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150\164
++\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164\056
++\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103\101
++\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101\165
++\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206\110
++\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164\100
++\143\141\143\145\162\164\056\157\162\147\060\036\027\015\060\063
++\060\063\063\060\061\062\062\071\064\071\132\027\015\063\063\060
++\063\062\071\061\062\062\071\064\071\132\060\171\061\020\060\016
++\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036
++\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057
++\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042
++\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164
++\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151
++\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011
++\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162
++\164\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110
++\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
++\012\002\202\002\001\000\316\042\300\342\106\175\354\066\050\007
++\120\226\362\240\063\100\214\113\361\073\146\077\061\345\153\002
++\066\333\326\174\366\361\210\217\116\167\066\005\101\225\371\011
++\360\022\317\106\206\163\140\267\156\176\350\300\130\144\256\315
++\260\255\105\027\014\143\372\147\012\350\326\322\277\076\347\230
++\304\360\114\372\340\003\273\065\135\154\041\336\236\040\331\272
++\315\146\062\067\162\372\367\010\365\307\315\130\311\216\347\016
++\136\352\076\376\034\241\024\012\025\154\206\204\133\144\146\052
++\172\251\113\123\171\365\210\242\173\356\057\012\141\053\215\262
++\176\115\126\245\023\354\352\332\222\236\254\104\101\036\130\140
++\145\005\146\370\300\104\275\313\224\367\102\176\013\367\145\150
++\230\121\005\360\363\005\221\004\035\033\027\202\354\310\127\273
++\303\153\172\210\361\260\162\314\045\133\040\221\354\026\002\022
++\217\062\351\027\030\110\320\307\005\056\002\060\102\270\045\234
++\005\153\077\252\072\247\353\123\110\367\350\322\266\007\230\334
++\033\306\064\177\177\311\034\202\172\005\130\053\010\133\363\070
++\242\253\027\135\146\311\230\327\236\020\213\242\322\335\164\232
++\367\161\014\162\140\337\315\157\230\063\235\226\064\166\076\044
++\172\222\260\016\225\036\157\346\240\105\070\107\252\327\101\355
++\112\267\022\366\327\033\203\212\017\056\330\011\266\131\327\252
++\004\377\322\223\175\150\056\335\213\113\253\130\272\057\215\352
++\225\247\240\303\124\211\245\373\333\213\121\042\235\262\303\276
++\021\276\054\221\206\213\226\170\255\040\323\212\057\032\077\306
++\320\121\145\207\041\261\031\001\145\177\105\034\207\365\174\320
++\101\114\117\051\230\041\375\063\037\165\014\004\121\372\031\167
++\333\324\024\034\356\201\303\035\365\230\267\151\006\221\042\335
++\000\120\314\201\061\254\022\007\173\070\332\150\133\346\053\324
++\176\311\137\255\350\353\162\114\363\001\345\113\040\277\232\246
++\127\312\221\000\001\213\241\165\041\067\265\143\015\147\076\106
++\117\160\040\147\316\305\326\131\333\002\340\360\322\313\315\272
++\142\267\220\101\350\335\040\344\051\274\144\051\102\310\042\334
++\170\232\377\103\354\230\033\011\121\113\132\132\302\161\361\304
++\313\163\251\345\241\013\002\003\001\000\001\243\202\001\316\060
++\202\001\312\060\035\006\003\125\035\016\004\026\004\024\026\265
++\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262\071
++\030\321\060\201\243\006\003\125\035\043\004\201\233\060\201\230
++\200\024\026\265\062\033\324\307\363\340\346\216\363\275\322\260
++\072\356\262\071\030\321\241\175\244\173\060\171\061\020\060\016
++\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036
++\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057
++\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042
++\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164
++\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151
++\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011
++\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162
++\164\056\157\162\147\202\001\000\060\017\006\003\125\035\023\001
++\001\377\004\005\060\003\001\001\377\060\062\006\003\125\035\037
++\004\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160
++\163\072\057\057\167\167\167\056\143\141\143\145\162\164\056\157
++\162\147\057\162\145\166\157\153\145\056\143\162\154\060\060\006
++\011\140\206\110\001\206\370\102\001\004\004\043\026\041\150\164
++\164\160\163\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\057\162\145\166\157\153\145\056\143\162\154\060
++\064\006\011\140\206\110\001\206\370\102\001\010\004\047\026\045
++\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162
++\164\056\157\162\147\057\151\156\144\145\170\056\160\150\160\077
++\151\144\075\061\060\060\126\006\011\140\206\110\001\206\370\102
++\001\015\004\111\026\107\124\157\040\147\145\164\040\171\157\165
++\162\040\157\167\156\040\143\145\162\164\151\146\151\143\141\164
++\145\040\146\157\162\040\106\122\105\105\040\150\145\141\144\040
++\157\166\145\162\040\164\157\040\150\164\164\160\072\057\057\167
++\167\167\056\143\141\143\145\162\164\056\157\162\147\060\015\006
++\011\052\206\110\206\367\015\001\001\004\005\000\003\202\002\001
++\000\050\307\356\234\202\002\272\134\200\022\312\065\012\035\201
++\157\211\152\231\314\362\150\017\177\247\341\215\130\225\076\275
++\362\006\303\220\132\254\265\140\366\231\103\001\243\210\160\234
++\235\142\235\244\207\257\147\130\015\060\066\073\346\255\110\323
++\313\164\002\206\161\076\342\053\003\150\361\064\142\100\106\073
++\123\352\050\364\254\373\146\225\123\212\115\135\375\073\331\140
++\327\312\171\151\073\261\145\222\246\306\201\202\134\234\315\353
++\115\001\212\245\337\021\125\252\025\312\037\067\300\202\230\160
++\141\333\152\174\226\243\216\056\124\076\117\041\251\220\357\334
++\202\277\334\350\105\255\115\220\163\010\074\224\145\260\004\231
++\166\177\342\274\302\152\025\252\227\004\067\044\330\036\224\116
++\155\016\121\276\326\304\217\312\226\155\367\103\337\350\060\145
++\047\073\173\273\103\103\143\304\103\367\262\354\150\314\341\031
++\216\042\373\230\341\173\132\076\001\067\073\213\010\260\242\363
++\225\116\032\313\233\315\232\261\333\262\160\360\055\112\333\330
++\260\343\157\105\110\063\022\377\376\074\062\052\124\367\304\367
++\212\360\210\043\302\107\376\144\172\161\300\321\036\246\143\260
++\007\176\244\057\323\001\217\334\237\053\266\306\010\251\017\223
++\110\045\374\022\375\237\102\334\363\304\076\366\127\260\327\335
++\151\321\006\167\064\012\113\322\312\240\377\034\306\214\311\026
++\276\304\314\062\067\150\163\137\010\373\121\367\111\123\066\005
++\012\225\002\114\362\171\032\020\366\330\072\165\234\363\035\361
++\242\015\160\147\206\033\263\026\365\057\345\244\353\171\206\371
++\075\013\302\163\013\245\231\254\157\374\147\270\345\057\013\246
++\030\044\215\173\321\110\065\051\030\100\254\223\140\341\226\206
++\120\264\172\131\330\217\041\013\237\317\202\221\306\073\277\153
++\334\007\221\271\227\126\043\252\266\154\224\306\110\006\074\344
++\316\116\252\344\366\057\011\334\123\157\056\374\164\353\072\143
++\231\302\246\254\211\274\247\262\104\240\015\212\020\343\154\362
++\044\313\372\233\237\160\107\056\336\024\213\324\262\040\011\226
++\242\144\361\044\034\334\241\065\234\025\262\324\274\125\056\175
++\006\365\234\016\125\364\132\326\223\332\166\255\045\163\114\305
++\103
++END
++
++# Trust for Certificate "CAcert.org Class 1 Root CA"
++CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "CAcert.org Class 1 Root CA"
++CKA_CERT_SHA1_HASH MULTILINE_OCTAL
++\023\134\354\066\364\234\270\351\073\032\262\160\315\200\210\106
++\166\316\217\063
++END
++CKA_CERT_MD5_HASH MULTILINE_OCTAL
++\246\033\067\136\071\015\234\066\124\356\275\040\061\106\037\153
++END
++CKA_ISSUER MULTILINE_OCTAL
++\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
++\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
++\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
++\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
++\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
++\100\143\141\143\145\162\164\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\001\000
++END
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
++
++#
++# Certificate "CAcert.org Class 3 Root CA"
++#
++CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "CAcert.org Class 3 Root CA"
++CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
++CKA_SUBJECT MULTILINE_OCTAL
++\060\124\061\024\060\022\006\003\125\004\012\023\013\103\101\143
++\145\162\164\040\111\156\143\056\061\036\060\034\006\003\125\004
++\013\023\025\150\164\164\160\072\057\057\167\167\167\056\103\101
++\143\145\162\164\056\157\162\147\061\034\060\032\006\003\125\004
++\003\023\023\103\101\143\145\162\164\040\103\154\141\163\163\040
++\063\040\122\157\157\164
++END
++CKA_ID UTF8 "0"
++CKA_ISSUER MULTILINE_OCTAL
++\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
++\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
++\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
++\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
++\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
++\100\143\141\143\145\162\164\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\001\001
++END
++CKA_VALUE MULTILINE_OCTAL
++\060\202\006\010\060\202\003\360\240\003\002\001\002\002\001\001
++\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060
++\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157\164
++\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150\164
++\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164\056
++\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103\101
++\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101\165
++\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206\110
++\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164\100
++\143\141\143\145\162\164\056\157\162\147\060\036\027\015\060\065
++\061\060\061\064\060\067\063\066\065\065\132\027\015\063\063\060
++\063\062\070\060\067\063\066\065\065\132\060\124\061\024\060\022
++\006\003\125\004\012\023\013\103\101\143\145\162\164\040\111\156
++\143\056\061\036\060\034\006\003\125\004\013\023\025\150\164\164
++\160\072\057\057\167\167\167\056\103\101\143\145\162\164\056\157
++\162\147\061\034\060\032\006\003\125\004\003\023\023\103\101\143
++\145\162\164\040\103\154\141\163\163\040\063\040\122\157\157\164
++\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001
++\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001
++\000\253\111\065\021\110\174\322\046\176\123\224\317\103\251\335
++\050\327\102\052\213\363\207\170\031\130\174\017\236\332\211\175
++\341\373\353\162\220\015\164\241\226\144\253\237\240\044\231\163
++\332\342\125\166\307\027\173\365\004\254\106\270\303\276\177\144
++\215\020\154\044\363\141\234\300\362\220\372\121\346\365\151\001
++\143\303\017\126\342\112\102\317\342\104\214\045\050\250\305\171
++\011\175\106\271\212\363\351\363\064\051\010\105\344\034\237\313
++\224\004\034\201\250\024\263\230\145\304\103\354\116\202\215\011
++\321\275\252\133\215\222\320\354\336\220\305\177\012\302\343\353
++\346\061\132\136\164\076\227\063\131\350\303\003\075\140\063\277
++\367\321\157\107\304\315\356\142\203\122\156\056\010\232\244\331
++\025\030\221\246\205\222\107\260\256\110\353\155\267\041\354\205
++\032\150\162\065\253\377\360\020\135\300\364\224\247\152\325\073
++\222\176\114\220\005\176\223\301\054\213\244\216\142\164\025\161
++\156\013\161\003\352\257\025\070\232\324\322\005\162\157\214\371
++\053\353\132\162\045\371\071\106\343\162\033\076\004\303\144\047
++\042\020\052\212\117\130\247\003\255\276\264\056\023\355\135\252
++\110\327\325\175\324\052\173\134\372\106\004\120\344\314\016\102
++\133\214\355\333\362\317\374\226\223\340\333\021\066\124\142\064
++\070\217\014\140\233\073\227\126\070\255\363\322\133\213\240\133
++\352\116\226\270\174\327\325\240\206\160\100\323\221\051\267\242
++\074\255\365\214\273\317\032\222\212\344\064\173\300\330\154\137
++\351\012\302\303\247\040\232\132\337\054\135\122\134\272\107\325
++\233\357\044\050\160\070\040\057\325\177\051\300\262\101\003\150
++\222\314\340\234\314\227\113\105\357\072\020\012\253\160\072\230
++\225\160\255\065\261\352\205\053\244\034\200\041\061\251\256\140
++\172\200\046\110\000\270\001\300\223\143\125\042\221\074\126\347
++\257\333\072\045\363\217\061\124\352\046\213\201\131\371\241\321
++\123\021\305\173\235\003\366\164\021\340\155\261\054\077\054\206
++\221\231\161\232\246\167\213\064\140\321\024\264\054\254\235\257
++\214\020\323\237\304\152\370\157\023\374\163\131\367\146\102\164
++\036\212\343\370\334\322\157\230\234\313\107\230\225\100\005\373
++\351\002\003\001\000\001\243\201\277\060\201\274\060\017\006\003
++\125\035\023\001\001\377\004\005\060\003\001\001\377\060\135\006
++\010\053\006\001\005\005\007\001\001\004\121\060\117\060\043\006
++\010\053\006\001\005\005\007\060\001\206\027\150\164\164\160\072
++\057\057\157\143\163\160\056\103\101\143\145\162\164\056\157\162
++\147\057\060\050\006\010\053\006\001\005\005\007\060\002\206\034
++\150\164\164\160\072\057\057\167\167\167\056\103\101\143\145\162
++\164\056\157\162\147\057\143\141\056\143\162\164\060\112\006\003
++\125\035\040\004\103\060\101\060\077\006\010\053\006\001\004\001
++\201\220\112\060\063\060\061\006\010\053\006\001\005\005\007\002
++\001\026\045\150\164\164\160\072\057\057\167\167\167\056\103\101
++\143\145\162\164\056\157\162\147\057\151\156\144\145\170\056\160
++\150\160\077\151\144\075\061\060\060\015\006\011\052\206\110\206
++\367\015\001\001\004\005\000\003\202\002\001\000\177\010\210\241
++\332\032\120\111\332\211\373\241\010\162\363\212\367\036\304\072
++\264\171\133\040\060\261\105\336\302\135\323\145\151\361\302\135
++\124\124\074\205\137\271\173\102\221\302\231\375\033\121\233\253
++\106\245\241\020\123\236\155\210\254\163\156\054\063\246\360\364
++\236\340\165\301\076\210\105\251\341\146\103\376\126\132\321\172
++\101\170\367\100\332\112\072\361\013\133\245\273\026\006\346\302
++\347\223\271\205\115\227\117\261\036\070\103\200\357\233\015\214
++\357\270\247\140\000\207\127\175\036\104\034\313\043\357\233\074
++\231\235\257\265\051\034\105\171\026\226\115\047\155\361\034\154
++\303\302\125\144\263\274\024\342\363\244\037\036\062\374\047\025
++\005\317\335\056\256\076\202\141\173\360\041\020\030\366\104\352
++\123\071\371\334\320\232\040\340\306\273\340\273\132\117\304\231
++\310\007\275\265\275\242\333\056\142\015\102\064\101\274\377\213
++\212\365\121\042\252\210\060\000\342\260\324\274\276\145\272\325
++\003\127\171\233\350\334\310\115\370\120\355\221\245\122\050\242
++\254\373\066\130\076\351\224\053\221\120\207\033\326\136\326\214
++\314\367\017\020\014\122\116\320\026\141\345\345\012\154\277\027
++\307\162\106\127\234\230\365\154\140\143\172\157\136\271\116\057
++\310\271\271\273\152\205\274\230\015\355\371\076\227\204\064\224
++\256\000\257\241\345\347\222\156\116\275\363\342\331\024\213\134
++\322\353\001\154\240\027\245\055\020\353\234\172\112\275\275\356
++\316\375\355\042\100\253\160\070\210\365\012\207\152\302\253\005
++\140\311\110\005\332\123\301\336\104\167\152\263\363\074\074\355
++\200\274\246\070\112\051\044\137\376\131\073\233\045\172\126\143
++\000\144\271\135\244\142\175\127\066\117\255\203\357\037\222\123
++\240\216\167\127\335\345\141\021\075\043\000\220\114\074\372\243
++\140\223\004\243\257\065\366\016\152\217\117\112\140\247\205\005
++\154\106\241\217\364\307\166\343\241\131\127\367\161\262\304\156
++\024\134\155\155\101\146\337\033\223\261\324\000\303\356\313\317
++\074\075\041\200\251\137\143\145\374\335\340\137\244\364\053\360
++\205\161\101\324\147\045\373\032\261\227\256\326\231\202\023\101
++\322\156\245\033\231\047\200\347\013\251\250\000
++END
++
++# Trust for Certificate "CAcert.org Class 3 Root CA"
++CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "CAcert.org Class 3 Root CA"
++CKA_CERT_SHA1_HASH MULTILINE_OCTAL
++\333\114\102\151\007\077\351\302\243\175\211\012\134\033\030\304
++\030\116\052\055
++END
++CKA_CERT_MD5_HASH MULTILINE_OCTAL
++\163\077\065\124\035\104\311\351\132\112\357\121\255\003\006\266
++END
++CKA_ISSUER MULTILINE_OCTAL
++\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157
++\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150
++\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164
++\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103
++\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101
++\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206
++\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164
++\100\143\141\143\145\162\164\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\001\001
++END
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
++
++#
++# Certificate "Software in the Public Interest, Inc. Root CA (2008)"
++#
++CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "Software in the Public Interest, Inc. Root CA (2008)"
++CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509
++CKA_SUBJECT MULTILINE_OCTAL
++\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123
++\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141
++\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144
++\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125
++\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040
++\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162
++\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157
++\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004
++\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101
++\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206
++\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163
++\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147
++END
++CKA_ID UTF8 "0"
++CKA_ISSUER MULTILINE_OCTAL
++\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123
++\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141
++\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144
++\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125
++\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040
++\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162
++\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157
++\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004
++\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101
++\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206
++\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163
++\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\011\000\350\216\266\311\370\052\024\050
++END
++CKA_VALUE MULTILINE_OCTAL
++\060\202\010\016\060\202\005\366\240\003\002\001\002\002\011\000
++\350\216\266\311\370\052\024\050\060\015\006\011\052\206\110\206
++\367\015\001\001\005\005\000\060\201\274\061\013\060\011\006\003
++\125\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010
++\023\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125
++\004\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163
++\061\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167
++\141\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151
++\143\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003
++\125\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061
++\036\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146
++\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061
++\045\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026
++\150\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151
++\156\143\056\157\162\147\060\036\027\015\060\070\060\065\061\063
++\060\070\060\067\065\066\132\027\015\061\070\060\065\061\061\060
++\070\060\067\065\066\132\060\201\274\061\013\060\011\006\003\125
++\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023
++\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125\004
++\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163\061
++\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167\141
++\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151\143
++\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003\125
++\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061\036
++\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146\151
++\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\045
++\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026\150
++\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151\156
++\143\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110
++\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002
++\012\002\202\002\001\000\334\066\346\107\102\302\304\121\165\051
++\207\100\303\330\216\041\006\322\030\116\353\357\040\275\220\074
++\205\020\023\214\051\133\224\143\366\364\055\361\006\102\221\271
++\031\304\102\151\010\277\213\066\105\352\050\005\063\111\110\240
++\047\103\223\065\212\101\330\170\263\360\357\263\156\055\335\321
++\313\175\352\364\165\046\323\076\220\072\356\327\347\054\004\265
++\174\341\365\174\305\116\357\167\275\134\242\223\063\222\316\175
++\201\110\317\153\265\042\054\010\203\375\323\325\317\073\055\375
++\265\111\220\133\366\255\115\023\312\336\323\246\235\123\121\161
++\143\106\370\112\026\134\230\356\055\155\232\026\241\166\220\342
++\140\103\231\326\211\326\154\056\172\230\262\013\003\054\343\172
++\117\307\335\343\314\343\112\152\215\171\122\372\364\301\257\056
++\217\052\010\313\033\051\202\222\162\103\274\316\210\251\252\247
++\212\121\103\125\205\232\067\003\170\223\310\360\275\264\101\310
++\007\102\232\313\065\227\172\212\201\145\336\035\124\010\001\361
++\144\134\267\027\032\121\274\036\303\131\207\166\030\026\230\356
++\277\366\147\201\213\006\065\305\113\155\131\031\307\322\306\110
++\276\156\024\050\203\112\020\234\033\365\157\274\251\216\365\151
++\376\262\301\125\314\347\024\311\371\133\024\123\121\007\352\316
++\075\344\117\050\037\074\141\011\327\063\322\156\247\156\324\307
++\023\011\157\153\135\024\356\235\211\033\245\152\362\366\370\320
++\162\216\352\162\037\057\064\152\051\012\305\012\354\034\100\205
++\022\367\246\245\323\117\255\300\205\214\114\174\163\040\314\123
++\030\361\262\130\114\001\365\277\352\144\325\134\071\305\316\154
++\314\123\132\126\272\101\017\045\337\153\120\266\307\212\240\275
++\002\302\305\073\125\245\262\144\042\204\121\050\126\256\061\356
++\136\373\013\026\115\106\005\221\200\104\355\254\155\360\127\250
++\372\353\141\110\240\313\033\263\037\216\315\305\041\167\003\204
++\036\374\254\243\103\010\143\214\355\371\047\357\264\260\135\147
++\326\117\355\320\213\076\135\133\311\221\275\226\002\204\075\305
++\115\274\102\077\164\375\074\135\254\134\110\066\136\207\061\057
++\030\154\304\150\356\241\213\311\131\320\030\343\000\200\263\124
++\047\056\231\360\025\123\002\003\001\000\001\243\202\002\017\060
++\202\002\013\060\035\006\003\125\035\016\004\026\004\024\064\161
++\321\070\327\025\066\203\107\153\327\067\144\102\073\216\215\122
++\235\253\060\201\361\006\003\125\035\043\004\201\351\060\201\346
++\200\024\064\161\321\070\327\025\066\203\107\153\327\067\144\102
++\073\216\215\122\235\253\241\201\302\244\201\277\060\201\274\061
++\013\060\011\006\003\125\004\006\023\002\125\123\061\020\060\016
++\006\003\125\004\010\023\007\111\156\144\151\141\156\141\061\025
++\060\023\006\003\125\004\007\023\014\111\156\144\151\141\156\141
++\160\157\154\151\163\061\050\060\046\006\003\125\004\012\023\037
++\123\157\146\164\167\141\162\145\040\151\156\040\164\150\145\040
++\120\165\142\154\151\143\040\111\156\164\145\162\145\163\164\061
++\023\060\021\006\003\125\004\013\023\012\150\157\163\164\155\141
++\163\164\145\162\061\036\060\034\006\003\125\004\003\023\025\103
++\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157
++\162\151\164\171\061\045\060\043\006\011\052\206\110\206\367\015
++\001\011\001\026\026\150\157\163\164\155\141\163\164\145\162\100
++\163\160\151\055\151\156\143\056\157\162\147\202\011\000\350\216
++\266\311\370\052\024\050\060\017\006\003\125\035\023\001\001\377
++\004\005\060\003\001\001\377\060\021\006\011\140\206\110\001\206
++\370\102\001\001\004\004\003\002\000\007\060\011\006\003\125\035
++\022\004\002\060\000\060\056\006\011\140\206\110\001\206\370\102
++\001\015\004\041\026\037\123\157\146\164\167\141\162\145\040\151
++\156\040\164\150\145\040\120\165\142\154\151\143\040\111\156\164
++\145\162\145\163\164\060\060\006\011\140\206\110\001\206\370\102
++\001\004\004\043\026\041\150\164\164\160\163\072\057\057\143\141
++\056\163\160\151\055\151\156\143\056\157\162\147\057\143\141\055
++\143\162\154\056\160\145\155\060\062\006\011\140\206\110\001\206
++\370\102\001\003\004\045\026\043\150\164\164\160\163\072\057\057
++\143\141\056\163\160\151\055\151\156\143\056\157\162\147\057\143
++\145\162\164\055\143\162\154\056\160\145\155\060\041\006\003\125
++\035\021\004\032\060\030\201\026\150\157\163\164\155\141\163\164
++\145\162\100\163\160\151\055\151\156\143\056\157\162\147\060\016
++\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\015
++\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002
++\001\000\264\315\275\340\271\352\262\003\053\176\062\351\336\162
++\077\311\113\202\136\235\342\257\125\011\242\014\124\350\317\030
++\074\050\040\035\251\273\003\002\057\122\071\042\371\027\317\255
++\147\220\263\003\177\330\025\343\153\176\273\233\126\001\257\065
++\324\332\271\307\147\027\233\324\325\016\067\263\040\101\056\014
++\001\304\133\371\145\076\302\141\350\322\360\152\225\160\303\306
++\157\325\065\244\254\131\162\341\211\337\241\240\235\044\275\051
++\171\351\141\052\331\323\036\311\106\244\010\170\101\222\162\017
++\253\024\165\355\011\360\242\360\134\357\303\012\142\040\267\302
++\050\146\256\114\057\056\217\105\143\046\226\360\356\061\346\213
++\125\233\252\072\371\202\071\035\210\074\342\007\165\032\341\017
++\261\060\274\161\062\322\072\376\372\241\211\363\103\054\326\162
++\304\171\247\025\110\005\300\330\055\162\002\343\313\075\026\152
++\272\311\270\021\020\342\111\205\314\226\107\140\005\045\056\357
++\165\131\063\365\107\031\026\357\332\154\137\007\310\246\120\266
++\035\313\146\064\045\374\146\203\353\305\266\060\101\370\106\104
++\142\250\301\014\124\346\352\114\132\050\346\256\306\267\376\177
++\073\226\250\056\356\307\150\076\335\000\075\051\257\052\143\253
++\137\356\111\052\055\305\334\373\321\306\323\321\227\126\122\206
++\266\224\353\324\140\121\267\374\036\233\314\002\233\324\037\217
++\371\112\217\266\056\050\073\027\314\305\246\005\343\322\323\265
++\306\003\311\341\110\102\233\313\077\344\027\340\376\015\001\225
++\011\272\270\015\161\344\011\160\167\102\330\115\341\102\251\140
++\203\327\027\211\103\322\324\335\247\030\266\253\324\044\045\207
++\265\324\342\374\056\042\151\275\255\150\054\377\162\265\230\252
++\006\234\347\052\152\270\241\223\166\316\260\363\177\234\341\340
++\117\270\330\206\106\245\063\002\054\045\141\067\052\222\310\254
++\201\164\150\143\207\063\166\275\005\177\136\325\325\002\155\275
++\257\377\052\132\252\111\354\230\171\107\123\221\366\016\064\132
++\311\245\306\353\262\343\305\254\266\240\160\065\273\310\121\151
++\320\362\265\242\062\156\274\077\240\067\071\174\161\066\246\005
++\337\014\022\344\026\247\305\326\313\143\243\225\160\077\346\004
++\243\140
++END
++
++# Trust for Certificate "Software in the Public Interest, Inc. Root CA (2008)"
++CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST
++CKA_TOKEN CK_BBOOL CK_TRUE
++CKA_PRIVATE CK_BBOOL CK_FALSE
++CKA_MODIFIABLE CK_BBOOL CK_FALSE
++CKA_LABEL UTF8 "Software in the Public Interest, Inc. Root CA (2008)"
++CKA_CERT_SHA1_HASH MULTILINE_OCTAL
++\257\160\210\103\203\202\002\025\315\141\306\274\354\375\067\044
++\251\220\103\034
++END
++CKA_CERT_MD5_HASH MULTILINE_OCTAL
++\052\107\237\140\273\203\164\157\001\003\327\013\015\366\015\170
++END
++CKA_ISSUER MULTILINE_OCTAL
++\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123
++\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141
++\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144
++\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125
++\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040
++\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162
++\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157
++\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004
++\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101
++\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206
++\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163
++\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147
++END
++CKA_SERIAL_NUMBER MULTILINE_OCTAL
++\002\011\000\350\216\266\311\370\052\024\050
++END
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR
++CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
diff --git a/testing/nss/nss-config.in b/testing/nss/nss-config.in
new file mode 100644
index 0000000000..f8f893e71a
--- /dev/null
+++ b/testing/nss/nss-config.in
@@ -0,0 +1,145 @@
+#!/bin/sh
+
+prefix=@prefix@
+
+major_version=@MOD_MAJOR_VERSION@
+minor_version=@MOD_MINOR_VERSION@
+patch_version=@MOD_PATCH_VERSION@
+
+usage()
+{
+ cat <<EOF
+Usage: nss-config [OPTIONS] [LIBRARIES]
+Options:
+ [--prefix[=DIR]]
+ [--exec-prefix[=DIR]]
+ [--includedir[=DIR]]
+ [--libdir[=DIR]]
+ [--version]
+ [--libs]
+ [--cflags]
+Dynamic Libraries:
+ nss
+ nssutil
+ ssl
+ smime
+EOF
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+lib_ssl=yes
+lib_smime=yes
+lib_nss=yes
+lib_nssutil=yes
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ ;;
+ --prefix)
+ echo_prefix=yes
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=yes
+ ;;
+ --includedir=*)
+ includedir=$optarg
+ ;;
+ --includedir)
+ echo_includedir=yes
+ ;;
+ --libdir=*)
+ libdir=$optarg
+ ;;
+ --libdir)
+ echo_libdir=yes
+ ;;
+ --version)
+ echo ${major_version}.${minor_version}.${patch_version}
+ ;;
+ --cflags)
+ echo_cflags=yes
+ ;;
+ --libs)
+ echo_libs=yes
+ ;;
+ ssl)
+ lib_ssl=yes
+ ;;
+ smime)
+ lib_smime=yes
+ ;;
+ nss)
+ lib_nss=yes
+ ;;
+ nssutil)
+ lib_nssutil=yes
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
+# Set variables that may be dependent upon other variables
+if test -z "$exec_prefix"; then
+ exec_prefix=`pkg-config --variable=exec_prefix nss`
+fi
+if test -z "$includedir"; then
+ includedir=`pkg-config --variable=includedir nss`
+fi
+if test -z "$libdir"; then
+ libdir=`pkg-config --variable=libdir nss`
+fi
+
+if test "$echo_prefix" = "yes"; then
+ echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+ echo $exec_prefix
+fi
+
+if test "$echo_includedir" = "yes"; then
+ echo $includedir
+fi
+
+if test "$echo_libdir" = "yes"; then
+ echo $libdir
+fi
+
+if test "$echo_cflags" = "yes"; then
+ echo -I$includedir
+fi
+
+if test "$echo_libs" = "yes"; then
+ libdirs="-Wl,-rpath-link,$libdir -L$libdir"
+ if test -n "$lib_ssl"; then
+ libdirs="$libdirs -lssl${major_version}"
+ fi
+ if test -n "$lib_smime"; then
+ libdirs="$libdirs -lsmime${major_version}"
+ fi
+ if test -n "$lib_nss"; then
+ libdirs="$libdirs -lnss${major_version}"
+ fi
+ if test -n "$lib_nssutil"; then
+ libdirs="$libdirs -lnssutil${major_version}"
+ fi
+ echo $libdirs
+fi
+
diff --git a/testing/nss/nss-no-rpath.patch b/testing/nss/nss-no-rpath.patch
new file mode 100644
index 0000000000..35ea573154
--- /dev/null
+++ b/testing/nss/nss-no-rpath.patch
@@ -0,0 +1,14 @@
+--- ./mozilla/security/nss/cmd/platlibs.mk.withrpath 2007-02-19 07:17:06.000000000 +0100
++++ ./mozilla/security/nss/cmd/platlibs.mk 2007-02-19 07:18:07.000000000 +0100
+@@ -52,9 +52,9 @@
+
+ ifeq ($(OS_ARCH), Linux)
+ ifeq ($(USE_64), 1)
+-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:$$ORIGIN/../lib'
++#EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:$$ORIGIN/../lib'
+ else
+-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib'
++#EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib'
+ endif
+ endif
+
diff --git a/testing/nss/nss-nolocalsql.patch b/testing/nss/nss-nolocalsql.patch
new file mode 100644
index 0000000000..dc75a223fc
--- /dev/null
+++ b/testing/nss/nss-nolocalsql.patch
@@ -0,0 +1,52 @@
+diff -up ./mozilla/security/nss/lib/Makefile.nolocalsql ./mozilla/security/nss/lib/Makefile
+--- ./mozilla/security/nss/lib/Makefile.nolocalsql 2010-02-27 16:40:25.891777537 -0800
++++ ./mozilla/security/nss/lib/Makefile 2010-02-27 16:41:59.175902327 -0800
+@@ -62,11 +62,11 @@ ifndef USE_SYSTEM_ZLIB
+ ZLIB_SRCDIR = zlib # Add the zlib directory to DIRS.
+ endif
+
+-ifndef MOZILLA_CLIENT
+-ifndef NSS_USE_SYSTEM_SQLITE
+-SQLITE_SRCDIR = sqlite # Add the sqlite directory to DIRS.
+-endif
+-endif
++#ifndef MOZILLA_CLIENT
++#ifndef NSS_USE_SYSTEM_SQLITE
++#SQLITE_SRCDIR = sqlite # Add the sqlite directory to DIRS.
++#endif
++#endif
+
+ ifndef MOZILLA_CLIENT
+ ifeq ($(OS_ARCH),Linux)
+diff -up ./mozilla/security/nss/lib/softoken/legacydb/manifest.mn.nolocalsql ./mozilla/security/nss/lib/softoken/legacydb/manifest.mn
+--- ./mozilla/security/nss/lib/softoken/legacydb/manifest.mn.nolocalsql 2010-02-27 16:44:24.998777709 -0800
++++ ./mozilla/security/nss/lib/softoken/legacydb/manifest.mn 2010-02-27 16:45:08.533803472 -0800
+@@ -46,9 +46,9 @@ MAPFILE = $(OBJDIR)/nssdbm.def
+
+ DEFINES += -DSHLIB_SUFFIX=\"$(DLL_SUFFIX)\" -DSHLIB_PREFIX=\"$(DLL_PREFIX)\" -DSOFTOKEN_LIB_NAME=\"$(notdir $(SHARED_LIBRARY))\"
+
+-ifdef MOZILLA_CLIENT
+-INCLUDES += -I$(DIST)/include/sqlite3
+-endif
++#ifdef MOZILLA_CLIENT
++#INCLUDES += -I$(DIST)/include/sqlite3
++#endif
+
+ CSRCS = \
+ dbmshim.c \
+diff -up ./mozilla/security/nss/lib/softoken/manifest.mn.nolocalsql ./mozilla/security/nss/lib/softoken/manifest.mn
+--- ./mozilla/security/nss/lib/softoken/manifest.mn.nolocalsql 2010-02-27 16:42:52.213902231 -0800
++++ ./mozilla/security/nss/lib/softoken/manifest.mn 2010-02-27 16:43:34.040776788 -0800
+@@ -47,9 +47,9 @@ MAPFILE = $(OBJDIR)/softokn.def
+
+ DEFINES += -DSHLIB_SUFFIX=\"$(DLL_SUFFIX)\" -DSHLIB_PREFIX=\"$(DLL_PREFIX)\" -DSOFTOKEN_LIB_NAME=\"$(notdir $(SHARED_LIBRARY))\" -DSHLIB_VERSION=\"$(LIBRARY_VERSION)\"
+
+-ifdef MOZILLA_CLIENT
+-INCLUDES += -I$(DIST)/include/sqlite3
+-endif
++#ifdef MOZILLA_CLIENT
++#INCLUDES += -I$(DIST)/include/sqlite3
++#endif
+
+ EXPORTS = \
+ secmodt.h \
diff --git a/testing/nss/nss.pc.in b/testing/nss/nss.pc.in
new file mode 100644
index 0000000000..d47b9e1469
--- /dev/null
+++ b/testing/nss/nss.pc.in
@@ -0,0 +1,11 @@
+prefix=%prefix%
+exec_prefix=%exec_prefix%
+libdir=%libdir%
+includedir=%includedir%
+
+Name: NSS
+Description: Network Security Services
+Version: %NSS_VERSION%
+Requires: nspr >= %NSPR_VERSION%
+Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
+Cflags: -I${includedir}
diff --git a/testing/nss/ssl-renegotiate-transitional.patch b/testing/nss/ssl-renegotiate-transitional.patch
new file mode 100644
index 0000000000..f457c55518
--- /dev/null
+++ b/testing/nss/ssl-renegotiate-transitional.patch
@@ -0,0 +1,21 @@
+Enable transitional scheme for ssl renegotiation:
+
+(from mozilla/security/nss/lib/ssl/ssl.h)
+Disallow unsafe renegotiation in server sockets only, but allow clients
+to continue to renegotiate with vulnerable servers.
+This value should only be used during the transition period when few
+servers have been upgraded.
+
+diff --git a/mozilla/security/nss/lib/ssl/sslsock.c b/mozilla/security/nss/lib/ssl/sslsock.c
+index f1d1921..c074360 100644
+--- a/mozilla/security/nss/lib/ssl/sslsock.c
++++ b/mozilla/security/nss/lib/ssl/sslsock.c
+@@ -181,7 +181,7 @@ static sslOptions ssl_defaults = {
+ PR_FALSE, /* noLocks */
+ PR_FALSE, /* enableSessionTickets */
+ PR_FALSE, /* enableDeflate */
+- 2, /* enableRenegotiation (default: requires extension) */
++ 3, /* enableRenegotiation (default: transitional) */
+ PR_FALSE, /* requireSafeNegotiation */
+ };
+
diff --git a/testing/openxcap/APKBUILD b/testing/openxcap/APKBUILD
new file mode 100644
index 0000000000..118a8782e7
--- /dev/null
+++ b/testing/openxcap/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+
+pkgname=openxcap
+pkgver=1.2.0
+pkgrel=3
+pkgdesc="Open source fully featured XCAP server "
+url="http://openxcap.org"
+pkgusers="openxcap"
+pkggroups="openxcap"
+license="GPL"
+depends="python py-application py-gnutls py-twisted py-twisted-web2 py-imaging
+ py-lxml py-mysqldb"
+makedepends="python-dev"
+install="$pkgname.pre-install $pkgname.post-install"
+source="http://download.ag-projects.com/XCAP/$pkgname-$pkgver.tar.gz
+ config.ini
+ openxcap.initd
+"
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages
+
+ python setup.py install --root="$pkgdir" || return 1
+
+ echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" \
+ > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth
+
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/config.ini \
+ "$pkgdir"/etc/openxcap/config.ini
+ install -d -o openxcap "$pkgdir"/var/run/openxcap
+}
+
+md5sums="ec34570deee2019a1ebf9a012a476c26 openxcap-1.2.0.tar.gz
+7a18872843586717eaf3879444cc13d2 config.ini
+5bebac590cb06b0eacaf040116bc354e openxcap.initd"
diff --git a/testing/openxcap/config.ini b/testing/openxcap/config.ini
new file mode 100644
index 0000000000..bcf5b22f23
--- /dev/null
+++ b/testing/openxcap/config.ini
@@ -0,0 +1,118 @@
+;
+; Configuration file for OpenXCAP
+;
+; The values in the commented lines represent the defaults built in the
+; server software
+;
+[Server]
+
+; IP address to listen for requests
+; 0.0.0.0 means any address of this host
+
+; address = 0.0.0.0
+
+; This is a comma separated list of XCAP root URIs. The first is the
+; primary XCAP root URI, while the others (if specified) are aliases.
+; The primary root URI is used when generating xcap-diff
+; If the scheme is https, then the server will listen for requests in TLS mode.
+
+root = http://xcap.example.com/xcap-root
+
+; The backend to be used for storage and authentication. Current supported
+; values are Database and OpenSIPS. OpenSIPS backend inherits all the settings
+; from the Database backend but performs extra actions related to the
+; integration with OpenSIPS for which it read the settings from [OpenSIPS]
+; section
+
+backend = OpenSIPS
+
+; Validate XCAP documents against XML schemas
+
+; document_validation = Yes
+
+
+[Logging]
+
+; Start, stop and major server error messages are always logged to syslog.
+
+; This section can be used to log more details about XCAP clients accessing
+; the server. The values in the commented lines represent the defaults built
+; in the server software
+
+; Directory where to write access.log file that will contain requests and/or
+; responses to OpenXCAP server in Apache style. If set to an empty string,
+; access logs will be printed to stdout if the server runs in no-fork mode
+; or to syslog if the server runs in the background
+
+; directory=/var/log/openxcap
+
+; The following parameters control what kind of information (like
+; stacktrace, body or headers) is logged for which response codes. The
+; values must be a comma-separated list of HTTP response codes or the
+; keyword 'any' that matches all response codes.
+
+; log_stacktrace=500
+; log_response_headers=500
+; log_response_body=500
+; log_request_headers=500
+; log_request_body=500
+
+
+[Authentication]
+
+; The HTTP authentication type, this can be either 'basic' or 'digest'. The
+; standard states 'digest' as the mandatory, however it can be changed to
+; basic
+
+; type = digest
+
+; Specify if the passwords are stored as plain text - Yes
+; or in a hashed format MD5('username:domain:password') - No
+; cleartext_passwords = Yes
+
+; The default authentication realm, if none indicated in the HTTP request
+; URI
+default_realm = example.com
+
+; A comma-separated list of hosts or networks to trust.
+; The elements can be an IP address in CIDR format, a
+; hostname or an IP address (in the latter 2 a mask of 32
+; is assumed), or the special keywords 'any' and 'none'
+; (being equivalent to 0.0.0.0/0 and 0.0.0.0/32
+; respectively).
+; trusted_peers =
+
+
+[TLS]
+
+; Location of X509 certificate and private key that identify this server.
+; The path is relative to /etc/openxcap, or it can be given as an absolute
+; path.
+
+; Server X509 certificate
+; certificate =
+
+; Server X509 private key
+; private_key =
+
+
+[Database]
+
+; The database connection URI for the datase with subscriber accounts
+authentication_db_uri = pgsql://username:password@db/opensips
+
+; The database connection URI for the database that stores the XCAP documents
+storage_db_uri = mysql://username:password@db/opensips
+
+; Authentication and storage tables
+; subscriber_table = subscriber
+; xcap_table = xcap
+
+
+[OpenSIPS]
+
+; The address and port of the xml-rpc management interface
+xmlrpc_url = http://sip.example.com:8080
+
+; Publish xcap-diff event via OpenSIPS management interface
+; enable_publish_xcapdiff = yes
diff --git a/testing/openxcap/openxcap.initd b/testing/openxcap/openxcap.initd
new file mode 100644
index 0000000000..69108afd8a
--- /dev/null
+++ b/testing/openxcap/openxcap.initd
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+#
+
+daemon=/usr/bin/openxcap
+pidfile=/var/run/openxcap/openxcap.pid
+
+depend() {
+ need net
+ after firewall
+}
+
+start() {
+ ebegin "Starting OpenXCAP Presence Server"
+ start-stop-daemon --start --quiet --pidfile $pidfile --exec $daemon
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping OpenXCAP Presence Server"
+ start-stop-daemon --stop --quiet --signal 15 --pidfile $pidfile
+ eend $?
+}
+
diff --git a/testing/openxcap/openxcap.post-install b/testing/openxcap/openxcap.post-install
new file mode 100755
index 0000000000..b3dff42032
--- /dev/null
+++ b/testing/openxcap/openxcap.post-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+chown -R openxcap:openxcap /var/run/openxcap
+chgrp openxcap /etc/openxcap/config.ini
+exit 0
diff --git a/testing/openxcap/openxcap.pre-install b/testing/openxcap/openxcap.pre-install
new file mode 100755
index 0000000000..cc2b529e93
--- /dev/null
+++ b/testing/openxcap/openxcap.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup openxcap 2>/dev/null
+adduser -G openxcap -h /var/run/openxcap -s /bin/false -S -D -H openxcap 2>/dev/null
+exit 0
diff --git a/testing/pidgin/APKBUILD b/testing/pidgin/APKBUILD
new file mode 100644
index 0000000000..bff483fc0d
--- /dev/null
+++ b/testing/pidgin/APKBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=pidgin
+pkgver=2.7.0
+pkgrel=1
+pkgdesc="graphical multi-protocol instant messaging client for X"
+url="http://pidgin.im/"
+license="GPL"
+depends=
+makedepends="gtk+-dev intltool libsm-dev startup-notification-dev gtkspell-dev
+ libxml2-dev gstreamer-dev libidn-dev dbus-glib-dev gnutls-dev
+ cyrus-sasl-dev ncurses-dev nss-dev"
+subpackages="$pkgname-dev $pkgname-doc finch libpurple"
+source="http://downloads.sourceforge.net/pidgin/$pkgver/pidgin-$pkgver.tar.bz2
+ msn_fix.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ patch -Np0 -i ""$srcdir"/msn_fix.patch" || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-avahi \
+ --disable-doxygen \
+ --disable-gnutls \
+ --disable-meanwhile \
+ --disable-nm \
+ --disable-perl \
+ --disable-schemas-install \
+ --disable-screensaver \
+ --disable-tcl \
+ --disable-vv \
+ --enable-cyrus-sasl \
+ --enable-nss \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+finch() {
+ pkgdesc="text-based multi-protocol instant messaging client"
+ mkdir -p "$subpkgdir"/usr/lib "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/lib/gnt "$pkgdir"/usr/lib/libgnt.so.* \
+ "$pkgdir"/usr/lib/finch \
+ "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/bin/finch "$subpkgdir"/usr/bin/
+}
+
+libpurple() {
+ pkgdesc="multi-protocol instant messaging library"
+ mkdir -p "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/sounds
+ mv "$pkgdir"/usr/lib/*purple* "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/share/purple "$pkgdir"/usr/share/sounds \
+ "$subpkgdir"/usr/share/
+}
+md5sums="63a36f91d29f5ac5a402ffd2d7dbbb72 pidgin-2.7.0.tar.bz2
+bbf9d6f6fc19342af7e059dc13432d27 msn_fix.patch"
diff --git a/testing/pidgin/msn_fix.patch b/testing/pidgin/msn_fix.patch
new file mode 100644
index 0000000000..f93fef8a45
--- /dev/null
+++ b/testing/pidgin/msn_fix.patch
@@ -0,0 +1,28 @@
+#
+#
+# patch "libpurple/protocols/msn/slplink.c"
+# from [a96a53635871463de0177e5a99fe4ebdc2c7d577]
+# to [87ada76abf90c44e615679efc5f8128bb941bba1]
+#
+============================================================
+--- libpurple/protocols/msn/slplink.c a96a53635871463de0177e5a99fe4ebdc2c7d577
++++ libpurple/protocols/msn/slplink.c 87ada76abf90c44e615679efc5f8128bb941bba1
+@@ -383,6 +383,7 @@ msn_slplink_release_slpmsg(MsnSlpLink *s
+ msn_slplink_release_slpmsg(MsnSlpLink *slplink, MsnSlpMessage *slpmsg)
+ {
+ MsnMessage *msg;
++ const char *passport;
+
+ slpmsg->msg = msg = msn_message_new_msnslp();
+
+@@ -421,7 +422,8 @@ msn_slplink_release_slpmsg(MsnSlpLink *s
+
+ msg->msnslp_header.total_size = slpmsg->size;
+
+- msn_message_set_attr(msg, "P2P-Dest", slplink->remote_user);
++ passport = purple_normalize(slplink->session->account, slplink->remote_user);
++ msn_message_set_attr(msg, "P2P-Dest", passport);
+
+ msg->ack_cb = msg_ack;
+ msg->nak_cb = msg_nak;
+
diff --git a/testing/privoxy/APKBUILD b/testing/privoxy/APKBUILD
new file mode 100644
index 0000000000..3499e91725
--- /dev/null
+++ b/testing/privoxy/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=privoxy
+pkgver=3.0.16
+pkgrel=0
+pkgdesc="A web proxy with advanced filtering capabilities"
+url="http://www.privoxy.org"
+license="GPL"
+pkgusers="privoxy"
+pkggroups="privoxy"
+depends=
+makedepends="autoconf automake pcre-dev zlib-dev coreutils"
+install="privoxy.pre-install"
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/ijbswa/$pkgname-$pkgver-stable-src.tar.gz
+ $pkgname.initd
+ $pkgname.logrotate
+ privoxy-3.0.16-gentoo.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$pkgver-stable
+prepare() {
+ cd "$_builddir"
+ patch -p1 -i "$srcdir"/privoxy-3.0.16-gentoo.patch || return 1
+ aclocal && autoheader && autoconf
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --localstatedir=/var/ \
+ --enable-zlib \
+ --enable-dynamic-pcre \
+ --with-user=privoxy \
+ --with-group=privoxy \
+ --sysconfdir=/etc/privoxy \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ rm $pkgdir/var/log/privoxy/*
+ install -D -m755 "$srcdir"/privoxy.initd "$pkgdir"/etc/init.d/privoxy
+ install -D -m644 "$srcdir"/privoxy.logrotate \
+ "$pkgdir"/etc/logrotate.d/privoxy
+ find "$pkgdir"/etc/privoxy/ -type d | xargs chmod 770
+ find "$pkgdir"/etc/privoxy/ -type f | xargs chmod 660
+ chown -R privoxy:privoxy "$pkgdir"/var/log/privoxy
+}
+
+md5sums="64d3ffcdf8307e04a375773bb4eb255e privoxy-3.0.16-stable-src.tar.gz
+170d5679e4c3504f07ef1a4c9859e9b8 privoxy.initd
+f2b6a652dbfbc65e5b89024a8ea3da7e privoxy.logrotate
+48cce19ecdcf8f17a021ac3aa8f837bc privoxy-3.0.16-gentoo.patch"
diff --git a/testing/privoxy/privoxy-3.0.16-gentoo.patch b/testing/privoxy/privoxy-3.0.16-gentoo.patch
new file mode 100644
index 0000000000..d445ec1b01
--- /dev/null
+++ b/testing/privoxy/privoxy-3.0.16-gentoo.patch
@@ -0,0 +1,108 @@
+--- privoxy/GNUmakefile.in
++++ privoxy/GNUmakefile.in
+@@ -61,10 +61,10 @@
+ MAN_DIR = @mandir@
+ MAN_DEST = $(MAN_DIR)/man1
+ SHARE_DEST = @datadir@
+-DOC_DEST = $(SHARE_DEST)/doc/privoxy
++DOC_DEST = @docdir@
+-VAR_DEST = @localstatedir@
++VAR_DEST = /var
+ LOGS_DEST = $(VAR_DEST)/log/privoxy
+ PIDS_DEST = $(VAR_DEST)/run
+
+ # if $prefix = /usr/local then the default CONFDEST change from
+ # CONF_DEST = $(CONF_BASE) to CONF_DEST = $(CONF_BASE)/privoxy
+@@ -901,34 +901,8 @@
+ fi ;\
+ $(ECHO) Installing configuration files to $(DESTDIR)$(CONF_DEST);\
+ for i in $(CONFIGS); do \
+- if [ "$$i" = "default.action" ] || [ "$$i" = "default.filter" ] ; then \
+- $(RM) $(DESTDIR)$(CONF_DEST)/$$i ;\
+- $(ECHO) Installing fresh $$i;\
+ $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\
+- elif [ -s "$(CONF_DEST)/$$i" ]; then \
+- $(ECHO) Installing $$i as $$i.new ;\
+- $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST)/$$i.new || exit 1;\
+- NEW=1;\
+- else \
+- $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\
+- fi ;\
+ done ;\
+- if [ -n "$$NEW" ]; then \
+- $(CHMOD) $(RWD_MODE) $(DESTDIR)$(CONF_DEST)/*.new || exit 1 ;\
+- $(ECHO) "Warning: Older config files are preserved. Check new versions for changes!" ;\
+- fi ;\
+- [ ! -f $(DESTDIR)$(LOG_DEST)/logfile ] && $(ECHO) Creating logfiles in $(DESTDIR)$(LOG_DEST) || \
+- $(ECHO) Checking logfiles in $(DESTDIR)$(LOG_DEST) ;\
+- $(TOUCH) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\
+- if [ x$$USER != x ]; then \
+- $(CHOWN) $$USER $(DESTDIR)$(LOG_DEST)/logfile || \
+- $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\
+- fi ;\
+- if [ x$$GROUP_T != x ]; then \
+- $(CHGRP) $$GROUP_T $(DESTDIR)$(LOG_DEST)/logfile || \
+- $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\
+- fi ;\
+- $(CHMOD) $(RWD_MODE) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\
+ if [ "$(prefix)" = "/usr/local" ] || [ "$(prefix)" = "/usr" ]; then \
+ if [ -f /etc/slackware-version ] && [ -d /etc/rc.d/ ] && [ -w /etc/rc.d/ ] ; then \
+ $(SED) 's+%PROGRAM%+$(PROGRAM)+' slackware/rc.privoxy.orig | \
+--- privoxy/config
++++ privoxy/config
+@@ -267,7 +267,7 @@
+ #
+ # No trailing "/", please.
+ #
+-confdir .
++confdir /etc/privoxy
+ #
+ #
+ # 2.2. templdir
+@@ -324,7 +324,7 @@
+ #
+ # No trailing "/", please.
+ #
+-logdir .
++logdir /var/log/privoxy
+ #
+ #
+ # 2.4. actionsfile
+@@ -464,7 +464,7 @@
+ # Any log files must be writable by whatever user Privoxy is
+ # being run as (on Unix, default user id is "privoxy").
+ #
+-logfile logfile
++logfile privoxy.log
+ #
+ #
+ # 2.7. trustfile
+--- privoxy/default.action.master
++++ privoxy/default.action.master
+@@ -564,7 +564,7 @@
+ { \
+ +change-x-forwarded-for{block} \
+ +hide-from-header{block} \
+-+set-image-blocker{pattern} \
+++set-image-blocker{blank} \
+ }
+ standard.Cautious
+
+@@ -584,7 +584,7 @@
+ +hide-from-header{block} \
+ +hide-referrer{conditional-block} \
+ +session-cookies-only \
+-+set-image-blocker{pattern} \
+++set-image-blocker{blank} \
+ }
+ standard.Medium
+
+@@ -623,7 +623,7 @@
+ +hide-referrer{conditional-block} \
+ +limit-connect{,} \
+ +overwrite-last-modified{randomize} \
+-+set-image-blocker{pattern} \
+++set-image-blocker{blank} \
+ }
+ standard.Advanced
+
diff --git a/testing/privoxy/privoxy.initd b/testing/privoxy/privoxy.initd
new file mode 100644
index 0000000000..ef984ea3df
--- /dev/null
+++ b/testing/privoxy/privoxy.initd
@@ -0,0 +1,32 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-proxy/privoxy/files/privoxy.initd,v 1.2 2007/11/14 05:14:56 mrness Exp $
+
+CONFFILE=/etc/${SVCNAME}/config
+PIDFILE=/var/run/${SVCNAME}.pid
+
+depend() {
+ need net
+}
+
+start() {
+ if [ ! -f "${CONFFILE}" ]; then
+ eerror "Configuration file ${CONFFILE} not found!"
+ return 1
+ fi
+
+ ebegin "Starting privoxy"
+ start-stop-daemon --start --quiet --exec /usr/sbin/privoxy \
+ --pidfile "${PIDFILE}" \
+ -- \
+ --pidfile "${PIDFILE}" \
+ --user privoxy.privoxy "${CONFFILE}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping privoxy"
+ start-stop-daemon --stop --quiet --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/testing/privoxy/privoxy.logrotate b/testing/privoxy/privoxy.logrotate
new file mode 100644
index 0000000000..aa7463bd57
--- /dev/null
+++ b/testing/privoxy/privoxy.logrotate
@@ -0,0 +1,9 @@
+/var/log/privoxy/privoxy.log /var/log/privoxy/jarfile {
+ missingok
+ notifempty
+ create 0640 privoxy privoxy
+ sharedscripts
+ postrotate
+ killall -HUP privoxy 2>/dev/null || true
+ endscript
+}
diff --git a/testing/privoxy/privoxy.pre-install b/testing/privoxy/privoxy.pre-install
new file mode 100644
index 0000000000..38db002881
--- /dev/null
+++ b/testing/privoxy/privoxy.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup privoxy 2>/dev/null
+adduser -S -G privoxy -h /var/log/privoxy -s /bin/false -D privoxy 2>/dev/null
+exit 0
+
diff --git a/testing/python-application/APKBUILD b/testing/py-application/APKBUILD
index bda915d89a..0167661185 100644
--- a/testing/python-application/APKBUILD
+++ b/testing/py-application/APKBUILD
@@ -1,6 +1,7 @@
# Contributor: Francesco Colista <francesco.colista@gmail.com>
# Maintainer: Francesco Colista <francesco.colista@gmail.com>
-pkgname=python-application
+pkgname=py-application
+_name=python-application
pkgver=1.1.5
pkgrel=0
pkgdesc="Basic building blocks for python applications"
@@ -10,13 +11,13 @@ depends="python"
makedepends="python-dev"
install=
subpackages=""
-source="http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.tar.gz"
+source="http://pypi.python.org/packages/source/p/python-application/python-application-$pkgver.tar.gz"
build() {
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$srcdir"/$_name-$pkgver
mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages
python setup.py install --root="$pkgdir"
- echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth
+ echo "/usr/lib/python2.6/site-packages/$_name-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_name.pth
}
diff --git a/testing/python26-buildutils/APKBUILD b/testing/py-buildutils/APKBUILD
index 5db0a6bfb9..f414f35ef6 100644
--- a/testing/python26-buildutils/APKBUILD
+++ b/testing/py-buildutils/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Andrew Manison <amanison@anselsystems.com>
# Maintainer:
-pkgname=python26-buildutils
-_pkgname=${pkgname#python26-}
+pkgname=py-buildutils
+_pkgname=${pkgname#py-}
pkgver=0.3
pkgrel=0
pkgdesc="buildutils is a collection of enhancements to the Python distutils"
url="http://pypi.python.org/pypi/buildutils/0.3"
license="GPL"
-depends="python python26-setuptools"
+depends="python py-setuptools"
makedepends="python-dev"
install=
subpackages=""
diff --git a/testing/python-cjson/APKBUILD b/testing/py-cjson/APKBUILD
index f3274d5fd8..0a4a272aa2 100644
--- a/testing/python-cjson/APKBUILD
+++ b/testing/py-cjson/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: Francesco Colista <francesco.colista@gmail.com>
# Maintainer: Francesco Colista <francesco.colista@gmail.com>
-pkgname=python-cjson
+pkgname=py-cjson
+_name=python-cjson
pkgver=1.0.5
pkgrel=1
pkgdesc="Fast JSON encoder/decoder for Python"
@@ -11,12 +12,12 @@ depends="python"
makedepends="python-dev"
install=
subpackages=""
-source="http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.tar.gz"
+source="http://pypi.python.org/packages/source/p/python-cjson/$_name-$pkgver.tar.gz"
build() {
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$srcdir"/$_name-$pkgver
mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages
python setup.py install --root="$pkgdir"
- echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth
+ echo "/usr/lib/python2.6/site-packages/$_name-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_name.pth
}
diff --git a/testing/pycrypto/APKBUILD b/testing/py-crypto/APKBUILD
index f5a48e75c3..75f31dd658 100644
--- a/testing/pycrypto/APKBUILD
+++ b/testing/py-crypto/APKBUILD
@@ -1,5 +1,5 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=pycrypto
+pkgname=py-crypto
pkgver=2.0.1
pkgrel=2
pkgdesc="A collection of cryptographic algorithms and protocols, implemented for use from Python."
@@ -7,16 +7,17 @@ url="http://www.amk.ca/python/code/crypto.html"
license="GPL"
depends="python"
makedepends="gmp5-dev python-dev"
-source="http://www.amk.ca/files/python/crypto/$pkgname-$pkgver.tar.gz"
+source="http://www.amk.ca/files/python/crypto/pycrypto-$pkgver.tar.gz"
+_builddir="$srcdir"/pycrypto-$pkgver
build ()
{
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$_builddir"
python setup.py build
}
package() {
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$_builddir"
python setup.py install --root="$pkgdir"
}
md5sums="4d5674f3898a573691ffb335e8d749cd pycrypto-2.0.1.tar.gz"
diff --git a/testing/python-gnutls/APKBUILD b/testing/py-gnutls/APKBUILD
index df19c12397..8d5a2f2376 100644
--- a/testing/python-gnutls/APKBUILD
+++ b/testing/py-gnutls/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: Francesco Colista <francesco.colista@gmail.com>
# Maintainer: Francesco Colista <francesco.colista@gmail.com>
-pkgname=python-gnutls
+pkgname=py-gnutls
+_name=python-gnutls
pkgver=1.1.9
pkgrel=1
pkgdesc="Python wrapper for the GNUTLS library"
@@ -11,12 +12,12 @@ depends="python"
makedepends="python-dev gnutls-dev"
install=
subpackages=""
-source="http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.tar.gz"
+source="http://pypi.python.org/packages/source/p/$_name/$_name-$pkgver.tar.gz"
build() {
- cd "$srcdir"/$pkgname-$pkgver
+ cd "$srcdir"/$_name-$pkgver
mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages
python setup.py install --root="$pkgdir"
- echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth
+ echo "/usr/lib/python2.6/site-packages/$_name-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_name.pth
}
diff --git a/testing/py-imaging/APKBUILD b/testing/py-imaging/APKBUILD
new file mode 100644
index 0000000000..d800ba034f
--- /dev/null
+++ b/testing/py-imaging/APKBUILD
@@ -0,0 +1,21 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+
+pkgname=py-imaging
+pkgver=1.1.7
+pkgrel=0
+pkgdesc="Python image manipulation library"
+url="http://pypi.python.org/pypi/PLI"
+license="PSF"
+depends="python freetype"
+makedepends="python-dev freetype-dev"
+install=
+subpackages=""
+source="http://effbot.org/downloads/Imaging-$pkgver.tar.gz"
+build() {
+ cd "$srcdir"/Imaging-$pkgver
+ mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages
+ python setup.py install --root="$pkgdir"
+}
+
+md5sums="fc14a54e1ce02a0225be8854bfba478e Imaging-1.1.7.tar.gz"
diff --git a/testing/py-lxml/APKBUILD b/testing/py-lxml/APKBUILD
new file mode 100644
index 0000000000..58b250dfda
--- /dev/null
+++ b/testing/py-lxml/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+
+pkgname=py-lxml
+_pkgname=lxml
+pkgver=2.2.6
+pkgrel=0
+pkgdesc="Python LXML Library"
+url="http://codespeak.net/lxml"
+license="GPL"
+depends="libxml2 libxslt"
+makedepends="libxml2-dev libxslt-dev py-setuptools"
+install=
+source="http://codespeak.net/lxml/$_pkgname-$pkgver.tgz"
+
+build() {
+ cd "$srcdir"/$_pkgname-$pkgver
+
+ mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages
+
+ python setup.py install --root="$pkgdir"
+
+ echo "/usr/lib/python2.6/site-packages/$_pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_pkgname.pth
+}
+
+md5sums="b1f700fb22d7ee9b977ee3eceb65b20c lxml-2.2.6.tgz"
diff --git a/testing/py-mysqldb/APKBUILD b/testing/py-mysqldb/APKBUILD
new file mode 100644
index 0000000000..a4486a4e81
--- /dev/null
+++ b/testing/py-mysqldb/APKBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=py-mysqldb
+pkgver=1.2.3c1
+pkgrel=0
+pkgdesc="MySQL Module for python"
+url="http://sourceforge.net/projects/mysql-python/"
+license="GPL"
+depends="python libmysqlclient"
+makedepends="py-setuptools mysql-dev"
+source="http://downloads.sourceforge.net/mysql-python/MySQL-python-${pkgver}.tar.gz"
+
+build() {
+ cd "$srcdir"/MySQL-python-$pkgver
+
+ mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages
+
+ python setup.py install --root="$pkgdir"
+
+ echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" \
+ > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth
+}
+
+md5sums="310dd856e439d070b59ece6dd7a0734d MySQL-python-1.2.3c1.tar.gz"
diff --git a/testing/python26-setuptools/APKBUILD b/testing/py-setuptools/APKBUILD
index e8322dd525..2ccca3b4cd 100644
--- a/testing/python26-setuptools/APKBUILD
+++ b/testing/py-setuptools/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Andrew Manison <amanison@anselsystems.com>
# Maintainer:
-pkgname=python26-setuptools
-_pkgname=${pkgname#python26-}
+pkgname=py-setuptools
+_pkgname=${pkgname#py-}
pkgver=0.6c11
pkgrel=0
pkgdesc="setuptools is a collection of enhancements to the Python distutils"
diff --git a/testing/py-twisted-web2/APKBUILD b/testing/py-twisted-web2/APKBUILD
new file mode 100644
index 0000000000..de0a6d3755
--- /dev/null
+++ b/testing/py-twisted-web2/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+
+pkgname=py-twisted-web2
+pkgver=8.1.0
+pkgrel=0
+pkgdesc="The twisted.web2 package in Twisted."
+url="http://twistedmatrix.com/"
+license="GPL"
+depends="py-twisted"
+makedepends="python-dev"
+source="http://tmrc.mit.edu/mirror/twisted/Web2/8.1/TwistedWeb2-$pkgver.tar.bz2"
+
+build() {
+ cd "$srcdir"/TwistedWeb2-8.1.0/
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+
+md5sums="e34b48edf6fef075bd41ddbd215aed32 TwistedWeb2-8.1.0.tar.bz2"
diff --git a/testing/twisted/APKBUILD b/testing/py-twisted/APKBUILD
index 5c6d8541a5..bc21c236f9 100644
--- a/testing/twisted/APKBUILD
+++ b/testing/py-twisted/APKBUILD
@@ -1,17 +1,22 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=twisted
+pkgname=py-twisted
pkgver=8.2.0
pkgrel=2
pkgdesc="Asynchronous networking framework written in Python."
url="http://twistedmatrix.com/"
license="MIT"
-depends="python pycrypto zope-interface"
+depends="python py-crypto py-zope-interface"
makedepends="python-dev"
source="http://tmrc.mit.edu/mirror/$pkgname/Twisted/8.2/Twisted-$pkgver.tar.bz2"
build ()
{
cd "$srcdir"/Twisted-$pkgver
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$srcdir"/Twisted-$pkgver
python setup.py install --prefix=/usr --root="$pkgdir" || return 1
install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/testing/zope-interface/APKBUILD b/testing/py-zope-interface/APKBUILD
index 8db2a557da..2f9ecacc1d 100644
--- a/testing/zope-interface/APKBUILD
+++ b/testing/py-zope-interface/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=zope-interface
-pkgver=3.5.1
+pkgname=py-zope-interface
+pkgver=3.6.1
pkgrel=0
pkgdesc="Separate distribution of the zope.interface package used in Zope 3."
url="http://www.zope.org/Products/ZopeInterface/"
@@ -9,10 +9,15 @@ depends="python"
makedepends="python-dev"
source="http://pypi.python.org/packages/source/z/zope.interface/zope.interface-$pkgver.tar.gz"
-build ()
-{
- cd "$srcdir"/zope.interface-$pkgver
+_builddir="$srcdir"/zope.interface-$pkgver
+build() {
+ cd "$_builddir"
+ python setup.py build
+}
+
+package() {
+ cd "$_builddir"
python setup.py install --prefix=/usr --root="$pkgdir"
rm "$pkgdir"/usr/lib/python2.6/site-packages/zope/interface/README*.txt
}
-md5sums="685fc532550abb07cca6190c9cd2b901 zope.interface-3.5.1.tar.gz"
+md5sums="7a895181b8d10be4a7e9a3afa13cd3be zope.interface-3.6.1.tar.gz"
diff --git a/testing/qemu/APKBUILD b/testing/qemu/APKBUILD
deleted file mode 100644
index 4d3d7100bd..0000000000
--- a/testing/qemu/APKBUILD
+++ /dev/null
@@ -1,90 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=qemu
-pkgver=0.12.4
-pkgrel=0
-pkgdesc="QEMU is a generic machine emulator and virtualizer"
-url="http://www.nongnu.org/qemu/"
-license="GPL-2 LGPL-2"
-makedepends="zlib-dev sdl-dev alsa-lib-dev gnutls-dev ncurses-dev"
-depends=
-install="qemu.pre-install"
-subpackages="
-$pkgname-arm
-$pkgname-cris
-$pkgname-m68k
-$pkgname-microblaze
-$pkgname-mips
-$pkgname-mips64
-$pkgname-mips64el
-$pkgname-mipsel
-$pkgname-ppc
-$pkgname-ppc64
-$pkgname-ppcemb
-$pkgname-sh4
-$pkgname-sh4eb
-$pkgname-sparc
-$pkgname-sparc64
-$pkgname-x86_64
-"
-source="http://savannah.nongnu.org/download/$pkgname/$pkgname-$pkgver.tar.gz
- kqemu.patch
- "
-
-prepare() {
- cd "$srcdir"/$pkgname-$pkgver
- # avoid fdt till an updated release appears
- sed -i -e 's:fdt="yes":fdt="no":' configure
- # prevent docs to get automatically installed
- sed -i '/$(DESTDIR)$(docdir)/d' Makefile
- # Alter target makefiles to accept CFLAGS
- sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
- Makefile Makefile.target tests/Makefile
- sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \
- Makefile.target
-# patch -p1 -i ../kqemu.patch || return 1
-}
-
-build() {
- cd "$srcdir"/$pkgname-$pkgver
- ./configure --prefix=/usr \
- --audio-drv-list=oss,alsa,sdl \
- --audio-card-list=ac97,sb16,es1370,adlib \
- --disable-darwin-user \
- --disable-bsd-user \
- --disable-linux-user \
- --cc="${CC:-gcc}"
-
- make || return 1
-}
-
-package() {
- cd "$srcdir"/$pkgname-$pkgver
- make DESTDIR="$pkgdir" install || return 1
-}
-
-_subsys() {
- pkgdesc="Qemu $1 system emulator"
- depend="qemu"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/qemu-system-$1 "$subpkgdir"/usr/bin/
-}
-
-arm() { _subsys arm; }
-cris() { _subsys cris; }
-m68k() { _subsys m68k; }
-microblaze() { _subsys microblaze; }
-mips() { _subsys mips; }
-mips64() { _subsys mips64; }
-mips64el() { _subsys mips64el; }
-mipsel() { _subsys mipsel; }
-ppc() { _subsys ppc; }
-ppc64() { _subsys ppc64; }
-ppcemb() { _subsys ppcemb; }
-sh4() { _subsys sh4; }
-sh4eb() { _subsys sh4eb; }
-sparc() { _subsys sparc; }
-sparc64() { _subsys sparc64; }
-x86_64() { _subsys x86_64; }
-
-md5sums="93e6b134dff89b2799f57b7d9e0e0fc5 qemu-0.12.4.tar.gz
-f63f7412f016d8ccddabfd02ea28e748 kqemu.patch"
diff --git a/testing/qemu/kqemu.c b/testing/qemu/kqemu.c
deleted file mode 100644
index 035d310ab9..0000000000
--- a/testing/qemu/kqemu.c
+++ /dev/null
@@ -1,997 +0,0 @@
-/*
- * KQEMU support
- *
- * Copyright (c) 2005-2008 Fabrice Bellard
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
- */
-#include "config.h"
-#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <winioctl.h>
-#else
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <sys/ioctl.h>
-#endif
-#ifdef HOST_SOLARIS
-#include <sys/ioccom.h>
-#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <inttypes.h>
-
-#include "cpu.h"
-#include "exec-all.h"
-#include "qemu-common.h"
-
-#ifdef USE_KQEMU
-
-#define DEBUG
-//#define PROFILE
-
-
-#ifdef DEBUG
-# define LOG_INT(...) qemu_log_mask(CPU_LOG_INT, ## __VA_ARGS__)
-# define LOG_INT_STATE(env) log_cpu_state_mask(CPU_LOG_INT, (env), 0)
-#else
-# define LOG_INT(...) do { } while (0)
-# define LOG_INT_STATE(env) do { } while (0)
-#endif
-
-#include <unistd.h>
-#include <fcntl.h>
-#include "kqemu.h"
-
-#ifdef _WIN32
-#define KQEMU_DEVICE "\\\\.\\kqemu"
-#else
-#define KQEMU_DEVICE "/dev/kqemu"
-#endif
-
-static void qpi_init(void);
-
-#ifdef _WIN32
-#define KQEMU_INVALID_FD INVALID_HANDLE_VALUE
-HANDLE kqemu_fd = KQEMU_INVALID_FD;
-#define kqemu_closefd(x) CloseHandle(x)
-#else
-#define KQEMU_INVALID_FD -1
-int kqemu_fd = KQEMU_INVALID_FD;
-#define kqemu_closefd(x) close(x)
-#endif
-
-/* 0 = not allowed
- 1 = user kqemu
- 2 = kernel kqemu
-*/
-int kqemu_allowed = 1;
-uint64_t *pages_to_flush;
-unsigned int nb_pages_to_flush;
-uint64_t *ram_pages_to_update;
-unsigned int nb_ram_pages_to_update;
-uint64_t *modified_ram_pages;
-unsigned int nb_modified_ram_pages;
-uint8_t *modified_ram_pages_table;
-int qpi_io_memory;
-uint32_t kqemu_comm_base; /* physical address of the QPI communication page */
-
-#define cpuid(index, eax, ecx, edx) \
- asm volatile ("cpuid" \
- : "=a" (eax), "=c" (ecx), "=d" (edx) \
- : "0" (index))
-
-#ifdef __x86_64__
-static int is_cpuid_supported(void)
-{
- return 1;
-}
-#else
-static int is_cpuid_supported(void)
-{
- int v0, v1;
- asm volatile ("pushf\n"
- "popl %0\n"
- "movl %0, %1\n"
- "xorl $0x00200000, %0\n"
- "pushl %0\n"
- "popf\n"
- "pushf\n"
- "popl %0\n"
- : "=a" (v0), "=d" (v1)
- :
- : "cc");
- return (v0 != v1);
-}
-#endif
-
-static void kqemu_update_cpuid(CPUState *env)
-{
- int critical_features_mask, features, ext_features, ext_features_mask;
- uint32_t eax, ecx, edx;
-
- /* the following features are kept identical on the host and
- target cpus because they are important for user code. Strictly
- speaking, only SSE really matters because the OS must support
- it if the user code uses it. */
- critical_features_mask =
- CPUID_CMOV | CPUID_CX8 |
- CPUID_FXSR | CPUID_MMX | CPUID_SSE |
- CPUID_SSE2 | CPUID_SEP;
- ext_features_mask = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR;
- if (!is_cpuid_supported()) {
- features = 0;
- ext_features = 0;
- } else {
- cpuid(1, eax, ecx, edx);
- features = edx;
- ext_features = ecx;
- }
-#ifdef __x86_64__
- /* NOTE: on x86_64 CPUs, SYSENTER is not supported in
- compatibility mode, so in order to have the best performances
- it is better not to use it */
- features &= ~CPUID_SEP;
-#endif
- env->cpuid_features = (env->cpuid_features & ~critical_features_mask) |
- (features & critical_features_mask);
- env->cpuid_ext_features = (env->cpuid_ext_features & ~ext_features_mask) |
- (ext_features & ext_features_mask);
- /* XXX: we could update more of the target CPUID state so that the
- non accelerated code sees exactly the same CPU features as the
- accelerated code */
-}
-
-int kqemu_init(CPUState *env)
-{
- struct kqemu_init kinit;
- int ret, version;
-#ifdef _WIN32
- DWORD temp;
-#endif
-
- if (!kqemu_allowed)
- return -1;
-
-#ifdef _WIN32
- kqemu_fd = CreateFile(KQEMU_DEVICE, GENERIC_WRITE | GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
- NULL);
- if (kqemu_fd == KQEMU_INVALID_FD) {
- fprintf(stderr, "Could not open '%s' - QEMU acceleration layer not activated: %lu\n",
- KQEMU_DEVICE, GetLastError());
- return -1;
- }
-#else
- kqemu_fd = open(KQEMU_DEVICE, O_RDWR);
- if (kqemu_fd == KQEMU_INVALID_FD) {
- fprintf(stderr, "Could not open '%s' - QEMU acceleration layer not activated: %s\n",
- KQEMU_DEVICE, strerror(errno));
- return -1;
- }
-#endif
- version = 0;
-#ifdef _WIN32
- DeviceIoControl(kqemu_fd, KQEMU_GET_VERSION, NULL, 0,
- &version, sizeof(version), &temp, NULL);
-#else
- ioctl(kqemu_fd, KQEMU_GET_VERSION, &version);
-#endif
- if (version != KQEMU_VERSION) {
- fprintf(stderr, "Version mismatch between kqemu module and qemu (%08x %08x) - disabling kqemu use\n",
- version, KQEMU_VERSION);
- goto fail;
- }
-
- pages_to_flush = qemu_vmalloc(KQEMU_MAX_PAGES_TO_FLUSH *
- sizeof(uint64_t));
- if (!pages_to_flush)
- goto fail;
-
- ram_pages_to_update = qemu_vmalloc(KQEMU_MAX_RAM_PAGES_TO_UPDATE *
- sizeof(uint64_t));
- if (!ram_pages_to_update)
- goto fail;
-
- modified_ram_pages = qemu_vmalloc(KQEMU_MAX_MODIFIED_RAM_PAGES *
- sizeof(uint64_t));
- if (!modified_ram_pages)
- goto fail;
- modified_ram_pages_table = qemu_mallocz(phys_ram_size >> TARGET_PAGE_BITS);
- if (!modified_ram_pages_table)
- goto fail;
-
- memset(&kinit, 0, sizeof(kinit)); /* set the paddings to zero */
- kinit.ram_base = phys_ram_base;
- kinit.ram_size = phys_ram_size;
- kinit.ram_dirty = phys_ram_dirty;
- kinit.pages_to_flush = pages_to_flush;
- kinit.ram_pages_to_update = ram_pages_to_update;
- kinit.modified_ram_pages = modified_ram_pages;
-#ifdef _WIN32
- ret = DeviceIoControl(kqemu_fd, KQEMU_INIT, &kinit, sizeof(kinit),
- NULL, 0, &temp, NULL) == TRUE ? 0 : -1;
-#else
- ret = ioctl(kqemu_fd, KQEMU_INIT, &kinit);
-#endif
- if (ret < 0) {
- fprintf(stderr, "Error %d while initializing QEMU acceleration layer - disabling it for now\n", ret);
- fail:
- kqemu_closefd(kqemu_fd);
- kqemu_fd = KQEMU_INVALID_FD;
- return -1;
- }
- kqemu_update_cpuid(env);
- env->kqemu_enabled = kqemu_allowed;
- nb_pages_to_flush = 0;
- nb_ram_pages_to_update = 0;
-
- qpi_init();
- return 0;
-}
-
-void kqemu_flush_page(CPUState *env, target_ulong addr)
-{
- LOG_INT("kqemu_flush_page: addr=" TARGET_FMT_lx "\n", addr);
- if (nb_pages_to_flush >= KQEMU_MAX_PAGES_TO_FLUSH)
- nb_pages_to_flush = KQEMU_FLUSH_ALL;
- else
- pages_to_flush[nb_pages_to_flush++] = addr;
-}
-
-void kqemu_flush(CPUState *env, int global)
-{
- LOG_INT("kqemu_flush:\n");
- nb_pages_to_flush = KQEMU_FLUSH_ALL;
-}
-
-void kqemu_set_notdirty(CPUState *env, ram_addr_t ram_addr)
-{
- LOG_INT("kqemu_set_notdirty: addr=%08lx\n",
- (unsigned long)ram_addr);
- /* we only track transitions to dirty state */
- if (phys_ram_dirty[ram_addr >> TARGET_PAGE_BITS] != 0xff)
- return;
- if (nb_ram_pages_to_update >= KQEMU_MAX_RAM_PAGES_TO_UPDATE)
- nb_ram_pages_to_update = KQEMU_RAM_PAGES_UPDATE_ALL;
- else
- ram_pages_to_update[nb_ram_pages_to_update++] = ram_addr;
-}
-
-static void kqemu_reset_modified_ram_pages(void)
-{
- int i;
- unsigned long page_index;
-
- for(i = 0; i < nb_modified_ram_pages; i++) {
- page_index = modified_ram_pages[i] >> TARGET_PAGE_BITS;
- modified_ram_pages_table[page_index] = 0;
- }
- nb_modified_ram_pages = 0;
-}
-
-void kqemu_modify_page(CPUState *env, ram_addr_t ram_addr)
-{
- unsigned long page_index;
- int ret;
-#ifdef _WIN32
- DWORD temp;
-#endif
-
- page_index = ram_addr >> TARGET_PAGE_BITS;
- if (!modified_ram_pages_table[page_index]) {
-#if 0
- printf("%d: modify_page=%08lx\n", nb_modified_ram_pages, ram_addr);
-#endif
- modified_ram_pages_table[page_index] = 1;
- modified_ram_pages[nb_modified_ram_pages++] = ram_addr;
- if (nb_modified_ram_pages >= KQEMU_MAX_MODIFIED_RAM_PAGES) {
- /* flush */
-#ifdef _WIN32
- ret = DeviceIoControl(kqemu_fd, KQEMU_MODIFY_RAM_PAGES,
- &nb_modified_ram_pages,
- sizeof(nb_modified_ram_pages),
- NULL, 0, &temp, NULL);
-#else
- ret = ioctl(kqemu_fd, KQEMU_MODIFY_RAM_PAGES,
- &nb_modified_ram_pages);
-#endif
- kqemu_reset_modified_ram_pages();
- }
- }
-}
-
-void kqemu_set_phys_mem(uint64_t start_addr, ram_addr_t size,
- ram_addr_t phys_offset)
-{
- struct kqemu_phys_mem kphys_mem1, *kphys_mem = &kphys_mem1;
- uint64_t end;
- int ret, io_index;
-
- end = (start_addr + size + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK;
- start_addr &= TARGET_PAGE_MASK;
- kphys_mem->phys_addr = start_addr;
- kphys_mem->size = end - start_addr;
- kphys_mem->ram_addr = phys_offset & TARGET_PAGE_MASK;
- io_index = phys_offset & ~TARGET_PAGE_MASK;
- switch(io_index) {
- case IO_MEM_RAM:
- kphys_mem->io_index = KQEMU_IO_MEM_RAM;
- break;
- case IO_MEM_ROM:
- kphys_mem->io_index = KQEMU_IO_MEM_ROM;
- break;
- default:
- if (qpi_io_memory == io_index) {
- kphys_mem->io_index = KQEMU_IO_MEM_COMM;
- } else {
- kphys_mem->io_index = KQEMU_IO_MEM_UNASSIGNED;
- }
- break;
- }
-#ifdef _WIN32
- {
- DWORD temp;
- ret = DeviceIoControl(kqemu_fd, KQEMU_SET_PHYS_MEM,
- kphys_mem, sizeof(*kphys_mem),
- NULL, 0, &temp, NULL) == TRUE ? 0 : -1;
- }
-#else
- ret = ioctl(kqemu_fd, KQEMU_SET_PHYS_MEM, kphys_mem);
-#endif
- if (ret < 0) {
- fprintf(stderr, "kqemu: KQEMU_SET_PHYS_PAGE error=%d: start_addr=0x%016" PRIx64 " size=0x%08lx phys_offset=0x%08lx\n",
- ret, start_addr,
- (unsigned long)size, (unsigned long)phys_offset);
- }
-}
-
-struct fpstate {
- uint16_t fpuc;
- uint16_t dummy1;
- uint16_t fpus;
- uint16_t dummy2;
- uint16_t fptag;
- uint16_t dummy3;
-
- uint32_t fpip;
- uint32_t fpcs;
- uint32_t fpoo;
- uint32_t fpos;
- uint8_t fpregs1[8 * 10];
-};
-
-struct fpxstate {
- uint16_t fpuc;
- uint16_t fpus;
- uint16_t fptag;
- uint16_t fop;
- uint32_t fpuip;
- uint16_t cs_sel;
- uint16_t dummy0;
- uint32_t fpudp;
- uint16_t ds_sel;
- uint16_t dummy1;
- uint32_t mxcsr;
- uint32_t mxcsr_mask;
- uint8_t fpregs1[8 * 16];
- uint8_t xmm_regs[16 * 16];
- uint8_t dummy2[96];
-};
-
-static struct fpxstate fpx1 __attribute__((aligned(16)));
-
-static void restore_native_fp_frstor(CPUState *env)
-{
- int fptag, i, j;
- struct fpstate fp1, *fp = &fp1;
-
- fp->fpuc = env->fpuc;
- fp->fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11;
- fptag = 0;
- for (i=7; i>=0; i--) {
- fptag <<= 2;
- if (env->fptags[i]) {
- fptag |= 3;
- } else {
- /* the FPU automatically computes it */
- }
- }
- fp->fptag = fptag;
- j = env->fpstt;
- for(i = 0;i < 8; i++) {
- memcpy(&fp->fpregs1[i * 10], &env->fpregs[j].d, 10);
- j = (j + 1) & 7;
- }
- asm volatile ("frstor %0" : "=m" (*fp));
-}
-
-static void save_native_fp_fsave(CPUState *env)
-{
- int fptag, i, j;
- uint16_t fpuc;
- struct fpstate fp1, *fp = &fp1;
-
- asm volatile ("fsave %0" : : "m" (*fp));
- env->fpuc = fp->fpuc;
- env->fpstt = (fp->fpus >> 11) & 7;
- env->fpus = fp->fpus & ~0x3800;
- fptag = fp->fptag;
- for(i = 0;i < 8; i++) {
- env->fptags[i] = ((fptag & 3) == 3);
- fptag >>= 2;
- }
- j = env->fpstt;
- for(i = 0;i < 8; i++) {
- memcpy(&env->fpregs[j].d, &fp->fpregs1[i * 10], 10);
- j = (j + 1) & 7;
- }
- /* we must restore the default rounding state */
- fpuc = 0x037f | (env->fpuc & (3 << 10));
- asm volatile("fldcw %0" : : "m" (fpuc));
-}
-
-static void restore_native_fp_fxrstor(CPUState *env)
-{
- struct fpxstate *fp = &fpx1;
- int i, j, fptag;
-
- fp->fpuc = env->fpuc;
- fp->fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11;
- fptag = 0;
- for(i = 0; i < 8; i++)
- fptag |= (env->fptags[i] << i);
- fp->fptag = fptag ^ 0xff;
-
- j = env->fpstt;
- for(i = 0;i < 8; i++) {
- memcpy(&fp->fpregs1[i * 16], &env->fpregs[j].d, 10);
- j = (j + 1) & 7;
- }
- if (env->cpuid_features & CPUID_SSE) {
- fp->mxcsr = env->mxcsr;
- /* XXX: check if DAZ is not available */
- fp->mxcsr_mask = 0xffff;
- memcpy(fp->xmm_regs, env->xmm_regs, CPU_NB_REGS * 16);
- }
- asm volatile ("fxrstor %0" : "=m" (*fp));
-}
-
-static void save_native_fp_fxsave(CPUState *env)
-{
- struct fpxstate *fp = &fpx1;
- int fptag, i, j;
- uint16_t fpuc;
-
- asm volatile ("fxsave %0" : : "m" (*fp));
- env->fpuc = fp->fpuc;
- env->fpstt = (fp->fpus >> 11) & 7;
- env->fpus = fp->fpus & ~0x3800;
- fptag = fp->fptag ^ 0xff;
- for(i = 0;i < 8; i++) {
- env->fptags[i] = (fptag >> i) & 1;
- }
- j = env->fpstt;
- for(i = 0;i < 8; i++) {
- memcpy(&env->fpregs[j].d, &fp->fpregs1[i * 16], 10);
- j = (j + 1) & 7;
- }
- if (env->cpuid_features & CPUID_SSE) {
- env->mxcsr = fp->mxcsr;
- memcpy(env->xmm_regs, fp->xmm_regs, CPU_NB_REGS * 16);
- }
-
- /* we must restore the default rounding state */
- asm volatile ("fninit");
- fpuc = 0x037f | (env->fpuc & (3 << 10));
- asm volatile("fldcw %0" : : "m" (fpuc));
-}
-
-static int do_syscall(CPUState *env,
- struct kqemu_cpu_state *kenv)
-{
- int selector;
-
- selector = (env->star >> 32) & 0xffff;
-#ifdef TARGET_X86_64
- if (env->hflags & HF_LMA_MASK) {
- int code64;
-
- env->regs[R_ECX] = kenv->next_eip;
- env->regs[11] = env->eflags;
-
- code64 = env->hflags & HF_CS64_MASK;
-
- cpu_x86_set_cpl(env, 0);
- cpu_x86_load_seg_cache(env, R_CS, selector & 0xfffc,
- 0, 0xffffffff,
- DESC_G_MASK | DESC_P_MASK |
- DESC_S_MASK |
- DESC_CS_MASK | DESC_R_MASK | DESC_A_MASK | DESC_L_MASK);
- cpu_x86_load_seg_cache(env, R_SS, (selector + 8) & 0xfffc,
- 0, 0xffffffff,
- DESC_G_MASK | DESC_B_MASK | DESC_P_MASK |
- DESC_S_MASK |
- DESC_W_MASK | DESC_A_MASK);
- env->eflags &= ~env->fmask;
- if (code64)
- env->eip = env->lstar;
- else
- env->eip = env->cstar;
- } else
-#endif
- {
- env->regs[R_ECX] = (uint32_t)kenv->next_eip;
-
- cpu_x86_set_cpl(env, 0);
- cpu_x86_load_seg_cache(env, R_CS, selector & 0xfffc,
- 0, 0xffffffff,
- DESC_G_MASK | DESC_B_MASK | DESC_P_MASK |
- DESC_S_MASK |
- DESC_CS_MASK | DESC_R_MASK | DESC_A_MASK);
- cpu_x86_load_seg_cache(env, R_SS, (selector + 8) & 0xfffc,
- 0, 0xffffffff,
- DESC_G_MASK | DESC_B_MASK | DESC_P_MASK |
- DESC_S_MASK |
- DESC_W_MASK | DESC_A_MASK);
- env->eflags &= ~(IF_MASK | RF_MASK | VM_MASK);
- env->eip = (uint32_t)env->star;
- }
- return 2;
-}
-
-#ifdef CONFIG_PROFILER
-
-#define PC_REC_SIZE 1
-#define PC_REC_HASH_BITS 16
-#define PC_REC_HASH_SIZE (1 << PC_REC_HASH_BITS)
-
-typedef struct PCRecord {
- unsigned long pc;
- int64_t count;
- struct PCRecord *next;
-} PCRecord;
-
-static PCRecord *pc_rec_hash[PC_REC_HASH_SIZE];
-static int nb_pc_records;
-
-static void kqemu_record_pc(unsigned long pc)
-{
- unsigned long h;
- PCRecord **pr, *r;
-
- h = pc / PC_REC_SIZE;
- h = h ^ (h >> PC_REC_HASH_BITS);
- h &= (PC_REC_HASH_SIZE - 1);
- pr = &pc_rec_hash[h];
- for(;;) {
- r = *pr;
- if (r == NULL)
- break;
- if (r->pc == pc) {
- r->count++;
- return;
- }
- pr = &r->next;
- }
- r = malloc(sizeof(PCRecord));
- r->count = 1;
- r->pc = pc;
- r->next = NULL;
- *pr = r;
- nb_pc_records++;
-}
-
-static int pc_rec_cmp(const void *p1, const void *p2)
-{
- PCRecord *r1 = *(PCRecord **)p1;
- PCRecord *r2 = *(PCRecord **)p2;
- if (r1->count < r2->count)
- return 1;
- else if (r1->count == r2->count)
- return 0;
- else
- return -1;
-}
-
-static void kqemu_record_flush(void)
-{
- PCRecord *r, *r_next;
- int h;
-
- for(h = 0; h < PC_REC_HASH_SIZE; h++) {
- for(r = pc_rec_hash[h]; r != NULL; r = r_next) {
- r_next = r->next;
- free(r);
- }
- pc_rec_hash[h] = NULL;
- }
- nb_pc_records = 0;
-}
-
-void kqemu_record_dump(void)
-{
- PCRecord **pr, *r;
- int i, h;
- FILE *f;
- int64_t total, sum;
-
- pr = malloc(sizeof(PCRecord *) * nb_pc_records);
- i = 0;
- total = 0;
- for(h = 0; h < PC_REC_HASH_SIZE; h++) {
- for(r = pc_rec_hash[h]; r != NULL; r = r->next) {
- pr[i++] = r;
- total += r->count;
- }
- }
- qsort(pr, nb_pc_records, sizeof(PCRecord *), pc_rec_cmp);
-
- f = fopen("/tmp/kqemu.stats", "w");
- if (!f) {
- perror("/tmp/kqemu.stats");
- exit(1);
- }
- fprintf(f, "total: %" PRId64 "\n", total);
- sum = 0;
- for(i = 0; i < nb_pc_records; i++) {
- r = pr[i];
- sum += r->count;
- fprintf(f, "%08lx: %" PRId64 " %0.2f%% %0.2f%%\n",
- r->pc,
- r->count,
- (double)r->count / (double)total * 100.0,
- (double)sum / (double)total * 100.0);
- }
- fclose(f);
- free(pr);
-
- kqemu_record_flush();
-}
-#endif
-
-static inline void kqemu_load_seg(struct kqemu_segment_cache *ksc,
- const SegmentCache *sc)
-{
- ksc->selector = sc->selector;
- ksc->flags = sc->flags;
- ksc->limit = sc->limit;
- ksc->base = sc->base;
-}
-
-static inline void kqemu_save_seg(SegmentCache *sc,
- const struct kqemu_segment_cache *ksc)
-{
- sc->selector = ksc->selector;
- sc->flags = ksc->flags;
- sc->limit = ksc->limit;
- sc->base = ksc->base;
-}
-
-int kqemu_cpu_exec(CPUState *env)
-{
- struct kqemu_cpu_state kcpu_state, *kenv = &kcpu_state;
- int ret, cpl, i;
-#ifdef CONFIG_PROFILER
- int64_t ti;
-#endif
-#ifdef _WIN32
- DWORD temp;
-#endif
-
-#ifdef CONFIG_PROFILER
- ti = profile_getclock();
-#endif
- LOG_INT("kqemu: cpu_exec: enter\n");
- LOG_INT_STATE(env);
- for(i = 0; i < CPU_NB_REGS; i++)
- kenv->regs[i] = env->regs[i];
- kenv->eip = env->eip;
- kenv->eflags = env->eflags;
- for(i = 0; i < 6; i++)
- kqemu_load_seg(&kenv->segs[i], &env->segs[i]);
- kqemu_load_seg(&kenv->ldt, &env->ldt);
- kqemu_load_seg(&kenv->tr, &env->tr);
- kqemu_load_seg(&kenv->gdt, &env->gdt);
- kqemu_load_seg(&kenv->idt, &env->idt);
- kenv->cr0 = env->cr[0];
- kenv->cr2 = env->cr[2];
- kenv->cr3 = env->cr[3];
- kenv->cr4 = env->cr[4];
- kenv->a20_mask = env->a20_mask;
- kenv->efer = env->efer;
- kenv->tsc_offset = 0;
- kenv->star = env->star;
- kenv->sysenter_cs = env->sysenter_cs;
- kenv->sysenter_esp = env->sysenter_esp;
- kenv->sysenter_eip = env->sysenter_eip;
-#ifdef TARGET_X86_64
- kenv->lstar = env->lstar;
- kenv->cstar = env->cstar;
- kenv->fmask = env->fmask;
- kenv->kernelgsbase = env->kernelgsbase;
-#endif
- if (env->dr[7] & 0xff) {
- kenv->dr7 = env->dr[7];
- kenv->dr0 = env->dr[0];
- kenv->dr1 = env->dr[1];
- kenv->dr2 = env->dr[2];
- kenv->dr3 = env->dr[3];
- } else {
- kenv->dr7 = 0;
- }
- kenv->dr6 = env->dr[6];
- cpl = (env->hflags & HF_CPL_MASK);
- kenv->cpl = cpl;
- kenv->nb_pages_to_flush = nb_pages_to_flush;
- kenv->user_only = (env->kqemu_enabled == 1);
- kenv->nb_ram_pages_to_update = nb_ram_pages_to_update;
- nb_ram_pages_to_update = 0;
- kenv->nb_modified_ram_pages = nb_modified_ram_pages;
-
- kqemu_reset_modified_ram_pages();
-
- if (env->cpuid_features & CPUID_FXSR)
- restore_native_fp_fxrstor(env);
- else
- restore_native_fp_frstor(env);
-
-#ifdef _WIN32
- if (DeviceIoControl(kqemu_fd, KQEMU_EXEC,
- kenv, sizeof(struct kqemu_cpu_state),
- kenv, sizeof(struct kqemu_cpu_state),
- &temp, NULL)) {
- ret = kenv->retval;
- } else {
- ret = -1;
- }
-#else
- ioctl(kqemu_fd, KQEMU_EXEC, kenv);
- ret = kenv->retval;
-#endif
- if (env->cpuid_features & CPUID_FXSR)
- save_native_fp_fxsave(env);
- else
- save_native_fp_fsave(env);
-
- for(i = 0; i < CPU_NB_REGS; i++)
- env->regs[i] = kenv->regs[i];
- env->eip = kenv->eip;
- env->eflags = kenv->eflags;
- for(i = 0; i < 6; i++)
- kqemu_save_seg(&env->segs[i], &kenv->segs[i]);
- cpu_x86_set_cpl(env, kenv->cpl);
- kqemu_save_seg(&env->ldt, &kenv->ldt);
- env->cr[0] = kenv->cr0;
- env->cr[4] = kenv->cr4;
- env->cr[3] = kenv->cr3;
- env->cr[2] = kenv->cr2;
- env->dr[6] = kenv->dr6;
-#ifdef TARGET_X86_64
- env->kernelgsbase = kenv->kernelgsbase;
-#endif
-
- /* flush pages as indicated by kqemu */
- if (kenv->nb_pages_to_flush >= KQEMU_FLUSH_ALL) {
- tlb_flush(env, 1);
- } else {
- for(i = 0; i < kenv->nb_pages_to_flush; i++) {
- tlb_flush_page(env, pages_to_flush[i]);
- }
- }
- nb_pages_to_flush = 0;
-
-#ifdef CONFIG_PROFILER
- kqemu_time += profile_getclock() - ti;
- kqemu_exec_count++;
-#endif
-
- if (kenv->nb_ram_pages_to_update > 0) {
- cpu_tlb_update_dirty(env);
- }
-
- if (kenv->nb_modified_ram_pages > 0) {
- for(i = 0; i < kenv->nb_modified_ram_pages; i++) {
- unsigned long addr;
- addr = modified_ram_pages[i];
- tb_invalidate_phys_page_range(addr, addr + TARGET_PAGE_SIZE, 0);
- }
- }
-
- /* restore the hidden flags */
- {
- unsigned int new_hflags;
-#ifdef TARGET_X86_64
- if ((env->hflags & HF_LMA_MASK) &&
- (env->segs[R_CS].flags & DESC_L_MASK)) {
- /* long mode */
- new_hflags = HF_CS32_MASK | HF_SS32_MASK | HF_CS64_MASK;
- } else
-#endif
- {
- /* legacy / compatibility case */
- new_hflags = (env->segs[R_CS].flags & DESC_B_MASK)
- >> (DESC_B_SHIFT - HF_CS32_SHIFT);
- new_hflags |= (env->segs[R_SS].flags & DESC_B_MASK)
- >> (DESC_B_SHIFT - HF_SS32_SHIFT);
- if (!(env->cr[0] & CR0_PE_MASK) ||
- (env->eflags & VM_MASK) ||
- !(env->hflags & HF_CS32_MASK)) {
- /* XXX: try to avoid this test. The problem comes from the
- fact that is real mode or vm86 mode we only modify the
- 'base' and 'selector' fields of the segment cache to go
- faster. A solution may be to force addseg to one in
- translate-i386.c. */
- new_hflags |= HF_ADDSEG_MASK;
- } else {
- new_hflags |= ((env->segs[R_DS].base |
- env->segs[R_ES].base |
- env->segs[R_SS].base) != 0) <<
- HF_ADDSEG_SHIFT;
- }
- }
- env->hflags = (env->hflags &
- ~(HF_CS32_MASK | HF_SS32_MASK | HF_CS64_MASK | HF_ADDSEG_MASK)) |
- new_hflags;
- }
- /* update FPU flags */
- env->hflags = (env->hflags & ~(HF_MP_MASK | HF_EM_MASK | HF_TS_MASK)) |
- ((env->cr[0] << (HF_MP_SHIFT - 1)) & (HF_MP_MASK | HF_EM_MASK | HF_TS_MASK));
- if (env->cr[4] & CR4_OSFXSR_MASK)
- env->hflags |= HF_OSFXSR_MASK;
- else
- env->hflags &= ~HF_OSFXSR_MASK;
-
- LOG_INT("kqemu: kqemu_cpu_exec: ret=0x%x\n", ret);
- if (ret == KQEMU_RET_SYSCALL) {
- /* syscall instruction */
- return do_syscall(env, kenv);
- } else
- if ((ret & 0xff00) == KQEMU_RET_INT) {
- env->exception_index = ret & 0xff;
- env->error_code = 0;
- env->exception_is_int = 1;
- env->exception_next_eip = kenv->next_eip;
-#ifdef CONFIG_PROFILER
- kqemu_ret_int_count++;
-#endif
- LOG_INT("kqemu: interrupt v=%02x:\n", env->exception_index);
- LOG_INT_STATE(env);
- return 1;
- } else if ((ret & 0xff00) == KQEMU_RET_EXCEPTION) {
- env->exception_index = ret & 0xff;
- env->error_code = kenv->error_code;
- env->exception_is_int = 0;
- env->exception_next_eip = 0;
-#ifdef CONFIG_PROFILER
- kqemu_ret_excp_count++;
-#endif
- LOG_INT("kqemu: exception v=%02x e=%04x:\n",
- env->exception_index, env->error_code);
- LOG_INT_STATE(env);
- return 1;
- } else if (ret == KQEMU_RET_INTR) {
-#ifdef CONFIG_PROFILER
- kqemu_ret_intr_count++;
-#endif
- LOG_INT_STATE(env);
- return 0;
- } else if (ret == KQEMU_RET_SOFTMMU) {
-#ifdef CONFIG_PROFILER
- {
- unsigned long pc = env->eip + env->segs[R_CS].base;
- kqemu_record_pc(pc);
- }
-#endif
- LOG_INT_STATE(env);
- return 2;
- } else {
- cpu_dump_state(env, stderr, fprintf, 0);
- fprintf(stderr, "Unsupported return value: 0x%x\n", ret);
- exit(1);
- }
- return 0;
-}
-
-void kqemu_cpu_interrupt(CPUState *env)
-{
-#if defined(_WIN32)
- /* cancelling the I/O request causes KQEMU to finish executing the
- current block and successfully returning. */
- CancelIo(kqemu_fd);
-#endif
-}
-
-/*
- QEMU paravirtualization interface. The current interface only
- allows to modify the IF and IOPL flags when running in
- kqemu.
-
- At this point it is not very satisfactory. I leave it for reference
- as it adds little complexity.
-*/
-
-#define QPI_COMM_PAGE_PHYS_ADDR 0xff000000
-
-static uint32_t qpi_mem_readb(void *opaque, target_phys_addr_t addr)
-{
- return 0;
-}
-
-static uint32_t qpi_mem_readw(void *opaque, target_phys_addr_t addr)
-{
- return 0;
-}
-
-static void qpi_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_t val)
-{
-}
-
-static void qpi_mem_writew(void *opaque, target_phys_addr_t addr, uint32_t val)
-{
-}
-
-static uint32_t qpi_mem_readl(void *opaque, target_phys_addr_t addr)
-{
- CPUState *env;
-
- env = cpu_single_env;
- if (!env)
- return 0;
- return env->eflags & (IF_MASK | IOPL_MASK);
-}
-
-/* Note: after writing to this address, the guest code must make sure
- it is exiting the current TB. pushf/popf can be used for that
- purpose. */
-static void qpi_mem_writel(void *opaque, target_phys_addr_t addr, uint32_t val)
-{
- CPUState *env;
-
- env = cpu_single_env;
- if (!env)
- return;
- env->eflags = (env->eflags & ~(IF_MASK | IOPL_MASK)) |
- (val & (IF_MASK | IOPL_MASK));
-}
-
-static CPUReadMemoryFunc *qpi_mem_read[3] = {
- qpi_mem_readb,
- qpi_mem_readw,
- qpi_mem_readl,
-};
-
-static CPUWriteMemoryFunc *qpi_mem_write[3] = {
- qpi_mem_writeb,
- qpi_mem_writew,
- qpi_mem_writel,
-};
-
-static void qpi_init(void)
-{
- kqemu_comm_base = 0xff000000 | 1;
- qpi_io_memory = cpu_register_io_memory(0,
- qpi_mem_read,
- qpi_mem_write, NULL);
- cpu_register_physical_memory(kqemu_comm_base & ~0xfff,
- 0x1000, qpi_io_memory);
-}
-#endif
diff --git a/testing/qemu/kqemu.patch b/testing/qemu/kqemu.patch
deleted file mode 100644
index 337a356ce1..0000000000
--- a/testing/qemu/kqemu.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/kqemu.c 2009-07-17 00:56:23.000000000 +0000
-+++ b/kqemu.c 2009-08-22 13:20:00.000000000 +0000
-@@ -93,9 +93,9 @@
- int qpi_io_memory;
- uint32_t kqemu_comm_base; /* physical address of the QPI communication page */
-
--#define cpuid(index, eax, ebx, ecx, edx) \
-+#define cpuid(index, eax, ecx, edx) \
- asm volatile ("cpuid" \
-- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) \
-+ : "=a" (eax), "=c" (ecx), "=d" (edx) \
- : "0" (index))
-
- #ifdef __x86_64__
-@@ -125,7 +125,7 @@
- static void kqemu_update_cpuid(CPUState *env)
- {
- int critical_features_mask, features, ext_features, ext_features_mask;
-- uint32_t eax, ebx, ecx, edx;
-+ uint32_t eax, ecx, edx;
-
- /* the following features are kept identical on the host and
- target cpus because they are important for user code. Strictly
-@@ -140,7 +140,7 @@
- features = 0;
- ext_features = 0;
- } else {
-- cpuid(1, eax, ebx, ecx, edx);
-+ cpuid(1, eax, ecx, edx);
- features = edx;
- ext_features = ecx;
- }
diff --git a/testing/qemu/qemu-0.10.3-nopl-fix.patch b/testing/qemu/qemu-0.10.3-nopl-fix.patch
deleted file mode 100644
index bdef0efc35..0000000000
--- a/testing/qemu/qemu-0.10.3-nopl-fix.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- i386-dis.c 2009-03-22 00:05:48.000000000 +0100
-+++ i386-dis_new.c 2009-04-21 08:31:08.000000000 +0200
-@@ -784,13 +784,13 @@
- { "movhpX", EX, XM, SIMD_Fixup, 'l' },
- /* 18 */
- { GRP14 },
-- { "(bad)", XX, XX, XX },
-- { "(bad)", XX, XX, XX },
-- { "(bad)", XX, XX, XX },
-- { "(bad)", XX, XX, XX },
-- { "(bad)", XX, XX, XX },
-- { "(bad)", XX, XX, XX },
-- { "(bad)", XX, XX, XX },
-+ { "nopQ", Ev, XX, XX },
-+ { "nopQ", Ev, XX, XX },
-+ { "nopQ", Ev, XX, XX },
-+ { "nopQ", Ev, XX, XX },
-+ { "nopQ", Ev, XX, XX },
-+ { "nopQ", Ev, XX, XX },
-+ { "nopQ", Ev, XX, XX },
- /* 20 */
- { "movL", Rm, Cm, XX },
- { "movL", Rm, Dm, XX },
-@@ -1072,7 +1072,7 @@
- /* 0 1 2 3 4 5 6 7 8 9 a b c d e f */
- /* ------------------------------- */
- /* 00 */ 1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1, /* 0f */
-- /* 10 */ 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, /* 1f */
-+ /* 10 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 1f */
- /* 20 */ 1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1, /* 2f */
- /* 30 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 3f */
- /* 40 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 4f */
diff --git a/testing/qemu/qemu.pre-install b/testing/qemu/qemu.pre-install
deleted file mode 100644
index 0119bacbea..0000000000
--- a/testing/qemu/qemu.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-if ! getent group | grep -q "^kvm:"; then
- addgroup kvm
-fi
-
diff --git a/testing/xmlrpc-c/APKBUILD b/testing/xmlrpc-c/APKBUILD
new file mode 100644
index 0000000000..86777e1b6d
--- /dev/null
+++ b/testing/xmlrpc-c/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=xmlrpc-c
+pkgver=1.06.40
+pkgrel=0
+pkgdesc="This library provides a modular implementation of XML-RPC for C and C++"
+url="http://xmlrpc-c.sourceforge.net/"
+license="custom:xmlrpc-c"
+depends=
+makedepends="libtool curl-dev libxml2-dev zlib-dev"
+subpackages="$pkgname-dev $pkgname-doc xmlrpc-c++:cxx"
+source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tgz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --enable-libxml2-backend \
+ --disable-cgi-server \
+ --disable-abyss-server \
+ --disable-libwww-client \
+ --disable-wininet-client
+ # no parallel builds :-(
+ make -C include &&\
+ make -C lib &&\
+ make -j1 -C src &&\
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ install -m 644 -D doc/COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+cxx() {
+ pkgdesc="This library provides a modular implementation of XML-RPC for C++"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/*++* "$subpkgdir"/usr/lib/
+}
+
+md5sums="684fd8b9edda6da55a58d2a18e5056c5 xmlrpc-c-1.06.40.tgz"