aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authoriggy <iggy@theiggy.com>2019-04-13 11:40:55 -0700
committerKevin Daudt <kdaudt@alpinelinux.org>2019-04-15 10:55:28 +0000
commit3e96f1d31a74722b96209a608faf5ef9e0209b6f (patch)
treefe056656d70f604d6f51187f1fccfdc0201a3826 /testing
parent4c5ee31595c3d2906f7681dfc582cd89e688a54e (diff)
downloadaports-3e96f1d31a74722b96209a608faf5ef9e0209b6f.tar.bz2
aports-3e96f1d31a74722b96209a608faf5ef9e0209b6f.tar.xz
community/ceph: move from testing
Add radosgw subpackage back again.
Diffstat (limited to 'testing')
-rw-r--r--testing/ceph/APKBUILD432
-rw-r--r--testing/ceph/allperms.patch13
-rw-r--r--testing/ceph/ceph-common.pre-install5
-rw-r--r--testing/ceph/musl-fixes.patch229
4 files changed, 0 insertions, 679 deletions
diff --git a/testing/ceph/APKBUILD b/testing/ceph/APKBUILD
deleted file mode 100644
index c8999328f4..0000000000
--- a/testing/ceph/APKBUILD
+++ /dev/null
@@ -1,432 +0,0 @@
-# Contributor: John Coyle <dx9err@gmail.com>
-# Maintainer: John Coyle <dx9err@gmail.com>
-pkgname=ceph
-pkgver=14.1.0
-pkgrel=3
-pkgdesc="Ceph is a distributed object store and file system"
-pkgusers="ceph"
-pkggroups="ceph"
-url="http://ceph.com"
-arch="x86_64"
-license="LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT"
-depends="ceph-osd ceph-mds ceph-mon"
-options="!checkroot"
-_base_deps="
- cryptsetup
- e2fsprogs
- logrotate
- parted
- py2-requests py2-setuptools
- util-linux
- xfsprogs
- "
-_osd_deps="lvm2 sudo"
-_ceph_test_deps="xmlstarlet"
-makedepends="
- acl-dev
- argp-standalone
- bc
- boost-dev
- btrfs-progs
- bzip2-dev
- cmake
- coreutils
- cunit-dev
- curl-dev
- cython
- diffutils
- eudev-dev
- expat-dev
- fcgi-dev
- flex
- fuse
- fuse-dev
- git
- grep
- jq
- keyutils-dev
- leveldb-dev
- libaio-dev
- libatomic_ops-dev
- libedit-dev
- openssl-dev
- libtirpc-dev
- libtool
- libxml2-dev
- linux-headers
- lvm2-dev
- lz4-dev
- nss-dev
- openldap-dev
- procps
- python2-dev
- py2-pip
- py2-nose
- py-sphinx
- py2-virtualenv
- rabbitmq-c-dev
- readline-dev
- rpcgen
- snappy-dev
- userspace-rcu-dev
- xfsprogs-dev
- xmlstarlet
- yasm
- $_base_deps
- $_osd_deps
- $_ceph_test_deps
-"
-
-source="http://download.ceph.com/tarballs/ceph_$pkgver.orig.tar.gz
- allperms.patch
- musl-fixes.patch
- "
-subpackages="
- $pkgname-doc
- $pkgname-base
- $pkgname-common
- $pkgname-mds
- $pkgname-mgr
- $pkgname-mon
- $pkgname-fuse:ceph_fuse
- $pkgname-osd
- $pkgname-bash-completion:bash_completion
- $pkgname-dev
- rbd-fuse:rbd_fuse
- rbd-mirror:rbd_mirror
- rbd-nbd:rbd_nbd
- librbd
- libcephfs
- librados
- py2-rados:_py2_rados
- libradosstriper
- py2-rbd:_py2_rbd
- py2-cephfs:_py2_cephfs
-"
-
-_ceph_uid=167
-_ceph_gid=167
-
-_prefix=/usr
-_bindir=$_prefix/bin
-_datadir=$_prefix/share
-_docdir=$_datadir/doc
-_includedir=$_prefix/include
-_libdir=$_prefix/lib
-_libexecdir=$_prefix/libexec
-_localstatedir=/var
-_mandir=$_datadir/man
-_sbindir=/usr/sbin
-_sysconfdir=/etc
-
-_udevrulesdir=/etc/udev/rules.d
-
-_py2_sitelib() {
- python2 -c "import site; print(site.getsitepackages()[0])"
-}
-
-build() {
- export CEPH_BUILD_VIRTUALENV="$builddir"
-
- mkdir -p "$builddir"/build
- cd "$builddir"/build
-
- cmake .. \
- -DCMAKE_INSTALL_PREFIX=$_prefix \
- -DCMAKE_INSTALL_LIBDIR=$_libdir \
- -DCMAKE_INSTALL_LIBEXECDIR=$_libexecdir \
- -DCMAKE_INSTALL_LOCALSTATEDIR=$_localstatedir \
- -DCMAKE_INSTALL_SYSCONFDIR=$_sysconfdir \
- -DCMAKE_INSTALL_DOCDIR=$_docdir/ceph \
- -DCMAKE_INSTALL_MANDIR=$_mandir \
- -DWITH_REENTRANT_STRSIGNAL=ON \
- -DWITH_THREAD_SAFE_RES_QUERY=ON \
- -DWITH_MANPAGE=ON \
- -DWITH_SYSTEM_BOOST=ON \
- -DWITH_PYTHON2=ON \
- -DWITH_PYTHON3=OFF \
- -DMGR_PYTHON_VERSION=2 \
- -DWITH_LTTNG=OFF \
- -DWITH_RDMA=OFF \
- -DWITH_RADOSGW=OFF \
- -DWITH_BABELTRACE=OFF \
- -DWITH_SYSTEMD=OFF \
- -DWITH_EMBEDDED=OFF \
- -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
- -DWITH_TESTS=OFF
- make
-
-}
-
-package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
- cd ..
-
- rm -f "$pkgdir"$_sysconfdir/init.d/ceph
-
- install -m 0644 -D src/etc-rbdmap "$pkgdir"$_sysconfdir/ceph/rbdmap
- install -m 0644 -D src/logrotate.conf "$pkgdir"$_sysconfdir/logrotate.d/ceph
- install -m 0644 -D etc/sysctl/90-ceph-osd.conf "$pkgdir"/$_sysconfdir/sysctl.d/90-ceph-osd.conf
- chmod 0644 "$pkgdir"$_docdir/ceph/sample.ceph.conf
-
- # udev rules
- install -m 0644 -D udev/50-rbd.rules "$pkgdir"$_udevrulesdir/50-rbd.rules
-
- # sudoers.d
- install -m 0600 -D sudoers.d/ceph-osd-smartctl "$pkgdir"/$_sysconfdir/sudoers.d/ceph-osd-smartctl
-}
-
-check() {
- cd "$builddir"/build
- ctest
-}
-
-base() {
- pkgdesc="Base is the package that includes all the files shared amongst ceph servers"
- depends="$_base_deps
- ceph-common=$pkgver-r$pkgrel
- librbd=$pkgver-r$pkgrel
- librados=$pkgver-r$pkgrel
- libcephfs=$pkgver-r$pkgrel
- "
-
- _pkg $_bindir \
- ceph-crash \
- crushtool \
- monmaptool \
- osdmaptool \
- ceph-kvstore-tool \
- ceph-run
- _pkg $_sbindir ceph-create-keys
- _pkg $_libexecdir/ceph ceph_common.sh
- _pkg $_libdir/rados-classes '*.so*'
- _pkg $_libdir/ceph/erasure-code 'libec_*.so*'
- _pkg $_libdir/ceph/compressor 'libceph_*.so*'
- _pkg $_libdir/ceph/crypto 'libceph_*.so*'
- _pkg $_sysconfdir/logrotate.d ceph
- _pkg "$(_py2_sitelib)" ceph_volume 'ceph_volume-*'
- for dir in crash crash/posted tmp bootstrap-osd bootstrap-mds \
- bootstrap-rgw bootstrap-mgr bootstrap-rbd \
- bootstrap-rbd-mirror; do
-
- install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
- "$subpkgdir"$_localstatedir/lib/ceph/$dir
- done
-}
-
-common() {
- pkgdesc="Common utilities to mount and interact with a ceph storage cluster."
- depends="py2-rados py2-rbd py2-cephfs"
- install="$pkgname-common.pre-install"
-
- _pkg $_bindir ceph \
- ceph-authtool \
- ceph-conf \
- ceph-dencoder \
- ceph-rbdnamer \
- ceph-syn \
- cephfs-data-scan \
- cephfs-journal-tool \
- cephfs-table-tool \
- rados \
- rbd \
- rbd-replay \
- rbd-replay-many \
- rbdmap \
- ceph-post-file
- _pkg $_sbindir mount.ceph
- _pkg $_datadir/ceph known_hosts_drop.ceph.com \
- id_rsa_drop.ceph.com \
- id_rsa_drop.ceph.com.pub
- _pkg $_sysconfdir/ceph rbdmap
-
- _pkg "$(_py2_sitelib)" ceph_argparse.py* ceph_daemon.py*
-
- _pkg $_udevrulesdir 50-rbd.rules
- install -m 3770 -o $_ceph_uid -g $_ceph_gid -d \
- "$subpkgdir"$_localstatedir/log/ceph
- install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
- "$subpkgdir"$_localstatedir/lib/ceph
-}
-
-mds() {
- pkgdesc="Metadata server daemon for the Ceph distributed file system."
- depends="ceph-base"
-
- _pkg $_bindir ceph-mds
- install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
- "$subpkgdir"$_localstatedir/lib/ceph/mds
-}
-
-mon() {
- pkgdesc="Cluster monitor daemon for the Ceph distributed file system."
- depends="ceph-base"
-
- _pkg $_bindir ceph-mon \
- ceph-monstore-tool
- install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
- "$subpkgdir"$_localstatedir/lib/ceph/mon
-}
-
-ceph_fuse() {
- pkgdesc="FUSE based client for Ceph distributed network file system."
- depends=
- _pkg $_bindir ceph-fuse
- _pkg $_sbindir mount.fuse.ceph
-}
-
-rbd_fuse() {
- pkgdesc="FUSE based client to map Ceph rbd images to files."
- depends=
- _pkg $_bindir rbd-fuse
-}
-
-rbd_mirror() {
- pkgdesc="Daemon for mirroring RBD images between Ceph clusters."
- depends="ceph-common=$pkgver-r$pkgrel"
- _pkg $_bindir rbd-mirror
-}
-
-rbd_nbd() {
- pkgdesc="NBD based client to map Ceph rbd images to local device."
- depends=
- _pkg $_bindir rbd-nbd
-}
-
-osd() {
- pkgdesc="Object storage daemon for the Ceph distributed file system."
- depends="$pkgname-base=$pkgver-r$pkgrel $_osd_deps"
-
- _pkg $_bindir ceph-clsinfo \
- ceph-bluestore-tool \
- ceph-objectstore-tool \
- ceph-osdomap-tool \
- ceph-osd
- _pkg $_sbindir ceph-volume ceph-volume-systemd
- _pkg $_libexecdir/ceph ceph-osd-prestart.sh
- _pkg $_sysconfdir/sudoers.d ceph-osd-smartctl
- _pkg $_sysconfdir/sysctl.d 90-ceph-osd.conf
- install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
- "$subpkgdir"$_localstatedir/lib/ceph/osd
-}
-
-librados() {
- pkgdesc="RADOS distributed object store client library"
- depends=
- _pkg $_libdir librados.so.*
- _pkg $_libdir/ceph libceph-common.so.*
-}
-
-_py2_rados() {
- pkgdesc="Python libraries for the RADOS object store"
- depends=
-
- _pkg "$(_py2_sitelib)" rados.so rados-*.egg-info
-}
-
-libradosstriper() {
- pkgdesc="RADOS striping library"
- depends=
-
- _pkg $_libdir libradosstriper.so.*
-}
-
-librbd() {
- pkgdesc="RADOS block device client library"
- depends=
- _pkg $_libdir librbd.so.*
-}
-
-_py2_rbd() {
- pkgdesc="Python libraries for the RADOS block device"
- depends="py2-rados"
-
- _pkg "$(_py2_sitelib)" rbd.so rbd-*.egg-info
-}
-
-libcephfs() {
- pkgdesc="Ceph distributed file system client library"
- depends=
- _pkg $_libdir libcephfs.so.*
-}
-
-_py2_cephfs() {
- pkgdesc="Python libraries for Ceph distributed file system"
- depends="py2-rados"
-
- _pkg "$(_py2_sitelib)" cephfs.so cephfs-*.egg-info ceph_volume_client.py*
-}
-
-ceph_test() {
- pkgdesc="Ceph benchmarks and test tools"
- depends="ceph-common=$pkgver-r$pkgrel $_ceph_test_deps"
-
- _pkg $_bindir ceph-client-debug \
- ceph_bench_log \
- ceph_kvstorebench \
- ceph_multi_stress_watch \
- ceph_erasure_code \
- ceph_erasure_code_benchmark \
- ceph_omapbench \
- ceph_objectstore_bench \
- ceph_perf_objectstore \
- ceph_perf_local \
- ceph_perf_msgr_client \
- ceph_perf_msgr_server \
- ceph_psim \
- ceph_radosacl \
- ceph_rgw_jsonparser \
- ceph_rgw_multiparser \
- ceph_scratchtool \
- ceph_scratchtoolpp \
- ceph_smalliobench \
- ceph_smalliobenchdumb \
- ceph_smalliobenchfs \
- ceph_smalliobenchrbd \
- ceph_test_* \
- ceph_tpbench \
- ceph_xattr_bench \
- ceph-coverage \
- ceph-monstore-tool \
- ceph-osdomap-tool \
- ceph-kvstore-tool \
- ceph-debugpack
-
- _pkg $_libdir ceph/ceph-monstore-update-crush.sh
-}
-
-bash_completion() {
- pkgdesc="Bash completions for Ceph"
- depends=
- install_if="ceph=$pkgver-r$pkgrel bash-completion"
- _pkg $_sysconfdir/bash_completion.d '*'
-}
-
-mgr() {
- pkgdesc="Ceph Manager Daemon"
- depends="ceph-base=$pkgver-r$pkgrel"
-
- _pkg $_bindir ceph-mgr
- _pkg $_datadir/ceph mgr
-
- install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
- "$subpkgdir"$_localstatedir/lib/ceph/mgr
-}
-
-_pkg() {
- local path=$1
- shift
- if ! [ -d "$pkgdir"/$path ]; then
- error "$pkgdir/$path is not a directory"
- return 1
- fi
- mkdir -p "$subpkgdir"$path
- for _file in "$@"; do
- mv "$pkgdir"$path/$_file "$subpkgdir"$path
- done
-}
-
-sha512sums="902eb4b0b56f864eace3aaf5684b113a05875f7a8d081b45801a73cd883b35b60bcff5f7580727672839e2e68abe1bd0b73e2be4ca44ccde162cd1ce679ab313 ceph_14.1.0.orig.tar.gz
-e1becd813ed3f28e2e4a6bef78b3b5117c1c0bb9cabe0ba9c912e0a20b551b6b2667495cddb94acd64192e287144911ff1c11e0d636fe04cc458146cfb0daca8 allperms.patch
-35722b11ad52a3145153635b6a96abda2a23ae9c7e63e2eac006c1e5b8014452c4a1a11bbe0292fd731e4c43aa38e27dd75d2ff9d25bcf52290278f71e868570 musl-fixes.patch"
diff --git a/testing/ceph/allperms.patch b/testing/ceph/allperms.patch
deleted file mode 100644
index a5ce1c031d..0000000000
--- a/testing/ceph/allperms.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- ceph-11.1.1/src/test/libcephfs/test.cc.orig 2017-01-16 00:17:44.154815630 +0000
-+++ ceph-11.1.1/src/test/libcephfs/test.cc 2017-01-16 00:18:09.642520993 +0000
-@@ -31,6 +31,10 @@
- #include <map>
- #include <vector>
-
-+#ifndef ALLPERMS
-+#define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
-+#endif
-+
- TEST(LibCephFS, OpenEmptyComponent) {
-
- pid_t mypid = getpid();
diff --git a/testing/ceph/ceph-common.pre-install b/testing/ceph/ceph-common.pre-install
deleted file mode 100644
index bae4f09dc7..0000000000
--- a/testing/ceph/ceph-common.pre-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-addgroup ceph -g 167 -S 2>/dev/null
-adduser ceph -u 167 -S -G ceph -s /sbin/nologin -h /var/lib/ceph -g "Ceph Daemons" 2> /dev/null
-exit 0
diff --git a/testing/ceph/musl-fixes.patch b/testing/ceph/musl-fixes.patch
deleted file mode 100644
index 6e50e6ba5b..0000000000
--- a/testing/ceph/musl-fixes.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-diff --git a/src/common/secret.c b/src/common/secret.c
-index b6f26ec3..1b4531f8 100644
---- a/src/common/secret.c
-+++ b/src/common/secret.c
-@@ -63,9 +63,18 @@ int set_kernel_secret(const char *secret, const char *key_name)
-
- ret = ceph_unarmor(payload, payload+sizeof(payload), secret, secret+secret_len);
- if (ret < 0) {
-- char error_buf[80];
-- fprintf(stderr, "secret is not valid base64: %s.\n",
-- strerror_r(-ret, error_buf, sizeof(error_buf)));
-+ char error_buf[80] = "unkown error";
-+ char *p;
-+#if defined(__GLIBC__)
-+ p = strerror_r(-ret, error_buf, sizeof(error_buf));
-+#else
-+ if (strerror_r(-ret, error_buf, sizeof(error_buf)) < 0) {
-+ p = "unkown error";
-+ } else {
-+ p = error_buf;
-+ }
-+#endif
-+ fprintf(stderr, "secret is not valid base64: %s.\n", p);
- return ret;
- }
-
-diff --git a/src/dmclock/src/dmclock_util.cc b/src/dmclock/src/dmclock_util.cc
-index e8046cdc..aa9000bc 100644
---- a/src/dmclock/src/dmclock_util.cc
-+++ b/src/dmclock/src/dmclock_util.cc
-@@ -21,7 +21,7 @@
- #include "dmclock_util.h"
-
-
--std::string crimson::dmclock::format_time(const Time& time, uint modulo) {
-+std::string crimson::dmclock::format_time(const Time& time, unsigned int modulo) {
- long subtract = long(time / modulo) * modulo;
- std::stringstream ss;
- ss << std::fixed << std::setprecision(4) << (time - subtract);
-diff --git a/src/dmclock/src/dmclock_util.h b/src/dmclock/src/dmclock_util.h
-index d3fd3f19..ee8b6c3a 100644
---- a/src/dmclock/src/dmclock_util.h
-+++ b/src/dmclock/src/dmclock_util.h
-@@ -52,7 +52,7 @@ namespace crimson {
- #endif
- }
-
-- std::string format_time(const Time& time, uint modulo = 1000);
-+ std::string format_time(const Time& time, unsigned int modulo = 1000);
-
- void debugger();
-
-diff --git a/src/seastar/dpdk/config/common_base b/src/seastar/dpdk/config/common_base
-index 8907bea3..6d3f7577 100644
---- a/src/seastar/dpdk/config/common_base
-+++ b/src/seastar/dpdk/config/common_base
-@@ -96,7 +96,7 @@ CONFIG_RTE_MAX_TAILQ=32
- CONFIG_RTE_LOG_LEVEL=RTE_LOG_INFO
- CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
- CONFIG_RTE_LOG_HISTORY=256
--CONFIG_RTE_BACKTRACE=y
-+CONFIG_RTE_BACKTRACE=n
- CONFIG_RTE_LIBEAL_USE_HPET=n
- CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n
- CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
-diff --git a/src/spdk/dpdk/config/common_base b/src/spdk/dpdk/config/common_base
-index d5fbb3a4..d9561545 100644
---- a/src/spdk/dpdk/config/common_base
-+++ b/src/spdk/dpdk/config/common_base
-@@ -80,7 +80,7 @@ CONFIG_RTE_MAX_TAILQ=32
- CONFIG_RTE_ENABLE_ASSERT=n
- CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
- CONFIG_RTE_LOG_HISTORY=256
--CONFIG_RTE_BACKTRACE=y
-+CONFIG_RTE_BACKTRACE=n
- CONFIG_RTE_LIBEAL_USE_HPET=n
- CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n
- CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
-diff --git a/src/spdk/dpdk/config/rte_config.h b/src/spdk/dpdk/config/rte_config.h
-index a8e47977..7599bd39 100644
---- a/src/spdk/dpdk/config/rte_config.h
-+++ b/src/spdk/dpdk/config/rte_config.h
-@@ -30,7 +30,7 @@
- #define RTE_MAX_MEMZONE 2560
- #define RTE_MAX_TAILQ 32
- #define RTE_LOG_DP_LEVEL RTE_LOG_INFO
--#define RTE_BACKTRACE 1
-+//#define RTE_BACKTRACE 1
- #define RTE_EAL_VFIO 1
- #define RTE_MAX_VFIO_CONTAINERS 64
-
-diff --git a/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c b/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c
-index a7c14421..aff241e8 100644
---- a/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c
-+++ b/src/spdk/dpdk/drivers/bus/pci/linux/pci_uio.c
-@@ -14,6 +14,32 @@
-
- #if defined(RTE_ARCH_X86)
- #include <sys/io.h>
-+#if defined(__GLIBC__)
-+#define pci_uio_outl_p outl_p
-+#define pci_uio_outw_p outw_p
-+#define pci_uio_outb_p outb_p
-+#else
-+static inline void
-+pci_uio_outl_p(unsigned int value, unsigned short int port)
-+{
-+ __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80" : : "a" (value),
-+ "Nd" (port));
-+}
-+
-+static inline void
-+pci_uio_outw_p(unsigned short int value, unsigned short int port)
-+{
-+ __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80" : : "a" (value),
-+ "Nd" (port));
-+}
-+
-+static inline void
-+pci_uio_outb_p(unsigned char value, unsigned short int port)
-+{
-+ __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80" : : "a" (value),
-+ "Nd" (port));
-+}
-+#endif
- #endif
-
- #include <rte_log.h>
-@@ -527,21 +553,21 @@ pci_uio_ioport_write(struct rte_pci_ioport *p,
- if (len >= 4) {
- size = 4;
- #if defined(RTE_ARCH_X86)
-- outl_p(*(const uint32_t *)s, reg);
-+ pci_uio_outl_p(*(const uint32_t *)s, reg);
- #else
- *(volatile uint32_t *)reg = *(const uint32_t *)s;
- #endif
- } else if (len >= 2) {
- size = 2;
- #if defined(RTE_ARCH_X86)
-- outw_p(*(const uint16_t *)s, reg);
-+ pci_uio_outw_p(*(const uint16_t *)s, reg);
- #else
- *(volatile uint16_t *)reg = *(const uint16_t *)s;
- #endif
- } else {
- size = 1;
- #if defined(RTE_ARCH_X86)
-- outb_p(*s, reg);
-+ pci_uio_outb_p(*s, reg);
- #else
- *(volatile uint8_t *)reg = *s;
- #endif
-diff --git a/src/spdk/dpdk/lib/librte_eal/common/eal_common_fbarray.c b/src/spdk/dpdk/lib/librte_eal/common/eal_common_fbarray.c
-index ba6c4ae3..b9b7d70d 100644
---- a/src/spdk/dpdk/lib/librte_eal/common/eal_common_fbarray.c
-+++ b/src/spdk/dpdk/lib/librte_eal/common/eal_common_fbarray.c
-@@ -9,6 +9,7 @@
- #include <errno.h>
- #include <sys/file.h>
- #include <string.h>
-+#include <fcntl.h>
-
- #include <rte_common.h>
- #include <rte_log.h>
-diff --git a/src/spdk/dpdk/lib/librte_eal/common/malloc_heap.c b/src/spdk/dpdk/lib/librte_eal/common/malloc_heap.c
-index 02a5385d..cf063d5f 100644
---- a/src/spdk/dpdk/lib/librte_eal/common/malloc_heap.c
-+++ b/src/spdk/dpdk/lib/librte_eal/common/malloc_heap.c
-@@ -1,6 +1,7 @@
- /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2010-2014 Intel Corporation
- */
-+ #include<string.h>
- #include <stdint.h>
- #include <stddef.h>
- #include <stdlib.h>
-diff --git a/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c b/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
-index 3a7d4b22..99b25d3c 100644
---- a/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
-+++ b/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_hugepage_info.c
-@@ -17,6 +17,7 @@
- #include <sys/mman.h>
- #include <sys/queue.h>
- #include <sys/stat.h>
-+#include <fcntl.h>
-
- #include <linux/mman.h> /* for hugetlb-related flags */
-
-diff --git a/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c b/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c
-index 0bf2aef3..0c98c74c 100644
---- a/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c
-+++ b/src/spdk/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c
-@@ -15,6 +15,7 @@
- #include <sys/mman.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <fcntl.h>
- #include <sys/queue.h>
- #include <sys/file.h>
- #include <unistd.h>
-diff --git a/src/spdk/dpdk/mk/target/generic/rte.vars.mk b/src/spdk/dpdk/mk/target/generic/rte.vars.mk
-index 98085cd3..dd149acc 100644
---- a/src/spdk/dpdk/mk/target/generic/rte.vars.mk
-+++ b/src/spdk/dpdk/mk/target/generic/rte.vars.mk
-@@ -108,6 +108,9 @@ CFLAGS += -include $(RTE_SDK_BIN)/include/rte_config.h
- LDFLAGS += -L$(RTE_SDK_BIN)/lib
- endif
-
-+# always define _GNU_SOURCE
-+CFLAGS += -D_GNU_SOURCE
-+
- export CFLAGS
- export LDFLAGS
-
-diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc
-index cce44e4f..b0988e64 100644
---- a/src/tools/rbd_nbd/rbd-nbd.cc
-+++ b/src/tools/rbd_nbd/rbd-nbd.cc
-@@ -552,7 +552,8 @@ private:
- for (unsigned i = 0; i < cmdline.size(); i++) {
- const char *arg = &cmdline[i];
- if (i == 0) {
-- if (strcmp(basename(arg) , "rbd-nbd") != 0) {
-+ const char *fname = strrchr(arg, '/');
-+ if (strcmp(fname ? fname+1 : arg, "rbd-nbd") != 0) {
- return -EINVAL;
- }
- } else {