[haiku-commits] haiku: hrev47186 - build/jam/images/definitions build/jam src/data/package_infos build/jam/board

  • From: zooey@xxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 1 May 2014 14:29:08 +0200 (CEST)

hrev47186 adds 3 changesets to branch 'master'
old head: 79895eed07bbe1918686c6bf26869116369c3596
new head: aa2e5eca78d747234a7557c86d4f104a8301d88a
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=aa2e5ec+%5E79895ee

----------------------------------------------------------------------------

8c54af5: Whitespace cleanup in root and 'build' folder.
  
  * Removed trailing whitespace and empty lines at top of files.

3d9c312: Create packages_build folders per build type.
  
  * The content of the preprocessed package-info files and the package
    contents depend on the build type, so we use a different folder for
    each build type.

aa2e5ec: Add new configuration option --no-downloads.
  
  * If --no-downloads has been given, Haiku will be built without
    trying to download anything, all required packages need to be put
    into the download folder manually (the build will stop on missing
    packages).
  * As the required HaikuPorts repository can't be downloaded in this
    mode, a local repository is created during the build, which only
    contains the packages available in the downloads folder.
  
  This is useful for building Haiku completely from source.

                                    [ Oliver Tappe <zooey@xxxxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

40 files changed, 282 insertions(+), 229 deletions(-)
Jamfile                                         |   6 +-
build/jam/ArchitectureRules                     |   2 +-
build/jam/BootRules                             |   1 -
build/jam/BuildFeatures                         |   4 +-
build/jam/BuildSetup                            |   3 +-
build/jam/ConfigRules                           |   4 +-
build/jam/DefaultBuildProfiles                  |  14 +-
build/jam/DocumentationRules                    |   4 +-
build/jam/FileRules                             |   4 +
build/jam/HeadersRules                          |   3 +-
build/jam/KernelRules                           |   1 -
build/jam/LocaleRules                           |  10 +-
build/jam/MainBuildRules                        |   1 -
build/jam/MiscRules                             |   1 -
build/jam/OptionalTestPackages                  |   8 +-
build/jam/PackageRules                          |  16 +--
build/jam/RepositoryRules                       |  74 ++++++++---
build/jam/TestsRules                            |   1 -
build/jam/board/beagle/BoardSetup               |   4 +-
build/jam/board/neo_freerunner/BoardSetup       |   4 +-
build/jam/board/verdex/BoardSetup               |   4 +-
build/jam/images/definitions/minimum            | 132 +++++++++---------
build/jam/images/definitions/regular            | 140 ++++++++++----------
build/jam/packages/Haiku                        |  14 +-
build/jam/repositories/HaikuPorts/x86           |   6 +-
build/jam/repositories/HaikuPorts/x86_gcc2      |   8 +-
build/scripts/build_archive                     |   4 +-
build/scripts/build_cross_tools_gcc4            |   2 +-
build/scripts/generate_CountryFlags.sh          |   6 +-
configure                                       |   6 +
src/data/package_infos/arm/haiku                |   2 +-
src/data/package_infos/m68k/haiku               |   2 +-
src/data/package_infos/ppc/haiku                |   2 +-
src/data/package_infos/x86/haiku                |   2 +-
src/data/package_infos/x86/haiku_secondary      |   2 +-
src/data/package_infos/x86_64/haiku             |   2 +-
src/data/package_infos/x86_64/haiku_secondary   |   2 +-
src/data/package_infos/x86_gcc2/haiku           |   2 +-
src/data/package_infos/x86_gcc2/haiku_secondary |   2 +-
src/data/repository_infos/haikuports            |   6 +

############################################################################

Commit:      8c54af563ce823c0e5b029716b2a020896c90ff4
URL:         http://cgit.haiku-os.org/haiku/commit/?id=8c54af5
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Thu May  1 10:50:11 2014 UTC

Whitespace cleanup in root and 'build' folder.

* Removed trailing whitespace and empty lines at top of files.

----------------------------------------------------------------------------

diff --git a/Jamfile b/Jamfile
index 27edb0e..74479d9 100644
--- a/Jamfile
+++ b/Jamfile
@@ -13,11 +13,11 @@ for architectureObject in [ MultiArchSubDirSetup ] {
 
 # Include required packages:
 # primary architecture
-AddHaikuImagePackages [ FFilterByBuildFeatures 
+AddHaikuImagePackages [ FFilterByBuildFeatures
        curl freetype icu libsolv zlib
 
        regular_image @{
-               bzip2 ctags ffmpeg findutils gawk glu grep jpeg less libpng 
+               bzip2 ctags ffmpeg findutils gawk glu grep jpeg less libpng
                mesa mesa_devel mesa_swrast sed sharutils tar which
        }@
 ] ;
@@ -26,7 +26,7 @@ local architectureObject ;
 for architectureObject
                in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
        on $(architectureObject) {
-               AddHaikuImagePackages [ FFilterByBuildFeatures 
+               AddHaikuImagePackages [ FFilterByBuildFeatures
                        curl freetype icu libsolv zlib
 
                        regular_image @{
diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules
index 346b901..506055e 100644
--- a/build/jam/ArchitectureRules
+++ b/build/jam/ArchitectureRules
@@ -315,7 +315,7 @@ rule KernelArchitectureSetup architecture
                                        Exit "Set HAIKU_BOOT_BOARD for your 
target ARM device!" ;
                                }
                        }
-                                       
+
                        # offset in floppy image (>= sizeof(haiku_loader))
                        HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - 
unused yet
 
diff --git a/build/jam/BootRules b/build/jam/BootRules
index 82dda79..c3581e2 100644
--- a/build/jam/BootRules
+++ b/build/jam/BootRules
@@ -1,4 +1,3 @@
-
 rule SetupBoot
 {
        # Usage SetupBoot <sources_or_objects> : <extra_cc_flags> : 
<include_private_headers> ;
diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures
index d73109c..821c9ee 100644
--- a/build/jam/BuildFeatures
+++ b/build/jam/BuildFeatures
@@ -169,7 +169,7 @@ if [ IsPackageAvailable mesa_devel ] {
 if [ IsPackageAvailable ffmpeg_devel ] {
        local ffmpegLibs = libavformat.so libavcodec.so libavdevice.so
                libavfilter.so libswscale.so libavutil.so ;
-       
+
        ExtractBuildFeatureArchives ffmpeg :
                file: base ffmpeg
                        runtime: lib
@@ -180,7 +180,7 @@ if [ IsPackageAvailable ffmpeg_devel ] {
                ;
 
        EnableBuildFeatures ffmpeg ;
-       
+
 } else {
        Echo "FFMpeg support not available on $(TARGET_PACKAGING_ARCH)" ;
 }
diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup
index 2586476..fe21894 100644
--- a/build/jam/BuildSetup
+++ b/build/jam/BuildSetup
@@ -1,4 +1,3 @@
-
 # Variable naming conventions:
 # TARGET_*:    A build system variable specifying a property for building for
 #                      the target platform (usually Haiku). E.g. TARGET_CC 
specifies the
@@ -587,7 +586,7 @@ if $(HOST_PLATFORM) = freebsd {
        # FreeBSD's gcc doesn't include /usr/local/* in its search paths,
        # though that's where most things from ports wind up being installed.
        HOST_HDRS += /usr/local/include ;
-       HOST_LINKFLAGS += -L/usr/local/lib ; 
+       HOST_LINKFLAGS += -L/usr/local/lib ;
 }
 
 if $(HOST_PLATFORM) = darwin {
diff --git a/build/jam/ConfigRules b/build/jam/ConfigRules
index 2f33a81..513048d 100644
--- a/build/jam/ConfigRules
+++ b/build/jam/ConfigRules
@@ -115,7 +115,7 @@ rule PrepareSubDirConfigVariables
 {
        local dirTokens = $(1) ;
        local config = [ ConfigObject $(dirTokens) ] ;
-       
+
        if ! [ on $(config) return $(__prepared) ] {
                # prepare config for parent dir
                local parentDir = [ FReverse $(dirTokens) ] ;
@@ -146,7 +146,7 @@ rule PrepareConfigVariables
        # objects to the global values
        local rootConfig = [ ConfigObject ] ; # the root config object
        local inheritedRootConfig = [ ConfigObject : __inherited_config__ ] ;
-       
+
        for var in $(AUTO_SET_UP_CONFIG_VARIABLES) {
                $(var) on $(rootConfig) = $($(var)) ;
                $(var) on $(inheritedRootConfig) = $($(var)) ;
diff --git a/build/jam/DefaultBuildProfiles b/build/jam/DefaultBuildProfiles
index f9c3679..34414c8 100644
--- a/build/jam/DefaultBuildProfiles
+++ b/build/jam/DefaultBuildProfiles
@@ -3,16 +3,16 @@ switch $(HAIKU_BUILD_PROFILE) {
        case "bootstrap-*" : {
                HAIKU_BUILD_TYPE = bootstrap ;
                EnableBuildFeatures bootstrap_image ;
-               
+
                HAIKU_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
                TARGET_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
-       } 
+       }
 
        case "minimum-*" : {
                HAIKU_BUILD_TYPE = minimum ;
                EnableBuildFeatures minimum_image ;
        }
-       
+
        case "*" : {
                HAIKU_BUILD_TYPE = regular ;
                EnableBuildFeatures regular_image ;
@@ -45,7 +45,7 @@ rule DefineDefaultBuildProfiles
        # minimum profiles
        DefineBuildProfile minimum-raw : image : "haiku-minimum.image" ;
        DefineBuildProfile minimum-vmware : vmware-image : "haiku-minimum.vmdk" 
;
-       DefineBuildProfile minimum-anyboot : anyboot-image 
+       DefineBuildProfile minimum-anyboot : anyboot-image
                : "haiku-minimum-anyboot.image" ;
 
 
diff --git a/build/jam/DocumentationRules b/build/jam/DocumentationRules
index 08dc89b..4ddaa76 100644
--- a/build/jam/DocumentationRules
+++ b/build/jam/DocumentationRules
@@ -31,7 +31,7 @@ rule Man2Docs
                Man2Doc $(target) : $(source) ;
        }
 }
- 
+
 rule Doc2HTML
 {
        local source = [ FGristFiles $(1) ] ;
@@ -49,7 +49,7 @@ rule Doc2HTML
 
        MakeLocate $(target) : $(basedir) ;
        if $(2) {
-               XSLBASEDIR on $(target) = -stringparam base.dir \"$(basedir)/\" 
; 
+               XSLBASEDIR on $(target) = -stringparam base.dir \"$(basedir)/\" 
;
        }
        XSLSHEET on $(target) = $(xslsheet) ;
        XSLOPTIONS on $(target) = $(options) ;
diff --git a/build/jam/HeadersRules b/build/jam/HeadersRules
index ad3c8f2..bbbfcb9 100644
--- a/build/jam/HeadersRules
+++ b/build/jam/HeadersRules
@@ -1,4 +1,3 @@
-
 # FIncludes <dirs> ;
 #
 # Overridden to support a second argument, the option to be used.
@@ -415,7 +414,7 @@ rule UsePrivateSystemHeaders
 }
 
 
-rule UseBuildFeatureHeaders feature : attribute 
+rule UseBuildFeatureHeaders feature : attribute
 {
        # UseBuildFeatureHeaders <feature> : [ <attribute> ] ;
        # A shorthand for
diff --git a/build/jam/KernelRules b/build/jam/KernelRules
index 752db8d..3799143 100644
--- a/build/jam/KernelRules
+++ b/build/jam/KernelRules
@@ -1,4 +1,3 @@
-
 rule SetupKernel
 {
        # Usage SetupKernel <sources_or_objects> : <extra_cc_flags> : 
<include_private_headers> ;
diff --git a/build/jam/LocaleRules b/build/jam/LocaleRules
index cc305b5..e5e34fb 100644
--- a/build/jam/LocaleRules
+++ b/build/jam/LocaleRules
@@ -23,11 +23,11 @@ rule ExtractCatalogEntries target : sources : signature : 
regexp
                if $(PLATFORM) = host {
                        sysHeaders += $(HOST_HDRS) ;
                        defines += $(HOST_DEFINES) ;
-                       cc = $(HOST_CC) ;                       
+                       cc = $(HOST_CC) ;
                        if $(USES_BE_API) {
                                sysHeaders += $(HOST_BE_API_HEADERS) ;
                        }
-                       
+
                        includesSeparator = $(HOST_INCLUDES_SEPARATOR) ;
                        localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ;
                        systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ;
@@ -171,12 +171,12 @@ rule AddCatalogEntryAttribute target
        #
        # <attribute value> should be of the form
        #       "x-vnd.Haiku-App:context:string"
-               
+
        CATALOG_ENTRY on $(target) = "$(2)" ;
 
        Depends $(target) : <build>addattr ;
-       
-       AddCatalogEntryAttribute1 $(target) 
+
+       AddCatalogEntryAttribute1 $(target)
                : <build>addattr ;
 }
 
diff --git a/build/jam/MainBuildRules b/build/jam/MainBuildRules
index 912a2f0..f8c40ba 100644
--- a/build/jam/MainBuildRules
+++ b/build/jam/MainBuildRules
@@ -1,4 +1,3 @@
-
 rule AddSharedObjectGlueCode
 {
        # AddSharedObjectGlueCode <target> : <isExecutable> ;
diff --git a/build/jam/MiscRules b/build/jam/MiscRules
index 70d67a6..15e9364 100644
--- a/build/jam/MiscRules
+++ b/build/jam/MiscRules
@@ -1,4 +1,3 @@
-
 rule SetupObjectsDir
 {
        # SetupObjectsDir
diff --git a/build/jam/OptionalTestPackages b/build/jam/OptionalTestPackages
index 45fef15..ec9c6c6 100644
--- a/build/jam/OptionalTestPackages
+++ b/build/jam/OptionalTestPackages
@@ -12,11 +12,11 @@
 #      # add scripts, tattle executable and README
 #      SEARCH on <libmicro>bench <libmicro>multiview <libmicro>README
 #              = [ FDirName $(HAIKU_TOP) src tests system benchmarks libMicro 
] ;
-# 
+#
 #      AddFilesToHaikuImage home benchmarks libmicro
 #              : <libmicro>bench <libmicro>multiview <libmicro>README ;
 #      AddFilesToHaikuImage home benchmarks libmicro bin-BePC : tattle ;
-# 
+#
 #      # add libmicro benchmarks
 #      AddFilesToHaikuImage home benchmarks libmicro bin-BePC :
 #              atomic <libmicro>bind cachetocache cascade_cond cascade_fcntl
@@ -30,9 +30,9 @@
 #              siglongjmp signal sigprocmask <libmicro>socket socketpair 
<libmicro>stat
 #              strcasecmp strchr strcmp strcpy strftime strlen strtol system 
time times
 #              write writev ;
-# 
+#
 #      AddSymlinkToHaikuImage home benchmarks libmicro : bin-BePC : bin ;
-# 
+#
 #      AddOptionalPackageDescriptionToHaikuImage
 #              <libmicro>.OptionalPackageDescription
 #              : $(HAIKU_TOP) src tests system benchmarks libMicro ;
diff --git a/build/jam/PackageRules b/build/jam/PackageRules
index efb12e6..731c089 100644
--- a/build/jam/PackageRules
+++ b/build/jam/PackageRules
@@ -46,7 +46,7 @@ rule PreprocessPackageInfo source : directory : architecture
        SEARCH on $(source) +=
                [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) $(architecture) ]
                [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) any ]
-               [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) generic ] 
+               [ FDirName $(HAIKU_PACKAGE_INFOS_DIR) generic ]
        ;
 
        local target = $(source:BSG=package-info)-package-info ;
diff --git a/build/jam/RepositoryRules b/build/jam/RepositoryRules
index 34ac244..a3dd5e2 100644
--- a/build/jam/RepositoryRules
+++ b/build/jam/RepositoryRules
@@ -1,6 +1,6 @@
 #pragma mark - Private
 
-# default value for the build profile that defines the set of source packages 
+# default value for the build profile that defines the set of source packages
 # that will be put onto the bootstrap image
 HAIKU_BOOTSTRAP_SOURCES_PROFILE ?= @minimum-raw ;
 
diff --git a/build/jam/TestsRules b/build/jam/TestsRules
index 1aa22ca..bd30fe7 100644
--- a/build/jam/TestsRules
+++ b/build/jam/TestsRules
@@ -1,4 +1,3 @@
-
 # unit test pseudo target
 NotFile unittests ;
 
diff --git a/build/jam/board/beagle/BoardSetup 
b/build/jam/board/beagle/BoardSetup
index ccee40f..6bc8bb0 100644
--- a/build/jam/board/beagle/BoardSetup
+++ b/build/jam/board/beagle/BoardSetup
@@ -28,13 +28,13 @@ HAIKU_BOARD_LOADER_STACK_BASE = 0x84000000 ;
 
 # OMAP x-loader image, must be first file on FAT partition
 HAIKU_BOARD_MLO_IMAGE ?= MLO ;
-HAIKU_BOARD_MLO_IMAGE_URL = 
+HAIKU_BOARD_MLO_IMAGE_URL =
        http://www.angstrom-distribution.org/demo/beagleboard/MLO ;
 
 # u-boot binary image filename, to build the flash image
 # XXX: Locate it somehow (for now just put it in generated/)
 HAIKU_BOARD_UBOOT_IMAGE ?= u-boot.bin ;
-HAIKU_BOARD_UBOOT_IMAGE_URL = 
+HAIKU_BOARD_UBOOT_IMAGE_URL =
        http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin ;
 
 #
diff --git a/build/jam/board/neo_freerunner/BoardSetup 
b/build/jam/board/neo_freerunner/BoardSetup
index 6502162..a9cedde 100644
--- a/build/jam/board/neo_freerunner/BoardSetup
+++ b/build/jam/board/neo_freerunner/BoardSetup
@@ -28,7 +28,7 @@ HAIKU_BOARD_LOADER_STACK_BASE = 0x34000000 ;
 # u-boot binary image filename, to build the flash image
 # XXX: Locate it somehow (for now just put it in generated/)
 #HAIKU_BOARD_UBOOT_IMAGE ?= u-boot-verdex-400-r1604.bin ;
-#HAIKU_BOARD_UBOOT_IMAGE_URL = 
+#HAIKU_BOARD_UBOOT_IMAGE_URL =
 #      http://www.gumstix.net/feeds/u-boot/u-boot-verdex-400-r1604.bin ;
 
 
@@ -57,7 +57,7 @@ if mmcinit; then \
        bootm $(HAIKU_BOARD_LOADER_UIBASE); \
 fi" ;
 
-HAIKU_BOARD_SDIMAGE_FILES = 
+HAIKU_BOARD_SDIMAGE_FILES =
        haiku_loader
        haiku_loader.ub
        haiku_loader_nbsd.ub
diff --git a/build/jam/board/verdex/BoardSetup 
b/build/jam/board/verdex/BoardSetup
index b07a5af..bdfe664 100644
--- a/build/jam/board/verdex/BoardSetup
+++ b/build/jam/board/verdex/BoardSetup
@@ -28,7 +28,7 @@ HAIKU_BOARD_LOADER_STACK_BASE = 0xa4000000 ;
 # u-boot binary image filename, to build the flash image
 # XXX: Locate it somehow (for now just put it in generated/)
 HAIKU_BOARD_UBOOT_IMAGE ?= u-boot-verdex-400-r1604.bin ;
-HAIKU_BOARD_UBOOT_IMAGE_URL = 
+HAIKU_BOARD_UBOOT_IMAGE_URL =
        http://www.gumstix.net/feeds/u-boot/u-boot-verdex-400-r1604.bin ;
 
 
@@ -56,7 +56,7 @@ if mmcinit; then \
        bootm $(HAIKU_BOARD_LOADER_UIBASE); \
 fi" ;
 
-HAIKU_BOARD_SDIMAGE_FILES = 
+HAIKU_BOARD_SDIMAGE_FILES =
        haiku_loader
        haiku_loader.ub
        haiku_loader_nbsd.ub
diff --git a/build/jam/images/definitions/minimum 
b/build/jam/images/definitions/minimum
index 8d6782d..5ec6910 100644
--- a/build/jam/images/definitions/minimum
+++ b/build/jam/images/definitions/minimum
@@ -5,11 +5,11 @@ 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 
+       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 
+       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
@@ -17,7 +17,7 @@ SYSTEM_BIN = [ FFilterByBuildFeatures
        join kernel_debugger keymap keystore kill
        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 
+       makebootable md5sum merge message mimeset mkdir mkfifo mkfs mkindex 
mktemp
        modifiers mount mountvolume mv
        netcat netstat nl nohup notify nproc
        od open
@@ -40,44 +40,44 @@ SYSTEM_BIN = [ FFilterByBuildFeatures
 ] ;
 
 SYSTEM_APPS = [ FFilterByBuildFeatures
-       AboutSystem ActivityMonitor 
-       BootManager@x86,x86_64 
+       AboutSystem ActivityMonitor
+       BootManager@x86,x86_64
        CharacterMap
        Debugger DeskCalc Devices DiskProbe DiskUsage DriveSetup
        Expander
        NetworkStatus
-       ProcessController 
-       ShowImage StyledEdit 
-       Terminal TextSearch 
+       ProcessController
+       ShowImage StyledEdit
+       Terminal TextSearch
        Workspaces
 ] ;
 
-DESKBAR_APPLICATIONS = 
-       ActivityMonitor 
-       CharacterMap 
-       DeskCalc Devices DiskProbe DiskUsage DriveSetup 
-       Expander 
-       StyledEdit 
+DESKBAR_APPLICATIONS =
+       ActivityMonitor
+       CharacterMap
+       DeskCalc Devices DiskProbe DiskUsage DriveSetup
+       Expander
+       StyledEdit
        Terminal
 ;
 
-DESKBAR_DESKTOP_APPLETS = 
-       NetworkStatus 
+DESKBAR_DESKTOP_APPLETS =
+       NetworkStatus
        ProcessController
        Workspaces
 ;
 
 SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
-       Appearance 
+       Appearance
        Backgrounds
-       <preference>Deskbar 
-       FileTypes 
-       Keyboard Keymap 
+       <preference>Deskbar
+       FileTypes
+       Keyboard Keymap
        Locale
-       Mouse 
-       Network Notifications 
-       Screen Shortcuts 
-       Time Touchpad <preference>Tracker 
+       Mouse
+       Network Notifications
+       Screen Shortcuts
+       Time Touchpad <preference>Tracker
        VirtualMemory
 ] ;
 
@@ -115,35 +115,35 @@ rule HaikuImageGetPrivateSystemLibs
 
 
 SYSTEM_SERVERS = [ FFilterByBuildFeatures
-       app_server 
-       debug_server dns_resolver_server 
+       app_server
+       debug_server dns_resolver_server
        input_server
        keystore_server
-       mount_server 
+       mount_server
        net_server notification_server
-       package_daemon power_daemon 
+       package_daemon power_daemon
        registrar
        syslog_daemon
 ] ;
 
-SYSTEM_NETWORK_DEVICES = 
-       ethernet 
-       loopback 
+SYSTEM_NETWORK_DEVICES =
+       ethernet
+       loopback
 ;
 
-SYSTEM_NETWORK_DATALINK_PROTOCOLS = 
-       <module>arp 
-       ethernet_frame 
-       ipv6_datagram 
+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_NETWORK_PROTOCOLS =
+       icmp icmp6 ipv4 ipv6
+       tcp
+       udp unix
 ;
 
 SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
@@ -153,12 +153,12 @@ SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
        }@ # x86,x86_64
 ] ;
 
-SYSTEM_ADD_ONS_TRANSLATORS = 
-       STXTTranslator 
+SYSTEM_ADD_ONS_TRANSLATORS =
+       STXTTranslator
 ;
 
-SYSTEM_ADD_ONS_LOCALE_CATALOGS = 
-       <catalog-addon>plaintext 
+SYSTEM_ADD_ONS_LOCALE_CATALOGS =
+       <catalog-addon>plaintext
 ;
 
 SYSTEM_ADD_ONS_MEDIA = ;
@@ -186,33 +186,33 @@ 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 
+               3com
+               atheros813x ar81xx attansic_l1 attansic_l2
+               broadcom440x broadcom570x
+               dec21xxx
+               ipro100 ipro1000
+               jmicron2x0
+               marvell_yukon
                nforce
-               pcnet 
-               rtl8139 rtl81xx 
-               sis19x syskonnect 
+               pcnet
+               rtl8139 rtl81xx
+               sis19x syskonnect
                via_rhine vt612x
        }@ # x86_64
 
-       etherpci 
-       pegasus 
-       sis900 
-       usb_asix usb_davicom usb_ecm 
+       etherpci
+       pegasus
+       sis900
+       usb_asix usb_davicom usb_ecm
        wb840
 
        # WLAN drivers
        x86 @{
-               aironetwifi atheroswifi 
+               aironetwifi atheroswifi
                broadcom43xx
-               iprowifi2100 iprowifi2200 iprowifi3945 iprowifi4965 
+               iprowifi2100 iprowifi2200 iprowifi3945 iprowifi4965
                marvell88w8363 marvell88w8335
-               ralinkwifi 
+               ralinkwifi
                wavelanwifi
        }@ # x86
 
@@ -220,18 +220,18 @@ SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
        #usb_beceemwmx@gpl
 ] ;
 
-SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures 
-       acpi_button@x86 
+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 
+       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 
+       usb
        virtio
 ] ;
 
diff --git a/build/jam/images/definitions/regular 
b/build/jam/images/definitions/regular
index c67fc7c..af07cec 100644
--- a/build/jam/images/definitions/regular
+++ b/build/jam/images/definitions/regular
@@ -10,42 +10,42 @@ SYSTEM_BIN += [ FFilterByBuildFeatures
        installsound
        mail2mbox mbox2mail mkdos mount_nfs
        play playfile playsound playwav
-       screenshot setdecor spamdbm 
+       screenshot setdecor spamdbm
        translate
 ] ;
 
 SYSTEM_APPS += [ FFilterByBuildFeatures
-       CDPlayer CodyCam 
-       GLInfo@mesa 
-       HaikuDepot 
-       Icon-O-Matic Installer LaunchBox 
+       CDPlayer CodyCam
+       GLInfo@mesa
+       HaikuDepot
+       Icon-O-Matic Installer LaunchBox
        Magnify Mail MediaConverter MediaPlayer MidiPlayer
        PackageInstaller People PoorMan PowerStatus
-       Screenshot SerialConnect SoundRecorder 
-       TV 
-       WebWatch 
+       Screenshot SerialConnect SoundRecorder
+       TV
+       WebWatch
 ] ;
 
-DESKBAR_APPLICATIONS += 
-       CodyCam CDPlayer 
-       HaikuDepot 
-       Icon-O-Matic Installer 
-       Magnify Mail MediaConverter MediaPlayer MidiPlayer 
+DESKBAR_APPLICATIONS +=
+       CodyCam CDPlayer
+       HaikuDepot
+       Icon-O-Matic Installer
+       Magnify Mail MediaConverter MediaPlayer MidiPlayer
        People PoorMan
        TV
 ;
 
-DESKBAR_DESKTOP_APPLETS += 
-       LaunchBox 
+DESKBAR_DESKTOP_APPLETS +=
+       LaunchBox
        PowerStatus
 ;
 
 SYSTEM_PREFERENCES += [ FFilterByBuildFeatures
        DataTranslations
-       E-mail 
-       Media 
-       Printers 
-       ScreenSaver Sounds 
+       E-mail
+       Media
+       Printers
+       ScreenSaver Sounds
 ] ;
 
 SYSTEM_DEMOS += [ FFilterByBuildFeatures
@@ -72,7 +72,7 @@ rule HaikuImageGetSystemLibs
                        libpackage.so
                        libscreensaver.so
                        libtextencoding.so libtracker.so libtranslation.so
-                       libtiff.so 
+                       libtiff.so
                ] ]
                ;
 }
@@ -91,36 +91,36 @@ rule HaikuImageGetPrivateSystemLibs
 
 
 SYSTEM_SERVERS += [ FFilterByBuildFeatures
-       cddb_daemon 
+       cddb_daemon
        mail_daemon media_addon_server media_server midi_server
-       nfs4_idmapper_server 
+       nfs4_idmapper_server
        print_server print_addon_server
 ] ;
 
 SYSTEM_ADD_ONS_ACCELERANTS += [ FFilterByBuildFeatures
        x86,x86_64 @{
-               intel_810.accelerant intel_extreme.accelerant 
+               intel_810.accelerant intel_extreme.accelerant
                matrox.accelerant
-               nvidia.accelerant 
-               radeon.accelerant radeon_hd.accelerant 
-               #via.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 
+SYSTEM_ADD_ONS_TRANSLATORS +=
+       BMPTranslator
+       EXRTranslator
+       GIFTranslator
+       HVIFTranslator
+       ICOTranslator ICNSTranslator
+       JPEGTranslator  JPEG2000Translator
        PCXTranslator PNGTranslator PPMTranslator PSDTranslator
-       RAWTranslator RTFTranslator 
+       RAWTranslator RTFTranslator
        SGITranslator
-       TGATranslator TIFFTranslator 
+       TGATranslator TIFFTranslator
        WebPTranslator WonderBrushTranslator
 ;
 
@@ -140,7 +140,7 @@ SYSTEM_ADD_ONS_MEDIA += [ FFilterByBuildFeatures
 ] ;
 
 SYSTEM_ADD_ONS_MEDIA_PLUGINS += [ FFilterByBuildFeatures
-       ffmpeg@ffmpeg 
+       ffmpeg@ffmpeg
        raw_decoder
 ] ;
 
@@ -155,70 +155,70 @@ SYSTEM_ADD_ONS_PRINT +=
        Preview
 ;
 
-SYSTEM_ADD_ONS_PRINT_TRANSPORT += 
-       HP\ JetDirect 
-       IPP 
+SYSTEM_ADD_ONS_PRINT_TRANSPORT +=
+       HP\ JetDirect
+       IPP
        LPR
        # Parallel\ Port
-       Print\ To\ File 
-       Serial\ Port 
+       Print\ To\ File
+       Serial\ Port
        USB\ Port
 ;
 
 SYSTEM_ADD_ONS_SCREENSAVERS += [ FFilterByBuildFeatures
-       Butterfly 
-       DebugNow 
+       Butterfly
+       DebugNow
        Flurry@mesa
        GLife@mesa Gravity@mesa
-       $(HAIKU_INCLUDE_TRADEMARKS)Haiku 
-       Icons IFS 
+       $(HAIKU_INCLUDE_TRADEMARKS)Haiku
+       Icons IFS
        Leaves
-       Message 
+       Message
        Spider
 ] ;
 
-SYSTEM_ADD_ONS_DRIVERS_AUDIO += 
-       auich auvia 
-       echo3g emuxki 
-       hda 
-       ice1712 
-       sis7018 
+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_AUDIO_OLD +=
+       #cmedia usb_audio
 ;
 
 SYSTEM_ADD_ONS_DRIVERS_GRAPHICS += [ FFilterByBuildFeatures
        x86,x86_64 @{
-               intel_810 intel_extreme 
-               matrox 
-               nvidia 
-               radeon radeon_hd 
-               #via 
+               intel_810 intel_extreme
+               matrox
+               nvidia
+               radeon radeon_hd
+               #via
        }@ # x86,x86_64
        x86 @{
-               3dfx 
-               ati 
-               neomagic 
+               3dfx
+               ati
+               neomagic
                s3
        }@ # x86
 ] ;
 
-SYSTEM_ADD_ONS_DRIVERS_MIDI += 
-       emuxki 
-       ice1712 
-       usb_midi 
+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 
+SYSTEM_ADD_ONS_FILE_SYSTEMS +=
+       cdda
+       googlefs
+       nfs nfs4
 ;
 
 # Mailbox folders and symlink
diff --git a/build/jam/packages/Haiku b/build/jam/packages/Haiku
index d2f8b35..560dfe8 100644
--- a/build/jam/packages/Haiku
+++ b/build/jam/packages/Haiku
@@ -200,16 +200,16 @@ AddFilesToPackage data KeyboardLayouts ThinkPad
 
 # boot module links
 AddBootModuleSymlinksToPackage
-       acpi@x86,x86_64 ahci ata@ata ata_adapter@ata 
-       bfs 
-       config_manager 
+       acpi@x86,x86_64 ahci ata@ata ata_adapter@ata
+       bfs
+       config_manager
        dpc
        efi_gpt
-       generic_ide_pci 
-       ide@ide ide_adapter@ide ide_isa@x86 isa@x86,x86_64 intel it8211 
-       legacy_sata locked_pool 
+       generic_ide_pci
+       ide@ide ide_adapter@ide ide_isa@x86 isa@x86,x86_64 intel it8211
+       legacy_sata locked_pool
        openpic@ppc
-       packagefs pci 
+       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
diff --git a/build/jam/repositories/HaikuPorts/x86 
b/build/jam/repositories/HaikuPorts/x86
index 5c2af22..dfd9f58 100644
--- a/build/jam/repositories/HaikuPorts/x86
+++ b/build/jam/repositories/HaikuPorts/x86
@@ -65,7 +65,7 @@ RemotePackageRepository HaikuPorts
        jpeg_devel-9-3
        jpeg_tools-9-3
        keymapswitcher-1.2.7.10-1
-       less-451-4      
+       less-451-4
        libedit-2012_06_01_3.0-1
        libedit_devel-2012_06_01_3.0-1
        libiconv-1.13.1-6
@@ -229,7 +229,7 @@ RemotePackageRepository HaikuPorts
        jam
        jpeg
        keymapswitcher
-       less    
+       less
        libedit
        libiconv
        libogg
@@ -272,7 +272,7 @@ RemotePackageRepository HaikuPorts
        tar
        texi2html
        texinfo
-       unrar   
+       unrar
        vim
        vision
        which
diff --git a/build/jam/repositories/HaikuPorts/x86_gcc2 
b/build/jam/repositories/HaikuPorts/x86_gcc2
index 753eb3b..fc857a4 100644
--- a/build/jam/repositories/HaikuPorts/x86_gcc2
+++ b/build/jam/repositories/HaikuPorts/x86_gcc2
@@ -41,7 +41,7 @@ RemotePackageRepository HaikuPorts
        expat-2.0.1-7
        expat_devel-2.0.1-7
        f1spirit-0.rc9.1615-1
-       findutils-4.4.2-1       
+       findutils-4.4.2-1
        ffmpeg-0.10.2-4
        ffmpeg_devel-0.10.2-4
        flac-1.3.0-1
@@ -50,7 +50,7 @@ RemotePackageRepository HaikuPorts
        freetype-2.5.2-3
        freetype_devel-2.5.2-3
        fribidi-0.19.5-1
-       fribidi_devel-0.19.5-1  
+       fribidi_devel-0.19.5-1
        friss-0.8beta-1
        gawk-4.1.0-2
        gcc-2.95.3_2013_08_15-4
@@ -81,7 +81,7 @@ RemotePackageRepository HaikuPorts
        jpeg_tools-9-3
        keymapswitcher-1.2.7.11-1
        lcms-2.5-1
-       lcms_devel-2.5-1        
+       lcms_devel-2.5-1
        less-451-4
        lha-1.14i-1
        libao-1.0.0-1
@@ -521,7 +521,7 @@ RemotePackageRepository HaikuPorts
        texi2html
        texinfo
        ubertuber
-       unrar   
+       unrar
        vcmi_x86
        vim
        vision
diff --git a/build/scripts/build_archive b/build/scripts/build_archive
index 6c13f7e..350ffe5 100755
--- a/build/scripts/build_archive
+++ b/build/scripts/build_archive
@@ -12,9 +12,9 @@ shift
 # The second argument is the shell script that initializes the variables:
 # tmpDir
 # addBuildCompatibilityLibDir
-# 
+#
 # copyattr
-# rmAttrs 
+# rmAttrs
 # zip
 # NOTE: rmAttrs and zip are only passed in when building zip
 #
diff --git a/build/scripts/build_cross_tools_gcc4 
b/build/scripts/build_cross_tools_gcc4
index 13baf4f..cece149 100755
--- a/build/scripts/build_cross_tools_gcc4
+++ b/build/scripts/build_cross_tools_gcc4
@@ -95,7 +95,7 @@ if [ -z "$gccVersion" ]; then
 fi
 
 # touch all info files in order to avoid the dependency on makeinfo
-# (which apparently doesn't work reliably on all the different host 
+# (which apparently doesn't work reliably on all the different host
 # configurations and changes files which in turn appear as local changes
 # to the VCS).
 find "$binutilsSourceDir" "$gccSourceDir" -name \*.info -print0 | xargs -0 
touch
diff --git a/build/scripts/generate_CountryFlags.sh 
b/build/scripts/generate_CountryFlags.sh
index 44b3a0f..aa2bde8 100755
--- a/build/scripts/generate_CountryFlags.sh
+++ b/build/scripts/generate_CountryFlags.sh
@@ -7,7 +7,7 @@ destination=CountryFlags.rdef
 nr=0
 
 for file in *
-do 
+do
        id=`echo "$file" | cut -b -2`
        name=`echo "${file%%.*}" | cut -b 4-`
 
@@ -15,7 +15,7 @@ do
        echo "resource($nr,\"$id\") #'VICN' array {" >> $destination
        tail -n +3 "$file" >> $destination
        echo >> $destination
-       
-       nr=`expr $nr + 1`       
+
+       nr=`expr $nr + 1`
        echo \ $nr, $name, $id... OK
 done

############################################################################

Commit:      3d9c3125ac6ac5f643a89eea32dd4667a4bb5ce4
URL:         http://cgit.haiku-os.org/haiku/commit/?id=3d9c312
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Wed Apr 30 21:12:59 2014 UTC

Create packages_build folders per build type.

* The content of the preprocessed package-info files and the package
  contents depend on the build type, so we use a different folder for
  each build type.

----------------------------------------------------------------------------

diff --git a/build/jam/DefaultBuildProfiles b/build/jam/DefaultBuildProfiles
index 34414c8..13525bf 100644
--- a/build/jam/DefaultBuildProfiles
+++ b/build/jam/DefaultBuildProfiles
@@ -11,11 +11,17 @@ switch $(HAIKU_BUILD_PROFILE) {
        case "minimum-*" : {
                HAIKU_BUILD_TYPE = minimum ;
                EnableBuildFeatures minimum_image ;
+
+               HAIKU_DEFINES += HAIKU_MINIMUM_BUILD ;
+               TARGET_DEFINES += HAIKU_MINIMUM_BUILD ;
        }
 
        case "*" : {
                HAIKU_BUILD_TYPE = regular ;
                EnableBuildFeatures regular_image ;
+
+               HAIKU_DEFINES += HAIKU_REGULAR_BUILD ;
+               TARGET_DEFINES += HAIKU_REGULAR_BUILD ;
        }
 }
 Echo "Starting build of type $(HAIKU_BUILD_TYPE) ..." ;
diff --git a/build/jam/PackageRules b/build/jam/PackageRules
index 731c089..11cf632 100644
--- a/build/jam/PackageRules
+++ b/build/jam/PackageRules
@@ -50,9 +50,6 @@ rule PreprocessPackageInfo source : directory : architecture
        ;
 
        local target = $(source:BSG=package-info)-package-info ;
-       if $(HAIKU_BUILD_TYPE) = bootstrap {
-               target = $(target)-bootstrap ;
-       }
        MakeLocate $(target) : $(directory) ;
 
        PreprocessPackageOrRepositoryInfo $(target) : $(source) : 
$(architecture)
@@ -97,11 +94,9 @@ rule PreprocessPackageOrRepositoryInfo target : source : 
architecture
        #       useCPP - Filter the source file through the C preprocessor 
after the
        #               placeholder substitutions have been performed.
 
-       local defines = HAIKU_PACKAGING_ARCH=$(architecture) ;
+       local defines = HAIKU_PACKAGING_ARCH=$(architecture)
+               HAIKU_$(HAIKU_BUILD_TYPE:U)_BUILD ;
        local sedReplacements = %HAIKU_PACKAGING_ARCH%,$(architecture) ;
-       if $(HAIKU_BUILD_TYPE) = bootstrap {
-               defines += HAIKU_BOOTSTRAP_BUILD ;
-       }
        if $(secondaryArchitecture) {
                defines += 
HAIKU_SECONDARY_PACKAGING_ARCH=$(secondaryArchitecture) ;
                sedReplacements
@@ -159,8 +154,9 @@ rule BuildHaikuPackage package : packageInfo
 
        local grist = [ FHaikuPackageGrist $(package) ] ;
 
-       local tempDir
-               = [ FDirName $(HAIKU_PACKAGES_BUILD_DIR_$(architecture)) 
$(grist) ] ;
+       local tempDir = [ FDirName
+               $(HAIKU_PACKAGES_BUILD_DIR_$(architecture)) $(HAIKU_BUILD_TYPE) 
$(grist)
+       ] ;
        local scriptDir = [ FDirName $(tempDir) scripts ] ;
 
        #  build the package info and locate the package
diff --git a/src/data/package_infos/arm/haiku b/src/data/package_infos/arm/haiku
index ea1e676..b056b92 100644
--- a/src/data/package_infos/arm/haiku
+++ b/src/data/package_infos/arm/haiku
@@ -181,7 +181,7 @@ requires {
        lib:libicutest
        lib:libicutu
        lib:libicuuc
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg
        lib:libpng
 #endif
diff --git a/src/data/package_infos/m68k/haiku 
b/src/data/package_infos/m68k/haiku
index bb19df2..f80e701 100644
--- a/src/data/package_infos/m68k/haiku
+++ b/src/data/package_infos/m68k/haiku
@@ -173,7 +173,7 @@ provides {
 
 requires {
        lib:libfreetype
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg
        lib:libpng
 #endif
diff --git a/src/data/package_infos/ppc/haiku b/src/data/package_infos/ppc/haiku
index 10bd664..f93d0c3 100644
--- a/src/data/package_infos/ppc/haiku
+++ b/src/data/package_infos/ppc/haiku
@@ -181,7 +181,7 @@ requires {
        lib:libicutest
        lib:libicutu
        lib:libicuuc
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg
        lib:libpng
 #endif
diff --git a/src/data/package_infos/x86/haiku b/src/data/package_infos/x86/haiku
index 57c6f2f..f1439dd 100644
--- a/src/data/package_infos/x86/haiku
+++ b/src/data/package_infos/x86/haiku
@@ -182,7 +182,7 @@ requires {
        lib:libicutest
        lib:libicutu
        lib:libicuuc
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg
        lib:libpng
 #endif
diff --git a/src/data/package_infos/x86/haiku_secondary 
b/src/data/package_infos/x86/haiku_secondary
index 9b36abb..02feef5 100644
--- a/src/data/package_infos/x86/haiku_secondary
+++ b/src/data/package_infos/x86/haiku_secondary
@@ -32,7 +32,7 @@ requires {
        lib:libicutest_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libicutu_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libicuuc_%HAIKU_SECONDARY_PACKAGING_ARCH%
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libpng_%HAIKU_SECONDARY_PACKAGING_ARCH%
 #endif
diff --git a/src/data/package_infos/x86_64/haiku 
b/src/data/package_infos/x86_64/haiku
index 7eda63d..ec6fe84 100644
--- a/src/data/package_infos/x86_64/haiku
+++ b/src/data/package_infos/x86_64/haiku
@@ -181,7 +181,7 @@ requires {
        lib:libicutest
        lib:libicutu
        lib:libicuuc
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg
        lib:libpng
 #endif
diff --git a/src/data/package_infos/x86_64/haiku_secondary 
b/src/data/package_infos/x86_64/haiku_secondary
index b0a2576..225f9df 100644
--- a/src/data/package_infos/x86_64/haiku_secondary
+++ b/src/data/package_infos/x86_64/haiku_secondary
@@ -30,7 +30,7 @@ requires {
        lib:libicutest_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libicutu_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libicuuc_%HAIKU_SECONDARY_PACKAGING_ARCH%
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libpng_%HAIKU_SECONDARY_PACKAGING_ARCH%
 #endif
diff --git a/src/data/package_infos/x86_gcc2/haiku 
b/src/data/package_infos/x86_gcc2/haiku
index 2fb96d2..2ad01a0 100644
--- a/src/data/package_infos/x86_gcc2/haiku
+++ b/src/data/package_infos/x86_gcc2/haiku
@@ -182,7 +182,7 @@ requires {
        lib:libicutest
        lib:libicutu
        lib:libicuuc
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg
        lib:libpng
 #endif
diff --git a/src/data/package_infos/x86_gcc2/haiku_secondary 
b/src/data/package_infos/x86_gcc2/haiku_secondary
index 1640487..029249c 100644
--- a/src/data/package_infos/x86_gcc2/haiku_secondary
+++ b/src/data/package_infos/x86_gcc2/haiku_secondary
@@ -32,7 +32,7 @@ requires {
        lib:libicutest_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libicutu_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libicuuc_%HAIKU_SECONDARY_PACKAGING_ARCH%
-#ifndef HAIKU_BOOTSTRAP_BUILD
+#ifdef HAIKU_REGULAR_BUILD
        lib:libjpeg_%HAIKU_SECONDARY_PACKAGING_ARCH%
        lib:libpng_%HAIKU_SECONDARY_PACKAGING_ARCH%
 #endif

############################################################################

Revision:    hrev47186
Commit:      aa2e5eca78d747234a7557c86d4f104a8301d88a
URL:         http://cgit.haiku-os.org/haiku/commit/?id=aa2e5ec
Author:      Oliver Tappe <zooey@xxxxxxxxxxxxxxx>
Date:        Wed Apr 30 21:47:55 2014 UTC

Add new configuration option --no-downloads.

* If --no-downloads has been given, Haiku will be built without
  trying to download anything, all required packages need to be put
  into the download folder manually (the build will stop on missing
  packages).
* As the required HaikuPorts repository can't be downloaded in this
  mode, a local repository is created during the build, which only
  contains the packages available in the downloads folder.

This is useful for building Haiku completely from source.

----------------------------------------------------------------------------

diff --git a/build/jam/FileRules b/build/jam/FileRules
index c6c5556..f838c0f 100644
--- a/build/jam/FileRules
+++ b/build/jam/FileRules
@@ -468,6 +468,10 @@ rule DownloadLocatedFile target : url : source
 actions DownloadLocatedFile1
 {
        source="$(2)"
+       if [ "$(HAIKU_NO_DOWNLOADS)" = 1 ]; then
+               echo "ERROR: Would need to download $(URL), but 
HAIKU_NO_DOWNLOADS is set!" ;
+               exit 1
+       fi
        wget -O "$(1)" $(URL) || exit 1
        touch "$(1)"
 }
diff --git a/build/jam/RepositoryRules b/build/jam/RepositoryRules
index a3dd5e2..238690d 100644
--- a/build/jam/RepositoryRules
+++ b/build/jam/RepositoryRules
@@ -155,25 +155,50 @@ rule RemotePackageRepository repository : architecture : 
repositoryUrl
        Depends $(packagesChecksumFile) : $(packageListFile) ;
        ChecksumFileSHA256 $(packagesChecksumFile) : $(packageListFile) ;
 
-       # download repository info file
        local repositoryInfo = $(repository:G=repository-info)-info ;
-       MakeLocate $(repositoryInfo) : $(repositoriesDir) ;
-       local repoUrl = [ on $(repository) return $(HAIKU_REPOSITORY_URL) ] ;
-       DownloadLocatedFile $(repositoryInfo)
-               : "$(repoUrl)/`cat $source`/repo.info"
-               : $(packagesChecksumFile) ;
-
-       # download repository file
        local repositoryFile = $(repository:G=repository-cache) ;
-       MakeLocate $(repositoryFile) : $(repositoriesDir) ;
-       local repoUrl = [ on $(repository) return $(HAIKU_REPOSITORY_URL) ] ;
-       DownloadLocatedFile $(repositoryFile)
-               : "$(repoUrl)/`cat $source`/repo"
-               : $(packagesChecksumFile) ;
+       local repositoryConfig = $(repository:G=repository-config)-config ;
+       MakeLocate $(repositoryInfo) $(repositoryFile) $(repositoryConfig)
+               : $(repositoriesDir) ;
+       # Use a locally created dummy repository if downloads have been 
disabled.
+       # This is useful when trying to build everything locally from source.
+       if $(HAIKU_NO_DOWNLOADS) = 1 {
+               # build the dummy repository info file
+               local repositoryInfoTemplate = 
<repository-info-template>haikuports ;
+               SEARCH on $(repositoryInfoTemplate)
+                       = $(HAIKU_TOP)/src/data/repository_infos ;
+               PreprocessPackageOrRepositoryInfo $(repositoryInfo)
+                       : $(repositoryInfoTemplate) : $(architecture) ;
+
+               # build repository file, using only packages available in the 
download
+               # directory
+               local allPackageFiles = [
+                       on $(packageListFile) return 
$(HAIKU_REPOSITORY_PACKAGE_FILE_NAMES)
+               ] ;
+               local packageFiles ;
+               for packageFile in $(allPackageFiles) {
+                       if [ Glob $(HAIKU_DOWNLOAD_DIR) : $(packageFile) ] {
+                               packageFile = $(packageFile:G=package-file) ;
+                               MakeLocate $(packageFile) : 
$(HAIKU_DOWNLOAD_DIR) ;
+                               packageFiles += $(packageFile) ;
+                       }
+               }
+               RepositoryCache $(repositoryFile) : $(repositoryInfo)
+                       : $(packageFiles) ;
+       } else {
+               # download repository info file
+               local repoUrl = [ on $(repository) return 
$(HAIKU_REPOSITORY_URL) ] ;
+               DownloadLocatedFile $(repositoryInfo)
+                       : "$(repoUrl)/`cat $source`/repo.info"
+                       : $(packagesChecksumFile) ;
+
+               # download repository file
+               DownloadLocatedFile $(repositoryFile)
+                       : "$(repoUrl)/`cat $source`/repo"
+                       : $(packagesChecksumFile) ;
+       }
 
        # build repository config file
-       local repositoryConfig = $(repository:G=repository-config)-config ;
-       MakeLocate $(repositoryConfig) : $(repositoriesDir) ;
        RepositoryConfig $(repositoryConfig) : $(repositoryInfo)
                : $(repositoryUrl)/$version : $(packagesChecksumFile) ;
 
@@ -233,6 +258,23 @@ actions RepositoryConfig1
 }
 
 
+rule RepositoryCache repoCache : repoInfo : packageFiles
+{
+       Depends $(repoCache)
+               : <build>package_repo $(repoInfo) $(packageFiles) ;
+       RepositoryCache1 $(repoCache)
+               : <build>package_repo $(repoInfo) $(packageFiles) ;
+}
+
+
+actions RepositoryCache1
+{
+       $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
+       $(2[1]) create -q $(2[2-])
+       mv $(1:B=repo) $(1)
+}
+
+
 #pragma mark - Bootstrap Repository
 
 
diff --git a/configure b/configure
index f411fe5..a777e38 100755
--- a/configure
+++ b/configure
@@ -74,6 +74,8 @@ options:
   -j<n>                       Only relevant for --build-cross-tools and
                               --build-cross-tools-gcc4. Is passed on to the
                               make building the build tools.
+  --no-downloads              Do not download anything. Useful when trying to
+                              bootstrap and build Haiku from source only.
   --remote-user <username>    Use given username when logging into
                               git.haiku-os.org (via ssh).
   --target=TARGET             Select build target platform.
@@ -528,6 +530,7 @@ HOST_HAIKU_PORTER=
 HAIKU_PORTS=
 HAIKU_PORTS_CROSS=
 HAIKU_BOOT_BOARD=
+HAIKU_NO_DOWNLOADS=0
 
 HAIKU_PACKAGING_ARCHS=
 
@@ -670,6 +673,7 @@ while [ $# -gt 0 ] ; do
                --include-sources)      HAIKU_INCLUDE_SOURCES=1; shift 1;;
                --include-3rdparty)     HAIKU_INCLUDE_3RDPARTY=1; shift 1;;
         -j*)                           buildCrossToolsJobs="$1"; shift 1;;
+               --no-downloads) HAIKU_NO_DOWNLOADS=1; shift 1;;
                --target=*)     TARGET_PLATFORM=`echo $1 | cut -d'=' -f2-`; 
shift 1;;
                --target-arch)
                        assertparam "$1" $#
@@ -944,6 +948,8 @@ HAIKU_HOST_BUILD_ONLY                               ?= 
"${HAIKU_HOST_BUILD_ONLY}" ;
 
 HAIKU_PACKAGING_ARCHS          ?= ${HAIKU_PACKAGING_ARCHS} ;
 
+HAIKU_NO_DOWNLOADS                     ?= "${HAIKU_NO_DOWNLOADS}" ;
+
 HAIKU_BUILD_ATTRIBUTES_DIR     ?= ${HAIKU_BUILD_ATTRIBUTES_DIR} ;
 
 HAIKU_NASM                                     ?= ${HAIKU_NASM} ;
diff --git a/src/data/repository_infos/haikuports 
b/src/data/repository_infos/haikuports
new file mode 100644
index 0000000..3c62733
--- /dev/null
+++ b/src/data/repository_infos/haikuports
@@ -0,0 +1,6 @@
+name HaikuPorts
+vendor "Haiku Project"
+summary "The HaikuPorts repository (for Haiku %HAIKU_VERSION_NO_REVISION%)"
+priority 1
+url 
http://packages.haiku-os.org/haikuports/master/repo/%HAIKU_PACKAGING_ARCH%/dummy
+architecture %HAIKU_PACKAGING_ARCH%


Other related posts:

  • » [haiku-commits] haiku: hrev47186 - build/jam/images/definitions build/jam src/data/package_infos build/jam/board - zooey