Refactor definition of Haiku image contents.
* Move actual definitions of respective image contents to files underneath build/jam/images/definitions (minimum, bootstrap, regular). * HaikuImage now only includes the image definitions for the selected build profile and adds the Haiku packages. * Simplified topmost Jamfile to some extent. * Move definition of DESKBAR_APPLICATIONS and DESKBAR_DESKTOP_APPLETS from build/jam/packages/Haiku to the respective image definition file. * Sort and reformat several lists to make them more readable.
This commit is contained in:
parent
1d50d90fbe
commit
ff35d6c18a
12
Jamfile
12
Jamfile
|
@ -80,14 +80,10 @@ UserBuildConfigRulePostBuildTargets ;
|
||||||
# specify the Haiku repository contents
|
# specify the Haiku repository contents
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories Haiku ] ;
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) repositories Haiku ] ;
|
||||||
|
|
||||||
# specify the Haiku image and network boot archive contents
|
# specify the actual Haiku image contents
|
||||||
if $(HAIKU_BOOTSTRAP_BUILD) {
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ;
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageBootstrap ] ;
|
|
||||||
} else if $(HAIKU_MINIMUM_BUILD) {
|
# specify the additional image contents one for each boot type
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageMinimum ] ;
|
|
||||||
} else {
|
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImage ] ;
|
|
||||||
}
|
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ;
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images NetBootArchive ] ;
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ;
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images FloppyBootImage ] ;
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ;
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images CDBootImage ] ;
|
||||||
|
|
|
@ -2,220 +2,15 @@
|
||||||
# installation directory) and it executes the rules building the image
|
# installation directory) and it executes the rules building the image
|
||||||
# (respectively installing the files in the installation directory).
|
# (respectively installing the files in the installation directory).
|
||||||
|
|
||||||
|
# import the defintions of the image content
|
||||||
SYSTEM_BIN = [ FFilterByBuildFeatures
|
if $(HAIKU_BOOTSTRAP_BUILD) {
|
||||||
"["
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images definitions bootstrap ] ;
|
||||||
addattr alert arp
|
} else if $(HAIKU_MINIMUM_BUILD) {
|
||||||
base64 basename bash bc beep bfsinfo
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images definitions minimum ] ;
|
||||||
cal cat catattr checkfs checkitout chgrp chmod chop chown chroot cksum clear
|
} else {
|
||||||
clockconfig cmp collectcatkeys comm compress copyattr CortexAddOnHost cp
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images definitions regular ] ;
|
||||||
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 finddir findpaths FirstBootPrompt fmt
|
|
||||||
fold fortune fstrim ftp ftpd funzip fwcontrol@x86
|
|
||||||
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 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
|
|
||||||
uptime urlwrapper useradd userdel uudecode uuencode
|
|
||||||
vdir version vmstat
|
|
||||||
waitfor watch wc wget whoami writembr@x86,x86_64 xres
|
|
||||||
yes
|
|
||||||
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
|
||||||
] ;
|
|
||||||
|
|
||||||
SYSTEM_APPS = [ FFilterByBuildFeatures
|
|
||||||
AboutSystem ActivityMonitor BootManager@x86,x86_64 CDPlayer CharacterMap
|
|
||||||
CodyCam Debugger DeskCalc Devices DiskProbe DiskUsage DriveSetup
|
|
||||||
Expander GLInfo@mesa 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 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@mesa
|
|
||||||
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d@mesa 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 libglut.so@mesa
|
|
||||||
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 @{
|
|
||||||
intel_810.accelerant intel_extreme.accelerant matrox.accelerant
|
|
||||||
nvidia.accelerant radeon.accelerant
|
|
||||||
radeon_hd.accelerant vesa.accelerant
|
|
||||||
#via.accelerant vmware.accelerant
|
|
||||||
}@ # x86,x86_64
|
|
||||||
x86 @{
|
|
||||||
3dfx.accelerant ati.accelerant neomagic.accelerant s3.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@mesa
|
|
||||||
GLife@mesa $(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves
|
|
||||||
Message Spider Gravity@mesa
|
|
||||||
] ;
|
|
||||||
|
|
||||||
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 @{
|
|
||||||
intel_810 intel_extreme matrox nvidia radeon radeon_hd vesa
|
|
||||||
#via vmware
|
|
||||||
}@ # x86,x86_64
|
|
||||||
x86 @{
|
|
||||||
3dfx ati neomagic s3
|
|
||||||
}@ # 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
|
# build the haiku system packages and add them
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
|
||||||
|
|
||||||
|
@ -227,110 +22,5 @@ AddPackageFilesToHaikuImage system :
|
||||||
nameFromMetaInfo
|
nameFromMetaInfo
|
||||||
;
|
;
|
||||||
|
|
||||||
|
# import what is shared by all images
|
||||||
AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
|
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images definitions common-tail ] ;
|
||||||
|
|
||||||
# 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
|
|
||||||
#AddFilesToHaikuImage system non-packaged add-ons decorators
|
|
||||||
# : BeDecorator MacDecorator WinDecorator ;
|
|
||||||
|
|
||||||
# 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 repositories = $(HAIKU_REPOSITORIES) ;
|
|
||||||
if $(HAIKU_ADD_HAIKU_REPOSITORY_CONFIG) {
|
|
||||||
repositories += <repository>haiku ;
|
|
||||||
}
|
|
||||||
local repository ;
|
|
||||||
for repository in $(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 ] ;
|
|
||||||
|
|
|
@ -1,244 +0,0 @@
|
||||||
# This file defines what ends up on the Haiku bootstrap 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 finddir findpaths fmt fold
|
|
||||||
fortune ftp ftpd funzip
|
|
||||||
gdb@x86 getarch getlimits groupadd groupdel groupmod groups gzip gzexe
|
|
||||||
hd head hey hostname
|
|
||||||
id ident ifconfig <bin>install 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 logger login logname ls
|
|
||||||
lsindex
|
|
||||||
makebootable md5sum merge message mimeset mkdir
|
|
||||||
mkfifo mkfs mkindex mktemp modifiers mount mountvolume mv
|
|
||||||
netcat netstat nl nohup notify nproc
|
|
||||||
od open
|
|
||||||
package package_repo passwd paste patch pathchk pc ping ping6 pkgman
|
|
||||||
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 sdiff setarch setmime settype
|
|
||||||
setversion setvolume seq sha1sum sha256sum shar shred shuf shutdown sleep
|
|
||||||
sort split stat strace stty su sum sync sysinfo
|
|
||||||
tac tail tcpdump tcptester tee telnet telnetd test timeout top touch
|
|
||||||
tr traceroute trash true truncate tsort tty
|
|
||||||
uname unchop unexpand unmount uniq unlink unshar unzip unzipsfx
|
|
||||||
uptime urlwrapper useradd userdel uudecode uuencode
|
|
||||||
vdir version vmstat
|
|
||||||
waitfor watch wc wget whoami writembr@x86 xres
|
|
||||||
yes
|
|
||||||
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
|
||||||
] ;
|
|
||||||
|
|
||||||
SYSTEM_APPS = [ FFilterByBuildFeatures
|
|
||||||
AboutSystem ActivityMonitor BootManager@x86 CharacterMap
|
|
||||||
DeskCalc Debugger Devices DiskProbe DiskUsage DriveSetup
|
|
||||||
Expander Installer LaunchBox
|
|
||||||
NetworkStatus PackageInstaller
|
|
||||||
PowerStatus ProcessController ShowImage
|
|
||||||
StyledEdit Terminal TextSearch Workspaces
|
|
||||||
] ;
|
|
||||||
SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
|
|
||||||
Appearance Backgrounds
|
|
||||||
<preference>Deskbar FileTypes Keyboard Keymap Locale
|
|
||||||
Mouse Network Notifications Screen ScreenSaver
|
|
||||||
Shortcuts Time Touchpad <preference>Tracker VirtualMemory
|
|
||||||
] ;
|
|
||||||
SYSTEM_DEMOS = ;
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so
|
|
||||||
libnetwork.so
|
|
||||||
libpackage.so
|
|
||||||
libscreensaver.so
|
|
||||||
libtextencoding.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 debug_server dns_resolver_server input_server
|
|
||||||
keystore_server media_addon_server
|
|
||||||
mount_server net_server notification_server
|
|
||||||
package_daemon power_daemon 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
|
|
||||||
}@ # x86,x86_64
|
|
||||||
x86 @{
|
|
||||||
3dfx.accelerant ati.accelerant matrox.accelerant neomagic.accelerant
|
|
||||||
nvidia.accelerant intel_810.accelerant intel_extreme.accelerant
|
|
||||||
radeon.accelerant radeon_hd.accelerant s3.accelerant
|
|
||||||
#via.accelerant vmware.accelerant
|
|
||||||
}@ # x86
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_TRANSLATORS = STXTTranslator ;
|
|
||||||
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>plaintext ;
|
|
||||||
SYSTEM_ADD_ONS_MEDIA = ;
|
|
||||||
SYSTEM_ADD_ONS_MEDIA_PLUGINS = ;
|
|
||||||
SYSTEM_ADD_ONS_PRINT = ;
|
|
||||||
SYSTEM_ADD_ONS_PRINT_TRANSPORT = ;
|
|
||||||
SYSTEM_ADD_ONS_SCREENSAVERS = ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO = ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
|
|
||||||
x86,x86_64 @{
|
|
||||||
vesa
|
|
||||||
}@ # x86,x86_64
|
|
||||||
x86 @{
|
|
||||||
ati 3dfx intel_810 intel_extreme matrox neomagic nvidia radeon radeon_hd
|
|
||||||
s3 #via vmware
|
|
||||||
}@ # x86
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_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_64
|
|
||||||
|
|
||||||
etherpci pegasus sis900 usb_davicom usb_asix usb_ecm wb840
|
|
||||||
|
|
||||||
# WLAN drivers
|
|
||||||
x86 @{
|
|
||||||
aironetwifi atheroswifi broadcom43xx
|
|
||||||
iprowifi2100 iprowifi2200 iprowifi3945
|
|
||||||
iprowifi4965 marvell88w8363 marvell88w8335
|
|
||||||
ralinkwifi wavelanwifi
|
|
||||||
}@ # x86
|
|
||||||
|
|
||||||
# WWAN drivers
|
|
||||||
#usb_beceemwmx@gpl
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures acpi_button@x86 ] ;
|
|
||||||
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 usb firewire@x86 acpi@x86,x86_64
|
|
||||||
virtio random
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs exfat ext2 fat iso9660
|
|
||||||
attribute_overlay write_overlay ntfs packagefs reiserfs@x86 udf ;
|
|
||||||
|
|
||||||
|
|
||||||
# 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
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
# build and add the source package directory and a haikuports.config file
|
|
||||||
CopyDirectoryToHaikuImage home haikuports
|
|
||||||
: [ BuildHaikuPortsSourcePackageDirectory ]
|
|
||||||
: input-source-packages : -x *_source-*.hpkg : isTarget ;
|
|
||||||
AddFilesToHaikuImage home haikuports
|
|
||||||
: [ BuildHaikuPortsRepositoryConfig /boot/home/haikuports ] ;
|
|
||||||
|
|
||||||
|
|
||||||
AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
|
|
||||||
|
|
||||||
# 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 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 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 ;
|
|
||||||
|
|
||||||
|
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageCommon ] ;
|
|
|
@ -1,197 +0,0 @@
|
||||||
# create directories that may remain empty
|
|
||||||
AddDirectoryToHaikuImage home Desktop ;
|
|
||||||
AddDirectoryToHaikuImage home mail ;
|
|
||||||
AddDirectoryToHaikuImage home config cache ;
|
|
||||||
AddDirectoryToHaikuImage home config packages ;
|
|
||||||
AddDirectoryToHaikuImage home config settings ;
|
|
||||||
AddDirectoryToHaikuImage home config var ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged bin ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged data fonts ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged lib ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons decorators ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons kernel drivers bin ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons kernel drivers dev ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons input_server devices ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons input_server filters ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons input_server methods ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons media plugins ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons Tracker ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons Print ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons Screen\ Savers ;
|
|
||||||
AddDirectoryToHaikuImage home config non-packaged add-ons Translators ;
|
|
||||||
AddDirectoryToHaikuImage system cache tmp ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged bin ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged data fonts ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged lib ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons decorators ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons kernel drivers bin ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons kernel drivers dev ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons input_server devices ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons input_server filters ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons input_server methods ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons media plugins ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons Tracker ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons Print ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons Screen\ Savers ;
|
|
||||||
AddDirectoryToHaikuImage system non-packaged add-ons Translators ;
|
|
||||||
AddDirectoryToHaikuImage system var empty ;
|
|
||||||
AddDirectoryToHaikuImage system var log ;
|
|
||||||
|
|
||||||
|
|
||||||
#pragma mark - Optional Packages
|
|
||||||
|
|
||||||
|
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackages ] ;
|
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalTestPackages ] ;
|
|
||||||
|
|
||||||
|
|
||||||
#pragma mark - User/Group Setup
|
|
||||||
|
|
||||||
|
|
||||||
# add the root user and the root and users groups
|
|
||||||
AddUserToHaikuImage $(HAIKU_ROOT_USER_NAME:E=baron) : 0 : 0 : /boot/home
|
|
||||||
: /bin/bash : $(HAIKU_ROOT_USER_REAL_NAME:E="Root User") ;
|
|
||||||
AddGroupToHaikuImage root : 0 : ;
|
|
||||||
AddGroupToHaikuImage users : 100 : ;
|
|
||||||
|
|
||||||
|
|
||||||
#pragma mark - Host Name
|
|
||||||
|
|
||||||
|
|
||||||
if $(HAIKU_IMAGE_HOST_NAME) {
|
|
||||||
actions BuildHaikuImageHostnameFile
|
|
||||||
{
|
|
||||||
echo "$(HAIKU_IMAGE_HOST_NAME)" > $(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
local file = <haiku-image>hostname ;
|
|
||||||
Always $(file) ;
|
|
||||||
MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
|
|
||||||
BuildHaikuImageHostnameFile $(file) ;
|
|
||||||
AddFilesToHaikuImage system settings network : $(file) ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#pragma mark - Build The Image
|
|
||||||
|
|
||||||
|
|
||||||
# Execute pre-image user config rules.
|
|
||||||
UserBuildConfigRulePreImage ;
|
|
||||||
|
|
||||||
# Set image name and directory defaults and locate the image.
|
|
||||||
HAIKU_IMAGE_NAME ?= $(HAIKU_DEFAULT_IMAGE_NAME) ;
|
|
||||||
HAIKU_IMAGE_DIR ?= $(HAIKU_DEFAULT_IMAGE_DIR) ;
|
|
||||||
HAIKU_IMAGE = $(HAIKU_IMAGE_NAME) ;
|
|
||||||
HAIKU_IMAGE_SIZE ?= $(HAIKU_DEFAULT_IMAGE_SIZE) ; # 300 MB
|
|
||||||
HAIKU_IMAGE_LABEL ?= $(HAIKU_DEFAULT_IMAGE_LABEL) ;
|
|
||||||
MakeLocate $(HAIKU_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
|
||||||
|
|
||||||
# Set the default installation directory.
|
|
||||||
HAIKU_INSTALL_DIR ?= $(HAIKU_DEFAULT_INSTALL_DIR) ;
|
|
||||||
|
|
||||||
# the pseudo target all image contents is attached to
|
|
||||||
NotFile $(HAIKU_IMAGE_CONTAINER_NAME) ;
|
|
||||||
|
|
||||||
# prepare the script that initializes the shell variables
|
|
||||||
HAIKU_IMAGE_INIT_VARIABLES_SCRIPT = <HaikuImage>haiku.image-init-vars ;
|
|
||||||
local script = $(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT) ;
|
|
||||||
MakeLocate $(script) : $(HAIKU_OUTPUT_DIR) ;
|
|
||||||
Always $(script) ;
|
|
||||||
|
|
||||||
AddVariableToScript $(script) : sourceDir : $(HAIKU_TOP) ;
|
|
||||||
AddVariableToScript $(script) : outputDir : $(HAIKU_OUTPUT_DIR) ;
|
|
||||||
AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ;
|
|
||||||
AddVariableToScript $(script) : installDir : $(HAIKU_INSTALL_DIR) ;
|
|
||||||
#AddVariableToScript $(script) : isImage : 1 ;
|
|
||||||
AddVariableToScript $(script) : imageSize : $(HAIKU_IMAGE_SIZE) ;
|
|
||||||
AddVariableToScript $(script) : imageLabel : $(HAIKU_IMAGE_LABEL) ;
|
|
||||||
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
|
||||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
|
||||||
AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ;
|
|
||||||
AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>bfs_shell : bfsShell ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>fs_shell_command : fsShellCommand ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>create_image : createImage ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>makebootable ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>rc ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
|
||||||
AddTargetVariableToScript $(script) : <build>vmdkimage ;
|
|
||||||
if $(HOST_RM_ATTRS_TARGET) {
|
|
||||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
|
||||||
} else {
|
|
||||||
AddVariableToScript $(script) : rmAttrs : rm ;
|
|
||||||
}
|
|
||||||
|
|
||||||
AddPackagesAndRepositoryVariablesToContainerScript $(script)
|
|
||||||
: $(HAIKU_IMAGE_CONTAINER_NAME) ;
|
|
||||||
|
|
||||||
# create the other scripts
|
|
||||||
HAIKU_IMAGE_MAKE_DIRS_SCRIPT = <HaikuImage>haiku.image-make-dirs ;
|
|
||||||
HAIKU_IMAGE_COPY_FILES_SCRIPT = <HaikuImage>haiku.image-copy-files ;
|
|
||||||
HAIKU_IMAGE_EXTRACT_FILES_SCRIPT = <HaikuImage>haiku.image-extract-files ;
|
|
||||||
MakeLocate $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) $(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT) : $(HAIKU_OUTPUT_DIR) ;
|
|
||||||
|
|
||||||
CreateHaikuImageMakeDirectoriesScript $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) ;
|
|
||||||
CreateHaikuImageCopyFilesScript $(HAIKU_IMAGE_COPY_FILES_SCRIPT) ;
|
|
||||||
CreateHaikuImageExtractFilesScript $(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT) ;
|
|
||||||
|
|
||||||
# Convenience wrapper rule around BuildHaikuImage.
|
|
||||||
rule _BuildHaikuImage image : isImage : isVMwareImage
|
|
||||||
{
|
|
||||||
# _BuildHaikuImage <image target> : <isImage> : <isVMwareImage> ;
|
|
||||||
#
|
|
||||||
|
|
||||||
# build the image
|
|
||||||
# HAIKU_IMAGE_EARLY_USER_SCRIPTS, HAIKU_IMAGE_LATE_USER_SCRIPTS can be
|
|
||||||
# specified by the user.
|
|
||||||
BuildHaikuImage $(image) :
|
|
||||||
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_EARLY_USER_SCRIPTS)
|
|
||||||
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_LATE_USER_SCRIPTS)
|
|
||||||
: $(isImage)
|
|
||||||
: $(isVMwareImage)
|
|
||||||
;
|
|
||||||
|
|
||||||
# remove the scripts we have generated
|
|
||||||
RmTemps $(image) :
|
|
||||||
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
|
||||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT)
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
# build the image
|
|
||||||
_BuildHaikuImage $(HAIKU_IMAGE) : true ;
|
|
||||||
NotFile haiku-image ;
|
|
||||||
Depends haiku-image : $(HAIKU_IMAGE) ;
|
|
||||||
|
|
||||||
|
|
||||||
# install Haiku into a directory
|
|
||||||
NotFile install-haiku ;
|
|
||||||
_BuildHaikuImage install-haiku : 0 ;
|
|
||||||
|
|
||||||
|
|
||||||
# build the VMware image
|
|
||||||
HAIKU_VMWARE_IMAGE_NAME ?= $(HAIKU_DEFAULT_VMWARE_IMAGE_NAME) ;
|
|
||||||
HAIKU_VMWARE_IMAGE = $(HAIKU_VMWARE_IMAGE_NAME) ;
|
|
||||||
MakeLocate $(HAIKU_VMWARE_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
|
||||||
|
|
||||||
_BuildHaikuImage $(HAIKU_VMWARE_IMAGE) : true : true ;
|
|
||||||
NotFile haiku-vmware-image ;
|
|
||||||
Depends haiku-vmware-image : $(HAIKU_VMWARE_IMAGE) ;
|
|
||||||
|
|
||||||
|
|
||||||
# create a package list
|
|
||||||
BuildHaikuImagePackageList $(HAIKU_IMAGE_LIST_PACKAGES_TARGET) ;
|
|
||||||
|
|
||||||
|
|
||||||
# Execute post-image user config rules.
|
|
||||||
UserBuildConfigRulePostImage ;
|
|
|
@ -1,227 +0,0 @@
|
||||||
# This file defines what ends up on the Haiku minimum 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 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 finddir findpaths fmt fold
|
|
||||||
fortune ftp ftpd funzip
|
|
||||||
getarch getlimits groupadd groupdel groupmod groups gzip gzexe
|
|
||||||
hd head hey hostname
|
|
||||||
id ident ifconfig <bin>install 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 logger login logname ls
|
|
||||||
lsindex
|
|
||||||
makebootable md5sum merge message mimeset mkdir
|
|
||||||
mkfifo mkfs mkindex mktemp modifiers mount mountvolume mv
|
|
||||||
netcat netstat nl nohup notify nproc
|
|
||||||
od open
|
|
||||||
package package_repo passwd paste patch pathchk pc ping ping6 pkgman
|
|
||||||
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 sdiff setarch setmime settype
|
|
||||||
setversion setvolume seq sha1sum sha256sum shar shred shuf shutdown sleep
|
|
||||||
sort split stat strace stty su sum sync sysinfo
|
|
||||||
tac tail tcpdump tcptester tee telnet telnetd test timeout top touch
|
|
||||||
tr traceroute trash true truncate tsort tty
|
|
||||||
uname unchop unexpand unmount uniq unlink unshar unzip unzipsfx
|
|
||||||
uptime urlwrapper useradd userdel uudecode uuencode
|
|
||||||
vdir version vmstat
|
|
||||||
waitfor watch wc wget whoami writembr@x86 xres
|
|
||||||
yes
|
|
||||||
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
|
||||||
] ;
|
|
||||||
|
|
||||||
SYSTEM_APPS = [ FFilterByBuildFeatures
|
|
||||||
AboutSystem ActivityMonitor BootManager@x86,x86_64 CharacterMap
|
|
||||||
DeskCalc Debugger Devices DiskProbe DiskUsage DriveSetup
|
|
||||||
Expander Installer
|
|
||||||
NetworkStatus
|
|
||||||
PowerStatus ProcessController ShowImage
|
|
||||||
StyledEdit Terminal TextSearch Workspaces
|
|
||||||
] ;
|
|
||||||
SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
|
|
||||||
Appearance Backgrounds
|
|
||||||
<preference>Deskbar FileTypes Keyboard Keymap Locale
|
|
||||||
Mouse Network Notifications Screen ScreenSaver
|
|
||||||
Shortcuts Time Touchpad <preference>Tracker VirtualMemory
|
|
||||||
] ;
|
|
||||||
SYSTEM_DEMOS = ;
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so
|
|
||||||
libnetwork.so
|
|
||||||
libpackage.so
|
|
||||||
libscreensaver.so
|
|
||||||
libtextencoding.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 debug_server dns_resolver_server input_server
|
|
||||||
keystore_server media_addon_server
|
|
||||||
mount_server net_server notification_server
|
|
||||||
package_daemon power_daemon 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
|
|
||||||
}@ # x86,x86_64
|
|
||||||
x86 @{
|
|
||||||
3dfx.accelerant ati.accelerant matrox.accelerant neomagic.accelerant
|
|
||||||
nvidia.accelerant intel_810.accelerant intel_extreme.accelerant
|
|
||||||
radeon.accelerant radeon_hd.accelerant s3.accelerant
|
|
||||||
#via.accelerant vmware.accelerant
|
|
||||||
}@ # x86
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_TRANSLATORS = STXTTranslator ;
|
|
||||||
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>plaintext ;
|
|
||||||
SYSTEM_ADD_ONS_MEDIA = ;
|
|
||||||
SYSTEM_ADD_ONS_MEDIA_PLUGINS = ;
|
|
||||||
SYSTEM_ADD_ONS_PRINT = ;
|
|
||||||
SYSTEM_ADD_ONS_PRINT_TRANSPORT = ;
|
|
||||||
SYSTEM_ADD_ONS_SCREENSAVERS = ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO = ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
|
|
||||||
x86,x86_64 @{
|
|
||||||
vesa
|
|
||||||
}@ # x86,x86_64
|
|
||||||
x86 @{
|
|
||||||
ati 3dfx intel_810 intel_extreme matrox neomagic nvidia radeon radeon_hd
|
|
||||||
s3 #via vmware
|
|
||||||
}@ # x86
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_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_64
|
|
||||||
|
|
||||||
etherpci pegasus sis900 usb_davicom usb_asix usb_ecm wb840
|
|
||||||
|
|
||||||
# WLAN drivers
|
|
||||||
x86 @{
|
|
||||||
aironetwifi atheroswifi broadcom43xx
|
|
||||||
iprowifi2100 iprowifi2200 iprowifi3945
|
|
||||||
iprowifi4965 marvell88w8363 marvell88w8335
|
|
||||||
ralinkwifi wavelanwifi
|
|
||||||
}@ # x86
|
|
||||||
|
|
||||||
# WWAN drivers
|
|
||||||
#usb_beceemwmx@gpl
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures acpi_button@x86 ] ;
|
|
||||||
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 usb firewire@x86 acpi@x86,x86_64
|
|
||||||
virtio
|
|
||||||
] ;
|
|
||||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs exfat ext2 fat iso9660
|
|
||||||
attribute_overlay write_overlay ntfs packagefs reiserfs@x86 udf ;
|
|
||||||
|
|
||||||
|
|
||||||
# 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 ;
|
|
||||||
|
|
||||||
# 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 ;
|
|
||||||
|
|
||||||
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 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 ;
|
|
||||||
|
|
||||||
|
|
||||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) images HaikuImageCommon ] ;
|
|
|
@ -200,18 +200,19 @@ AddFilesToPackage data KeyboardLayouts ThinkPad
|
||||||
|
|
||||||
# boot module links
|
# boot module links
|
||||||
AddBootModuleSymlinksToPackage
|
AddBootModuleSymlinksToPackage
|
||||||
acpi@x86,x86_64 ata@ata pci isa@x86,x86_64 config_manager dpc
|
acpi@x86,x86_64 ahci ata@ata ata_adapter@ata
|
||||||
ide@ide scsi usb
|
bfs
|
||||||
openpic@ppc
|
config_manager
|
||||||
ata_adapter@ata ide_adapter@ide locked_pool scsi_periph
|
dpc
|
||||||
ahci generic_ide_pci it8211 legacy_sata silicon_image_3112
|
|
||||||
ide_isa@x86
|
|
||||||
<usb>uhci <usb>ohci <usb>ehci
|
|
||||||
scsi_cd scsi_disk usb_disk
|
|
||||||
virtio virtio_pci virtio_block virtio_scsi
|
|
||||||
efi_gpt
|
efi_gpt
|
||||||
intel
|
generic_ide_pci
|
||||||
bfs packagefs
|
ide@ide ide_adapter@ide ide_isa@x86 isa@x86,x86_64 intel it8211
|
||||||
|
legacy_sata locked_pool
|
||||||
|
openpic@ppc
|
||||||
|
packagefs pci
|
||||||
|
scsi scsi_cd scsi_disk scsi_periph silicon_image_3112
|
||||||
|
usb usb_disk <usb>ehci <usb>ohci <usb>uhci
|
||||||
|
virtio virtio_block virtio_pci virtio_scsi
|
||||||
;
|
;
|
||||||
|
|
||||||
# add-ons
|
# add-ons
|
||||||
|
@ -268,11 +269,6 @@ CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ;
|
||||||
# Deskbar menu symlinks
|
# Deskbar menu symlinks
|
||||||
|
|
||||||
# "Applications" links
|
# "Applications" links
|
||||||
DESKBAR_APPLICATIONS = ActivityMonitor CharacterMap CodyCam CDPlayer DeskCalc
|
|
||||||
Devices DiskProbe DriveSetup DiskUsage Expander HaikuDepot Icon-O-Matic
|
|
||||||
Installer Magnify Mail MediaConverter MediaPlayer MidiPlayer People PoorMan
|
|
||||||
Screenshot SerialConnect SoundRecorder StyledEdit Terminal TV
|
|
||||||
;
|
|
||||||
local linkTarget ;
|
local linkTarget ;
|
||||||
for linkTarget in $(DESKBAR_APPLICATIONS) {
|
for linkTarget in $(DESKBAR_APPLICATIONS) {
|
||||||
AddSymlinkToPackage data deskbar menu Applications
|
AddSymlinkToPackage data deskbar menu Applications
|
||||||
|
@ -280,9 +276,6 @@ for linkTarget in $(DESKBAR_APPLICATIONS) {
|
||||||
}
|
}
|
||||||
|
|
||||||
# "Desktop applets" links
|
# "Desktop applets" links
|
||||||
DESKBAR_DESKTOP_APPLETS = LaunchBox NetworkStatus PowerStatus ProcessController
|
|
||||||
Workspaces
|
|
||||||
;
|
|
||||||
for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
|
for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
|
||||||
AddSymlinkToPackage data deskbar menu Desktop\ applets
|
AddSymlinkToPackage data deskbar menu Desktop\ applets
|
||||||
: ../../../../apps/$(linkTarget) : $(linkTarget) ;
|
: ../../../../apps/$(linkTarget) : $(linkTarget) ;
|
||||||
|
|
Loading…
Reference in New Issue