[haiku-commits] haiku: hrev47022 - build/jam/images/definitions

  • From: zooey@xxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 16 Mar 2014 21:21:45 +0100 (CET)

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=) ;
+}


Other related posts:

  • » [haiku-commits] haiku: hrev47022 - build/jam/images/definitions - zooey