523b866f89
Also reduce code duplication by moving the respective code to HaikuImageCommon.
331 lines
12 KiB
Plaintext
331 lines
12 KiB
Plaintext
# This file defines what ends up on the Haiku image (respectively in the Haiku
|
|
# installation directory) and it executes the rules building the image
|
|
# (respectively installing the files in the installation directory).
|
|
|
|
|
|
SYSTEM_BIN = [ FFilterByBuildFeatures
|
|
"["
|
|
addattr alert arp
|
|
base64 basename bash bc beep bfsinfo
|
|
cal cat catattr checkfs checkitout chgrp chmod chop chown chroot cksum clear
|
|
clockconfig cmp collectcatkeys comm compress copyattr CortexAddOnHost cp
|
|
csplit cut date dc dd desklink df diff diff3 dircolors dirname
|
|
diskimage draggers driveinfo dstcheck du dumpcatalog
|
|
echo eject env error expand expr
|
|
factor false fdinfo ffm filepanel find finddir findpaths FirstBootPrompt fmt
|
|
fold fortune frcode fstrim ftp ftpd funzip fwcontrol@x86
|
|
gawk gdb@x86 getarch getlimits groupadd groupdel groupmod groups gzip gzexe
|
|
hd head hey hostname
|
|
id ident ifconfig <bin>install installsound iroster isvolume
|
|
ideinfo@ide idestatus@ide
|
|
join kernel_debugger keymap keystore kill
|
|
less lessecho lesskey link linkcatkeys listarea listattr listimage listdev
|
|
listport listres listsem listusb ln locale locate logger login logname ls
|
|
lsindex
|
|
mail2mbox makebootable mbox2mail md5sum merge message mimeset mkdos mkdir
|
|
mkfifo mkfs mkindex mktemp modifiers mount mount_nfs mountvolume mv
|
|
netcat netstat nl nohup notify nproc
|
|
od open
|
|
package package_repo passwd paste patch pathchk pc ping ping6 pkgman play
|
|
playfile playsound playwav pr prio printenv printf profile ps ptx pwd
|
|
query quit
|
|
rc readlink reindex release renice rlog rm rmattr rmindex rmdir roster
|
|
route
|
|
safemode screen_blanker screenmode screenshot sdiff setarch setdecor setmime
|
|
settype setversion setvolume seq sha1sum sha256sum shar shred shuf shutdown
|
|
sleep sort spamdbm split stat strace stty su sum sync sysinfo
|
|
tac tail tcpdump tcptester tee telnet telnetd test timeout top touch
|
|
tr traceroute translate trash true truncate tsort tty
|
|
uname unchop unexpand unmount uniq unlink unshar unzip unzipsfx
|
|
<bin>updatedb uptime urlwrapper useradd userdel uudecode uuencode
|
|
vdir version vmstat
|
|
waitfor watch wc wget whoami writembr@x86 xargs xres
|
|
yes
|
|
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
|
] ;
|
|
|
|
SYSTEM_APPS = [ FFilterByBuildFeatures
|
|
AboutSystem ActivityMonitor BootManager@x86 CDPlayer CharacterMap
|
|
CodyCam Debugger DeskCalc Devices DiskProbe DiskUsage DriveSetup
|
|
Expander GLInfo@x86 HaikuDepot Icon-O-Matic Installer LaunchBox Magnify Mail
|
|
MediaConverter MediaPlayer MidiPlayer NetworkStatus PackageInstaller People
|
|
PoorMan PowerStatus ProcessController Screenshot SerialConnect ShowImage
|
|
SoundRecorder StyledEdit Terminal TextSearch TV WebWatch Workspaces
|
|
] ;
|
|
SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
|
|
Appearance Backgrounds CPUFrequency DataTranslations
|
|
<preference>Deskbar E-mail FileTypes Keyboard Keymap Locale Media
|
|
Mouse Network Notifications Printers Screen ScreenSaver
|
|
Shortcuts Sounds Time Touchpad <preference>Tracker VirtualMemory
|
|
] ;
|
|
SYSTEM_DEMOS = [ FFilterByBuildFeatures
|
|
BSnow Chart Clock Cortex FontDemo GLTeapot@x86
|
|
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d@x86 Mandelbrot OverlayImage Pairs
|
|
PatchBay Playground Pulse Sudoku
|
|
] ;
|
|
|
|
|
|
rule HaikuImageGetSystemLibs
|
|
{
|
|
return
|
|
# libs with special grist
|
|
[ MultiArchDefaultGristFiles libroot.so : revisioned ]
|
|
$(HAIKU_SHARED_LIBSTDC++_$(TARGET_PACKAGING_ARCH))
|
|
$(HAIKU_SHARED_LIBSUPC++_$(TARGET_PACKAGING_ARCH))
|
|
# libs with standard grist
|
|
[ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
|
|
libbe.so libbsd.so libbnetapi.so
|
|
libdebug.so libdevice.so
|
|
libgame.so libGL.so@x86 libglut.so@x86
|
|
libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so
|
|
libnetwork.so
|
|
libpackage.so
|
|
libscreensaver.so
|
|
libtextencoding.so libtiff.so libtracker.so libtranslation.so
|
|
] ]
|
|
;
|
|
}
|
|
|
|
|
|
rule HaikuImageGetPrivateSystemLibs
|
|
{
|
|
return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures
|
|
libalm.so
|
|
libfluidsynth.so
|
|
libilmimf.so
|
|
libpackage-add-on-libsolv.so
|
|
libroot-addon-icu.so
|
|
] ] ;
|
|
}
|
|
|
|
|
|
SYSTEM_SERVERS = [ FFilterByBuildFeatures
|
|
app_server cddb_daemon debug_server dns_resolver_server input_server
|
|
keystore_server mail_daemon media_addon_server media_server midi_server
|
|
mount_server net_server nfs4_idmapper_server notification_server
|
|
package_daemon power_daemon print_server print_addon_server registrar
|
|
syslog_daemon
|
|
] ;
|
|
|
|
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
|
|
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
|
ipv6_datagram ;
|
|
#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe ;
|
|
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix icmp6 ipv6 ;
|
|
|
|
SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
|
|
x86,x86_64 @{
|
|
vesa.accelerant intel_extreme.accelerant
|
|
}@ # x86,x86_64
|
|
x86 @{
|
|
3dfx.accelerant ati.accelerant matrox.accelerant neomagic.accelerant
|
|
nvidia.accelerant intel_810.accelerant
|
|
radeon.accelerant radeon_hd.accelerant s3.accelerant
|
|
#via.accelerant vmware.accelerant
|
|
}@ # x86
|
|
] ;
|
|
SYSTEM_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator
|
|
HVIFTranslator ICOTranslator ICNSTranslator JPEGTranslator
|
|
JPEG2000Translator PCXTranslator PNGTranslator PPMTranslator PSDTranslator
|
|
RAWTranslator RTFTranslator SGITranslator STXTTranslator TGATranslator
|
|
TIFFTranslator WebPTranslator WonderBrushTranslator
|
|
;
|
|
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>plaintext ;
|
|
SYSTEM_ADD_ONS_MEDIA = [ FFilterByBuildFeatures
|
|
cortex_audioadapter.media_addon
|
|
cortex_flanger.media_addon
|
|
dvb.media_addon@x86
|
|
hmulti_audio.media_addon
|
|
mixer.media_addon
|
|
opensound.media_addon
|
|
tone_producer_demo.media_addon
|
|
usb_webcam.media_addon
|
|
video_producer_demo.media_addon
|
|
video_window_demo.media_addon
|
|
firewire_dv.media_addon@x86
|
|
#legacy.media_addon
|
|
equalizer.media_addon
|
|
vst_host.media_addon
|
|
] ;
|
|
SYSTEM_ADD_ONS_MEDIA_PLUGINS = [ FFilterByBuildFeatures
|
|
ffmpeg@ffmpeg raw_decoder
|
|
] ;
|
|
SYSTEM_ADD_ONS_PRINT =
|
|
Canon\ LIPS3\ Compatible
|
|
Canon\ LIPS4\ Compatible
|
|
Gutenprint
|
|
PCL5\ Compatible
|
|
PCL6\ Compatible
|
|
PDF\ Writer
|
|
PS\ Compatible
|
|
Preview
|
|
;
|
|
SYSTEM_ADD_ONS_PRINT_TRANSPORT = HP\ JetDirect IPP LPR
|
|
# Parallel\ Port
|
|
Print\ To\ File Serial\ Port USB\ Port
|
|
;
|
|
SYSTEM_ADD_ONS_SCREENSAVERS = [ FFilterByBuildFeatures
|
|
Butterfly DebugNow Flurry@x86
|
|
GLife@x86 $(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves
|
|
Message Spider Gravity@x86
|
|
] ;
|
|
SYSTEM_ADD_ONS_DRIVERS_AUDIO = auich auvia echo3g emuxki hda ice1712 sis7018 ;
|
|
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ; #cmedia usb_audio ;
|
|
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
|
|
x86,x86_64 @{
|
|
vesa intel_extreme
|
|
}@ # x86,x86_64
|
|
x86 @{
|
|
ati 3dfx intel_810 matrox neomagic nvidia radeon radeon_hd
|
|
s3 #via vmware
|
|
}@ # x86
|
|
] ;
|
|
SYSTEM_ADD_ONS_DRIVERS_MIDI = emuxki ice1712 usb_midi ;
|
|
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
|
|
x86,x86_64 @{
|
|
3com atheros813x ar81xx attansic_l1 attansic_l2 broadcom440x
|
|
broadcom570x dec21xxx ipro100 ipro1000 jmicron2x0 marvell_yukon nforce
|
|
pcnet rtl8139 rtl81xx sis19x syskonnect via_rhine vt612x
|
|
}@ # x86,x86_64
|
|
|
|
etherpci pegasus sis900 usb_davicom usb_asix usb_ecm wb840
|
|
|
|
# WLAN drivers
|
|
x86,x86_64 @{
|
|
aironetwifi atheroswifi broadcom43xx
|
|
iprowifi2100 iprowifi2200 iprowifi3945
|
|
iprowifi4965 marvell88w8363 marvell88w8335
|
|
ralinkwifi wavelanwifi
|
|
}@ # x86,x86_64
|
|
|
|
# WWAN drivers
|
|
#usb_beceemwmx@gpl
|
|
] ;
|
|
SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures
|
|
acpi_battery@x86,x86_64 acpi_button@x86,x86_64
|
|
] ;
|
|
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
|
ata@ata pci ps2@x86,x86_64 isa@x86,x86_64
|
|
ide@ide scsi config_manager agp_gart@x86,x86_64 usb firewire@x86
|
|
acpi@x86,x86_64 virtio random
|
|
] ;
|
|
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs cdda exfat ext2 fat iso9660 nfs
|
|
nfs4 attribute_overlay write_overlay ntfs packagefs reiserfs@x86 udf
|
|
googlefs ;
|
|
|
|
|
|
# build the haiku system packages and add them
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
|
|
|
|
AddPackageFilesToHaikuImage system :
|
|
haiku_loader.hpkg
|
|
haiku.hpkg
|
|
haiku_$(TARGET_PACKAGING_ARCHS[2-]).hpkg
|
|
:
|
|
nameFromMetaInfo
|
|
;
|
|
|
|
|
|
AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
|
|
|
|
# Mailbox folders and symlink
|
|
AddDirectoryToHaikuImage home mail draft ;
|
|
AddDirectoryToHaikuImage home mail in ;
|
|
AddDirectoryToHaikuImage home mail out ;
|
|
|
|
# global settings when a package is installed in ~/config
|
|
AddDirectoryToHaikuImage home config settings global ;
|
|
|
|
|
|
# scripts and data files
|
|
local userBootScripts = UserBootscript UserSetupEnvironment.sample ;
|
|
SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ;
|
|
AddFilesToHaikuImage home config settings boot : $(userBootScripts) ;
|
|
|
|
# Add boot launch directory
|
|
AddDirectoryToHaikuImage home config settings boot launch ;
|
|
|
|
# Add mail provider infos.
|
|
AddFilesToHaikuImage home config settings Mail ProviderInfo :
|
|
$(HAIKU_PROVIDER_INFOS) ;
|
|
|
|
# Add Tracker New Templates
|
|
AddFilesToHaikuImage home config settings Tracker "Tracker New Templates"
|
|
:
|
|
"<tracker-new-templates>C++ header"
|
|
"<tracker-new-templates>C++ source"
|
|
"<tracker-new-templates>makefile"
|
|
"<tracker-new-templates>text file"
|
|
;
|
|
|
|
local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
|
|
local etcFiles = inputrc profile ;
|
|
etcFiles = $(etcFiles:G=etc) ;
|
|
SEARCH on $(etcFiles) = $(etcDir) ;
|
|
etcFiles += <etc>termcap <etc>sysless <etc>sysless.in ;
|
|
AddFilesToHaikuImage system settings etc : $(etcFiles) ;
|
|
|
|
local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
|
|
profileFiles = $(profileFiles:G=profile-d) ;
|
|
AddDirectoryToHaikuImage system settings etc profile.d ;
|
|
AddFilesToHaikuImage system settings etc profile.d : $(profileFiles) ;
|
|
|
|
#local bashCompletionFiles = [ Glob $(etcDir)/bash_completion.d : * ] ;
|
|
#local bashCompletionHelperFiles
|
|
# = [ Glob $(etcDir)/bash_completion.d/helpers : * ] ;
|
|
#bashCompletionFiles = $(bashCompletionFiles:G=bash-completion) ;
|
|
#bashCompletionHelperFiles = $(bashCompletionHelperFiles:G=bash-completion-hlp) ;
|
|
#AddDirectoryToHaikuImage system etc bash_completion.d ;
|
|
#AddDirectoryToHaikuImage system etc bash_completion.d helpers ;
|
|
#AddFilesToHaikuImage system etc bash_completion.d : $(bashCompletionFiles) ;
|
|
#AddFilesToHaikuImage system etc bash_completion.d helpers
|
|
# : $(bashCompletionHelperFiles) ;
|
|
|
|
local driverSettingsFiles = <driver-settings>kernel ;
|
|
SEARCH on $(driverSettingsFiles)
|
|
= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
|
|
AddFilesToHaikuImage home config settings kernel drivers
|
|
: $(driverSettingsFiles) ;
|
|
|
|
local networkSettingsFiles = <network-settings>services ;
|
|
SEARCH on $(networkSettingsFiles)
|
|
= [ FDirName $(HAIKU_TOP) data settings network ] ;
|
|
AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
|
|
|
|
# fresh install indicator file for the post install scripts
|
|
SEARCH on <post-install>fresh_install
|
|
= [ FDirName $(HAIKU_TOP) data system settings ] ;
|
|
AddFilesToHaikuImage system settings : <post-install>fresh_install ;
|
|
|
|
# decorators
|
|
AddDirectoryToHaikuImage home config non-packaged add-ons decorators ;
|
|
#AddFilesToHaikuImage home config add-ons decorators : ;
|
|
|
|
# printers
|
|
AddDirectoryToHaikuImage home config settings printers Preview
|
|
: home-config-settings-printers-preview.rdef ;
|
|
AddDirectoryToHaikuImage home config settings printers "Save as PDF"
|
|
: home-config-settings-printers-save-as-pdf.rdef ;
|
|
|
|
# dvb channel settings
|
|
CopyDirectoryToHaikuImage home config settings Media
|
|
: [ FDirName $(HAIKU_TOP) data settings media dvb ]
|
|
: dvb : -x Jamfile ;
|
|
|
|
# repository config and cache files
|
|
local repository ;
|
|
for repository in $(HAIKU_REPOSITORIES) {
|
|
local config = [ on $(repository) return $(HAIKU_REPOSITORY_CONFIG_FILE) ] ;
|
|
local cache = [ on $(repository) return $(HAIKU_REPOSITORY_CACHE_FILE) ] ;
|
|
if $(HAIKU_UPDATE_ALL_PACKAGES) {
|
|
HAIKU_INCLUDE_IN_IMAGE on $(config) $(cache) = 1 ;
|
|
}
|
|
AddFilesToHaikuImage system settings package-repositories
|
|
: $(config) : $(repository:G=) ;
|
|
AddFilesToHaikuImage system cache package-repositories
|
|
: $(cache) : $(repository:G=) ;
|
|
}
|
|
|
|
|
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageCommon ] ;
|