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%