hrev47022 adds 1 changeset to branch 'master' old head: ff35d6c18a2a0bb58109ceca26b37755a32d265b new head: dff7d3a0f24a74b2be5884ebd8324f26cc8b87a2 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=dff7d3a+%5Eff35d6c ---------------------------------------------------------------------------- dff7d3a: Add files missing in last commit, sorry. [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev47022 Commit: dff7d3a0f24a74b2be5884ebd8324f26cc8b87a2 URL: http://cgit.haiku-os.org/haiku/commit/?id=dff7d3a Author: Oliver Tappe <zooey@xxxxxxxxxxxxxxx> Date: Sun Mar 16 20:21:41 2014 UTC ---------------------------------------------------------------------------- 4 files changed, 783 insertions(+) build/jam/images/definitions/bootstrap | 11 + build/jam/images/definitions/common-tail | 200 +++++++++++++++++++ build/jam/images/definitions/minimum | 285 ++++++++++++++++++++++++++ build/jam/images/definitions/regular | 287 +++++++++++++++++++++++++++ ---------------------------------------------------------------------------- diff --git a/build/jam/images/definitions/bootstrap b/build/jam/images/definitions/bootstrap new file mode 100644 index 0000000..2392abc --- /dev/null +++ b/build/jam/images/definitions/bootstrap @@ -0,0 +1,11 @@ +# This file defines the content of the bootstrap Haiku image. + +# import everything from the minimum image +include [ FDirName $(HAIKU_BUILD_RULES_DIR) images definitions minimum ] ; + +# 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 ] ; diff --git a/build/jam/images/definitions/common-tail b/build/jam/images/definitions/common-tail new file mode 100644 index 0000000..5057b1a --- /dev/null +++ b/build/jam/images/definitions/common-tail @@ -0,0 +1,200 @@ +# This file adds content common to all images, it needs to be included after +# all the other definitions. + +# 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 ; diff --git a/build/jam/images/definitions/minimum b/build/jam/images/definitions/minimum new file mode 100644 index 0000000..0fdf3db --- /dev/null +++ b/build/jam/images/definitions/minimum @@ -0,0 +1,285 @@ +# This file defines the content of the minimum Haiku image. + +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 fstrim + ftp ftpd funzip + getarch getlimits groupadd groupdel groupmod groups gzip gzexe + hd head hey hostname + id ideinfo@ide ident idestatus@ide ifconfig <bin>install iroster isvolume + 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,x86_64 xres + yes + zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew +] ; + +SYSTEM_APPS = [ FFilterByBuildFeatures + AboutSystem ActivityMonitor + BootManager@x86,x86_64 + CharacterMap + Debugger DeskCalc Devices DiskProbe DiskUsage DriveSetup + Expander + NetworkStatus + ProcessController + ShowImage StyledEdit + Terminal TextSearch + Workspaces +] ; + +DESKBAR_APPLICATIONS = + ActivityMonitor + CharacterMap + DeskCalc Devices DiskProbe DiskUsage DriveSetup + Expander + StyledEdit + Terminal +; + +DESKBAR_DESKTOP_APPLETS = + NetworkStatus + ProcessController + Workspaces +; + +SYSTEM_PREFERENCES = [ FFilterByBuildFeatures + Appearance + Backgrounds + <preference>Deskbar + FileTypes + Keyboard Keymap + Locale + Mouse + Network Notifications + Screen 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 + libgnu.so + libnetwork.so + libpackage.so + libtextencoding.so libtracker.so libtranslation.so + ] ] + ; +} + + +rule HaikuImageGetPrivateSystemLibs +{ + return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures + libalm.so + libpackage-add-on-libsolv.so + libroot-addon-icu.so + ] ] ; +} + + +SYSTEM_SERVERS = [ FFilterByBuildFeatures + app_server + debug_server dns_resolver_server + input_server + keystore_server + mount_server + net_server notification_server + package_daemon power_daemon + registrar + syslog_daemon +] ; + +SYSTEM_NETWORK_DEVICES = + ethernet + loopback +; + +SYSTEM_NETWORK_DATALINK_PROTOCOLS = + <module>arp + ethernet_frame + ipv6_datagram + loopback_frame +; + +#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe ; + +SYSTEM_NETWORK_PROTOCOLS = + icmp icmp6 ipv4 ipv6 + tcp + udp unix +; + +SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures + x86,x86_64 @{ + vesa.accelerant + vmware.accelerant + }@ # x86,x86_64 +] ; + +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 + vmware + }@ # x86,x86_64 +] ; + +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_asix usb_davicom 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 + acpi@x86,x86_64 agp_gart@x86,x86_64 ata@ata + config_manager + firewire@x86 + ide@ide scsi isa@x86,x86_64 + pci ps2@x86,x86_64 + random + usb + virtio +] ; + +SYSTEM_ADD_ONS_FILE_SYSTEMS = + attribute_overlay + bfs bindfs btrfs + exfat ext2 + fat + iso9660 + ntfs + packagefs + reiserfs@x86 + udf + write_overlay +; + +# global settings when a package is installed in ~/config +AddDirectoryToHaikuImage home config settings global ; + +# user scripts and data files +local userBootScripts = UserBootscript UserSetupEnvironment.sample ; +SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ; +AddFilesToHaikuImage home config settings boot : $(userBootScripts) ; + +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 ; diff --git a/build/jam/images/definitions/regular b/build/jam/images/definitions/regular new file mode 100644 index 0000000..c67fc7c --- /dev/null +++ b/build/jam/images/definitions/regular @@ -0,0 +1,287 @@ +# This file defines the content of the regular Haiku image. + +# import everything from the minimum image +include [ FDirName $(HAIKU_BUILD_RULES_DIR) images definitions minimum ] ; + +SYSTEM_BIN += [ FFilterByBuildFeatures + CortexAddOnHost + FirstBootPrompt fwcontrol@x86 + gdb@x86 + installsound + mail2mbox mbox2mail mkdos mount_nfs + play playfile playsound playwav + screenshot setdecor spamdbm + translate +] ; + +SYSTEM_APPS += [ FFilterByBuildFeatures + CDPlayer CodyCam + GLInfo@mesa + HaikuDepot + Icon-O-Matic Installer LaunchBox + Magnify Mail MediaConverter MediaPlayer MidiPlayer + PackageInstaller People PoorMan PowerStatus + Screenshot SerialConnect SoundRecorder + TV + WebWatch +] ; + +DESKBAR_APPLICATIONS += + CodyCam CDPlayer + HaikuDepot + Icon-O-Matic Installer + Magnify Mail MediaConverter MediaPlayer MidiPlayer + People PoorMan + TV +; + +DESKBAR_DESKTOP_APPLETS += + LaunchBox + PowerStatus +; + +SYSTEM_PREFERENCES += [ FFilterByBuildFeatures + DataTranslations + E-mail + Media + Printers + ScreenSaver Sounds +] ; + +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 libtracker.so libtranslation.so + libtiff.so + ] ] + ; +} + + +rule HaikuImageGetPrivateSystemLibs +{ + return [ MultiArchDefaultGristFiles [ FFilterByBuildFeatures + libalm.so + libfluidsynth.so + libilmimf.so + libpackage-add-on-libsolv.so + libroot-addon-icu.so + ] ] ; +} + + +SYSTEM_SERVERS += [ FFilterByBuildFeatures + cddb_daemon + mail_daemon media_addon_server media_server midi_server + nfs4_idmapper_server + print_server print_addon_server +] ; + +SYSTEM_ADD_ONS_ACCELERANTS += [ FFilterByBuildFeatures + x86,x86_64 @{ + intel_810.accelerant intel_extreme.accelerant + matrox.accelerant + nvidia.accelerant + radeon.accelerant radeon_hd.accelerant + #via.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 + TGATranslator TIFFTranslator + WebPTranslator WonderBrushTranslator +; + +SYSTEM_ADD_ONS_MEDIA += [ FFilterByBuildFeatures + cortex_audioadapter.media_addon cortex_flanger.media_addon + dvb.media_addon@x86 + equalizer.media_addon + firewire_dv.media_addon@x86 + hmulti_audio.media_addon + #legacy.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 + 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 Gravity@mesa + $(HAIKU_INCLUDE_TRADEMARKS)Haiku + Icons IFS + Leaves + Message + Spider +] ; + +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 + #via + }@ # x86,x86_64 + x86 @{ + 3dfx + ati + neomagic + s3 + }@ # x86 +] ; + +SYSTEM_ADD_ONS_DRIVERS_MIDI += + emuxki + ice1712 + usb_midi +; + +SYSTEM_ADD_ONS_DRIVERS_POWER += [ FFilterByBuildFeatures + acpi_battery@x86,x86_64 +] ; + +SYSTEM_ADD_ONS_FILE_SYSTEMS += + cdda + googlefs + nfs nfs4 +; + +# Mailbox folders and symlink +AddDirectoryToHaikuImage home mail draft ; +AddDirectoryToHaikuImage home mail in ; +AddDirectoryToHaikuImage home mail out ; + +# 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 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) ; + +# 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=) ; +}