1# This file defines the content of the minimum Haiku image. 2 3SYSTEM_BIN = [ FFilterByBuildFeatures 4 addattr 5 alert 6 arp 7 autologin 8 beep 9 bfsinfo 10 catattr 11 checkfs 12 checkitout 13 chop 14 clear 15 collectcatkeys 16 copyattr 17 desklink 18 df 19 diskimage 20 draggers 21 driveinfo 22 dstcheck 23 dumpcatalog 24 eject 25 error 26 fdinfo 27 ffm 28 filepanel 29 finddir 30 findpaths 31 fortune 32 fstrim 33 ftpd 34 getarch 35 groupadd 36 groupdel 37 groupmod 38 hd 39 hey 40 ifconfig 41 iroster 42 isvolume 43 kernel_debugger 44 keymap 45 keystore 46 launch_roster 47 linkcatkeys 48 listarea 49 listattr 50 listimage 51 listdev 52 listfont 53 listport 54 listres 55 listsem 56 listusb 57 locale 58 logger 59 login 60 lsindex 61 makebootable 62 message 63 mimeset 64 mkfs 65 mkindex 66 modifiers 67 mount 68 mountvolume 69 netstat 70 notify 71 open 72 package 73 package_repo 74 passwd 75 pc 76 ping 77 pkgman 78 prio 79 profile 80 ps 81 query 82 quit 83 ramdisk 84 rc 85 reindex 86 release 87 renice 88 resattr 89 resizefs 90 rmattr 91 rmindex 92 roster 93 route 94 safemode 95 screen_blanker 96 screeninfo 97 screenmode 98 setarch 99 setmime 100 settype 101 setversion 102 setvolume 103 shutdown 104 strace 105 su 106 sysinfo 107 system_time 108 tcptester 109 telnet 110 telnetd 111 top 112 traceroute 113 trash 114 unchop 115 unmount 116 urlwrapper 117 useradd 118 userdel 119 version 120 vmstat 121 waitfor 122 watch 123 writembr@x86,x86_64 124 xres 125] ; 126 127SYSTEM_APPS = [ FFilterByBuildFeatures 128 AboutSystem 129 BootManager@x86,x86_64 130 CharacterMap 131 Debugger@libedit 132 DeskCalc 133 Devices 134 DiskProbe 135 DiskUsage 136 DriveSetup 137 Expander 138 Installer 139 NetworkStatus 140 ProcessController 141 ShowImage 142 StyledEdit 143 Terminal 144 TextSearch 145 Workspaces 146] ; 147 148DESKBAR_APPLICATIONS = 149 CharacterMap 150 DeskCalc 151 Devices 152 DiskProbe 153 DiskUsage 154 DriveSetup 155 Expander 156 Installer 157 StyledEdit 158 Terminal 159; 160 161DESKBAR_DESKTOP_APPLETS = 162 NetworkStatus 163 ProcessController 164 Workspaces 165; 166 167SYSTEM_PREFERENCES = [ FFilterByBuildFeatures 168 Appearance 169 Backgrounds 170 <preference>Deskbar 171 FileTypes 172 Input 173 Keymap 174 Locale 175 Network 176 Notifications 177 Screen 178 Shortcuts 179 Time 180 <preference>Tracker 181 VirtualMemory 182] ; 183 184SYSTEM_DEMOS = ; 185 186 187rule HaikuImageGetSystemLibs 188{ 189 return 190 # libs with special grist 191 [ MultiArchDefaultGristFiles libroot.so : revisioned ] 192 [ Libstdc++ForImage ] 193 # libs with standard grist 194 [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures 195 libbe.so 196 libbsd.so 197 libbnetapi.so 198 libdebug.so 199 libdebugger.so@primary 200 libdevice.so 201 libgnu.so 202 libnetwork.so 203 libpackage.so 204 libtextencoding.so 205 libtracker.so 206 libtranslation.so 207 ] ] 208 ; 209} 210 211 212rule HaikuImageGetPrivateSystemLibs 213{ 214 return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures 215 libalm.so 216 libpackage-add-on-libsolv.so 217 libroot-addon-icu.so 218 ] ] ; 219} 220 221 222SYSTEM_SERVERS = [ FFilterByBuildFeatures 223 app_server 224 debug_server 225 dns_resolver_server 226 input_server 227 keystore_server 228 launch_daemon 229 mount_server 230 net_server 231 notification_server 232 package_daemon 233 power_daemon 234 registrar 235 syslog_daemon 236] ; 237 238SYSTEM_NETWORK_DEVICES = 239 ethernet 240 loopback 241 tunnel 242; 243 244SYSTEM_NETWORK_DATALINK_PROTOCOLS = 245 <module>arp 246 ethernet_frame 247 ipv6_datagram 248 loopback_frame 249; 250 251#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe KPPPManager ; 252 253SYSTEM_NETWORK_PROTOCOLS = 254 icmp 255 icmp6 256 ipv4 257 ipv6 258 tcp 259 udp 260 unix 261; 262 263SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures 264 framebuffer.accelerant 265 x86,x86_64 @{ 266 vesa.accelerant 267 }@ # x86,x86_64 268 riscv64 @{ 269 # ati for qemu, radeon_hd for unmatched 270 ati.accelerant 271 radeon_hd.accelerant 272 }@ # riscv64 273] ; 274 275SYSTEM_ADD_ONS_TRANSLATORS = 276 STXTTranslator 277; 278 279SYSTEM_ADD_ONS_LOCALE_CATALOGS = 280 <catalog-addon>plaintext 281; 282 283SYSTEM_ADD_ONS_MEDIA = ; 284 285SYSTEM_ADD_ONS_MEDIA_PLUGINS = ; 286 287SYSTEM_ADD_ONS_PRINT = ; 288 289SYSTEM_ADD_ONS_PRINT_TRANSPORT = ; 290 291SYSTEM_ADD_ONS_SCREENSAVERS = ; 292 293SYSTEM_ADD_ONS_DRIVERS_AUDIO = ; 294 295SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ; 296 297SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures 298 framebuffer 299 x86,x86_64 @{ 300 vesa 301 }@ # x86,x86_64 302 riscv64 @{ 303 # ati for qemu, radeon_hd for unmatched 304 ati 305 radeon_hd 306 }@ # riscv64 307] ; 308 309SYSTEM_ADD_ONS_DRIVERS_MIDI = ; 310 311SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures 312 x86,x86_64,riscv64 @{ 313 3com 314 atheros813x 315 atheros81xx 316 attansic_l1 317 attansic_l2 318 broadcom440x 319 broadcom570x 320 dec21xxx 321 ipro100 322 ipro1000 323 intel22x 324 jmicron2x0 325 marvell_yukon 326 nforce 327 pcnet 328 rtl8125 329 rtl8139 330 rtl81xx 331 sis19x 332 sis900 333 syskonnect 334 via_rhine 335 vt612x 336 }@ # x86,x86_64,riscv64 337 338 etherpci 339 pegasus 340 usb_asix 341 usb_davicom 342 usb_rndis 343 wb840 344] ; 345 346SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures 347 acpi_button@x86,x86_64 348] ; 349 350SYSTEM_ADD_ONS_DRIVERS_SENSOR = [ FFilterByBuildFeatures 351 acpi_als@x86,x86_64 352] ; 353 354 355SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures 356 acpi@x86,x86_64,arm64 357 agp_gart@x86,x86_64 358 ata 359 i2c@x86,x86_64 360 isa@x86,x86_64 361 mmc 362 scsi 363 pci 364 ps2@x86,x86_64 365 fdt@riscv64,arm,arm64 366 random 367 usb 368 virtio 369] ; 370 371SYSTEM_ADD_ONS_FILE_SYSTEMS = 372 attribute_overlay 373 bfs 374 bindfs 375 btrfs 376 exfat 377 ext2 378 fat 379 iso9660 380 log_overlay 381 ntfs 382 packagefs 383 ramfs 384 reiserfs 385 udf 386 write_overlay 387; 388 389# symlink to home on desktop 390AddSymlinkToHaikuImage home Desktop : /boot/home : Home ; 391 392# global settings when a package is installed in ~/config 393AddDirectoryToHaikuImage home config settings global ; 394 395# user scripts and data files 396local userBootScripts = UserBootscript UserSetupEnvironment.sample ; 397SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ; 398AddFilesToHaikuImage home config settings boot : $(userBootScripts) ; 399 400SEARCH on <user-first-login>first_login 401 = [ FDirName $(HAIKU_TOP) data settings ] ; 402AddFilesToHaikuImage home config settings : <user-first-login>first_login ; 403 404local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ; 405local etcFiles = inputrc profile ; 406etcFiles = $(etcFiles:G=etc) ; 407SEARCH on $(etcFiles) = $(etcDir) ; 408AddFilesToHaikuImage system settings etc : $(etcFiles) ; 409 410local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ; 411profileFiles = $(profileFiles:G=profile-d) ; 412AddDirectoryToHaikuImage system settings etc profile.d ; 413AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ; 414 415local driverSettingsFiles = <driver-settings>kernel ; 416SEARCH on $(driverSettingsFiles) 417 = [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ; 418AddFilesToHaikuImage home config settings kernel drivers 419 : $(driverSettingsFiles) ; 420 421local networkSettingsFiles = <network-settings>services 422 <network-settings>hosts ; 423 424SEARCH on $(networkSettingsFiles) 425 = [ FDirName $(HAIKU_TOP) data settings network ] ; 426AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ; 427 428# repository config and cache files 429local repository ; 430for repository in $(HAIKU_REPOSITORIES) { 431 local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ; 432 local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ; 433 if $(HAIKU_UPDATE_ALL_PACKAGES) { 434 HAIKU_INCLUDE_IN_IMAGE on $(config) $(cache) = 1 ; 435 } 436 AddFilesToHaikuImage system settings package-repositories 437 : $(config) : $(repository:G=) ; 438 AddFilesToHaikuImage system cache package-repositories 439 : $(cache) : $(repository:G=) ; 440} 441