Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
daos (2.7.101-17) unstable; urgency=medium
[ Cedric Koch-Hofer]
* Add support of the libasan to the mercury dependencies

-- Cedric Koch-Hofer <cedric.koch-hofer@hpe.com> Mon, 27 Oct 2025 14:12:00 +0100

daos (2.7.101-16) unstable; urgency=medium
[ Jeff Olivier]
* Make daos-spdk conflict with spdk

-- Jeff Olivier <jeffolivier@google.com> Mon, 19 May 2025 14:12:00 -0700
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The whole debian folder is no longer used since we produce .deb files using fpm. We shoudl just remove the folder rather than updating this file

Copy link
Contributor Author

@knard38 knard38 Oct 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Remove Debian packaging update

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Remove Debian packaging update

Fixed with commit 8eb204a


daos (2.7.101-15) unstable; urgency=medium
[ Jeff Olivier]
* Fix leap package name

-- Jeff Olivier <jeffolivier@google.com> Fri, 12 Sep 2025 14:12:00 -0700

daos (2.7.101-14) unstable; urgency=medium
[ Jeff Olivier]
* Fix pmdk package for leap
* Fix daos-spdk package

-- Jeff Olivier <jeffolivier@google.com> Thu, 11 Sep 2025 14:12:00 -0700

daos (2.7.101-13) unstable; urgency=medium
[ Jeff Olivier]
* Switch to fpm build for RPMs

-- Jeff Olivier <jeffolivier@google.com> Mon, 11 Aug 2025 14:12:00 -0700

daos (2.7.101-12) unstable; urgency=medium
[ Tomasz Gromadzki ]
* pmemobj errors and warnings reported via DAOS logging system
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c5161c1..e4e7971 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -170,6 +170,12 @@ else()
set(MERCURY_LIBTYPE STATIC)
endif()

+#------------------------------------------------------------------------------
+# Set debug lib name as release.
+#------------------------------------------------------------------------------
+option(MERCURY_LIB_DEBUG_NAME_IS_RELEASE "Set debug library name as release." OFF)
+mark_as_advanced(MERCURY_LIB_DEBUG_NAME_IS_RELEASE)
+
#------------------------------------------------------------------------------
# Enable debug output.
#------------------------------------------------------------------------------
@@ -237,16 +243,29 @@ function(mercury_set_lib_options libtarget libname libtype var_prefix)
endif()
endif()

- set_target_properties(${libtarget}
- PROPERTIES
- OUTPUT_NAME_DEBUG ${LIB_DEBUG_NAME}
- OUTPUT_NAME_RELEASE ${LIB_RELEASE_NAME}
- OUTPUT_NAME_MINSIZEREL ${LIB_RELEASE_NAME}
- OUTPUT_NAME_RELWITHDEBINFO ${LIB_RELEASE_NAME}
- OUTPUT_NAME_ASAN ${LIB_DEBUG_NAME}
- OUTPUT_NAME_TSAN ${LIB_DEBUG_NAME}
- OUTPUT_NAME_UBSAN ${LIB_DEBUG_NAME}
- )
+ if(NOT MERCURY_LIB_DEBUG_NAME_IS_RELEASE)
+ set_target_properties(${libtarget}
+ PROPERTIES
+ OUTPUT_NAME_DEBUG ${LIB_DEBUG_NAME}
+ OUTPUT_NAME_RELEASE ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_MINSIZEREL ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_RELWITHDEBINFO ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_ASAN ${LIB_DEBUG_NAME}
+ OUTPUT_NAME_TSAN ${LIB_DEBUG_NAME}
+ OUTPUT_NAME_UBSAN ${LIB_DEBUG_NAME}
+ )
+ else()
+ set_target_properties(${libtarget}
+ PROPERTIES
+ OUTPUT_NAME_DEBUG ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_RELEASE ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_MINSIZEREL ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_RELWITHDEBINFO ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_ASAN ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_TSAN ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_UBSAN ${LIB_RELEASE_NAME}
+ )
+ endif()
if(${libtype} MATCHES "SHARED")
set_target_properties(${libtarget}
PROPERTIES
3 changes: 2 additions & 1 deletion docs/dev/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,12 @@ such as maximum function stack size, may lead to unexpected behavior in the inst
binaries.

#### Customizing ASan Behavior

ASan behavior can be configured using the `ASAN_OPTIONS` environment variable. For example, you can
add the following entry to the `env_vars` section of the `daos_server.yml` configuration file:
```yaml
engines:
- ..
- ...
env_vars:
...
- ASAN_OPTIONS=atexit=1:print_stats=1:log_path=/tmp/daos_engine0.asan:disable_coredump=1:handle_segv=2:handle_abort=2:handle_sigfpe=2:handle_sigill=2:handle_sigbus=2:use_sigaltstack=1
Expand Down
16 changes: 15 additions & 1 deletion site_scons/components/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,6 @@ def define_mercury(reqs):

mercury_build = ['cmake',
'-DBUILD_SHARED_LIBS:BOOL=ON',
'-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo',
'-DCMAKE_CXX_FLAGS:STRING="-std=c++11"',
'-DCMAKE_INSTALL_PREFIX:PATH=$MERCURY_PREFIX',
'-DMERCURY_INSTALL_LIB_DIR:PATH=$MERCURY_PREFIX/lib64',
Expand All @@ -208,6 +207,21 @@ def define_mercury(reqs):
'-DNA_USE_UCX:BOOL=ON',
'../mercury']

build_type = "RelWithDebInfo"
try:
sanitizers = reqs.get_env('SANITIZERS').split(',')
if 'address' in sanitizers:
build_type = "Asan"
elif 'thread' in sanitizers:
build_type = "Tsan"
elif 'undefined' in sanitizers:
build_type = "Ubsan"
except KeyError:
pass
mercury_build.append(f'-DCMAKE_BUILD_TYPE:STRING={build_type}')
if build_type != "RelWithDebInfo":
mercury_build.append('-DMERCURY_LIB_DEBUG_NAME_IS_RELEASE:BOOL=ON')

if reqs.target_type == 'debug':
mercury_build.append('-DMERCURY_ENABLE_DEBUG:BOOL=ON')
else:
Expand Down
2 changes: 1 addition & 1 deletion site_scons/prereq_tools/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,7 @@ def __init__(self, env, opts):
['gcc', 'covc', 'clang', 'icc'], ignorecase=2))
opts.Add(EnumVariable('WARNING_LEVEL', "Set default warning level", 'error',
['warning', 'warn', 'error'], ignorecase=2))
opts.Add(('SANITIZERS', 'Instrument C code with google sanitizers', None))
opts.Add(('SANITIZERS', 'Instrument C code with Google Sanitizers', None))

opts.Update(self.__env)

Expand Down
2 changes: 1 addition & 1 deletion utils/build.config
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ ucx=https://github.com/openucx/ucx.git

[patch_versions]
spdk=0001_b0aba3fcd5aceceea530a702922153bc75664978.diff,0002_445a4c808badbad3942696ecf16fa60e8129a747.diff
mercury=0001_na_ucx.patch,0002_na_ucx_ep_flush.patch,0003_combined_plugin_path.patch
mercury=0001_na_ucx.patch,0002_na_ucx_ep_flush.patch,0003_combined_plugin_path.patch,0004-CMake-add-MERCURY_LIB_DEBUG_NAME_IS_RELEASE-option.patch
argobots=0001_411e5b344642ebc82190fd8b125db512e5b449d1.diff,0002_bb0c908abfac4bfe37852eee621930634183c6aa.diff
7 changes: 5 additions & 2 deletions utils/rpms/daos.spec
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

Name: daos
Version: 2.7.101
Release: 16%{?relval}%{?dist}
Release: 17%{?relval}%{?dist}
Summary: DAOS Storage Engine
Copy link
Collaborator

@soumagne soumagne Oct 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jolivier23 it does not make sense to me, why would someone need to update the daos.spec file in this case? we're not changing the min required version of mercury etc.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the daos changelog is now the only documentation we have that something changed. I'm open to other options though. Or maybe the gitlog on utils/rpms/package_info.sh is enough?

Copy link
Contributor Author

@knard38 knard38 Oct 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Remove daos.spec update

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Remove daos.spec update

Fixed with commit 8eb204a

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jolivier23 is there not a way to include a changelog with fpm ? imo we want the changelog to be in the mercury rpm itself, not the DAOS one.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see in the doc they have
--rpm-changelog FILEPATH

    Add changelog from FILEPATH contents

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ignore my last comment, looks like I can't read past 2 comments :D I see your comment now in #17063

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the Mercury change log update, I will wait for #17063 to be merged.
Is that OK for you @soumagne and @jolivier23 ?

Copy link
Contributor Author

@knard38 knard38 Nov 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the Mercury change log update, I will wait for #17063 to be merged. Is that OK for you @soumagne and @jolivier23 ?

  • Restore Mercury changelog

Copy link
Contributor Author

@knard38 knard38 Nov 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the Mercury change log update, I will wait for #17063 to be merged. Is that OK for you @soumagne and @jolivier23 ?

  • Restore Mercury changelog

Fixed with commit 89f602f and 967bc9f


License: BSD-2-Clause-Patent
Expand Down Expand Up @@ -659,10 +659,13 @@ fi
%endif

%changelog
* Mon Oct 27 2025 Cedric Koch-Hofer <cedric.koch-hofer@hpe.com> 2.7.101-17
- Add support of the libasan to the mercury dependencies

* Thu Oct 16 2025 Jeff Olivier <jeffolivier@google.com> 2.7.101-16
- Make daos-spdk conflict with spdk

* Thu Sep 12 2025 Jeff Olivier <jeffolivier@google.com> 2.7.101-15
* Fri Sep 12 2025 Jeff Olivier <jeffolivier@google.com> 2.7.101-15
- Fix leap package name

* Thu Sep 11 2025 Jeff Olivier <jeffolivier@google.com> 2.7.101-14
Expand Down
2 changes: 1 addition & 1 deletion utils/rpms/package_info.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export libfabric_version="1.22.0"
export libfabric_release="4${distro_name}"
export libfabric_full="${libfabric_version}-${libfabric_release}"
export mercury_version="2.4.0"
export mercury_release="7${distro_name}"
export mercury_release="8${distro_name}"
export mercury_full="${mercury_version}-${mercury_release}"
export argobots_version="1.2"
export argobots_release="3${distro_name}"
Expand Down
Loading