Skip to content

Commit 5e7d28c

Browse files
committed
DAOS-18222 build: Update to latest tag of fuse
Use upstream repo directly and rename internally. This avoids conflicts with random installed headers while avoiding the complication of maintaining a separate repository. Change-Id: Iab577469db5bb12ef7c791d5fbe6479aeed3dc4c Signed-off-by: Jeff Olivier <[email protected]>
1 parent e837088 commit 5e7d28c

File tree

10 files changed

+75
-5
lines changed

10 files changed

+75
-5
lines changed

site_scons/components/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,13 +336,15 @@ def define_components(reqs):
336336
libs=['abt'],
337337
headers=['abt.h'])
338338

339+
fix_fused = os.path.join(Dir('#').abspath, 'utils/scripts/fix_fused.sh')
339340
reqs.define('fused', libs=['fused'], defines=['FUSE_USE_VERSION=35'],
340341
retriever=GitRepoRetriever(),
341342
commands=[['meson', 'setup', '--prefix=$FUSED_PREFIX', '-Ddisable-mtab=True',
342343
'-Dudevrulesdir=$FUSED_PREFIX/udev', '-Dutils=False',
343344
'--default-library', 'static', '../fused'],
344345
['meson', 'setup', '--reconfigure', '../fused'],
345-
['ninja', 'install']],
346+
['ninja', 'install'],
347+
[fix_fused, '$FUSED_PREFIX']],
346348
pkgconfig='fused',
347349
headers=['fused/fuse.h'],
348350
required_progs=['libtoolize', 'ninja', 'meson'],

utils/build.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ component=daos
33

44
[commit_versions]
55
argobots=v1.2
6-
fused=v1.0.0
6+
fused=fuse-3.17.4
77
pmdk=2.1.2
88
isal=v2.31.1
99
isal_crypto=v2.24.0
@@ -15,7 +15,7 @@ ucx=v1.14.1
1515

1616
[repos]
1717
argobots=https://github.com/pmodels/argobots.git
18-
fused=https://github.com/daos-stack/fused.git
18+
fused=https://github.com/libfuse/libfuse.git
1919
pmdk=https://github.com/daos-stack/pmdk.git
2020
isal=https://github.com/intel/isa-l.git
2121
isal_crypto=https://github.com/intel/isa-l_crypto.git

utils/docker/Dockerfile.el.8

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
8282
COPY --chown=daos_server:daos_server utils/build.config utils/
8383
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
8484
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
85+
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh
8586

8687
# Control what to build. By default Dockerfiles build everything to allow for
8788
# ease-of-use for users, however in CI everything is turned off and then

utils/docker/Dockerfile.el.9

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
7474
COPY --chown=daos_server:daos_server utils/build.config utils/
7575
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
7676
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
77+
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh
7778

7879
# Control what to build. By default Dockerfiles build everything to allow for
7980
# ease-of-use for users, however in CI everything is turned off and then

utils/docker/Dockerfile.leap.15

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
8181
COPY --chown=daos_server:daos_server utils/build.config utils/
8282
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
8383
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
84+
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh
8485

8586
# Control what to build. By default Dockerfiles build everything to allow for
8687
# ease-of-use for users, however in CI everything is turned off and then

utils/docker/Dockerfile.ubuntu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ COPY --chown=daos_server:daos_server site_scons/components site_scons/components
7272
COPY --chown=daos_server:daos_server utils/build.config utils/
7373
COPY --chown=daos_server:daos_server utils/scripts/copy_files.sh utils/scripts/copy_files.sh
7474
COPY --chown=daos_server:daos_server utils/scripts/create_spdk_pkgconfig.sh utils/scripts/create_spdk_pkgconfig.sh
75+
COPY --chown=daos_server:daos_server utils/scripts/fix_fused.sh utils/scripts/fix_fused.sh
7576

7677
# Control what to build. By default Dockerfiles build everything to allow for
7778
# ease-of-use for users, however in CI everything is turned off and then

utils/rpms/fused.changelog

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
* Mon Nov 17 2025 Jeff Olivier <[email protected]> - 1.1.0-1.0
2+
- Update to fuse-3.17.4
3+
- Use upstream tag directly
4+
5+
* Sun Jan 12 2025 Jeff Olivier <[email protected]> - 1.0.0-3.0
6+
- Remove dependence on fused
7+
8+
* Sat Jan 11 2025 Jeff Olivier <[email protected]> - 1.0.0-2.0
9+
- Only build static lib
10+
11+
* Mon Feb 12 2024 Jeff Olivier <[email protected]> - 1.0.0-1.0
12+
- Initial packaging for fused, a DAOS file system adaptation of libfused

utils/rpms/fused.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ LICENSE="BSD"
1515
ARCH=${isa}
1616
DESCRIPTION="DAOS version of libfuse"
1717
URL="https://github.com/daos-stack/fused.git"
18+
RPM_CHANGELOG="fused.changelog"
1819

1920
files=()
2021
TARGET_PATH="${includedir}/fused"

utils/rpms/package_info.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ export isal_crypto_full="${isal_crypto_version}-${isal_crypto_release}"
5555
export daos_spdk_version="1.0.0"
5656
export daos_spdk_release="4${distro_name}"
5757
export daos_spdk_full="${daos_spdk_version}-${daos_spdk_release}"
58-
export fused_version="1.0.0"
59-
export fused_release="3${distro_name}"
58+
export fused_version="1.1.0"
59+
export fused_release="1${distro_name}"
6060
export fused_full="${fused_version}-${fused_release}"
6161

6262
set_lib_name openmpi lib openmpi openmpi3 openmpi

utils/scripts/fix_fused.sh

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
if [ "$#" -ne 1 ]; then
6+
echo "Usage: $0 <path>"
7+
exit 1
8+
fi
9+
10+
prefix=$1
11+
12+
if [ ! -d "$prefix" ]; then
13+
echo "Error: Directory '$prefix' not found."
14+
exit 1
15+
fi
16+
17+
# Move prefix/include/fuse3 to prefix/include/fused
18+
if [ -d "$prefix/include/fuse3" ]; then
19+
mv "$prefix/include/fuse3" "$prefix/include/fused"
20+
echo "Moved $prefix/include/fuse3 to $prefix/include/fused"
21+
else
22+
echo "Error: $prefix/include/fuse3 not found."
23+
exit 1
24+
fi
25+
26+
# Find libfuse3.a and rename it to libfused.a
27+
libfuse_path=$(find "$prefix" -name "libfuse3.a" | head -n 1)
28+
29+
if [ -n "$libfuse_path" ]; then
30+
libfused_path="$(dirname "$libfuse_path")/libfused.a"
31+
mv "$libfuse_path" "$libfused_path"
32+
echo "Renamed $libfuse_path to $libfused_path"
33+
34+
# find pkgconfig/fuse3.pc in the same folder as libfuse3.a and rename it to fused.pc
35+
pkgconfig_dir=$(dirname "$libfuse_path")/pkgconfig
36+
if [ -f "$pkgconfig_dir/fuse3.pc" ]; then
37+
mv "$pkgconfig_dir/fuse3.pc" "$pkgconfig_dir/fused.pc"
38+
echo "Renamed $pkgconfig_dir/fuse3.pc to $pkgconfig_dir/fused.pc"
39+
40+
# replace fuse3 with fused
41+
sed -i 's/fuse3/fused/' "$pkgconfig_dir/fused.pc"
42+
echo "Updated $pkgconfig_dir/fused.pc"
43+
else
44+
echo "Error: fuse3.pc not found in $pkgconfig_dir"
45+
exit 1
46+
fi
47+
exit 0
48+
fi
49+
50+
echo "Error: libfuse3.a not found in $prefix."
51+
exit 1

0 commit comments

Comments
 (0)