diff options
Diffstat (limited to 'unmaintained/xnbd')
-rw-r--r-- | unmaintained/xnbd/APKBUILD | 63 | ||||
-rw-r--r-- | unmaintained/xnbd/fix-cblocksize.patch | 42 | ||||
-rw-r--r-- | unmaintained/xnbd/remove-pagesize.patch | 29 | ||||
-rw-r--r-- | unmaintained/xnbd/remove-sys_siglist.patch | 35 |
4 files changed, 169 insertions, 0 deletions
diff --git a/unmaintained/xnbd/APKBUILD b/unmaintained/xnbd/APKBUILD new file mode 100644 index 0000000000..fb064dd337 --- /dev/null +++ b/unmaintained/xnbd/APKBUILD @@ -0,0 +1,63 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=xnbd +pkgver=0.3.0 +pkgrel=0 +pkgdesc="NBD server program enabling live block device migration over wide-area networks" +url="https://bitbucket.org/hirofuchi/xnbd/wiki/Home" +arch="all" +license="GPL-2" +depends="" +depends_dev="" +makedepends="$depends_dev glib-dev automake autoconf libtool linux-headers" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="https://bitbucket.org/hirofuchi/xnbd/downloads/xnbd-$pkgver.tar.bz2 + remove-pagesize.patch + fix-cblocksize.patch + remove-sys_siglist.patch" + +_builddir="$srcdir"/xnbd-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + #update_config_sub || return 1 +} + +build() { + cd "$_builddir" + autoreconf -vif || return 1 + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + || return 1 + make -j1 || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="73327ea76230e123aee6e115f9eed779 xnbd-0.3.0.tar.bz2 +358c26ecf6fc9a82ac2c6bca3b12d4d6 remove-pagesize.patch +1c33da534f8b4f8fb3aad4d97532ed00 fix-cblocksize.patch +d8bda14a419a89c7279ff4d83a0325b4 remove-sys_siglist.patch" +sha256sums="8bbac0a95ab31ffac20e06825b5170dd2cf16bd1acfe07e54656ea823a339b4a xnbd-0.3.0.tar.bz2 +1a8a86a114ed2ad0471261d9974a9d6bb704e0741a29e5ce3ea5c4901dc7fa6a remove-pagesize.patch +f8214480f998e516fb27fa2b945caf783e8ed9a398918ef795199061b80e29a6 fix-cblocksize.patch +20d026e88dc22cc25888f4507400d5c8395f51c4dddad81ee57cbc160f6530bb remove-sys_siglist.patch" +sha512sums="650874ae2790619970217917a6d56c7855dd6ab723269c8e027f1ce7abbf9b5b718131571f4ae4f7b3301bde1516f464ec1b1aeb6581e84bfefff5e73903c74f xnbd-0.3.0.tar.bz2 +9fa5106787cd0fc1ade23fa82f9caa37b920bda90be87aa948a5b11d0c604879663a3d7ae140857beed6af03e18d2b83580201262e1c99162ff697df90346ae3 remove-pagesize.patch +7fffb13527db255b95e335d648dbb74ca2f26f44a07e126ae7514c3cb0705465b6d57aa660bf5a345a28f54ffe3b77f27a1e3022ef53ae29a811f3f164997a03 fix-cblocksize.patch +611575a15386940085bf37d933d37c3599d8de4f4ed741822e552a471a5727a380e0bddfd126a516a8de3d2819f4b1c5aef1e71d57ee1427727c0aff8772e4c9 remove-sys_siglist.patch" diff --git a/unmaintained/xnbd/fix-cblocksize.patch b/unmaintained/xnbd/fix-cblocksize.patch new file mode 100644 index 0000000000..c678204a1b --- /dev/null +++ b/unmaintained/xnbd/fix-cblocksize.patch @@ -0,0 +1,42 @@ +# HG changeset patch +# User hirofuchi +# Date 1393586078 -32400 +# Node ID 34a08647f2e40d22960d8cb1de718a4391c15f3b +# Parent 93c3b58d3df2ea3f361779dad61240e9381f0bf4 +make the requirement of CBLOCKSIZE clear + +CBLOCKSIZE must be a power of 2. 1024 or 8192 should be possible, which is not equal to PAGESIZE. + +diff --git a/xnbd_common.c b/trunk/xnbd_common.c +--- a/xnbd_common.c ++++ b/xnbd_common.c +@@ -25,6 +25,13 @@ + #include "xnbd_common.h" + + ++/* ++ * CBLOCKSIZE must be a power of 2, because bit operations are used in ++ * mmap_block_region functions. There is an assertion to check this in main() ++ * of xnbd-server. ++ * ++ * 1024 or 8192, which is different from the page size, is also possible, but not well tested. ++ **/ + const unsigned int CBLOCKSIZE = 4096; + unsigned int PAGESIZE = 4096; + +diff --git a/xnbd_server.c b/trunk/xnbd_server.c +--- a/xnbd_server.c ++++ b/xnbd_server.c +@@ -1060,10 +1060,9 @@ + xnbd_initialize(&xnbd); + + ++ /* must be a power of 2 */ ++ g_assert((CBLOCKSIZE & (CBLOCKSIZE - 1)) == 0); + +- PAGESIZE = (unsigned int) getpagesize(); +- if (CBLOCKSIZE % PAGESIZE != 0) +- warn("CBLOCKSIZE %u PAGESIZE %u", CBLOCKSIZE, PAGESIZE); + + if (xnbd.cmd == xnbd_cmd_proxy) + cachestat_initialize(DEFAULT_CACHESTAT_PATH, xnbd.nblocks); diff --git a/unmaintained/xnbd/remove-pagesize.patch b/unmaintained/xnbd/remove-pagesize.patch new file mode 100644 index 0000000000..61c91c1454 --- /dev/null +++ b/unmaintained/xnbd/remove-pagesize.patch @@ -0,0 +1,29 @@ +# HG changeset patch +# User hirofuchi +# Date 1393586706 -32400 +# Node ID 6cc644b989ecd4a2cdd7cd3dd2d5c40fd63537d7 +# Parent 34a08647f2e40d22960d8cb1de718a4391c15f3b +remove PAGESIZE + +diff --git a/xnbd.h b/trunk/xnbd.h +--- a/xnbd.h ++++ b/xnbd.h +@@ -189,7 +189,6 @@ + + + extern const unsigned int CBLOCKSIZE; +-extern unsigned int PAGESIZE; + + + +diff --git a/xnbd_common.c b/trunk/xnbd_common.c +--- a/xnbd_common.c ++++ b/xnbd_common.c +@@ -33,7 +33,6 @@ + * 1024 or 8192, which is different from the page size, is also possible, but not well tested. + **/ + const unsigned int CBLOCKSIZE = 4096; +-unsigned int PAGESIZE = 4096; + + const int XNBD_PORT = 8520; + diff --git a/unmaintained/xnbd/remove-sys_siglist.patch b/unmaintained/xnbd/remove-sys_siglist.patch new file mode 100644 index 0000000000..8d9c3618f8 --- /dev/null +++ b/unmaintained/xnbd/remove-sys_siglist.patch @@ -0,0 +1,35 @@ +--- ./xnbd_server.c.orig ++++ ./xnbd_server.c +@@ -181,7 +181,7 @@ + + static void signal_handler(int signum) + { +- dbg("sig: signal catched, code %d (%s)", signum, sys_siglist[signum]); ++ dbg("sig: signal catched, code %d (%s)", signum, strsignal(signum)); + + if (signum == SIGCHLD) + got_sigchld = 1; +@@ -495,7 +495,7 @@ + info(" with exit status=%d", WEXITSTATUS(status)); + + if (WIFSIGNALED(status)) +- info(" killed by signal=%d(%s)", WTERMSIG(status), sys_siglist[WTERMSIG(status)]); ++ info(" killed by signal=%d(%s)", WTERMSIG(status), strsignal(WTERMSIG(status))); + } + + const bool single_client_at_most = (connect_fd != -1); +--- ./xnbd_watchdog.c.orig ++++ ./xnbd_watchdog.c +@@ -26,10 +26,10 @@ + + static void nbddev_watchdog_sigalarm_handler(int signum) + { +- info("sig: signal catched, code %d (%s)", signum, sys_siglist[signum]); ++ info("sig: signal catched, code %d (%s)", signum, strsignal(signum)); + + if (signum != SIGALRM) +- warn("unexpected signal, code %d (%s)", signum, sys_siglist[signum]); ++ warn("unexpected signal, code %d (%s)", signum, strsignal(signum)); + } + + /* string is dummy */ |