xref: /haiku/build/jam/images/definitions/minimum (revision eea5774f46bba925156498abf9cb1a1165647bf7)
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