Move NetFS to a package

This is based on Jalopeura's patch to #10191, however, there are some
changes.
From the patch:
* Make userlandfs use separate "interface definition" files for each
filesystem, so the netfs package can provide a configuration file
* Add a short document on how to use NetFS
* Various fixes to netfs to make it build again (volatile atomics)
* The netfs_mount script for easier use of NetFS

Additional fixes:
* Move netfs_mount and the interface description file to data/ in the
source tree
* Use strlcat instead of strcat to avoid a buffer overflow
* Some parts were already applied in previous commits
This commit is contained in:
Adrien Destugues
2014-11-17 15:24:07 +01:00
parent 28627b28aa
commit 83b1a68c52
13 changed files with 355 additions and 135 deletions
+1
View File
@@ -6,6 +6,7 @@ local packages =
HaikuUserguide
HaikuWelcome
MakefileEngine
NetFS
UserlandFS
;
-34
View File
@@ -13,8 +13,6 @@
# FFMpeg - audio/video library
# FFMpeg-devel - FFMpeg development files
# Git - the distributed version control system
# NetFS - the native networked file system components
# UserlandFS - aids native file system development (like FUSE)
# WebPositive - native, WebKit-based web browser
# Welcome - introductory documentation to Haiku
# WifiFirmwareScriptData - data files needed by install-wifi-firmwares.sh
@@ -188,38 +186,6 @@ if [ IsOptionalHaikuImagePackageAdded Git ] {
}
# NetFS network file system
if [ IsOptionalHaikuImagePackageAdded NetFS ] {
# TODO: Make this an actual package!
# # userlandfs module
# AddFilesToHaikuImage home config add-ons userlandfs
# : netfs ;
#
# # servers
# AddFilesToHaikuImage system servers : netfs_server ;
# AddFilesToHaikuImage system servers
# : authentication_server ;
#
# # tools
# AddFilesToHaikuImage system bin : netfs_config ;
# AddFilesToHaikuImage system bin : netfs_server_prefs ;
#
# #example settings for netfs_server
# local netfsServerSettingsFiles = <driver-settings>netfs-server ;
# SEARCH on $(netfsServerSettingsFiles)
# = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ;
# AddFilesToHaikuImage home config settings kernel drivers
# : $(netfsServerSettingsFiles) ;
#
# #userlandfs settings are needed for netfs_config to work (ioctls)
# local userlandfsServerSettingsFiles = <driver-settings>userlandfs ;
# SEARCH on $(userlandfsServerSettingsFiles)
# = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ;
# AddFilesToHaikuImage home config settings kernel drivers
# : $(userlandfsServerSettingsFiles) ;
}
# WebPositive
if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
local architectureObject ;
+27
View File
@@ -0,0 +1,27 @@
local netfsPackage = netfs.hpkg ;
HaikuPackage $(netfsPackage) ;
# userlandfs module
AddFilesToPackage add-ons userlandfs : netfs ;
# servers
AddFilesToPackage servers : netfs_server ;
AddFilesToPackage servers : authentication_server ;
# tools
AddFilesToPackage bin : netfs_config ;
AddFilesToPackage bin : netfs_server_prefs ;
AddFilesToPackage bin
: [ FDirName $(HAIKU_TOP) data bin netfs_mount ] ;
# interface definition
AddFilesToPackage data userlandfs file_systems
: [ FDirName $(HAIKU_TOP) data userlandfs file_systems netfs ]
: netfs ;
# docs
AddFilesToPackage documentation add-ons :
[ FDirName $(HAIKU_TOP) docs add-ons NetFS.html ] : NetFS.html ;
BuildHaikuPackage $(netfsPackage) : netfs ;
+1
View File
@@ -15,6 +15,7 @@ local packages =
haiku_userguide
haiku_welcome
makefile_engine
netfs
userland_fs
haiku_$(secondaryArchs)