Skip to content
This repository was archived by the owner on Sep 2, 2024. It is now read-only.

Commit

Permalink
DAOS-623 vol-daos: update vol packaging to use v1.1.0 (#36)
Browse files Browse the repository at this point in the history
Add required patch larger oclass names
- remove unused patch file
- remove old patch that had already been merged in release
- add new patch that is required for larger oclass names
- fix include dir path

Signed-off-by: Mohamad Chaarawi <[email protected]>
  • Loading branch information
mchaarawi authored Sep 8, 2022
1 parent 7fe78e9 commit 80843c8
Show file tree
Hide file tree
Showing 12 changed files with 271 additions and 1,355 deletions.
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Have Release Engineering added as a reviewer to any packaging PR
* @daos-stack/build-and-release-watchers
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@
// I.e. for testing library changes
//@Library(value="pipeline-lib@your_branch") _

packageBuildingPipeline(['distros' : ['centos7', 'centos8', 'leap15']])
packageBuildingPipelineDAOSTest(['distros' : ['el8', 'leap15'], 'test-tag': 'vol'])
1,221 changes: 0 additions & 1,221 deletions a250f01c40d2f845b01ea50531227f35a44a4af3.patch

This file was deleted.

4 changes: 4 additions & 0 deletions hdf5-vol-daos.rpmlintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This line is mandatory to access the configuration functions
from Config import *

addFilter('no-binary')
35 changes: 24 additions & 11 deletions hdf5-vol-daos.spec
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
%global vol_major 1
%global vol_minor 1
%global vol_bugrelease 0
%global vol_prerelease rc4
#%%global vol_prerelease rc4
%global vol_tag %{vol_major}.%{vol_minor}.%{vol_bugrelease}%{?vol_prerelease:%{vol_prerelease}}

%if %{with_mpich}
Expand All @@ -38,10 +38,14 @@

%if (0%{?suse_version} >= 1500)
%global mpi_libdir %{_libdir}/mpi/gcc
%global mpi_incldir %{_includedir}/mpi/gcc
%global mpi_lib_ext lib64
%global mpi_includedir %{_libdir}/mpi/gcc
%global mpi_include_ext /include
%else
%global mpi_libdir %{_libdir}
%global mpi_incldir %{_includedir}
%global mpi_lib_ext lib
%global mpi_includedir %{_includedir}
%global mpi_include_ext -%{_arch}
%endif

Name: hdf5-vol-daos
Expand All @@ -53,7 +57,7 @@ License: GPL
URL: https://portal.hdfgroup.org/display/HDF5/HDF5
Source0: https://github.com/HDFGroup/vol-daos/archive/v%{vol_tag}.tar.gz
Source1: https://github.com/HDFGroup/vol-tests/archive/v%{vol_test_tag}.tar.gz
Patch0: https://github.com/HDFGroup/vol-daos/commit/03a5599f542c5599fc70d009233a4e1739f23a6f.patch
Patch0: https://github.com/HDFGroup/vol-daos/commit/3574df56fed78ee70172f17a528fae7d90051d58.patch

BuildRequires: daos-devel%{?_isa}
# Temporarily needed until daos-devel R: libuuid-devel
Expand All @@ -69,7 +73,6 @@ BuildRequires: cmake3 >= 3.1
BuildRequires: Lmod
%endif
BuildRequires: hdf5-devel%{?_isa}
BuildRequires: libuuid-devel

%description
HDF5 VOL DAOS connector is used to leverage the
Expand All @@ -80,7 +83,8 @@ storage related calls into native daos storage operations
%if %{with_openmpi}
%package openmpi
Summary: HDF5 VOL DAOS with OpenMPI 3
BuildRequires: hdf5-openmpi-devel%{?_isa} >= 1.12.1
BuildRequires: hdf5-openmpi-devel%{?_isa} >= 1.13.1
BuildRequires: hdf5-openmpi-static%{?_isa}
Provides: %{name}-openmpi = %{version}-%{release}

%description openmpi
Expand All @@ -89,6 +93,7 @@ HDF5 VOL DAOS with OpenMPI 3
%package openmpi-devel
Summary: HDF5 VOL DAOS devel with OpenMPI 3
Requires: hdf5-openmpi-devel%{?_isa}
BuildRequires: hdf5-openmpi-static%{?_isa}
Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
Provides: %{name}-openmpi-devel = %{version}-%{release}

Expand All @@ -106,15 +111,17 @@ HDF5 VOL DAOS tests with openmpi
%if %{with_openmpi3}
%package openmpi3
Summary: HDF5 VOL DAOS with OpenMPI 3
BuildRequires: hdf5-openmpi3-devel%{?_isa} >= 1.12.1
BuildRequires: hdf5-openmpi3-devel%{?_isa} >= 1.13.1
BuildRequires: hdf5-openmpi3-static%{?_isa}
Provides: %{name}-openmpi3 = %{version}-%{release}

%description openmpi3
HDF5 VOL DAOS with OpenMPI 3

%package openmpi3-devel
Summary: HDF5 VOL DAOS devel with OpenMPI 3
Requires: hdf5-openmpi3-devel%{?_isa} >= 1.12.1
Requires: hdf5-openmpi3-devel%{?_isa} >= 1.13.1
BuildRequires: hdf5-openmpi3-static%{?_isa}
Requires: %{name}-openmpi3%{?_isa} = %{version}-%{release}
Provides: %{name}-openmpi3-devel = %{version}-%{release}

Expand All @@ -132,7 +139,8 @@ HDF5 VOL DAOS tests with openmpi3
%if %{with_mpich}
%package mpich
Summary: HDF5 VOL DAOS with MPICH
BuildRequires: hdf5-mpich-devel%{?_isa} >= 1.12.1
BuildRequires: hdf5-mpich-devel%{?_isa} >= 1.13.1
BuildRequires: hdf5-mpich-static%{?_isa}
Provides: %{name}-mpich2 = %{version}-%{release}

%description mpich
Expand All @@ -141,6 +149,7 @@ HDF5 VOL DAOS with MPICH
%package mpich-devel
Summary: HDF5 VOL DAOS devel with MPICH
Requires: hdf5-mpich-devel%{?_isa}
BuildRequires: hdf5-mpich-static%{?_isa}
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
Provides: %{name}-mpich2-devel = %{version}-%{release}

Expand All @@ -165,7 +174,7 @@ HDF5 VOL DAOS tests with mpich
%prep
%setup -n vol-daos-%{vol_tag}
%setup -T -D -b 1 -n vol-daos-%{vol_tag}
%patch0 -p1 -b .03a5599f542c5599fc70d009233a4e1739f23a6f.patch
%patch0 -p1 -b .3574df56fed78ee70172f17a528fae7d90051d58.patch

cd ../vol-tests-%{vol_test_tag}/
cd ../vol-daos-%{vol_tag}
Expand All @@ -181,8 +190,8 @@ for mpi in %{?mpi_list}; do
-DHDF5_VOL_TEST_ENABLE_PART=ON \
-DHDF5_VOL_TEST_ENABLE_PARALLEL=ON \
-DHDF5_VOL_TEST_ENABLE_ASYNC=ON \
-DHDF5_VOL_DAOS_USE_SYSTEM_HDF5=OFF \
-DMPI_C_COMPILER=%{mpi_libdir}/$mpi/bin/mpicc \
-DHDF5_C_COMPILER_EXECUTABLE=/%{mpi_libdir}/$mpi/bin/h5pcc \
-DCMAKE_SKIP_RPATH:BOOL=ON \
..
%{make_build}
Expand Down Expand Up @@ -265,6 +274,10 @@ done
%endif

%changelog
* Tue Sep 6 2022 Mohamad Chaarawi <[email protected]> 1.1.0-1
- Update vol to release 1.1.0 + 3574df5
- Fix path to include dir

* Fri Jan 7 2022 Mohamad Chaarawi <[email protected]> 1.1.0~rc4-1
- Update to rc4 + change for oid types

Expand Down
4 changes: 2 additions & 2 deletions packaging/Dockerfile.centos.7
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#
# Copyright 2018-2021, Intel Corporation
# Copyright 2018-2022, Intel Corporation
#
# 'recipe' for Docker to build an RPM
#

# Pull base image
FROM centos:7
MAINTAINER daos-stack <daos@daos.groups.io>
LABEL maintainer="[email protected]"

# use same UID as host and default value of 1000 if not specified
ARG UID=1000
Expand Down
40 changes: 27 additions & 13 deletions packaging/Dockerfile.mockbuild
Original file line number Diff line number Diff line change
@@ -1,20 +1,30 @@
#
# Copyright 2018-2022, Intel Corporation
# Copyright 2018-2022 Intel Corporation
#
# 'recipe' for Docker to build an RPM
#

# Pull base image
FROM fedora:35
LABEL maintainer="[email protected]>"
FROM fedora:latest
LABEL maintainer="[email protected]"

# use same UID as host and default value of 1000 if not specified
ARG UID=1000
# Use local repo server if present
ARG REPO_FILE_URL
RUN if [ -n "$REPO_FILE_URL" ]; then \
cd /etc/yum.repos.d/ && \
curl -f -o daos_ci-fedora-artifactory.repo.tmp \
"$REPO_FILE_URL"daos_ci-fedora-artifactory.repo && \
rm -f *.repo && \
mv daos_ci-fedora-artifactory.repo{.tmp,}; \
fi

# Install basic tools
RUN dnf -y install mock make \
rpm-build curl createrepo rpmlint redhat-lsb-core git \
python-srpm-macros rpmdevtools mock-core-configs\ \<\ 37.1
RUN dnf -y install mock make \
rpm-build createrepo rpmlint redhat-lsb-core git \
python-srpm-macros rpmdevtools

# use same UID as host and default value of 1000 if not specified
ARG UID=1000

# Add build user (to keep rpmbuild happy)
ENV USER build
Expand All @@ -24,10 +34,14 @@ RUN echo "$USER:$PASSWD" | chpasswd
# add the user to the mock group so it can run mock
RUN usermod -a -G mock $USER

# mock in Docker needs to use the old-chroot option
RUN grep use_nspawn /etc/mock/site-defaults.cfg || \
echo "config_opts['use_nspawn'] = False" >> /etc/mock/site-defaults.cfg

ARG CACHEBUST
RUN dnf -y upgrade --exclude mock-core-configs && \
RUN dnf -y upgrade && \
dnf clean all

# Monkey-patch rpmlint until a new release is made with
# https://github.com/rpm-software-management/rpmlint/pull/795 in it
COPY packaging/rpmlint--ignore-unused-rpmlintrc.patch .
RUN (cd $(python3 -c 'import site; print(site.getsitepackages()[-1])') && \
patch -p1 && \
rm -f rpmlint/__pycache__/{cli,lint}.*.pyc) < rpmlint--ignore-unused-rpmlintrc.patch && \
rm -f rpmlint--ignore-unused-rpmlintrc.patch
2 changes: 1 addition & 1 deletion packaging/Dockerfile.ubuntu.20.04
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
autoconf bash ca-certificates curl debhelper dh-make \
dpkg-dev dh-python doxygen gcc git git-buildpackage locales \
make patch pbuilder pkg-config python3-dev python3-distro \
python3-distutils rpm scons wget
python3-distutils rpm scons wget cmake valgrind

# rpmdevtools
RUN echo "deb [trusted=yes] ${REPO_URL}${REPO_UBUNTU_20_04} focal main" > /etc/apt/sources.list.d/daos-stack-ubuntu-stable-local.list
Expand Down
33 changes: 24 additions & 9 deletions packaging/Makefile_distro_vars.mk
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ SPECTOOL := spectool
# DISTRO_ID (i.e. el7)
# DISTRO_BASE (i.e. EL_7)
# from the CHROOT_NAME
ifeq ($(CHROOT_NAME),epel-7-x86_64)
ifeq ($(patsubst %epel-7-x86_64,,$(lastword $(subst +, ,$(CHROOT_NAME)))),)
DIST := $(shell rpm $(COMMON_RPM_ARGS) --eval %{?dist})
VERSION_ID := 7
DISTRO_ID := el7
Expand All @@ -35,14 +35,17 @@ DISTRO_VERSION ?= $(VERSION_ID)
ORIG_TARGET_VER := 7
SED_EXPR := 1s/$(DIST)//p
endif
ifeq ($(CHROOT_NAME),epel-8-x86_64)
DIST := $(shell rpm $(COMMON_RPM_ARGS) --eval %{?dist})
VERSION_ID := 8
DISTRO_ID := el8
DISTRO_BASE := EL_8
DISTRO_VERSION ?= $(VERSION_ID)
ORIG_TARGET_VER := 8
SED_EXPR := 1s/$(DIST)//p
ifeq ($(patsubst %epel-8-x86_64,,$(lastword $(subst +, ,$(CHROOT_NAME)))),)
DIST := $(shell rpm $(COMMON_RPM_ARGS) --eval %{?dist})
VERSION_ID := 8.5
DISTRO_ID := el8
DISTRO_BASE := EL_8
ifneq ($(DISTRO_VERSION_EL8),)
override DISTRO_VERSION := $(DISTRO_VERSION_EL8)
endif
DISTRO_VERSION ?= $(VERSION_ID)
ORIG_TARGET_VER := 8.5
SED_EXPR := 1s/$(DIST)//p
endif
ifeq ($(CHROOT_NAME),opensuse-leap-15.2-x86_64)
VERSION_ID := 15.2
Expand All @@ -62,6 +65,18 @@ SED_EXPR := 1p
endif
endif
ifeq ($(ID),centos)
ID = el
endif
ifeq ($(ID),rocky)
ID = el
endif
ifeq ($(ID),almalinux)
ID = el
endif
ifeq ($(ID),rhel)
ID = el
endif
ifeq ($(ID),el)
DISTRO_ID := el$(VERSION_ID)
DISTRO_BASE := $(basename EL_$(VERSION_ID))
DIST := $(shell rpm $(COMMON_RPM_ARGS) --eval %{?dist})
Expand Down
Loading

0 comments on commit 80843c8

Please sign in to comment.