Skip to content

Commit 3f2dfc6

Browse files
committed
makedist: allow explicit fuse3-based distribution creation
1 parent cfc9d00 commit 3f2dfc6

File tree

1 file changed

+58
-36
lines changed

1 file changed

+58
-36
lines changed

makedist

Lines changed: 58 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ SUPPORTEDTYPES="rhel7-x86_64 rhel8-aarch64 rhel8-x86_64 rhel8-ppc64le rhel9-x86_
1010
usage()
1111
{
1212
(
13-
echo "Usage: makedist [-s] [ -m machinetype ] {osg|egi|default|none}"
14-
echo " makedist [-s] -o <self_extracting_script>"
13+
echo "Usage: makedist [-s] [-3] [ -m machinetype ] {osg|egi|default|none}"
14+
echo " makedist [-s] [-3] -o <self_extracting_script>"
1515
echo " The first usage creates a distribution in 'dist' directory."
1616
echo " The -m option selects machinetype for the distribution."
1717
echo " The default is the current machine. Supported types:"
@@ -22,11 +22,13 @@ usage()
2222
echo " directory as the script."
2323
echo " The -s option makes both operations work for singcvmfs instead"
2424
echo " of cvmfsexec, and files are left in .singcvmfs"
25+
echo " The -3 option forces use of fuse3 backend for all machine types."
2526
) >&2
2627
exit 2
2728
}
2829

2930
SING=false
31+
FUSE3=false
3032
MACHTYPE=""
3133
while true; do
3234
if [ "$1" = "-s" ]; then
@@ -35,6 +37,9 @@ while true; do
3537
elif [ "$1" = "-m" ]; then
3638
MACHTYPE="$2"
3739
shift 2
40+
elif [ "$1" = "-3" ]; then
41+
FUSE3=true
42+
shift
3843
else
3944
break
4045
fi
@@ -298,49 +303,66 @@ if $INCLUDEHELPER; then
298303
fi
299304

300305
FUSESUBDIR=false
301-
CVMFSFUSE3URL="$CVMFSURL/`echo $CVMFSRPMNAME|sed 's/cvmfs-/cvmfs-fuse3-/'`"
306+
CVMFSFUSE3RPMNAME=`echo $CVMFSRPMNAME|sed 's/cvmfs-/cvmfs-fuse3-/'`
307+
CVMFSFUSE3URL="$CVMFSURL/$CVMFSFUSE3RPMNAME"
308+
309+
USEFUSE3=false
302310
if $SING; then
311+
USEFUSE3=true
312+
fi
313+
if $FUSE3; then
314+
USEFUSE3=true
315+
fi
316+
if [ "$EL" -ge 9 ]; then
317+
USEFUSE3=true
318+
fi
319+
320+
if [ "$DISTRO" = suse ]; then
321+
if $USEFUSE3; then
322+
# hack to check if package is available in current dir
323+
if [ ! -f "$HERE/$CVMFSFUSE3RPMNAME" ]; then
324+
echo "No cvmfs-fuse3 for suse15 available." >&2
325+
echo "Please provide custom-built $CVMFSFUSE3RPMNAME in the $HERE directory to continue." >&2
326+
exit 1
327+
else
328+
CVMFSFUSE3URL="file://$HERE/$CVMFSFUSE3RPMNAME"
329+
fi
330+
fi
331+
fi
332+
333+
if $USEFUSE3; then
303334
URLS="$URLS $CVMFSFUSE3URL"
304-
if [ "$EL" -lt 8 ]; then
305-
FUSEURL="https://download.fedoraproject.org/pub/epel/$EL/$ARCH/Packages"
306-
FUSESUBDIR=true
307-
elif [ "$EL" -eq 8 ]; then
308-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/BaseOS/$ARCH/os/Packages"
335+
FUSELIB=fuse3-libs
336+
else
337+
FUSELIB=fuse-libs
338+
fi
339+
if [ "$DISTRO" = suse ]; then
340+
FUSEURL="https://download.opensuse.org/distribution/openSUSE-stable/repo/oss/x86_64"
341+
if $USEFUSE3; then
342+
FUSELIB=libfuse3
309343
else
310-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/AppStream/$ARCH/os/Packages"
311-
fi
312-
URL="`latesturl $FUSEURL fuse3-libs $FUSESUBDIR`"
313-
if [ -z "$URL" ]; then
314-
echo "No fuse3-libs package found from $FUSEURL" >&2
315-
exit 1
344+
FUSELIB=libfuse2
316345
fi
317-
URLS="$URLS $URL"
318346
else
319-
if [ "$DISTRO" = suse ]; then
320-
FUSEURL="https://download.opensuse.org/distribution/openSUSE-stable/repo/oss/x86_64"
321-
FUSELIB=libfuse2
322-
else
323-
if [ "$EL" -lt 8 ]; then
324-
FUSEURL="https://vault.centos.org/centos/$EL/os/$ARCH/Packages/"
325-
elif [ "$EL" -eq 8 ]; then
326-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/BaseOS/$ARCH/os/Packages"
327-
else
328-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/AppStream/$ARCH/os/Packages"
329-
fi
330-
if [ "$EL" -lt 9 ]; then
331-
FUSELIB=fuse-libs
347+
if [ "$EL" -lt 8 ]; then
348+
if $USEFUSE3; then
349+
FUSEURL="https://download.fedoraproject.org/pub/epel/$EL/$ARCH/Packages"
350+
FUSESUBDIR=true
332351
else
333-
FUSELIB=fuse3-libs
334-
URLS="$URLS $CVMFSFUSE3URL"
352+
FUSEURL="https://vault.centos.org/centos/$EL/os/$ARCH/Packages/"
335353
fi
354+
elif [ "$EL" -eq 8 ]; then
355+
FUSEURL="https://repo.almalinux.org/almalinux/$EL/BaseOS/$ARCH/os/Packages"
356+
else
357+
FUSEURL="https://repo.almalinux.org/almalinux/$EL/AppStream/$ARCH/os/Packages"
336358
fi
337-
URL="`latesturl $FUSEURL $FUSELIB $FUSESUBDIR`"
338-
if [ -z "$URL" ]; then
339-
echo "No $FUSELIB package found from $FUSEURL" >&2
340-
exit 1
341-
fi
342-
URLS="$URLS $URL"
343359
fi
360+
URL="`latesturl $FUSEURL $FUSELIB $FUSESUBDIR`"
361+
if [ -z "$URL" ]; then
362+
echo "No $FUSELIB package found from $FUSEURL" >&2
363+
exit 1
364+
fi
365+
URLS="$URLS $URL"
344366

345367
if [ "$EL" -eq 7 ]; then
346368
# add fuse2fs only on EL7, it is standard elsewhere

0 commit comments

Comments
 (0)