@@ -10,6 +10,8 @@ elseif ( NOT DEFINED NOGUI )
1010 MESSAGE (FATAL_ERROR "NOGUI variable MUST BE set to TRUE if building 'Console' version, 'FALSE' otherwise" )
1111endif ()
1212
13+ option (VC_WITH_FUSE3 "Link against FUSE3 instead of FUSE2 when packaging" OFF )
14+
1315# - Set version of the package
1416set ( FULL_VERSION "1.26.27" )
1517set ( VERSION "1.26.27" )
@@ -268,46 +270,56 @@ if ( ( PLATFORM STREQUAL "Debian" ) OR ( PLATFORM STREQUAL "Ubuntu" ) )
268270 set ( CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_PACKAGE_RELEASE} )
269271 set ( CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARCHITECTURE} ) # mandatory
270272
273+ # Determine the FUSE runtime package name that matches the selected FUSE version
274+ set (VC_DEBIAN_USE_T64 FALSE )
275+ if ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "13" ) )
276+ OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "24.04" ) ) )
277+ set (VC_DEBIAN_USE_T64 TRUE )
278+ endif ()
279+ if (VC_WITH_FUSE3)
280+ set (VC_DEBIAN_FUSE_PACKAGE "libfuse3-3" )
281+ else ()
282+ if (VC_DEBIAN_USE_T64)
283+ set (VC_DEBIAN_FUSE_PACKAGE "libfuse2t64" )
284+ else ()
285+ set (VC_DEBIAN_FUSE_PACKAGE "libfuse2" )
286+ endif ()
287+ endif ()
288+
271289 if (NOGUI)
272290 # Link against statically built wxWidgets so that we don't depend on any GTK library
273- # In case of Ubuntu 24.04/ Debian 13 or newer, libfuse2 package was renamed libfuse2t64
274- if ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "13" ) )
275- OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "24.04" ) ) )
276- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libfuse2t64, dmsetup, sudo" )
277- else ()
278- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libfuse2, dmsetup, sudo" )
279- endif ()
291+ set ( CPACK_DEBIAN_PACKAGE_DEPENDS "${VC_DEBIAN_FUSE_PACKAGE} , dmsetup, sudo" )
280292 else ()
281293 # Link against gtk3 version of wxWidgets if >= Debian 10 or >= Ubuntu 18.04
282294 # Otherwise, link against gtk2 version of wxWidgets
283295 if ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "13" ) )
284296 OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "25.04" ) ) )
285297
286- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.2-1t64, libayatana-appindicator3-1, libfuse2t64 , dmsetup, sudo" )
298+ set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.2-1t64, libayatana-appindicator3-1, ${VC_DEBIAN_FUSE_PACKAGE} , dmsetup, sudo" )
287299
288- # In case of Ubuntu 24.04, we depend on libfuse2t64 instead of libfuse2 and we link statically against wxWidgets
300+ # In case of Ubuntu 24.04, we depend on the t64 variant of the FUSE package and we link statically against wxWidgets
289301 # because there is a bug in wxWidgets that ships with Ubuntu 24.04 and which was fixed in wxWidgets 3.2.5
290302 elseif ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "24.04" ) )
291-
292- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libgtk-3-0t64, libayatana-appindicator3-1, libfuse2t64, dmsetup, sudo" )
293303
294- elseif ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "12" ) )
304+ set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libgtk-3-0t64, libayatana-appindicator3-1, ${VC_DEBIAN_FUSE_PACKAGE} , dmsetup, sudo" )
305+
306+ elseif ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "12" ) )
295307 OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "23.04" ) ) )
296-
297- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.2-1, libayatana-appindicator3-1, libfuse2 , dmsetup, sudo" )
298-
299- elseif ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "10" ) )
308+
309+ set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.2-1, libayatana-appindicator3-1, ${VC_DEBIAN_FUSE_PACKAGE} , dmsetup, sudo" )
310+
311+ elseif ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "10" ) )
300312 OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_GREATER_EQUAL "18.04" ) ) )
301-
302- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-gtk3-0v5, libayatana-appindicator3-1, libfuse2 , dmsetup, sudo" )
303-
313+
314+ set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-gtk3-0v5, libayatana-appindicator3-1, ${VC_DEBIAN_FUSE_PACKAGE} , dmsetup, sudo" )
315+
304316 else ()
305317 # Link against statically built wxWidgets on Ubuntu 14.04 and older, and Debian 8 and older
306318 if ( ( ( PLATFORM STREQUAL "Debian" ) AND ( PLATFORM_VERSION VERSION_LESS_EQUAL "8" ) )
307319 OR ( ( PLATFORM STREQUAL "Ubuntu" ) AND ( PLATFORM_VERSION VERSION_LESS_EQUAL "14.04" ) ) )
308- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libgtk2.0-0, libfuse2 , dmsetup, sudo" )
320+ set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libgtk2.0-0, ${VC_DEBIAN_FUSE_PACKAGE} , dmsetup, sudo" )
309321 else ()
310- set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-0v5, libfuse2 , dmsetup, sudo" )
322+ set ( CPACK_DEBIAN_PACKAGE_DEPENDS "libwxgtk3.0-0v5, ${VC_DEBIAN_FUSE_PACKAGE} , dmsetup, sudo" )
311323 endif ()
312324
313325 endif ()
@@ -330,7 +342,7 @@ elseif ( ( PLATFORM STREQUAL "CentOS" ) OR ( PLATFORM STREQUAL "openSUSE" ) OR (
330342 set ( RPM_PRERM ${CMAKE_CURRENT_BINARY_DIR } /Packaging/rpm-control/prerm.sh)
331343
332344 set ( CPACK_GENERATOR "RPM" ) # mandatory
333- set ( CPACK_RPM_PACKAGE_SUMMARY ${CPACK_PACKAGE_SUMMARY } ) # mandatory
345+ set ( CPACK_RPM_PACKAGE_SUMMARY ${CPACK_PACKAGE_DESCRIPTION_SUMMARY } ) # mandatory
334346 set ( CPACK_RPM_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION} ) # mandatory
335347 set ( CPACK_RPM_PACKAGE_NAME ${CPACK_PACKAGE_NAME} ) # mandatory
336348 set ( CPACK_RPM_FILE_NAME ${CPACK_PACKAGE_FILE_NAME} .rpm ) # mandatory
@@ -341,17 +353,22 @@ elseif ( ( PLATFORM STREQUAL "CentOS" ) OR ( PLATFORM STREQUAL "openSUSE" ) OR (
341353 set ( CPACK_RPM_PACKAGE_GROUP "Applications/System" ) # mandatory, https://fedoraproject.org/wiki/RPMGroups
342354 set ( CPACK_RPM_PACKAGE_VENDOR ${CPACK_PACKAGE_VENDOR} ) # mandatory
343355 set ( CPACK_RPM_PACKAGE_AUTOREQ "no" ) # disable automatic shared libraries dependency detection (most of the time buggy)
356+ if (VC_WITH_FUSE3)
357+ set (VC_RPM_FUSE_PACKAGE "fuse3" )
358+ else ()
359+ set (VC_RPM_FUSE_PACKAGE "fuse" )
360+ endif ()
344361
345362 if (NOGUI)
346- set ( CPACK_RPM_PACKAGE_REQUIRES "fuse , device-mapper, sudo" )
363+ set ( CPACK_RPM_PACKAGE_REQUIRES "${VC_RPM_FUSE_PACKAGE} , device-mapper, sudo" )
347364 else ()
348365 find_package (PkgConfig REQUIRED )
349366 pkg_check_modules (GTK3 gtk+-3.0 )
350367
351368 if (GTK3_FOUND)
352- set ( CPACK_RPM_PACKAGE_REQUIRES "fuse , device-mapper, gtk3, sudo" )
369+ set ( CPACK_RPM_PACKAGE_REQUIRES "${VC_RPM_FUSE_PACKAGE} , device-mapper, gtk3, sudo" )
353370 else ()
354- set ( CPACK_RPM_PACKAGE_REQUIRES "fuse , device-mapper, gtk2, sudo" )
371+ set ( CPACK_RPM_PACKAGE_REQUIRES "${VC_RPM_FUSE_PACKAGE} , device-mapper, gtk2, sudo" )
355372 endif ()
356373 endif ()
357374
0 commit comments