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