Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
6 changes: 4 additions & 2 deletions site_scons/components/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright 2016-2024 Intel Corporation
# Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC
# Copyright 2025-2026 Hewlett Packard Enterprise Development LP
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
Expand Down Expand Up @@ -331,13 +331,15 @@ def define_components(reqs):
libs=['abt'],
headers=['abt.h'])

fix_fused = os.path.join(Dir('#').abspath, 'utils/scripts/fix_fused.sh')
reqs.define('fused', libs=['fused'], defines=['FUSE_USE_VERSION=35'],
retriever=GitRepoRetriever(),
commands=[['meson', 'setup', '--prefix=$FUSED_PREFIX', '-Ddisable-mtab=True',
'-Dudevrulesdir=$FUSED_PREFIX/udev', '-Dutils=False',
'--default-library', 'static', '../fused'],
['meson', 'setup', '--reconfigure', '../fused'],
['ninja', 'install']],
['ninja', 'install'],
[fix_fused, '$FUSED_PREFIX']],
pkgconfig='fused',
headers=['fused/fuse.h'],
required_progs=['libtoolize', 'ninja', 'meson'],
Expand Down
4 changes: 2 additions & 2 deletions utils/build.config
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ component=daos

[commit_versions]
argobots=v1.2
fused=v1.0.0
fused=fuse-3.18.2
pmdk=2.1.3
isal=v2.31.1
isal_crypto=v2.25.0
Expand All @@ -15,7 +15,7 @@ ucx=v1.14.1

[repos]
argobots=https://github.com/pmodels/argobots.git
fused=https://github.com/daos-stack/fused.git
fused=https://github.com/libfuse/libfuse.git
pmdk=https://github.com/daos-stack/pmdk.git
isal=https://github.com/intel/isa-l.git
isal_crypto=https://github.com/intel/isa-l_crypto.git
Expand Down
3 changes: 2 additions & 1 deletion utils/docker/Dockerfile.el.8
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright 2018-2024 Intel Corporation
# Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC
# Copyright 2025 Hewlett Packard Enterprise Development LP
# All rights reserved.
#
Expand Down Expand Up @@ -88,6 +88,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
COPY --chown=daos_server:daos_server utils/build.config utils/
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh

# Control what to build. By default Dockerfiles build everything to allow for
# ease-of-use for users, however in CI everything is turned off and then
Expand Down
3 changes: 2 additions & 1 deletion utils/docker/Dockerfile.el.9
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright 2022-2024 Intel Corporation
# Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC
# Copyright 2025 Hewlett Packard Enterprise Development LP
# All rights reserved.
#
Expand Down Expand Up @@ -84,6 +84,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
COPY --chown=daos_server:daos_server utils/build.config utils/
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh

# Control what to build. By default Dockerfiles build everything to allow for
# ease-of-use for users, however in CI everything is turned off and then
Expand Down
3 changes: 2 additions & 1 deletion utils/docker/Dockerfile.leap.15
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright 2018-2024 Intel Corporation
# Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC
# Copyright 2025-2026 Hewlett Packard Enterprise Development LP
# All rights reserved.
#
Expand Down Expand Up @@ -103,6 +103,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
COPY --chown=daos_server:daos_server utils/build.config utils/
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh

# Control what to build. By default Dockerfiles build everything to allow for
# ease-of-use for users, however in CI everything is turned off and then
Expand Down
3 changes: 2 additions & 1 deletion utils/docker/Dockerfile.ubuntu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright 2018-2024 Intel Corporation
# Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC
# Copyright 2025 Hewlett Packard Enterprise Development LP
# All rights reserved.
#
Expand Down Expand Up @@ -82,6 +82,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
COPY --chown=daos_server:daos_server utils/build.config utils/
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh

# Control what to build. By default Dockerfiles build everything to allow for
# ease-of-use for users, however in CI everything is turned off and then
Expand Down
12 changes: 12 additions & 0 deletions utils/rpms/fused.changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
* Mon Dec 1 2025 Jeff Olivier <jeffolivier@google.com> - 1.1.0-1.0
- Update to fuse-3.17.4
- Use upstream tag directly

* Sun Jan 12 2025 Jeff Olivier <jeffolivier@google.com> - 1.0.0-3.0
- Remove dependence on fused

* Sat Jan 11 2025 Jeff Olivier <jeffolivier@google.com> - 1.0.0-2.0
- Only build static lib

* Mon Feb 12 2024 Jeff Olivier <jeffolivier@google.com> - 1.0.0-1.0
- Initial packaging for fused, a DAOS file system adaptation of libfused
3 changes: 2 additions & 1 deletion utils/rpms/fused.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# (C) Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC
set -eEuo pipefail
root="$(realpath "$(dirname "${BASH_SOURCE[0]}")")"
. "${root}/fpm_common.sh"
Expand All @@ -15,6 +15,7 @@ LICENSE="BSD"
ARCH=${isa}
DESCRIPTION="DAOS version of libfuse"
URL="https://github.com/daos-stack/fused.git"
RPM_CHANGELOG="fused.changelog"

files=()
TARGET_PATH="${includedir}/fused"
Expand Down
6 changes: 3 additions & 3 deletions utils/rpms/package_info.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
#
# (C) Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC
# Copyright 2025-2026 Hewlett Packard Enterprise Development LP
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
Expand Down Expand Up @@ -62,8 +62,8 @@ export isal_crypto_full="${isal_crypto_version}-${isal_crypto_release}"
export daos_spdk_version="2.0.0"
export daos_spdk_release="1${distro_name}"
export daos_spdk_full="${daos_spdk_version}-${daos_spdk_release}"
export fused_version="1.0.0"
export fused_release="3${distro_name}"
export fused_version="1.1.0"
export fused_release="1${distro_name}"
export fused_full="${fused_version}-${fused_release}"

set_lib_name openmpi lib openmpi openmpi3 openmpi
Expand Down
51 changes: 51 additions & 0 deletions utils/scripts/fix_fused.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash

set -e

if [ "$#" -ne 1 ]; then
echo "Usage: $0 <path>"
exit 1
fi

prefix=$1

if [ ! -d "$prefix" ]; then
echo "Error: Directory '$prefix' not found."
exit 1
fi

# Move prefix/include/fuse3 to prefix/include/fused
if [ -d "$prefix/include/fuse3" ]; then
mv "$prefix/include/fuse3" "$prefix/include/fused"
echo "Moved $prefix/include/fuse3 to $prefix/include/fused"
else
echo "Error: $prefix/include/fuse3 not found."
exit 1
fi

# Find libfuse3.a and rename it to libfused.a
libfuse_path=$(find "$prefix" -name "libfuse3.a" | head -n 1)

if [ -n "$libfuse_path" ]; then
libfused_path="$(dirname "$libfuse_path")/libfused.a"
mv "$libfuse_path" "$libfused_path"
echo "Renamed $libfuse_path to $libfused_path"

# find pkgconfig/fuse3.pc in the same folder as libfuse3.a and rename it to fused.pc
pkgconfig_dir=$(dirname "$libfuse_path")/pkgconfig
if [ -f "$pkgconfig_dir/fuse3.pc" ]; then
mv "$pkgconfig_dir/fuse3.pc" "$pkgconfig_dir/fused.pc"
echo "Renamed $pkgconfig_dir/fuse3.pc to $pkgconfig_dir/fused.pc"

# replace fuse3 with fused
sed -i 's/fuse3/fused/' "$pkgconfig_dir/fused.pc"
echo "Updated $pkgconfig_dir/fused.pc"
else
echo "Error: fuse3.pc not found in $pkgconfig_dir"
exit 1
fi
exit 0
fi

echo "Error: libfuse3.a not found in $prefix."
exit 1
5 changes: 4 additions & 1 deletion utils/scripts/install-el8.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (C) Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC

# Install OS updates and packages as required for building DAOS on EL 8 and
# derivatives. Include basic tools and daos dependencies that come from the core repos.
Expand Down Expand Up @@ -117,4 +117,7 @@ else
dnf install ${dnf_install_args} maven
fi

# if available, install to get c++20 support
dnf install -y gcc-toolset-12 || true

gem install fpm
8 changes: 6 additions & 2 deletions utils/scripts/install-leap15.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# (C) Copyright 2025 Google LLC
# Copyright 2025-2026 Google LLC

# Install OS updates and package. Include basic tools and daos dependencies
# that come from the core repo.
Expand Down Expand Up @@ -28,7 +28,7 @@ dnf --nodocs install ${dnf_install_args} \
flex \
fuse3 \
gcc \
gcc-c++ \
gcc11-c++ \
git \
go \
go-race \
Expand Down Expand Up @@ -78,6 +78,10 @@ dnf --nodocs install ${dnf_install_args} \
which \
yasm

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-11 110

# shellcheck disable=SC2086
dnf install ${dnf_install_args} ruby-devel
gem install json -v 2.7.6
Expand Down
Loading