Skip to content

Commit 806dd7c

Browse files
committed
makedist: allow explicit fuse3-based distribution creation
1 parent 1ce933c commit 806dd7c

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
@@ -302,49 +307,66 @@ if $INCLUDEHELPER; then
302307
fi
303308

304309
FUSESUBDIR=false
305-
CVMFSFUSE3URL="$CVMFSURL/`echo $CVMFSRPMNAME|sed 's/cvmfs-/cvmfs-fuse3-/'`"
310+
CVMFSFUSE3RPMNAME=`echo $CVMFSRPMNAME|sed 's/cvmfs-/cvmfs-fuse3-/'`
311+
CVMFSFUSE3URL="$CVMFSURL/$CVMFSFUSE3RPMNAME"
312+
313+
USEFUSE3=false
306314
if $SING; then
315+
USEFUSE3=true
316+
fi
317+
if $FUSE3; then
318+
USEFUSE3=true
319+
fi
320+
if [ "$EL" -ge 9 ]; then
321+
USEFUSE3=true
322+
fi
323+
324+
if [ "$DISTRO" = suse ]; then
325+
if $USEFUSE3; then
326+
# hack to check if package is available in current dir
327+
if [ ! -f "$HERE/$CVMFSFUSE3RPMNAME" ]; then
328+
echo "No cvmfs-fuse3 for suse15 available." >&2
329+
echo "Please provide custom-built $CVMFSFUSE3RPMNAME in the $HERE directory to continue." >&2
330+
exit 1
331+
else
332+
CVMFSFUSE3URL="file://$HERE/$CVMFSFUSE3RPMNAME"
333+
fi
334+
fi
335+
fi
336+
337+
if $USEFUSE3; then
307338
URLS="$URLS $CVMFSFUSE3URL"
308-
if [ "$EL" -lt 8 ]; then
309-
FUSEURL="https://archives.fedoraproject.org/pub/archive/epel/$EL/$ARCH/Packages"
310-
FUSESUBDIR=true
311-
elif [ "$EL" -eq 8 ]; then
312-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/BaseOS/$ARCH/os/Packages"
339+
FUSELIB=fuse3-libs
340+
else
341+
FUSELIB=fuse-libs
342+
fi
343+
if [ "$DISTRO" = suse ]; then
344+
FUSEURL="https://download.opensuse.org/distribution/openSUSE-stable/repo/oss/x86_64"
345+
if $USEFUSE3; then
346+
FUSELIB=libfuse3
313347
else
314-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/AppStream/$ARCH/os/Packages"
315-
fi
316-
URL="`latesturl $FUSEURL fuse3-libs $FUSESUBDIR`"
317-
if [ -z "$URL" ]; then
318-
echo "No fuse3-libs package found from $FUSEURL" >&2
319-
exit 1
348+
FUSELIB=libfuse2
320349
fi
321-
URLS="$URLS $URL"
322350
else
323-
if [ "$DISTRO" = suse ]; then
324-
FUSEURL="https://download.opensuse.org/distribution/openSUSE-stable/repo/oss/x86_64"
325-
FUSELIB=libfuse2
326-
else
327-
if [ "$EL" -lt 8 ]; then
328-
FUSEURL="https://vault.centos.org/centos/$EL/os/$ARCH/Packages/"
329-
elif [ "$EL" -eq 8 ]; then
330-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/BaseOS/$ARCH/os/Packages"
331-
else
332-
FUSEURL="https://repo.almalinux.org/almalinux/$EL/AppStream/$ARCH/os/Packages"
333-
fi
334-
if [ "$EL" -lt 9 ]; then
335-
FUSELIB=fuse-libs
351+
if [ "$EL" -lt 8 ]; then
352+
if $USEFUSE3; then
353+
FUSEURL="https://archives.fedoraproject.org/pub/archive/epel/$EL/$ARCH/Packages"
354+
FUSESUBDIR=true
336355
else
337-
FUSELIB=fuse3-libs
338-
URLS="$URLS $CVMFSFUSE3URL"
356+
FUSEURL="https://vault.centos.org/centos/$EL/os/$ARCH/Packages/"
339357
fi
358+
elif [ "$EL" -eq 8 ]; then
359+
FUSEURL="https://repo.almalinux.org/almalinux/$EL/BaseOS/$ARCH/os/Packages"
360+
else
361+
FUSEURL="https://repo.almalinux.org/almalinux/$EL/AppStream/$ARCH/os/Packages"
340362
fi
341-
URL="`latesturl $FUSEURL $FUSELIB $FUSESUBDIR`"
342-
if [ -z "$URL" ]; then
343-
echo "No $FUSELIB package found from $FUSEURL" >&2
344-
exit 1
345-
fi
346-
URLS="$URLS $URL"
347363
fi
364+
URL="`latesturl $FUSEURL $FUSELIB $FUSESUBDIR`"
365+
if [ -z "$URL" ]; then
366+
echo "No $FUSELIB package found from $FUSEURL" >&2
367+
exit 1
368+
fi
369+
URLS="$URLS $URL"
348370

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

0 commit comments

Comments
 (0)