summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Knoblich <stkn@gentoo.org>2005-10-29 21:37:16 +0000
committerStefan Knoblich <stkn@gentoo.org>2005-10-29 21:37:16 +0000
commit7a03cebda3fb3f5a882b9619aac4c2c4588bf071 (patch)
tree3596675ad088d601bd56cca7e7a44f13ef68337a /net-misc/asterisk-addons
downloadvoip-7a03cebda3fb3f5a882b9619aac4c2c4588bf071.tar.gz
voip-7a03cebda3fb3f5a882b9619aac4c2c4588bf071.tar.bz2
voip-7a03cebda3fb3f5a882b9619aac4c2c4588bf071.zip
Initial import of private gentoo-voip repos
svn path=/trunk/; revision=2
Diffstat (limited to 'net-misc/asterisk-addons')
-rw-r--r--net-misc/asterisk-addons/Manifest6
-rw-r--r--net-misc/asterisk-addons/asterisk-addons-1.2.0_beta1.ebuild156
-rw-r--r--net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-base.diff40
-rw-r--r--net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff30
-rw-r--r--net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff61
-rw-r--r--net-misc/asterisk-addons/files/digest-asterisk-addons-1.2.0_beta12
-rw-r--r--net-misc/asterisk-addons/files/sqlite-3.2.1-data-corruption.patch415
7 files changed, 710 insertions, 0 deletions
diff --git a/net-misc/asterisk-addons/Manifest b/net-misc/asterisk-addons/Manifest
new file mode 100644
index 0000000..8eb6f31
--- /dev/null
+++ b/net-misc/asterisk-addons/Manifest
@@ -0,0 +1,6 @@
+MD5 4f4fe33a885527efd317ebd887483ae1 asterisk-addons-1.2.0_beta1.ebuild 3169
+MD5 00cfba5fc6217bd223624a267cd55a13 files/digest-asterisk-addons-1.2.0_beta1 144
+MD5 727a0a2296bb763d31542e624c6ca224 files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff 1282
+MD5 d9614f6289a7b8edda8045241187e138 files/asterisk-addons-1.2.0_beta1-gentoo-base.diff 1852
+MD5 67d6be912d6a4cbc6250339885e778a0 files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff 1930
+MD5 46cefa8dc3aa8a97c973f54cd08f0ace files/sqlite-3.2.1-data-corruption.patch 6529
diff --git a/net-misc/asterisk-addons/asterisk-addons-1.2.0_beta1.ebuild b/net-misc/asterisk-addons/asterisk-addons-1.2.0_beta1.ebuild
new file mode 100644
index 0000000..8abefbc
--- /dev/null
+++ b/net-misc/asterisk-addons/asterisk-addons-1.2.0_beta1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+IUSE="mysql sqlite h323"
+
+inherit eutils flag-o-matic
+
+## TODO:
+#
+# - cleanup
+#
+
+#AST_PATCHES_PV="1.2.0_pre-1.0"
+SQLITE_PV="3.2.1"
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Additional Plugins for Asterisk"
+HOMEPAGE="http://www.asterisk.org/"
+SRC_URI="http://ftp.digium.com/pub/asterisk/${MY_P}.tar.gz
+ sqlite? ( http://www.sqlite.org/sqlite-${SQLITE_PV}.tar.gz )"
+
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~sparc ~hppa ~amd64"
+
+DEPEND="
+ >=net-misc/asterisk-1.2.0_beta1
+ mysql? ( dev-db/mysql )"
+
+pkg_setup() {
+ local n dosleep=0
+ einfo "Running pre-flight checks..."
+
+ if use h323 && built_with_use net-misc/asterisk h323; then
+ echo
+ ewarn "h323: Emerging ${PN} with the h323 flag enabled will overwrite asterisk's chan_h323.so!"
+ ewarn "h323: Be sure to upgrade ${ROOT}etc/asterisk/h323.conf afterwards!"
+ dosleep=1
+ fi
+
+ echo
+ if [[ $dosleep -gt 0 ]]; then
+ ebeep
+ n=10
+ while [[ $n -gt 0 ]]; do
+ echo -en " Waiting $n seconds...\r"
+ sleep 1
+ (( n-- ))
+ done
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ #
+ # gentoo patchset
+ #
+ epatch ${FILESDIR}/${P}-gentoo-base.diff
+ epatch ${FILESDIR}/${P}-gentoo-res_sqlite3.diff
+ epatch ${FILESDIR}/${P}-gentoo-ooh323c.diff
+
+ # patch sqlite
+ if use sqlite; then
+ cd ${WORKDIR}/sqlite-${SQLITE_PV}
+
+ epatch ${FILESDIR}/sqlite-${SQLITE_PV}-data-corruption.patch
+ epunt_cxx
+ fi
+
+ # rebuild ooh323c configure
+ if use h323; then
+ cd ${S}/asterisk-ooh323c
+ libtoolize --copy --force || die "libtoolize failed"
+ fi
+}
+
+src_compile() {
+ append-flags -fPIC
+
+ emake -j1 || die "Make failed"
+
+ if use sqlite; then
+ cd ${WORKDIR}/sqlite-${SQLITE_PV}
+ econf --enable-threadsafe || die ""
+ emake || die ""
+
+ cd ${S}
+ emake -j1 -C res_sqlite3 \
+ SQLITEDIR=${WORKDIR}/sqlite-${SQLITE_PV} || die "Make res_sqlite failed"
+ fi
+
+ if use h323; then
+ cd ${S}/asterisk-ooh323c
+ econf || die "econf failed"
+ emake || die "emake failed"
+ fi
+}
+
+src_install() {
+ make DESTDIR=${D} install || die "Make install failed"
+
+ if use sqlite; then
+ make -C res_sqlite3 \
+ DESTDIR=${D} install || die "Make install res_sqlite3 failed"
+ fi
+
+ if use h323; then
+ make -C asterisk-ooh323c \
+ DESTDIR=${D} install || die "Make instal ooh323c failed"
+ fi
+
+ # install standard docs...
+ dodoc README
+ dodoc doc/cdr_mysql.txt
+
+ insinto /usr/share/doc/${PF}
+ doins configs/*.sample
+
+ if use sqlite; then
+ cd ${S}/res_sqlite3
+ docinto res_sqlite3
+ dodoc README
+ insinto /usr/share/doc/${PF}/res_sqlite3
+ doins res_sqlite.conf dialplan.sql
+ keepdir /var/lib/asterisk/sqlite
+ fi
+
+ if use h323; then
+ cd ${S}/asterisk-ooh323c
+ docinto chan_ooh323c
+ dodoc AUTHORS INSTALL NEWS README COPYING ChangeLog
+ dodoc h323.conf.sample extensions.conf.sample
+
+ insinto /etc/asterisk
+ newins h323.conf.sample h323.conf
+ fi
+
+ einfo "Fixing permissions"
+ chown -R root:asterisk ${D}etc/asterisk
+ chmod -R u=rwX,g=rX,o= ${D}etc/asterisk
+
+ chown -R asterisk:asterisk ${D}var/lib/asterisk
+ chmod -R u=rwX,g=rX,o= ${D}var/lib/asterisk
+}
+
+#pkg_postinst() {
+# #
+# # Announcements, warnings, reminders...
+# #
+#}
diff --git a/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-base.diff b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-base.diff
new file mode 100644
index 0000000..25d432c
--- /dev/null
+++ b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-base.diff
@@ -0,0 +1,40 @@
+--- asterisk-addons/Makefile.orig 2005-07-30 21:04:44.000000000 +0200
++++ asterisk-addons/Makefile 2005-07-30 21:06:06.000000000 +0200
+@@ -16,7 +16,6 @@
+ MODS=format_mp3/format_mp3.so app_saycountpl.so
+
+ CFLAGS+=-fPIC
+-CFLAGS+=-I../asterisk
+ CFLAGS+=-D_GNU_SOURCE
+
+ INSTALL=install
+@@ -27,17 +26,11 @@
+ #
+ # MySQL stuff... Autoconf anyone??
+ #
+-MODS+=$(shell if [ -d /usr/local/mysql/include ] || [ -d /usr/include/mysql ] || [ -d /usr/local/include/mysql ] || [ -d /opt/mysql/include ]; then echo "cdr_addon_mysql.so app_addon_sql_mysql.so res_config_mysql.so"; fi)
+-CFLAGS+=$(shell if [ -d /usr/local/mysql/include ]; then echo "-I/usr/local/mysql/include"; fi)
++MODS+=$(shell if [ -d /usr/include/mysql ]; then echo "cdr_addon_mysql.so app_addon_sql_mysql.so res_config_mysql.so"; fi)
+ CFLAGS+=$(shell if [ -d /usr/include/mysql ]; then echo "-I/usr/include/mysql"; fi)
+-CFLAGS+=$(shell if [ -d /usr/local/include/mysql ]; then echo "-I/usr/local/include/mysql"; fi)
+-CFLAGS+=$(shell if [ -d /opt/mysql/include/mysql ]; then echo "-I/opt/mysql/include/mysql"; fi)
+ MLFLAGS=
+-MLFLAGS+=$(shell if [ -d /usr/lib/mysql ]; then echo "-L/usr/lib/mysql"; fi)
+ MLFLAGS+=$(shell if [ -d /usr/lib64/mysql ]; then echo "-L/usr/lib64/mysql"; fi)
+-MLFLAGS+=$(shell if [ -d /usr/local/mysql/lib ]; then echo "-L/usr/local/mysql/lib"; fi)
+-MLFLAGS+=$(shell if [ -d /usr/local/lib/mysql ]; then echo "-L/usr/local/lib/mysql"; fi)
+-MLFLAGS+=$(shell if [ -d /opt/mysql/lib/mysql ]; then echo "-L/opt/mysql/lib/mysql"; fi)
++MLFLAGS+=$(shell if [ -d /usr/lib/mysql ]; then echo "-L/usr/lib/mysql"; fi)
+
+ OSARCH=$(shell uname -s)
+
+@@ -55,7 +48,8 @@
+ format_mp3/format_mp3.so:
+ $(MAKE) -C format_mp3 all
+
+-install: all
++install:
++ $(INSTALL) -m 755 -d $(DESTDIR)$(MODULES_DIR)
+ for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
+
+ clean:
diff --git a/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff
new file mode 100644
index 0000000..460cbee
--- /dev/null
+++ b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-ooh323c.diff
@@ -0,0 +1,30 @@
+--- asterisk-addons/asterisk-ooh323c/Makefile.am.orig 2005-08-24 23:19:04.000000000 +0200
++++ asterisk-addons/asterisk-ooh323c/Makefile.am 2005-08-24 23:20:08.000000000 +0200
+@@ -19,10 +19,10 @@
+ $(MAKE) "CFLAGS = -g -DGNU -D_GNU_SOURCE -D_REENTRANT" all
+
+ install:
+- cp .libs/libchan_h323.so.1.0.1 /usr/lib/asterisk/modules/chan_h323.so
++ cp .libs/libchan_h323.so.1.0.1 $(DESTDIR)/usr/lib/asterisk/modules/chan_h323.so
+
+ sample:
+- cp h323.conf.sample /etc/asterisk/h323.conf
++ cp h323.conf.sample $(DESTDIR)/etc/asterisk/h323.conf
+
+
+ EXTRA_DIST = extensions.conf h323.conf README COPYING
+--- asterisk-addons/asterisk-ooh323c/Makefile.in.orig 2005-08-24 23:19:12.000000000 +0200
++++ asterisk-addons/asterisk-ooh323c/Makefile.in 2005-08-24 23:19:53.000000000 +0200
+@@ -1214,10 +1214,10 @@
+ $(MAKE) "CFLAGS = -g -DGNU -D_GNU_SOURCE -D_REENTRANT" all
+
+ install:
+- cp .libs/libchan_h323.so.1.0.1 /usr/lib/asterisk/modules/chan_h323.so
++ cp .libs/libchan_h323.so.1.0.1 $(DESTDIR)/usr/lib/asterisk/modules/chan_h323.so
+
+ sample:
+- cp h323.conf.sample /etc/asterisk/h323.conf
++ cp h323.conf.sample $(DESTDIR)/etc/asterisk/h323.conf
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff
new file mode 100644
index 0000000..5d077b4
--- /dev/null
+++ b/net-misc/asterisk-addons/files/asterisk-addons-1.2.0_beta1-gentoo-res_sqlite3.diff
@@ -0,0 +1,61 @@
+--- asterisk-addons/res_sqlite3/Makefile.orig 2005-08-04 23:27:22.000000000 +0200
++++ asterisk-addons/res_sqlite3/Makefile 2005-08-04 23:37:38.000000000 +0200
+@@ -1,44 +1,24 @@
+-ASTDIR=/usr/src/asterisk
+-ASTXS=$(ASTDIR)/contrib/scripts/astxs
+-ASTSQLITE=/var/lib/asterisk/sqlite
+-SQLITE2=/usr/local/bin/sqlite
+-SQLITE3=/usr/local/bin/sqlite3
+-SQLITEBASE=http://www.sqlite.org/
+-SQLITEFILE=sqlite-3.2.1
++SQLITEDIR=
++DESTDIR=
+
+-CFLAGS=-I$(SQLITEFILE) -I $(SQLITEFILE)/src
++ASTCFG=/usr/bin/asterisk-config
++ASTSQLITE=/var/lib/asterisk/sqlite
++ASTMODDIR=/usr/lib/asterisk/modules
+
+-all: .sqlite res_sqlite.so
++CFLAGS=-I$(SQLITEDIR) -I$(SQLITEDIR)/src
+
++all: res_sqlite.so
+
+ res_sqlite.so:
+- ASTSRC=$(ASTDIR) $(ASTXS) "-append=CFLAGS:$(CFLAGS)" "-append=EXTOBJ:./$(SQLITEFILE)/.libs/libsqlite3.a" res_sqlite.c
+-
+-.sqlite:
+- wget $(SQLITEBASE)/$(SQLITEFILE).tar.gz
+- tar -zxvf $(SQLITEFILE).tar.gz
+- cd $(SQLITEFILE) && test -f ./config.status || ./configure --enable-threadsafe
+- cd $(SQLITEFILE) && make
+- touch .sqlite
++ $(CC) $(shell $(ASTCFG) --cflags) $(CFLAGS) -fPIC -c -o res_sqlite.o res_sqlite.c
++ $(CC) $(shell $(ASTCFG) --solink) -o res_sqlite.so res_sqlite.o $(SQLITEDIR)/.libs/libsqlite3.a
+
+ clean:
+ /bin/rm -f *.o *.so *~
+
+-distclean: clean
+- /bin/rm -fr .sqlite sqlite $(SQLITEFILE) $(SQLITEFILE).tar.gz
+-
+ install:
+- $(ASTXS) -autoload -install res_sqlite.so
+- /bin/mkdir -p $(ASTSQLITE)
+- if [ ! -f /etc/asterisk/res_sqlite.conf ] ; then /bin/cp res_sqlite.conf /etc/asterisk; fi
+-
+-sqlite_install: .sqlite
+- cd sqlite && make install
+- test -f /etc/ld.so.conf && ldconfig
+-
+-upgrade: $(SQLITE2) $(SQLITE3)
+- @echo upgrading database files
+- @upgrade.sh $(ASTSQLITE) $(SQLITE2) $(SQLITE3)
+-
+-
+-
++ /bin/mkdir -p $(DESTDIR)$(ASTSQLITE)
++ /bin/mkdir -p $(DESTDIR)$(ASTMODDIR)
++ /bin/mkdir -p $(DESTDIR)/etc/asterisk
++ /bin/cp res_sqlite.so $(DESTDIR)$(ASTMODDIR)
++ /bin/cp res_sqlite.conf $(DESTDIR)/etc/asterisk
diff --git a/net-misc/asterisk-addons/files/digest-asterisk-addons-1.2.0_beta1 b/net-misc/asterisk-addons/files/digest-asterisk-addons-1.2.0_beta1
new file mode 100644
index 0000000..aef5625
--- /dev/null
+++ b/net-misc/asterisk-addons/files/digest-asterisk-addons-1.2.0_beta1
@@ -0,0 +1,2 @@
+MD5 e0d42e4b0b1b7276bd7c760e5e5c437a asterisk-addons-1.2.0-beta1.tar.gz 740760
+MD5 ccf3831c2f67452d444c5e5e2c7ca6f0 sqlite-3.2.1.tar.gz 1351842
diff --git a/net-misc/asterisk-addons/files/sqlite-3.2.1-data-corruption.patch b/net-misc/asterisk-addons/files/sqlite-3.2.1-data-corruption.patch
new file mode 100644
index 0000000..1bfd859
--- /dev/null
+++ b/net-misc/asterisk-addons/files/sqlite-3.2.1-data-corruption.patch
@@ -0,0 +1,415 @@
+diff -uNr sqlite-3.2.1/src/vdbeaux.c sqlite-3.2.1-data-fix/src/vdbeaux.c
+--- sqlite-3.2.1/src/vdbeaux.c 2005-03-29 15:14:03.000000000 +0200
++++ sqlite-3.2.1-data-fix/src/vdbeaux.c 2005-04-24 12:13:52.000000000 +0200
+@@ -1604,7 +1604,7 @@
+ }
+ if( flags&MEM_Int ){
+ /* Figure out whether to use 1, 2, 4, 6 or 8 bytes. */
+-# define MAX_6BYTE ((((i64)0x00010000)<<32)-1)
++# define MAX_6BYTE ((((i64)0x00001000)<<32)-1)
+ i64 i = pMem->i;
+ u64 u = i<0 ? -i : i;
+ if( u<=127 ) return 1;
+diff -uNr sqlite-3.2.1/test/misc5.test sqlite-3.2.1-data-fix/test/misc5.test
+--- sqlite-3.2.1/test/misc5.test 2005-03-17 04:15:40.000000000 +0100
++++ sqlite-3.2.1-data-fix/test/misc5.test 2005-04-24 16:45:07.000000000 +0200
+@@ -41,4 +41,399 @@
+ } {}
+ }
+
++# Make sure large integers are stored correctly.
++#
++do_test misc5-2.1 {
++ execsql {
++ create table t2(x unique);
++ insert into t2 values(1);
++ insert or ignore into t2 select x*2 from t2;
++ insert or ignore into t2 select x*4 from t2;
++ insert or ignore into t2 select x*16 from t2;
++ insert or ignore into t2 select x*256 from t2;
++ insert or ignore into t2 select x*65536 from t2;
++ insert or ignore into t2 select x*2147483648 from t2;
++ insert or ignore into t2 select x-1 from t2;
++ insert or ignore into t2 select x+1 from t2;
++ insert or ignore into t2 select -x from t2;
++ select count(*) from t2;
++ }
++} 371
++do_test misc5-2.2 {
++ execsql {
++ select x from t2 order by x;
++ }
++} \
++"-4611686018427387905\
++-4611686018427387904\
++-4611686018427387903\
++-2305843009213693953\
++-2305843009213693952\
++-2305843009213693951\
++-1152921504606846977\
++-1152921504606846976\
++-1152921504606846975\
++-576460752303423489\
++-576460752303423488\
++-576460752303423487\
++-288230376151711745\
++-288230376151711744\
++-288230376151711743\
++-144115188075855873\
++-144115188075855872\
++-144115188075855871\
++-72057594037927937\
++-72057594037927936\
++-72057594037927935\
++-36028797018963969\
++-36028797018963968\
++-36028797018963967\
++-18014398509481985\
++-18014398509481984\
++-18014398509481983\
++-9007199254740993\
++-9007199254740992\
++-9007199254740991\
++-4503599627370497\
++-4503599627370496\
++-4503599627370495\
++-2251799813685249\
++-2251799813685248\
++-2251799813685247\
++-1125899906842625\
++-1125899906842624\
++-1125899906842623\
++-562949953421313\
++-562949953421312\
++-562949953421311\
++-281474976710657\
++-281474976710656\
++-281474976710655\
++-140737488355329\
++-140737488355328\
++-140737488355327\
++-70368744177665\
++-70368744177664\
++-70368744177663\
++-35184372088833\
++-35184372088832\
++-35184372088831\
++-17592186044417\
++-17592186044416\
++-17592186044415\
++-8796093022209\
++-8796093022208\
++-8796093022207\
++-4398046511105\
++-4398046511104\
++-4398046511103\
++-2199023255553\
++-2199023255552\
++-2199023255551\
++-1099511627777\
++-1099511627776\
++-1099511627775\
++-549755813889\
++-549755813888\
++-549755813887\
++-274877906945\
++-274877906944\
++-274877906943\
++-137438953473\
++-137438953472\
++-137438953471\
++-68719476737\
++-68719476736\
++-68719476735\
++-34359738369\
++-34359738368\
++-34359738367\
++-17179869185\
++-17179869184\
++-17179869183\
++-8589934593\
++-8589934592\
++-8589934591\
++-4294967297\
++-4294967296\
++-4294967295\
++-2147483649\
++-2147483648\
++-2147483647\
++-1073741825\
++-1073741824\
++-1073741823\
++-536870913\
++-536870912\
++-536870911\
++-268435457\
++-268435456\
++-268435455\
++-134217729\
++-134217728\
++-134217727\
++-67108865\
++-67108864\
++-67108863\
++-33554433\
++-33554432\
++-33554431\
++-16777217\
++-16777216\
++-16777215\
++-8388609\
++-8388608\
++-8388607\
++-4194305\
++-4194304\
++-4194303\
++-2097153\
++-2097152\
++-2097151\
++-1048577\
++-1048576\
++-1048575\
++-524289\
++-524288\
++-524287\
++-262145\
++-262144\
++-262143\
++-131073\
++-131072\
++-131071\
++-65537\
++-65536\
++-65535\
++-32769\
++-32768\
++-32767\
++-16385\
++-16384\
++-16383\
++-8193\
++-8192\
++-8191\
++-4097\
++-4096\
++-4095\
++-2049\
++-2048\
++-2047\
++-1025\
++-1024\
++-1023\
++-513\
++-512\
++-511\
++-257\
++-256\
++-255\
++-129\
++-128\
++-127\
++-65\
++-64\
++-63\
++-33\
++-32\
++-31\
++-17\
++-16\
++-15\
++-9\
++-8\
++-7\
++-5\
++-4\
++-3\
++-2\
++-1\
++0\
++1\
++2\
++3\
++4\
++5\
++7\
++8\
++9\
++15\
++16\
++17\
++31\
++32\
++33\
++63\
++64\
++65\
++127\
++128\
++129\
++255\
++256\
++257\
++511\
++512\
++513\
++1023\
++1024\
++1025\
++2047\
++2048\
++2049\
++4095\
++4096\
++4097\
++8191\
++8192\
++8193\
++16383\
++16384\
++16385\
++32767\
++32768\
++32769\
++65535\
++65536\
++65537\
++131071\
++131072\
++131073\
++262143\
++262144\
++262145\
++524287\
++524288\
++524289\
++1048575\
++1048576\
++1048577\
++2097151\
++2097152\
++2097153\
++4194303\
++4194304\
++4194305\
++8388607\
++8388608\
++8388609\
++16777215\
++16777216\
++16777217\
++33554431\
++33554432\
++33554433\
++67108863\
++67108864\
++67108865\
++134217727\
++134217728\
++134217729\
++268435455\
++268435456\
++268435457\
++536870911\
++536870912\
++536870913\
++1073741823\
++1073741824\
++1073741825\
++2147483647\
++2147483648\
++2147483649\
++4294967295\
++4294967296\
++4294967297\
++8589934591\
++8589934592\
++8589934593\
++17179869183\
++17179869184\
++17179869185\
++34359738367\
++34359738368\
++34359738369\
++68719476735\
++68719476736\
++68719476737\
++137438953471\
++137438953472\
++137438953473\
++274877906943\
++274877906944\
++274877906945\
++549755813887\
++549755813888\
++549755813889\
++1099511627775\
++1099511627776\
++1099511627777\
++2199023255551\
++2199023255552\
++2199023255553\
++4398046511103\
++4398046511104\
++4398046511105\
++8796093022207\
++8796093022208\
++8796093022209\
++17592186044415\
++17592186044416\
++17592186044417\
++35184372088831\
++35184372088832\
++35184372088833\
++70368744177663\
++70368744177664\
++70368744177665\
++140737488355327\
++140737488355328\
++140737488355329\
++281474976710655\
++281474976710656\
++281474976710657\
++562949953421311\
++562949953421312\
++562949953421313\
++1125899906842623\
++1125899906842624\
++1125899906842625\
++2251799813685247\
++2251799813685248\
++2251799813685249\
++4503599627370495\
++4503599627370496\
++4503599627370497\
++9007199254740991\
++9007199254740992\
++9007199254740993\
++18014398509481983\
++18014398509481984\
++18014398509481985\
++36028797018963967\
++36028797018963968\
++36028797018963969\
++72057594037927935\
++72057594037927936\
++72057594037927937\
++144115188075855871\
++144115188075855872\
++144115188075855873\
++288230376151711743\
++288230376151711744\
++288230376151711745\
++576460752303423487\
++576460752303423488\
++576460752303423489\
++1152921504606846975\
++1152921504606846976\
++1152921504606846977\
++2305843009213693951\
++2305843009213693952\
++2305843009213693953\
++4611686018427387903\
++4611686018427387904\
++4611686018427387905"
++
+ finish_test