diff options
Diffstat (limited to 'user/mbuffer')
-rw-r--r-- | user/mbuffer/APKBUILD | 39 | ||||
-rw-r--r-- | user/mbuffer/clamp-32-bit-parameters.patch | 39 | ||||
-rw-r--r-- | user/mbuffer/test-static-file-instead.patch | 11 |
3 files changed, 89 insertions, 0 deletions
diff --git a/user/mbuffer/APKBUILD b/user/mbuffer/APKBUILD new file mode 100644 index 000000000..3652e22d3 --- /dev/null +++ b/user/mbuffer/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: CyberLeo <cyberleo@cyberleo.net> +# Maintainer: CyberLeo <cyberleo@cyberleo.net> +pkgname=mbuffer +pkgver=20220418 +pkgrel=1 +pkgdesc="mbuffer is a tool for buffering data streams." +url="https://www.maier-komor.de/mbuffer.html" +arch="all" +license="GPL-3.0-only" +depends="" +makedepends="cmd:which openssl-dev" +subpackages="$pkgname-doc" +source="https://www.maier-komor.de/software/$pkgname/$pkgname-$pkgver.tgz + test-static-file-instead.patch + clamp-32-bit-parameters.patch + " + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="aad7f764c82e3bdd4ee3fc5ac8174e716fd44cdb0418f1994d3f506d2e58264a13e15596bc8e78e9e8bb2d181875294448085bab122a2a31356d4336bb8b54a4 mbuffer-20220418.tgz +28b7c7c7ee2b2130315cd6c4765d492e9d29376670a03ab0a1ab862a1ec5dea93e91e9de5e08604db69fe4139370eedb2a0754f16e5ebec3de9b48dc2a1dbea7 test-static-file-instead.patch +73a8a854c8f1aae866abf2b52aa5fc2d276dd5a0cc8595e176bb852e731ba4b310833a9b58260b323abf413b0fec74bdb39f89d708ffb81fc5ea82680c535268 clamp-32-bit-parameters.patch" diff --git a/user/mbuffer/clamp-32-bit-parameters.patch b/user/mbuffer/clamp-32-bit-parameters.patch new file mode 100644 index 000000000..3dc2d0eac --- /dev/null +++ b/user/mbuffer/clamp-32-bit-parameters.patch @@ -0,0 +1,39 @@ +In addition to clamping NumP and AvP, this patch reorders +shift operations to prevent possible overflow when given +values that are found in some environments where a 64-bit +system is running with a 32-bit personality. + +It should not be construed as fixing any bug in mbuffer. + +--- a/mbuffer.c ++++ b/mbuffer.c +@@ -984,7 +984,14 @@ + + /* get physical memory size */ + #if defined(_SC_PHYS_PAGES) +- NumP = sysconf(_SC_PHYS_PAGES); ++ if (sizeof(void *) == 4) ++ { ++ NumP = (unsigned)-1 / PgSz; /* 4GB worth of pages */ ++ } ++ else ++ { ++ NumP = sysconf(_SC_PHYS_PAGES); ++ } + if (NumP < 0) { + warningmsg("unable to determine number of total memory pages: %s\n",strerror(errno)); + NumP = 0; +@@ -1004,8 +1011,12 @@ + char *at = strstr(tmp,"MemAvailable:"); + if (at) { + AvP = strtol(at+13,0,0); +- AvP <<= 10; + AvP /= PgSz; ++ AvP <<= 10; ++ if (sizeof(void *) == 4 && AvP > NumP) ++ { ++ AvP = NumP; ++ } + debugmsg("available memory: %lu pages\n",AvP); + } + } diff --git a/user/mbuffer/test-static-file-instead.patch b/user/mbuffer/test-static-file-instead.patch new file mode 100644 index 000000000..9c549bfaa --- /dev/null +++ b/user/mbuffer/test-static-file-instead.patch @@ -0,0 +1,11 @@ +--- mbuffer-20200929/Makefile.in.orig 2020-11-08 07:47:44.512670020 +0000 ++++ mbuffer-20200929/Makefile.in 2020-11-08 07:48:33.032115323 +0000 +@@ -101,7 +101,7 @@ + test.tar test.md5 mbuffer.md5 idev.so tapetest.so have-af + + test.tar: +- $(TAR) cf test.tar --ignore-failed-read $(TESTTREE) ++ truncate -s 10M test.tar + + test.md5: test.tar + openssl md5 < test.tar > test.md5 |