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