@@ -10,8 +10,8 @@ SUPPORTEDTYPES="rhel7-x86_64 rhel8-aarch64 rhel8-x86_64 rhel8-ppc64le rhel9-x86_
1010usage ()
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
2930SING=false
31+ FUSE3=false
3032MACHTYPE=" "
3133while 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
302307fi
303308
304309FUSESUBDIR=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
306314if $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 "
322350else
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 "
347363fi
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
349371if [ " $EL " -eq 7 ]; then
350372 # add fuse2fs only on EL7, it is standard elsewhere
0 commit comments