-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DAOS-15596: Update to argobots 1.2 (#26)
Update packaging/. Cease building on CentOS 7. Test with 'pr' tests. Add upstream patch 411e5b3. Remove unused patch 7fd1987. Add upstream patch restoring libunwind support. Add configure option to enable check of configure step. Signed-off-by: Brian J. Murrell <[email protected]> Signed-off-by: Cedric Koch-Hofer <[email protected]> Co-authored-by: Brian J. Murrell <[email protected]> Co-authored-by: Cedric Koch-Hofer <[email protected]>
- Loading branch information
1 parent
7388579
commit adc7a1c
Showing
12 changed files
with
240 additions
and
6,695 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,24 @@ | ||
Name: argobots | ||
|
||
%global major 1 | ||
%global minor 1 | ||
%global minor 2 | ||
#%%global prerelease | ||
%global tag %{major}.%{minor}%{?prerelease} | ||
|
||
Version: %{major}.%{minor}%{?prerelease:~%{prerelease}} | ||
Release: 3%{?dist} | ||
Release: 1%{?dist} | ||
Summary: Lightweight, low-level threading and tasking framework | ||
Group: System Environment/Libraries | ||
License: UChicago Argonne, LLC -- Argobots License | ||
Url: http://www.argobots.org/ | ||
#Source: https://api.github.com/repos/pmodels/$(NAME)/tarball/31703b1 | ||
Source: https://github.com/pmodels/%{name}/releases/download/v%{tag}/%{name}-%{tag}.tar.gz | ||
%if "%{?commit}" != "" | ||
Patch0: %{version}..%{commit}.patch | ||
%endif | ||
# Fix DAOS-14248: ULTs stacks dump works only once | ||
Patch1: https://github.com/pmodels/argobots/commit/411e5b344642ebc82190fd8b125db512e5b449d1.patch | ||
# Restore the libunwind support | ||
Patch2: https://github.com/pmodels/argobots/commit/bb0c908abfac4bfe37852eee621930634183c6aa.patch | ||
|
||
BuildRequires: pkgconfig | ||
|
||
|
@@ -73,7 +79,7 @@ if true || [ ! -f configure ]; then | |
./autogen.sh | ||
fi | ||
# defaults: with-dlopen can be over-rode: | ||
%configure --enable-valgrind --enable-stack-unwind | ||
%configure --enable-valgrind --enable-stack-unwind --enable-option-checking=fatal | ||
make %{?_smp_mflags} V=1 | ||
|
||
%install | ||
|
@@ -109,6 +115,11 @@ rm -f %{buildroot}%{_libdir}/*.{l,}a | |
%doc README | ||
|
||
%changelog | ||
* Wed Oct 02 2024 Cedric Koch-Hofer <[email protected]> - 1.2-1 | ||
- Update to 1.2 | ||
- Add patch 411e5b3 Fix DAOS-14248: ULTs stacks dump works only once | ||
- Add patch bb0c908 Restore the libunwind support | ||
|
||
* Tue Jun 06 2023 Brian J. Murrell <[email protected]> - 1.1-3 | ||
- Update to build on EL9 | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,11 @@ | ||
argobots (1.2-1) unstable; urgency=medium | ||
[ Cedric Koch-Hofer] | ||
* Update to 1.2 | ||
* Add patch 411e5b3 Fix DAOS-14248: ULTs stacks dump works only once | ||
* Add patch bb0c908 Restore the libunwind support | ||
|
||
-- Cedric Koch-Hofer <[email protected]> Wed, 02 Oct 2024 16:08:44 -0500 | ||
|
||
argobots (1.1-2) unstable; urgency=medium | ||
[ Brian J. Murrell ] | ||
* NOOP change to keep parity with RPM versioning | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,19 +5,41 @@ | |
# | ||
|
||
# Pull base image | ||
FROM centos:7 | ||
FROM centos:centos7 | ||
LABEL maintainer="[email protected]" | ||
|
||
# Use local repo server if present | ||
ARG REPO_FILE_URL | ||
RUN set -e; \ | ||
if [ -n "$REPO_FILE_URL" ]; then \ | ||
cd /etc/yum.repos.d/ && \ | ||
curl -k -f -o daos_ci-centos7-artifactory.repo.tmp \ | ||
"$REPO_FILE_URL"daos_ci-centos7-artifactory.repo && \ | ||
for file in *.repo; do \ | ||
true > $file; \ | ||
done; \ | ||
mv daos_ci-centos7-artifactory.repo{.tmp,}; \ | ||
fi; \ | ||
yum -y install dnf; \ | ||
yum clean all; \ | ||
dnf --disablerepo \*epel\* -y install epel-release \ | ||
dnf-plugins-core; \ | ||
if [ -n "$REPO_FILE_URL" ]; then \ | ||
dnf -y --quiet config-manager --disable epel; \ | ||
fi; \ | ||
dnf -y update epel-release; \ | ||
dnf -y clean all | ||
|
||
# use same UID as host and default value of 1000 if not specified | ||
ARG UID=1000 | ||
|
||
# Update distribution | ||
#Nothing to do for CentOS | ||
|
||
# Install basic tools | ||
RUN yum install -y epel-release | ||
RUN yum install -y mock make rpm-build curl createrepo rpmlint redhat-lsb-core \ | ||
git python-srpm-macros dnf | ||
RUN dnf install -y epel-release | ||
RUN dnf install -y mock make rpm-build curl createrepo rpmlint redhat-lsb-core \ | ||
git python-srpm-macros dnf && dnf -y clean all | ||
|
||
# Add build user (to keep rpmbuild happy) | ||
ENV USER build | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,11 @@ | ||
# | ||
# Copyright 2018-2023 Intel Corporation | ||
# Copyright 2018-2024 Intel Corporation | ||
# | ||
# 'recipe' for Docker to build an RPM | ||
# | ||
|
||
# Pull base image | ||
ARG FVERSION=38 | ||
ARG FVERSION=latest | ||
FROM fedora:$FVERSION | ||
# Needed for later use of FVERSION | ||
ARG FVERSION | ||
|
@@ -15,27 +15,32 @@ LABEL maintainer="[email protected]" | |
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 \ | ||
curl -k -f -o daos_ci-fedora-artifactory.repo.tmp \ | ||
"$REPO_FILE_URL"daos_ci-fedora-artifactory.repo && \ | ||
rm -f *.repo && \ | ||
for file in *.repo; do \ | ||
true > $file; \ | ||
done; \ | ||
mv daos_ci-fedora-artifactory.repo{.tmp,}; \ | ||
fi | ||
|
||
# Install basic tools | ||
RUN dnf -y install mock make \ | ||
rpm-build createrepo rpmlint redhat-lsb-core git \ | ||
python-srpm-macros rpmdevtools | ||
python-srpm-macros rpmdevtools && \ | ||
dnf -y clean all | ||
|
||
# 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 | ||
ENV PASSWD build | ||
RUN useradd -u $UID -ms /bin/bash $USER | ||
RUN echo "$USER:$PASSWD" | chpasswd | ||
# add the user to the mock group so it can run mock | ||
RUN usermod -a -G mock $USER | ||
RUN if [ $UID != 0 ]; then \ | ||
useradd -u $UID -ms /bin/bash $USER; \ | ||
echo "$USER:$PASSWD" | chpasswd; \ | ||
usermod -a -G mock $USER; \ | ||
fi | ||
|
||
ARG CB0 | ||
RUN dnf -y upgrade && \ | ||
|
@@ -45,15 +50,24 @@ RUN dnf -y upgrade && \ | |
# https://github.com/rpm-software-management/rpmlint/pull/795 in it | ||
# But make sure to patch after dnf upgrade so that an upgraded rpmlint | ||
# RPM doesn't wipe out our patch | ||
COPY packaging/rpmlint--ignore-unused-rpmlintrc.patch . | ||
# Ditto for the patch to zero and display ccache stats | ||
# https://github.com/rpm-software-management/mock/pull/1299 | ||
ARG PACKAGINGDIR=packaging | ||
COPY ${PACKAGINGDIR}/*.patch ./ | ||
RUN (cd $(python3 -c 'import site; print(site.getsitepackages()[-1])') && \ | ||
if ! grep -e --ignore-unused-rpmlintrc rpmlint/cli.py; then \ | ||
if ! patch -p1; then \ | ||
if ! patch -p1 < $OLDPWD/rpmlint--ignore-unused-rpmlintrc.patch; then \ | ||
exit 1; \ | ||
fi; \ | ||
rm -f rpmlint/__pycache__/{cli,lint}.*.pyc; \ | ||
fi) < rpmlint--ignore-unused-rpmlintrc.patch; \ | ||
rm -f rpmlint--ignore-unused-rpmlintrc.patch | ||
fi; \ | ||
if ! grep _ccachePostBuildHook mockbuild/plugins/ccache.py; then \ | ||
if ! patch -p3 < $OLDPWD/ccache-stats.patch; then \ | ||
exit 1; \ | ||
fi; \ | ||
rm -f mockbuild/plugins/__pycache__/ccache.*.pyc; \ | ||
fi); \ | ||
rm -f rpmlint--ignore-unused-rpmlintrc.patch ccache-stats.patch | ||
|
||
# show the release that was built | ||
ARG CACHEBUST | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
From e87d916d7f49ea4949973adf0f09e9e5bf891e03 Mon Sep 17 00:00:00 2001 | ||
From: "Brian J. Murrell" <[email protected]> | ||
Date: Tue, 30 Jan 2024 11:03:12 -0500 | ||
Subject: [PATCH 1/2] Show ccache stats at the end of the build | ||
|
||
Zero the ccache stats at the beginning of the build and then display the | ||
ccache stats at the end of the build to see how effective ccache was. | ||
|
||
Signed-off-by: Brian J. Murrell <[email protected]> | ||
--- | ||
mock/py/mockbuild/plugins/ccache.py | 11 +++++++++++ | ||
1 file changed, 11 insertions(+) | ||
|
||
diff --git a/mock/py/mockbuild/plugins/ccache.py b/mock/py/mockbuild/plugins/ccache.py | ||
index 2666ad9fc..1080ffe68 100644 | ||
--- a/mock/py/mockbuild/plugins/ccache.py | ||
+++ b/mock/py/mockbuild/plugins/ccache.py | ||
@@ -35,6 +35,7 @@ def __init__(self, plugins, conf, buildroot): | ||
buildroot.preexisting_deps.append("ccache") | ||
plugins.add_hook("prebuild", self._ccacheBuildHook) | ||
plugins.add_hook("preinit", self._ccachePreInitHook) | ||
+ plugins.add_hook("postbuild", self._ccachePostBuildHook) | ||
buildroot.mounts.add( | ||
BindMountPoint(srcpath=self.ccachePath, bindpath=buildroot.make_chroot_path("/var/tmp/ccache"))) | ||
|
||
@@ -47,6 +48,9 @@ def __init__(self, plugins, conf, buildroot): | ||
@traceLog() | ||
def _ccacheBuildHook(self): | ||
self.buildroot.doChroot(["ccache", "-M", str(self.ccache_opts['max_cache_size'])], shell=False) | ||
+ # zero ccache stats | ||
+ getLog().info("Zero ccache stats:") | ||
+ self.buildroot.doChroot(["ccache", "--zero-stats"], printOutput=True, shell=False) | ||
|
||
# set up the ccache dir. | ||
# we also set a few variables used by ccache to find the shared cache. | ||
@@ -61,3 +65,10 @@ def _ccachePreInitHook(self): | ||
file_util.mkdirIfAbsent(self.buildroot.make_chroot_path('/var/tmp/ccache')) | ||
file_util.mkdirIfAbsent(self.ccachePath) | ||
self.buildroot.uid_manager.changeOwner(self.ccachePath, recursive=True) | ||
+ | ||
+ # get some cache stats | ||
+ def _ccachePostBuildHook(self): | ||
+ # show the cache hit stats | ||
+ getLog().info("ccache stats:") | ||
+ self.buildroot.doChroot(["ccache", "--show-stats"], printOutput=True, shell=False) | ||
++ | ||
|
||
From bfd3a7e1bb47d28ee60a94cb5985c1f66476475f Mon Sep 17 00:00:00 2001 | ||
From: "Brian J. Murrell" <[email protected]> | ||
Date: Tue, 30 Jan 2024 11:17:48 -0500 | ||
Subject: [PATCH 2/2] Remove extraneous line | ||
|
||
Signed-off-by: Brian J. Murrell <[email protected]> | ||
--- | ||
mock/py/mockbuild/plugins/ccache.py | 1 - | ||
1 file changed, 1 deletion(-) | ||
|
||
diff --git a/mock/py/mockbuild/plugins/ccache.py b/mock/py/mockbuild/plugins/ccache.py | ||
index 1080ffe68..1a20846d3 100644 | ||
--- a/mock/py/mockbuild/plugins/ccache.py | ||
+++ b/mock/py/mockbuild/plugins/ccache.py | ||
@@ -71,4 +71,3 @@ def _ccachePostBuildHook(self): | ||
# show the cache hit stats | ||
getLog().info("ccache stats:") | ||
self.buildroot.doChroot(["ccache", "--show-stats"], printOutput=True, shell=False) | ||
-+ |
Oops, something went wrong.