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	ftp@libedit 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 rmattr rmindex roster route
25	safemode screen_blanker screeninfo screenmode setarch setmime settype
26	setversion setvolume shutdown
27	strace su sysinfo system_time
28	tcptester telnet telnetd top
29	traceroute trash
30	unchop unmount
31	urlwrapper useradd userdel
32	version vmstat
33	waitfor watch writembr@x86,x86_64 xres
34] ;
35
36SYSTEM_APPS = [ FFilterByBuildFeatures
37	AboutSystem
38	BootManager@x86,x86_64
39	CharacterMap
40	Debugger@libedit DeskCalc Devices DiskProbe DiskUsage DriveSetup
41	Expander
42	NetworkStatus
43	ProcessController
44	ShowImage StyledEdit
45	Terminal TextSearch
46	Workspaces
47] ;
48
49DESKBAR_APPLICATIONS =
50	CharacterMap
51	DeskCalc Devices DiskProbe DiskUsage DriveSetup
52	Expander
53	StyledEdit
54	Terminal
55;
56
57DESKBAR_DESKTOP_APPLETS =
58	NetworkStatus
59	ProcessController
60	Workspaces
61;
62
63SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
64	Appearance
65	Backgrounds
66	<preference>Deskbar
67	FileTypes
68	Keyboard Keymap
69	Locale
70	Mouse
71	Network Notifications
72	Screen Shortcuts
73	Time Touchpad <preference>Tracker
74	VirtualMemory
75] ;
76
77SYSTEM_DEMOS = ;
78
79
80rule HaikuImageGetSystemLibs
81{
82	return
83		# libs with special grist
84		[ MultiArchDefaultGristFiles libroot.so : revisioned ]
85		[ Libstdc++ForImage ]
86		# libs with standard grist
87		[ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
88			libbe.so libbsd.so libbnetapi.so
89			libdebug.so
90			libdebugger.so@primary
91			libdevice.so
92			libgnu.so
93			libnetwork.so
94			libpackage.so
95			libtextencoding.so libtracker.so libtranslation.so
96		] ]
97		;
98}
99
100
101rule HaikuImageGetPrivateSystemLibs
102{
103	return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
104		libalm.so
105		libpackage-add-on-libsolv.so
106		libroot-addon-icu.so
107	] ] ;
108}
109
110
111SYSTEM_SERVERS = [ FFilterByBuildFeatures
112	app_server
113	debug_server dns_resolver_server
114	input_server
115	keystore_server
116	launch_daemon
117	mount_server
118	net_server notification_server
119	package_daemon power_daemon
120	registrar
121	syslog_daemon
122] ;
123
124SYSTEM_NETWORK_DEVICES =
125	ethernet
126	loopback
127;
128
129SYSTEM_NETWORK_DATALINK_PROTOCOLS =
130	<module>arp
131	ethernet_frame
132	ipv6_datagram
133	loopback_frame
134;
135
136#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe KPPPManager ;
137
138SYSTEM_NETWORK_PROTOCOLS =
139	icmp icmp6 ipv4 ipv6
140	tcp
141	udp unix
142;
143
144SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
145	x86,x86_64 @{
146		vesa.accelerant
147	}@ # x86,x86_64
148] ;
149
150SYSTEM_ADD_ONS_TRANSLATORS =
151	STXTTranslator
152;
153
154SYSTEM_ADD_ONS_LOCALE_CATALOGS =
155	<catalog-addon>plaintext
156;
157
158SYSTEM_ADD_ONS_MEDIA = ;
159
160SYSTEM_ADD_ONS_MEDIA_PLUGINS =  ;
161
162SYSTEM_ADD_ONS_PRINT = ;
163
164SYSTEM_ADD_ONS_PRINT_TRANSPORT = ;
165
166SYSTEM_ADD_ONS_SCREENSAVERS = ;
167
168SYSTEM_ADD_ONS_DRIVERS_AUDIO = ;
169
170SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ;
171
172SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
173	x86,x86_64 @{
174		vesa
175	}@ # x86,x86_64
176] ;
177
178SYSTEM_ADD_ONS_DRIVERS_MIDI = ;
179
180SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
181	x86,x86_64 @{
182		3com
183		atheros813x ar81xx attansic_l1 attansic_l2
184		broadcom440x broadcom570x
185		dec21xxx
186		emulex_oce
187		ipro100 ipro1000
188		jmicron2x0
189		marvell_yukon
190		nforce
191		pcnet
192		rtl8139 rtl81xx
193		sis19x sis900 syskonnect
194		via_rhine vt612x
195	}@ # x86,x86_64
196
197	etherpci
198	pegasus
199	usb_asix usb_davicom usb_ecm
200	wb840
201] ;
202
203SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures
204	acpi_button@x86,x86_64
205] ;
206
207SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
208	acpi@x86,x86_64	agp_gart@x86,x86_64 ata
209	config_manager
210	firewire@x86
211	scsi isa@x86,x86_64
212	pci ps2@x86,x86_64
213	random
214	usb
215	virtio
216] ;
217
218SYSTEM_ADD_ONS_FILE_SYSTEMS =
219	attribute_overlay
220	bfs bindfs btrfs
221	exfat ext2
222	fat
223	iso9660
224	log_overlay
225	ntfs
226	packagefs
227	reiserfs
228	udf
229	write_overlay
230;
231
232# symlink to home on desktop
233AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
234
235# global settings when a package is installed in ~/config
236AddDirectoryToHaikuImage home config settings global ;
237
238# user scripts and data files
239local userBootScripts = UserBootscript UserSetupEnvironment.sample ;
240SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ;
241AddFilesToHaikuImage home config settings boot : $(userBootScripts) ;
242
243SEARCH on <user-first-login>first_login
244	= [ FDirName $(HAIKU_TOP) data settings ] ;
245AddFilesToHaikuImage home config settings : <user-first-login>first_login ;
246
247local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
248local etcFiles = inputrc profile ;
249etcFiles = $(etcFiles:G=etc) ;
250SEARCH on $(etcFiles) = $(etcDir) ;
251etcFiles += <etc>termcap ;
252AddFilesToHaikuImage system settings etc : $(etcFiles) ;
253
254local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
255profileFiles = $(profileFiles:G=profile-d) ;
256AddDirectoryToHaikuImage system settings etc profile.d ;
257AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ;
258
259local driverSettingsFiles = <driver-settings>kernel ;
260SEARCH on $(driverSettingsFiles)
261	= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
262AddFilesToHaikuImage home config settings kernel drivers
263	: $(driverSettingsFiles) ;
264
265local networkSettingsFiles = <network-settings>services
266	<network-settings>hosts ;
267
268SEARCH on $(networkSettingsFiles)
269	= [ FDirName $(HAIKU_TOP) data settings network ] ;
270AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
271
272# fresh install indicator file for the post install scripts
273SEARCH on <post-install>fresh_install
274	= [ FDirName $(HAIKU_TOP) data system settings ] ;
275AddFilesToHaikuImage system settings : <post-install>fresh_install ;
276
277# repository config and cache files
278local repository ;
279for repository in $(HAIKU_REPOSITORIES) {
280	local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ;
281	local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ;
282	if $(HAIKU_UPDATE_ALL_PACKAGES) {
283		HAIKU_INCLUDE_IN_IMAGE on $(config) $(cache) = 1 ;
284	}
285	AddFilesToHaikuImage system settings package-repositories
286		: $(config) : $(repository:G=) ;
287	AddFilesToHaikuImage system cache package-repositories
288		: $(cache) : $(repository:G=) ;
289}
290