xref: /haiku/build/jam/images/definitions/minimum (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
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
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
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;
129
130SYSTEM_NETWORK_DATALINK_PROTOCOLS =
131	<module>arp
132	ethernet_frame
133	ipv6_datagram
134	loopback_frame
135;
136
137#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe KPPPManager ;
138
139SYSTEM_NETWORK_PROTOCOLS =
140	icmp icmp6 ipv4 ipv6
141	tcp
142	udp unix
143;
144
145SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
146	x86,x86_64,riscv64 @{
147		vesa.accelerant
148	}@ # x86,x86_64,riscv64
149	riscv64 @{
150		radeon_hd.accelerant
151	}@ # riscv64
152] ;
153
154SYSTEM_ADD_ONS_TRANSLATORS =
155	STXTTranslator
156;
157
158SYSTEM_ADD_ONS_LOCALE_CATALOGS =
159	<catalog-addon>plaintext
160;
161
162SYSTEM_ADD_ONS_MEDIA = ;
163
164SYSTEM_ADD_ONS_MEDIA_PLUGINS =  ;
165
166SYSTEM_ADD_ONS_PRINT = ;
167
168SYSTEM_ADD_ONS_PRINT_TRANSPORT = ;
169
170SYSTEM_ADD_ONS_SCREENSAVERS = ;
171
172SYSTEM_ADD_ONS_DRIVERS_AUDIO = ;
173
174SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ;
175
176SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
177	x86,x86_64,riscv64 @{
178		vesa
179	}@ # x86,x86_64,riscv64
180	riscv64 @{
181		radeon_hd
182	}@ # riscv64
183] ;
184
185SYSTEM_ADD_ONS_DRIVERS_MIDI = ;
186
187SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
188	x86,x86_64 @{
189		3com
190		atheros813x ar81xx attansic_l1 attansic_l2
191		broadcom440x broadcom570x
192		dec21xxx
193		emulex_oce
194		ipro100 ipro1000
195		jmicron2x0
196		marvell_yukon
197		nforce
198		pcnet
199		rtl8139 rtl81xx
200		sis19x sis900 syskonnect
201		via_rhine vt612x
202	}@ # x86,x86_64
203
204	etherpci
205	pegasus
206	usb_asix usb_davicom usb_ecm
207	wb840
208] ;
209
210SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures
211	acpi_button@x86,x86_64
212] ;
213
214SYSTEM_ADD_ONS_DRIVERS_SENSOR = [ FFilterByBuildFeatures
215	acpi_als@x86,x86_64
216] ;
217
218
219SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
220	acpi@x86,x86_64 agp_gart@x86,x86_64 ata
221	config_manager
222	i2c@x86,x86_64 isa@x86,x86_64
223	mmc
224	scsi
225	pci ps2@x86,x86_64
226	fdt@riscv64,arm
227	random
228	usb
229	virtio
230] ;
231
232SYSTEM_ADD_ONS_FILE_SYSTEMS =
233	attribute_overlay
234	bfs bindfs btrfs
235	exfat ext2
236	fat
237	iso9660
238	log_overlay
239	ntfs
240	packagefs
241	reiserfs
242	udf
243	write_overlay
244;
245
246# symlink to home on desktop
247AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
248
249# global settings when a package is installed in ~/config
250AddDirectoryToHaikuImage home config settings global ;
251
252# user scripts and data files
253local userBootScripts = UserBootscript UserSetupEnvironment.sample ;
254SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ;
255AddFilesToHaikuImage home config settings boot : $(userBootScripts) ;
256
257SEARCH on <user-first-login>first_login
258	= [ FDirName $(HAIKU_TOP) data settings ] ;
259AddFilesToHaikuImage home config settings : <user-first-login>first_login ;
260
261local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
262local etcFiles = inputrc profile ;
263etcFiles = $(etcFiles:G=etc) ;
264SEARCH on $(etcFiles) = $(etcDir) ;
265etcFiles += <etc>termcap ;
266AddFilesToHaikuImage system settings etc : $(etcFiles) ;
267
268local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
269profileFiles = $(profileFiles:G=profile-d) ;
270AddDirectoryToHaikuImage system settings etc profile.d ;
271AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ;
272
273local driverSettingsFiles = <driver-settings>kernel ;
274SEARCH on $(driverSettingsFiles)
275	= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
276AddFilesToHaikuImage home config settings kernel drivers
277	: $(driverSettingsFiles) ;
278
279local networkSettingsFiles = <network-settings>services
280	<network-settings>hosts ;
281
282SEARCH on $(networkSettingsFiles)
283	= [ FDirName $(HAIKU_TOP) data settings network ] ;
284AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
285
286# repository config and cache files
287local repository ;
288for repository in $(HAIKU_REPOSITORIES) {
289	local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ;
290	local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ;
291	if $(HAIKU_UPDATE_ALL_PACKAGES) {
292		HAIKU_INCLUDE_IN_IMAGE on $(config) $(cache) = 1 ;
293	}
294	AddFilesToHaikuImage system settings package-repositories
295		: $(config) : $(repository:G=) ;
296	AddFilesToHaikuImage system cache package-repositories
297		: $(cache) : $(repository:G=) ;
298}
299