diff --git a/utils/docker/images/Dockerfile.fedora-25 b/utils/docker/images/Dockerfile.fedora-25 index 41573b17b7ffbba49c7d25fe163bc7185c34310a..71a57cc1183bac7930eb22a076dcf0839df653ec 100644 --- a/utils/docker/images/Dockerfile.fedora-25 +++ b/utils/docker/images/Dockerfile.fedora-25 @@ -43,11 +43,12 @@ RUN dnf install -y git gcc clang openssh-server autoconf automake make \ wget tar lbzip2 passwd sudo pkgconfig findutils man libunwind-devel \ file rpm-build rpm-build-libs which fuse fuse-devel ncurses-devel \ libuv-devel glib2-devel libtool pandoc doxygen cmake gdb asciidoc \ - kmod-devel xmlto libudev-devel libuuid-devel json-c-devel bc + kmod-devel xmlto libudev-devel libuuid-devel json-c-devel bc \ + rpmdevtools # Install libndctl COPY install-libndctl.sh install-libndctl.sh -RUN ./install-libndctl.sh +RUN ./install-libndctl.sh fedora # Install valgrind COPY install-valgrind.sh install-valgrind.sh @@ -55,7 +56,7 @@ RUN ./install-valgrind.sh # Install libfabric COPY install-libfabric.sh install-libfabric.sh -RUN ./install-libfabric.sh +RUN ./install-libfabric.sh fedora # Install libcxx COPY install-libcxx.sh install-libcxx.sh diff --git a/utils/docker/images/install-libfabric.sh b/utils/docker/images/install-libfabric.sh index cd8694f6e3fcf7afea99c726023c3267fb1d73bc..39c441a201f237a1ebef74816618069beffb4016 100755 --- a/utils/docker/images/install-libfabric.sh +++ b/utils/docker/images/install-libfabric.sh @@ -36,6 +36,8 @@ set -e +OS=$1 + # Keep in sync with requirements in src/common.inc. libfabric_ver=1.6.0rc2 libfabric_url=https://github.com/ofiwg/libfabric/archive diff --git a/utils/docker/images/install-libndctl.sh b/utils/docker/images/install-libndctl.sh index 857df122e4940d059ac9d58c4572b818407f3b69..84385ec8a54c4768867a34e6bace7676f77f475b 100755 --- a/utils/docker/images/install-libndctl.sh +++ b/utils/docker/images/install-libndctl.sh @@ -36,12 +36,57 @@ set -e +OS=$1 + +echo "==== clone ndctl repo ====" git clone https://github.com/pmem/ndctl.git cd ndctl git checkout tags/v59.2 + +if [ "$OS" = "fedora" ]; then + +echo "==== setup rpmbuild tree ====" +rpmdev-setuptree + +RPMDIR=$HOME/rpmbuild/ +VERSION=$(./git-version) +SPEC=./rhel/ndctl.spec + +echo "==== create source tarball =====" +git archive --format=tar --prefix="ndctl-${VERSION}/" HEAD | gzip > "$RPMDIR/SOURCES/ndctl-${VERSION}.tar.gz" + +echo "==== build ndctl ====" ./autogen.sh ./configure make + +echo "==== update ndctl.spec ====" +# XXX: pre-process ndctl.spec to remove dependency on libpmem +# To be removed once ndctl v60 is available. +sed -i -e "/pkgconfig(libpmem)/d" -e "s/--with-libpmem//g" $SPEC + +echo "==== build ndctl packages ====" +rpmbuild -ba $SPEC + +echo "==== install ndctl packages ====" +rpm -i $RPMDIR/RPMS/x86_64/*.rpm + +echo "==== cleanup ====" +rm -rf $RPMDIR + +else + +echo "==== build ndctl ====" +./autogen.sh +./configure +make + +echo "==== install ndctl ====" make install + +echo "==== cleanup ====" + +fi + cd .. rm -rf ndctl