Ticket #10191: 0001-Converting-NetFS-to-hpkg.patch
File 0001-Converting-NetFS-to-hpkg.patch, 10.2 KB (added by , 10 years ago) |
---|
-
build/jam/HaikuPackages
From 0c449a021c9ed82ff1abb44687606ecdc2b36c14 Mon Sep 17 00:00:00 2001 From: Sean Healy <jalopeura@hotmail.com> Date: Fri, 29 Aug 2014 21:34:05 -0700 Subject: [PATCH] Converting NetFS to hpkg --- build/jam/HaikuPackages | 1 + build/jam/OptionalPackages | 28 +--- build/jam/packages/NetFS | 19 +++ docs/add-ons/NetFS.html | 148 +++++++++++++++++++++ src/add-ons/kernel/file_systems/netfs/netfs-server | 42 ------ .../kernel/file_systems/userlandfs/userlandfs | 80 ----------- src/data/package_infos/generic/netfs | 20 +++ 7 files changed, 189 insertions(+), 149 deletions(-) create mode 100644 build/jam/packages/NetFS create mode 100644 docs/add-ons/NetFS.html delete mode 100644 src/add-ons/kernel/file_systems/netfs/netfs-server delete mode 100644 src/add-ons/kernel/file_systems/userlandfs/userlandfs create mode 100644 src/data/package_infos/generic/netfs diff --git a/build/jam/HaikuPackages b/build/jam/HaikuPackages index f207eec..88068fc 100644
a b local packages = 7 7 HaikuWelcome 8 8 MakefileEngine 9 9 UserlandFS 10 NetFS 10 11 ; 11 12 12 13 if $(HAIKU_BUILD_TYPE) = bootstrap { -
build/jam/OptionalPackages
diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages index 77bf4a2..bd14936 100644
a b if [ IsOptionalHaikuImagePackageAdded Git ] { 184 184 185 185 # NetFS network file system 186 186 if [ IsOptionalHaikuImagePackageAdded NetFS ] { 187 # TODO: Make this an actual package! 188 # # userlandfs module 189 # AddFilesToHaikuImage home config add-ons userlandfs 190 # : netfs ; 191 # 192 # # servers 193 # AddFilesToHaikuImage system servers : netfs_server ; 194 # AddFilesToHaikuImage system servers 195 # : authentication_server ; 196 # 197 # # tools 198 # AddFilesToHaikuImage system bin : netfs_config ; 199 # AddFilesToHaikuImage system bin : netfs_server_prefs ; 200 # 201 # #example settings for netfs_server 202 # local netfsServerSettingsFiles = <driver-settings>netfs-server ; 203 # SEARCH on $(netfsServerSettingsFiles) 204 # = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems netfs ] ; 205 # AddFilesToHaikuImage home config settings kernel drivers 206 # : $(netfsServerSettingsFiles) ; 207 # 208 # #userlandfs settings are needed for netfs_config to work (ioctls) 209 # local userlandfsServerSettingsFiles = <driver-settings>userlandfs ; 210 # SEARCH on $(userlandfsServerSettingsFiles) 211 # = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems userlandfs ] ; 212 # AddFilesToHaikuImage home config settings kernel drivers 213 # : $(userlandfsServerSettingsFiles) ; 187 AddPackageFilesToHaikuImage system : netfs.hpkg ; 214 188 } 215 189 216 190 -
new file uild/jam/packages/NetFS
diff --git a/build/jam/packages/NetFS b/build/jam/packages/NetFS new file mode 100644 index 0000000..07a6b92
- + 1 local netfsPackage = netfs.hpkg ; 2 HaikuPackage $(netfsPackage) ; 3 4 # userlandfs module 5 AddFilesToPackage add-ons userlandfs : netfs ; 6 7 # servers 8 AddFilesToPackage servers : netfs_server ; 9 AddFilesToPackage servers : authentication_server ; 10 11 # tools 12 AddFilesToPackage bin : netfs_config ; 13 AddFilesToPackage bin : netfs_server_prefs ; 14 15 #docs 16 AddFilesToPackage documentation add-ons : 17 [ FDirName $(HAIKU_TOP) docs add-ons NetFS.html ] : NetFS.html ; 18 19 BuildHaikuPackage $(netfsPackage) : netfs ; -
new file docs/add-ons/NetFS.html
diff --git a/docs/add-ons/NetFS.html b/docs/add-ons/NetFS.html new file mode 100644 index 0000000..08cb726
- + 1 <!-- 2 If you move this file, you must update the package rules file at 3 build/jam/packages/NetFS to reflect the new location. 4 Otherwise the package will not build. 5 --> 6 <html> 7 <head> 8 <title>NetFS</title> 9 <style> 10 .code { 11 font-family: monospace; 12 background: #eee; 13 border: 1px solid black; 14 whitespace: pre; 15 padding: 1em; 16 } 17 span.code { 18 padding: 0; 19 border: 0; 20 } 21 </style> 22 </head> 23 <body> 24 25 <h1 align="center">NetFS</h1> 26 27 <hr /> 28 29 <h2 align="center">UserlandFS Settings</h2> 30 31 <p>Before you can use NetFS, you must configure UserlandFS to enable it. Unfortunately, there is no tool for this yet, so you must edit the settings file by hand.</p> 32 33 <p>The file is located at <span class="code">/boot/home/config/settings/kernel/drivers/netfs-server</span>. (If this is the first UserlandFS add-on you have enabled on your system, you may need to create the file.) Add the following settings.</p> 34 35 <pre class="code"> 36 # NetFS 37 file_system netfs { 38 # NET_FS_IOCTL_ADD_SERVER 39 ioctl 11000 { 40 buffer_size 256 41 write_buffer_size 0 42 is_buffer true 43 } 44 45 # NET_FS_IOCTL_REMOVE_SERVER 46 ioctl 11001 { 47 buffer_size 256 48 write_buffer_size 0 49 is_buffer true 50 } 51 } 52 </pre> 53 54 <hr /> 55 56 <h2 align="center">Client</h2> 57 58 <p>To run the client, execute the following at the command line: 59 60 <pre class="code"> 61 $ /system/servers/authentication_server & 62 $ mkdir /network 63 $ mount -t userlandfs -p "netfs" "" /network 64 </pre> 65 66 <p>A "Network" icon will appear on your desktop, containing remote servers identified by host name. Inside the folder for each server are the shares on that server.</p> 67 68 <hr /> 69 70 <h2 align="center">Server</h2> 71 72 <p>If you want to host shares, you must define them. The first step is to create a user who can access those shares, optionally with a password.</p> 73 74 <pre class="code"> 75 $ netfs_server_prefs add user <name> [<password>] 76 </pre> 77 78 <p>Next create a share and assign a user some permissions on that share.</p> 79 80 <pre class="code"> 81 $ netfs_server_prefs add share <name> <path> 82 $ netfs_server_prefs permissions <user> <share> <flags> 83 </pre> 84 85 <p><span class="code">name</span> is the name that will appear to clients when they connect to your server. <span class="code">flags</span> is one or more of: 86 <span class="code">m</span> = mount, <span class="code">r</span> = read, <span class="code">w</span> = write, <span class="code">q</span> = query.</p> 87 88 <p>Don't forget to save your settings.</p> 89 90 <pre class="code"> 91 $ netfs_server_prefs save 92 </pre> 93 94 <p>Finally, run the server.</p> 95 96 <pre class="code"> 97 $ netfs_server_prefs launch 98 ... time passes ... 99 $ netfs_server_prefs terminate 100 </pre> 101 102 <p>You can also start the server directly if you prefer.</p> 103 104 <pre class="code"> 105 $ /system/servers/netfs_server & 106 </pre> 107 108 <p>The <span class="code">netfs_server_prefs</span> tool can also list and remove users and shares. See the help for details.</p> 109 110 <pre class="code"> 111 $ netfs_server_prefs --help 112 </pre> 113 114 <hr /> 115 116 <h2 align="center">Settings file</h2> 117 118 <p>If you prefer, you can edit the settings file by hand. It is located at <span class="code">/boot/home/config/settings/kernel/drivers/netfs-server</span>. Here is an example of what the various entries look like.</p> 119 120 <pre class="code"> 121 # users 122 user bonefish { 123 password password 124 } 125 126 # user without a password 127 user anonymous 128 129 # shares 130 share ttttt { 131 path /boot/home/Desktop/ttttt 132 user bonefish { 133 permissions mount query read write 134 } 135 } 136 137 share sub-ttttt { 138 path /boot/home/Desktop/ttttt/rmessage 139 user bonefish { 140 permissions mount query read write 141 } 142 user anonymous { 143 permissions mount query read 144 } 145 } 146 </pre> 147 148 </body> -
deleted file src/add-ons/kernel/file_systems/netfs/netfs-server
diff --git a/src/add-ons/kernel/file_systems/netfs/netfs-server b/src/add-ons/kernel/file_systems/netfs/netfs-server deleted file mode 100644 index f386682..0000000
+ - 1 # netfs server settings2 #3 # Lives in /boot/home/config/settings/kernel/drivers/.4 5 # users6 user bonefish {7 password password8 }9 10 user anonymous11 12 # shares13 share ttttt {14 path /boot/home/Desktop/ttttt15 user bonefish {16 permissions mount query read write17 }18 }19 20 share sub-ttttt {21 path /boot/home/Desktop/ttttt/rmessage22 user bonefish {23 permissions mount query read write24 }25 }26 27 #share home {28 # path /boot/home29 # user bonefish {30 # permissions mount query read write31 # }32 #}33 34 #share tmp {35 # path /boot/home/tmp36 # user bonefish {37 # permissions mount query read write38 # }39 # user anonymous {40 # permissions mount query read41 # }42 #} -
deleted file src/add-ons/kernel/file_systems/userlandfs/userlandfs
diff --git a/src/add-ons/kernel/file_systems/userlandfs/userlandfs b/src/add-ons/kernel/file_systems/userlandfs/userlandfs deleted file mode 100644 index 050f4e3..0000000
+ - 1 # userlandfs settings2 #3 # Lives in /boot/home/config/settings/kernel/drivers/.4 5 # OpenBFS6 file_system obfs {7 # BFS_IOCTL_VERSION8 ioctl 14200 {9 buffer_size 010 write_buffer_size 411 is_buffer true12 }13 14 # BFS_IOCTL_START_CHECKING15 ioctl 14201 {16 buffer_size 31217 write_buffer_size 31218 is_buffer true19 }20 21 # BFS_IOCTL_STOP_CHECKING22 ioctl 14202 {23 buffer_size 31224 write_buffer_size 31225 is_buffer true26 }27 28 # BFS_IOCTL_CHECK_NEXT_NODE29 ioctl 14203 {30 buffer_size 31231 write_buffer_size 31232 is_buffer true33 }34 35 # allocate and zero all free blocks36 ioctl 56742 {37 buffer_size 038 write_buffer_size 039 is_buffer false40 }41 42 # dump superblock43 ioctl 56743 {44 buffer_size 045 write_buffer_size 046 is_buffer false47 }48 49 # dump inode50 ioctl 56744 {51 buffer_size 052 write_buffer_size 053 is_buffer false54 }55 56 # dump inode block57 ioctl 56745 {58 buffer_size 059 write_buffer_size 060 is_buffer false61 }62 63 }64 65 # NetFS66 file_system netfs {67 # NET_FS_IOCTL_ADD_SERVER68 ioctl 11000 {69 buffer_size 25670 write_buffer_size 071 is_buffer true72 }73 74 # NET_FS_IOCTL_REMOVE_SERVER75 ioctl 11001 {76 buffer_size 25677 write_buffer_size 078 is_buffer true79 }80 } -
new file src/data/package_infos/generic/netfs
diff --git a/src/data/package_infos/generic/netfs b/src/data/package_infos/generic/netfs new file mode 100644 index 0000000..91806d7
- + 1 name netfs 2 version %HAIKU_VERSION% 3 architecture %HAIKU_PACKAGING_ARCH% 4 summary "NetFS" 5 6 description "The package contains the NetFS add-on and servers." 7 8 packager "The Haiku build system" 9 vendor "Haiku Project" 10 11 copyrights "2001-2014 Haiku, Inc. et al" 12 licenses "MIT" 13 14 provides { 15 netfs = %HAIKU_VERSION% compat >= R1~alpha1 16 } 17 18 requires { 19 userlandfs == %HAIKU_VERSION% base 20 }