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