From 44f82a78751bab41dc9859b61ba6fc47ef2bd005 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Mon, 17 Nov 2014 10:28:59 +0100 Subject: [PATCH] Add a package for UserlandFS. Fixes #10192. --- build/jam/HaikuPackages | 1 + build/jam/OptionalPackages | 53 ---------------------- build/jam/packages/UserlandFS | 46 +++++++++++++++++++ build/jam/repositories/Haiku | 1 + src/data/package_infos/generic/userland_fs | 20 ++++++++ 5 files changed, 68 insertions(+), 53 deletions(-) create mode 100644 build/jam/packages/UserlandFS create mode 100644 src/data/package_infos/generic/userland_fs diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index 279efab3e1..f207eec1b3 100644 --- a/build/jam/HaikuPackages +++ b/build/jam/HaikuPackages @@ -6,6 +6,7 @@ local packages = HaikuUserguide HaikuWelcome MakefileEngine + UserlandFS ; if $(HAIKU_BUILD_TYPE) = bootstrap { diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index c2f0e6432a..9c389367e1 100644 --- a/build/jam/OptionalPackages +++ b/build/jam/OptionalPackages @@ -220,59 +220,6 @@ if [ IsOptionalHaikuImagePackageAdded NetFS ] { } -# UserlandFS -if [ IsOptionalHaikuImagePackageAdded UserlandFS ] { -# TODO: Make this an actual package! -# local arch = $(TARGET_ARCH) ; -# local abi = gcc$(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ; -# -# # kernel module -# AddFilesToHaikuImage system add-ons kernel file_systems -# : userlandfs ; -# -# # server -# AddFilesToHaikuImage system servers : userlandfs_server ; -# -# # libs -# local userlandfsLibs = -# libuserlandfs_beos_kernel.so -# libuserlandfs_haiku_kernel.so -# libuserlandfs_fuse.so -# ; -# AddFilesToHaikuImage system lib : $(userlandfsLibs) ; -# -# # development goodies -# if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ] { -# if ! ( $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) in 2 4 ) { -# Exit "Optional package UserlandFS: Unsupported GCC version:" -# $(TARGET_GCC_VERSION_$(TARGET_PACKAGING_ARCH)[1]) ; -# } -# -# # library symlinks -# local lib ; -# for lib in $(userlandfsLibs) { -# AddSymlinkToHaikuImage develop abi $(arch) $(abi) lib -# : /system/lib/$(lib:BS) ; -# } -# -# # FUSE headers -# local fuseHeaders = -# fuse_common_compat.h -# fuse_common.h -# fuse_compat.h -# fuse.h -# fuse_lowlevel_compat.h -# fuse_lowlevel.h -# fuse_opt.h -# ; -# fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; -# SEARCH on $(fuseHeaders) -# = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; -# AddFilesToHaikuImage develop headers userlandfs fuse : $(fuseHeaders) ; -# } -} - - # WebPositive if [ IsOptionalHaikuImagePackageAdded WebPositive ] { local architectureObject ; diff --git a/build/jam/packages/UserlandFS b/build/jam/packages/UserlandFS new file mode 100644 index 0000000000..43f81acf13 --- /dev/null +++ b/build/jam/packages/UserlandFS @@ -0,0 +1,46 @@ +local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ; + +local userlandFSPackage = userland_fs.hpkg ; +HaikuPackage $(userlandFSPackage) ; + +# kernel module +AddFilesToPackage add-ons kernel file_systems : userlandfs ; + +# server +AddFilesToPackage servers : userlandfs_server ; + + +# libs +local userlandfsLibs = + libuserlandfs_beos_kernel.so + libuserlandfs_haiku_kernel.so + libuserlandfs_fuse.so +; +AddLibrariesToPackage lib : $(userlandfsLibs) ; + +# TODO move development stuff to a separate package? + +# library symlinks +local lib ; +for lib in $(userlandfsLibs) { + AddSymlinkToPackage develop lib : /system/lib/$(lib:BS) ; +} + + +# FUSE headers + +local fuseHeaders = + fuse_common_compat.h + fuse_common.h + fuse_compat.h + fuse.h + fuse_lowlevel_compat.h + fuse_lowlevel.h + fuse_opt.h +; +fuseHeaders = $(fuseHeaders:G=userlandfs!fuse) ; +SEARCH on $(fuseHeaders) + = [ FDirName $(HAIKU_TOP) headers private userlandfs fuse ] ; +AddFilesToPackage develop headers userlandfs fuse : $(fuseHeaders) ; + +BuildHaikuPackage $(userlandFSPackage) : userland_fs ; diff --git a/build/jam/repositories/Haiku b/build/jam/repositories/Haiku index 32efd457f8..24459716c2 100644 --- a/build/jam/repositories/Haiku +++ b/build/jam/repositories/Haiku @@ -15,6 +15,7 @@ local packages = haiku_userguide haiku_welcome makefile_engine + userland_fs haiku_$(secondaryArchs) haiku_$(secondaryArchs)_devel diff --git a/src/data/package_infos/generic/userland_fs b/src/data/package_infos/generic/userland_fs new file mode 100644 index 0000000000..339c6360d1 --- /dev/null +++ b/src/data/package_infos/generic/userland_fs @@ -0,0 +1,20 @@ +name userland_fs +version %HAIKU_VERSION% +architecture %HAIKU_PACKAGING_ARCH% +summary "Userland filesystem support" +description "A set of tools to mount and use filesystems that run in +userland. FUSE compatibiity is also provided." + +packager "The Haiku build system" +vendor "Haiku Project" + +copyrights "2007-2014 Haiku, Inc." +licenses MIT + +provides { + userland_fs=%HAIKU_VERSION% +} + +requires { + haiku +}