xref: /haiku/build/jam/images/definitions/minimum (revision fc7456e9b1ec38c941134ed6d01c438cf289381e)
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		vmxnet
336		vt612x
337	}@ # x86,x86_64,riscv64
338
339	etherpci
340	pegasus
341	usb_asix
342	usb_davicom
343	usb_rndis
344	wb840
345] ;
346
347SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures
348	acpi_button@x86,x86_64
349] ;
350
351SYSTEM_ADD_ONS_DRIVERS_SENSOR = [ FFilterByBuildFeatures
352	acpi_als@x86,x86_64
353] ;
354
355
356SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
357	acpi@x86,x86_64,arm64
358	agp_gart@x86,x86_64
359	ata
360	i2c@x86,x86_64
361	isa@x86,x86_64
362	mmc
363	scsi
364	pci
365	ps2@x86,x86_64
366	fdt@riscv64,arm,arm64
367	random
368	usb
369	virtio
370] ;
371
372SYSTEM_ADD_ONS_FILE_SYSTEMS =
373	attribute_overlay
374	bfs
375	bindfs
376	btrfs
377	exfat
378	ext2
379	fat
380	iso9660
381	log_overlay
382	ntfs
383	packagefs
384	ramfs
385	reiserfs
386	udf
387	write_overlay
388;
389
390# symlink to home on desktop
391AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
392
393# global settings when a package is installed in ~/config
394AddDirectoryToHaikuImage home config settings global ;
395
396# user scripts and data files
397local userBootScripts = UserBootscript UserSetupEnvironment.sample ;
398SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ;
399AddFilesToHaikuImage home config settings boot : $(userBootScripts) ;
400
401SEARCH on <user-first-login>first_login
402	= [ FDirName $(HAIKU_TOP) data settings ] ;
403AddFilesToHaikuImage home config settings : <user-first-login>first_login ;
404
405local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
406local etcFiles = inputrc profile ;
407etcFiles = $(etcFiles:G=etc) ;
408SEARCH on $(etcFiles) = $(etcDir) ;
409AddFilesToHaikuImage system settings etc : $(etcFiles) ;
410
411local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
412profileFiles = $(profileFiles:G=profile-d) ;
413AddDirectoryToHaikuImage system settings etc profile.d ;
414AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ;
415
416local driverSettingsFiles = <driver-settings>kernel ;
417SEARCH on $(driverSettingsFiles)
418	= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
419AddFilesToHaikuImage home config settings kernel drivers
420	: $(driverSettingsFiles) ;
421
422local networkSettingsFiles = <network-settings>services
423	<network-settings>hosts ;
424
425SEARCH on $(networkSettingsFiles)
426	= [ FDirName $(HAIKU_TOP) data settings network ] ;
427AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
428
429# repository config and cache files
430local repository ;
431for repository in $(HAIKU_REPOSITORIES) {
432	local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ;
433	local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ;
434	if $(HAIKU_UPDATE_ALL_PACKAGES) {
435		HAIKU_INCLUDE_IN_IMAGE on $(config) $(cache) = 1 ;
436	}
437	AddFilesToHaikuImage system settings package-repositories
438		: $(config) : $(repository:G=) ;
439	AddFilesToHaikuImage system cache package-repositories
440		: $(cache) : $(repository:G=) ;
441}
442