Commit Graph

2552 Commits

Author SHA1 Message Date
Ingo Weinhold 3010e4f4ea AddFilesToContainer: Strip executables, if requested
Variable HAIKU_CONTAINER_STRIP_EXECUTABLES can be set on the container
to trigger that.
2013-10-12 17:23:56 +02:00
Ingo Weinhold af2e206845 rule Link: Set HAIKU_TARGET_IS_EXECUTABLE on target 2013-10-12 17:22:16 +02:00
Ingo Weinhold 3162883efd Add rules StripFile[s] 2013-10-12 17:21:49 +02:00
Ingo Weinhold 19f94028f6 Revert "Allow stripping binaries when copying to image containers"
This reverts commit d6de84de66.
2013-10-12 16:01:02 +02:00
Ingo Weinhold 7879928fb2 Revert "Enable stripping binaries in m68k boot floppy"
This reverts commit e986f5fce9.
2013-10-12 16:00:21 +02:00
Ingo Weinhold cc5c6133d2 Revert "Rework stripping binaries when copying to containers"
This reverts commit e2332987bc.
2013-10-12 16:00:02 +02:00
Ingo Weinhold d05822f18b Revert "Preserve resources and attributes when copying stripped binaries"
This reverts commit a427aa2f4a.
2013-10-12 15:59:19 +02:00
François Revol a427aa2f4a Preserve resources and attributes when copying stripped binaries
When asked to strip binaries when copying to containers we now
strip to a temporary file, copy over resources to it, copy it
to the container, then copy the attributes from the original
source.

This should allow stripping binaries while preserving attributes
and resources even when copying to images.
2013-10-12 02:37:20 +02:00
François Revol e2332987bc Rework stripping binaries when copying to containers
We now only attempt to strip binaries, by detecting the
LINKFLAGS variable on the targets.

CopySetHaikuRevision now also forwards LINKFLAGS
to revisioned binaries.

Introduce separate AppendToContainerCopyFilesScriptStripFile actions
which are used for copying and stripping, and avoids many useless
shell tests.

When asked to strip binaries, they are detected and handled
individually for simplicity.

Note we still don't keep resources and attributes when stripping.
2013-10-12 01:41:46 +02:00
François Revol e986f5fce9 Enable stripping binaries in m68k boot floppy
This makes it fit again.

We can't reference in BuildSetup a variable set with the other
ones in KernelArchitectureSetup since the rule is invoked later.
2013-10-11 23:30:57 +02:00
Oliver Tappe 56434332b1 Make some values of default build profiles overridable.
* Defining things like HAIKU_ROOT_USER_NAME in UserBuildConfig now 
  has an effect on the image again.
2013-10-10 23:45:55 +02:00
Ingo Weinhold 40b9ac787c Bootstrap image haikuports.config: Comment out PACKAGER
The developer building the packages should enter their own address
instead. I just noticed that a lot of the HaikuPorts package have a
packager attribute with the dummy address "The Haiku build system
<build-system@haiku-os.org>" due to the previous default value.
2013-10-10 23:19:48 +02:00
Ingo Weinhold 97d30f2cfb Encode the hrev revision into the package versions 2013-10-10 21:38:07 +02:00
Ingo Weinhold 04d9b3e89c CopySetHaikuRevision: Pull out rule DetermineHaikuRevision 2013-10-10 21:37:27 +02:00
Adrien Destugues 1b14a4e30b HaikuPorts repo: also add source packages. 2013-10-10 16:47:34 +02:00
Adrien Destugues 161bd06777 Add HaikuPorts packages to help with WebKit development
* Required: libxslt, fixed libxml2 and sqlite3
 * Extras: Caya, vim, and updated cmake
2013-10-10 14:46:03 +02:00
Ingo Weinhold 111e76b755 Properly canonically name the boot loader package 2013-10-10 00:40:10 +02:00
François Revol d6de84de66 Allow stripping binaries when copying to image containers
Currently only needed for boot floppy on some platforms.

Disabled for now.

Note we do not have a mean of knowing which file is a binary
or not so we just try to strip, and silently continue when
strip fails (like on the kernel settings file).

Also note strip actually replaces the file, which means it looses
both the resources and attributes, which shouldn't be a problem
for the boot floppy drivers archive, but is not wanted for other
images, so it's not usable elsewhere as such. Patch wanted.
2013-10-09 22:04:36 +02:00
Ingo Weinhold a27d687e2a Name the generated HPKG files properly
* rule AddPackageFilesToHaikuImage: Add "flags" parameter. The only
  supported flag is "nameFromMetaInfo". It causes the packages to be
  copied under their canonical file name onto the image.
* Use the new flag for all generated packages save haiku_loader.hpkg.
2013-10-09 03:48:26 +02:00
Ingo Weinhold 40c9cb7b47 rule AddFilesToContainer: Support naming files later
* Add "flags" parameter and only supported flag "computeName". When
  specified the "destName" argument is the name of a shell command
  or function that will be called to determine the destination file
  name when the container is built.
* AddFilesToHaikuImage: Pass flags to AddFilesToContainer.
2013-10-09 03:48:25 +02:00
François Revol 4d5508263e libroot: Properly fix linking with libgcc without cmdline overflow
Instead of listing all the objects we want from the libgcc archive
we just make a copy of it and remove those we don't want, and link
to it.

This should allow returning MAXLINE in jam to a sane value.
2013-10-08 23:34:57 +02:00
Ingo Weinhold 897d5af7ff Don't code the Haiku version into all the package infos 2013-10-06 01:37:13 +02:00
Ingo Weinhold cb434e1a2b Also add repository cache files to image
This makes package management operations that require a repository cache
immediately usable (even offline). Also makes sense for the
update-{all,packages} build profile actions, since those update the
repository config which would otherwise no longer match a potentially
existing cache.
2013-10-05 22:49:49 +02:00
Ingo Weinhold 049874acda update-{all,packages} build action: Update repository config 2013-10-05 22:49:49 +02:00
Ingo Weinhold 50ffb21291 update-{all,packages} build profile action: empty packages dir
... before copying the new contents to the image. This caters to the
typical use case of updating an existing Haiku, making manual
intervention to get the new packages activated unnecessary. The downside
is that manually added packages will be removed as well.
2013-10-05 22:49:48 +02:00
Ingo Weinhold 7076d5bb2b Fix update-all build profile action
The same disclaimer as before package management applies (i.e. voids
warranty, use at your own risk).
2013-10-05 22:49:48 +02:00
Rene Gollent bcb9521c0e Update Vision package to r946. 2013-10-05 14:01:37 -04:00
Ingo Weinhold 8f83a0f831 Haiku package: Add a data/empty directory
Can be used when a path to a directory is needed that is certainly
emtpy.
2013-10-04 02:19:31 +02:00
Ingo Weinhold dfd6a5c973 Make the "build" build profile action more intelligent
If additional parameters are specified, only those targets are built,
but under the influence of the build profile. E.g. "jam @alpha-raw build
haiku.hpkg" builds the package with SSL support, while "jam haiku.hpkg"
would build it without (unless explicitly enabled in UserBuildConfig).
2013-10-04 00:20:53 +02:00
Ingo Weinhold efd7a43c66 HaikuPortCross repository: Update libsolv version 2013-10-03 23:01:13 +02:00
Ingo Weinhold f6616e03c3 Update packages that hard-coded references to /boot/common
There are a few more (like gcc still including there respective search
paths), but those should be harmless and can be adjusted later.
2013-10-03 21:55:25 +02:00
Ingo Weinhold f73f5d4c42 Initial changes to remove /boot/common
* find_directory() and hard-coded paths use /boot/system instead of
  /boot/common.
* The build system creates the writable directories in /boot/system
  instead of /boot/common.
* The build system no longer installs any packages in /boot/common.
2013-10-03 21:52:25 +02:00
Jérôme Duval 4d07fb53d0 added a check for HOST_EXTENDED_REGEX_SED presence 2013-10-01 19:48:55 +02:00
Pawel Dziepak c48c3f88a9 build: Reenable debug mode for tarfs 2013-10-01 19:32:51 +02:00
Adrien Destugues 37343ca1f6 Remove which command from default image
* This was a script relying on a working /etc/profile, which may not be
there
 * Instead, use GNU which, available as an haikuport recipe
 * Since the command does not seem to be needed for Haiku to run (and
also because I don't know how to do it), GNU which isn't in the default
 install.
 * Typing "which" in a terminal still works, as that uses an alias
defined directly in /etc/profile.
2013-10-01 16:32:21 +02:00
François Revol 4135f9cde3 Fix build
Declare a HOST_PTHREAD_LINKFLAGS variable to hold the flags
required to link with pthreads, and use it for the solver addon.

Works on GNU/Linux, please test and fix for other platforms.
2013-10-01 02:37:54 +02:00
Oliver Tappe bbecca8c24 Update libsolv and zlib packages for consolidation.
* only the source package are actually relevant, as the source paths
  within older versions of those source packages no longer match the
  expectations of the build system
2013-10-01 01:00:03 +02:00
Oliver Tappe ec5bf7bdf8 Adjust paths in source packages to what haikuporter produces. 2013-10-01 01:00:02 +02:00
Niels Sascha Reedijk f04f7042c5 Determine how to invoke sed with extended regexp
This will require re-running configure
2013-09-30 21:41:54 +02:00
François Revol 58c82e4fb7 Make sure the boot driver tgz doesn't overflow the boot floppy
At least on 68k it does. Seems to be ok on x86, for now...
2013-09-30 04:38:50 +02:00
François Revol f7d6c2f8e5 M68K: Switch to new gcc options for specifying cpu
Latest gcc converts the old ones to the new ones anyway...
including when passing to gas, which of course is not new enough,
so we have to also force gcc to pass the old one around in one case.
2013-09-30 04:02:21 +02:00
François Revol ddb1aa7353 revert 787843b
Restore the Clean action as "together".

Jam splits the args according to MAXLINE, which was too large.
2013-09-30 04:02:20 +02:00
Rene Gollent a11cd14453 Cleanups. 2013-09-29 20:55:54 -04:00
François Revol b019bb2f4f Add definitions for M68K repositories and package infos 2013-09-30 02:35:28 +02:00
François Revol 787843b286 Drop the together keyword on the Clean action
Since the PM merge we now have way too many targets,
here jam clean just fails in execve() due to too long arguments.

jam clean is now very verbose but at least it works.

Another option could be to override the Clean rule itself
to clean in batch by splitting the list...
Patches welcome.
2013-09-30 02:26:12 +02:00
Rene Gollent 6114dd1fc2 Clean up FreeBSD build support as suggested by Ingo. 2013-09-29 19:50:00 -04:00
François Revol 55cc9f852a Add definitions for PPC repositories and package infos 2013-09-30 01:29:03 +02:00
Rene Gollent 9549402d30 Add libcurl build feature. 2013-09-29 17:25:29 -04:00
François Revol 396fc0b0eb Add definitions for ARM repositories and package infos 2013-09-29 03:43:02 +02:00
François Revol 4d65f429d0 Fix bashisms
Besides, at least one test was probably incorrect,
trying to match /* with a single = in [[.
2013-09-29 03:01:39 +02:00
Ingo Weinhold a106b5224c x86: Update pe, add missing libpcre_devel packages 2013-09-28 20:16:54 +02:00
Ingo Weinhold ef6f476892 Remove build/jam/HaikuImage
Apparently accidentally reintroduced with the merge.
2013-09-28 15:42:37 +02:00
Ingo Weinhold 81291304ad Merge remote-tracking branch 'haiku/master' into package-management
Conflicts:
	build/jam/BuildSetup
	build/jam/HaikuImage
	build/jam/board/sam460ex/BoardSetup
	build/jam/board/verdex/BoardSetup
	data/catalogs/apps/icon-o-matic/fr.catkeys
	src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp
	src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp
	src/apps/debugger/files/FileManager.cpp
	src/apps/debugger/files/FileManager.h
	src/apps/debugger/user_interface/gui/inspector_window/MemoryView.cpp
	src/apps/haiku-depot/MainWindow.cpp
	src/apps/haiku-depot/MainWindow.h
	src/apps/haiku-depot/Model.cpp
	src/apps/haiku-depot/PackageInfo.h
	src/apps/haiku-depot/PackageInfoListener.h
	src/apps/haiku-depot/PackageInfoView.cpp
	src/apps/haiku-depot/PackageInfoView.h
	src/apps/haiku-depot/PackageListView.cpp
	src/apps/haiku-depot/PackageListView.h
	src/system/kernel/arch/arm/arch_timer.cpp
	src/system/libroot/os/arch/arm/atomic.S
	src/tools/translation/bitsinfo/Jamfile
	src/tools/translation/bmpinfo/Jamfile
	src/tools/translation/tgainfo/Jamfile
2013-09-27 01:55:45 +02:00
Ingo Weinhold acc6f8326a Update x86 openssh and perl packages, add libedit_devel 2013-09-19 23:52:15 +02:00
Oliver Tappe 50792d1199 Update openssh and perl for x86_gcc2. 2013-09-19 12:23:36 +02:00
Ithamar R. Adema 124830be8d ARM: FDT: add DTS[I] files for the first couple of targets.
Both for the rPI and the Verdex target we now have FDTs. The verdex
DTS is homebrew, the pxa DTSIs come from Linux and should be kept
in sync.

The rPI DTS and Broadcom DTSI come from FreeBSD HEAD, and should
ofcourse also be kept in sync.

One global new Jam rule has been introduced for handling DTS
compilation, aptly named CompileDTS....

More coming!
2013-09-19 01:25:44 +02:00
Rene Gollent b162bdaf1d Add HaikuDepot to Deskbar menu. 2013-09-18 19:52:11 +02:00
Rene Gollent c6a952d706 Add HaikuDepot to image. 2013-09-18 18:45:10 +02:00
Ingo Weinhold 519bb60aef Add group{add,del,mod} 2013-09-18 16:33:19 +02:00
Ingo Weinhold dc3be29614 Enable -Werror in src/bin/multiuser 2013-09-18 16:33:18 +02:00
Ingo Weinhold e9d9ac713f Add userdel 2013-09-18 16:33:17 +02:00
Ingo Weinhold 53b162523f Fix host-only build. 2013-09-18 15:41:12 +02:00
Ithamar R. Adema 7416b5878f ARM: verdex: Make sure __XSCALE__ is defined when compiling.
This is especially important for the assembler code in the kernel,
since it enables workarounds for some critical errata related to
exception handling.
2013-09-18 06:34:40 +02:00
Ingo Weinhold 372a666344 X86VMTranslationMapPAE: Add some ktracing for page (un)mapping 2013-09-18 00:42:45 +02:00
Ithamar R. Adema cc65466f0d ARM: kernel: Make KDL more useful on ARM
This adds the -mapcs-frame compiler flag for ARM to have "stable"
stack frames, adds support to the kernel for dumping stack crawls,
and initial support for iframes. There' much more functionality
to unlock in KDL, but this makes debugging already a lot more
comfortable.....
2013-09-17 23:04:59 +02:00
Rene Gollent eeebe2843a Manually merge 1410faca6c. 2013-09-17 14:42:08 +02:00
John Scipione a7e9ce676f Use uname -s instead of uname -o
...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
Haiku has both, and both print "Haiku".
2013-09-17 14:40:22 +02:00
François Revol 228524afb6 Merge branch 'master' into sam460ex 2013-09-17 13:22:26 +02:00
Jerome Duval 1410faca6c x86_64: added agp_gart, intel_gart, intel_extreme to the image.
* tested on Intel GM45 and Atom_N4x0
2013-09-16 14:50:43 +02:00
John Scipione eeb345aa17 Use uname -s instead of uname -o
...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
Haiku has both, and both print "Haiku".
2013-09-14 14:55:53 -04:00
Oliver Tappe af8587ce40 Added new jam command 'build-remote-repository'.
* build-remote-repository <packages> uploads the given set of packages
  to the server and builds the remote repository
2013-09-14 19:51:09 +02:00
Oliver Tappe 8f3f0ee615 Added next version of Pe for x86_64. 2013-09-14 19:48:49 +02:00
Oliver Tappe 689cebd222 Add version of Pe working on x86_64 2013-09-14 15:52:20 +02:00
François Revol c14bca2958 Merge branch 'master' into sam460ex 2013-09-14 01:16:51 +02:00
Ingo Weinhold cf70d345b2 Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
	build/jam/BuildFeatures
	build/jam/HaikuImage
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/opengl/swpipe/Jamfile
	src/apps/diskusage/Jamfile
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/Jamfile
2013-09-13 01:02:28 +02:00
Ingo Weinhold f11d742feb HaikuCD: Support package resolution 2013-09-13 00:06:21 +02:00
Ingo Weinhold 76cd5b091e Move stuff from HaikuImageCommon to new rule
... AddPackagesAndRepositoryVariablesToContainerScript.
2013-09-13 00:06:21 +02:00
Ingo Weinhold b0d7a45c3d FloppyBootImage: Add packagefs 2013-09-13 00:06:20 +02:00
Ingo Weinhold dee358f0ec AddBootModuleSymlinksToContainer: Fix symlink target
The symlink was only correct, if the container was a package. For
containers with a non-empty path to the system directory the link would
duplicate the system directory path.
2013-09-13 00:06:20 +02:00
Oliver Tappe b3eaedd14a Add missing packages for x86_64 to repository.
* the Pe package doesn't work (Pe won't start), I'm still
  investigating as to why that is
2013-09-12 14:34:47 +02:00
Oliver Tappe a4b13eda69 Increase size of bootstrap image to 20 GB. 2013-09-07 15:25:55 +02:00
Oliver Tappe 797c1a7590 Update x64_64 to current state of things. 2013-09-07 15:25:15 +02:00
Oliver Tappe 818ed1eaf0 Remove blocks for secondary packages for x86_64. 2013-09-06 17:21:35 +02:00
Oliver Tappe fb99605f49 Handle rigged source packages when determining port name.
* I'm not sure this makes much of a difference, but I thought it's 
  better to play it safe.
2013-09-02 12:03:06 +02:00
Oliver Tappe d1246f33f0 Drop use of non-existing variable in KernelAddon rule.
* TARGET_KERNEL_PIC_FLAGS was probably meant to be 
  TARGET_KERNEL_PIC_CCFLAGS at the time this had been added in 2005.
  As correcting the name would mean that kernel add-ons would be 
  compiled such that they wouldn't be position independent, dropping
  the variable makes more sense (which is just a cleanup and doesn't 
  change anything due to that variable being always empty)
2013-08-29 22:44:50 +02:00
Jérôme Duval 86af5f159b VirtioRNG: add to the image 2013-08-29 18:47:48 +02:00
Alexander von Gluck IV 8f7f28a7c3 OpenGL: Upgrade to Mesa 9.2
* The needed LLVM libraries are now within
  the Mesa optional build package.
* The swpipe renderer needs some work still
  and will likey change, swrast is fully
  functional.
2013-08-28 16:18:44 -05:00
Fredrik Holmqvist f0aee2b4ea Enable targets for EFI on binutils.
objcopy needs to know about EFI targets if we want to build EFI Applications.
Also minor whitespace removal.
2013-08-28 19:59:56 +02:00
Ingo Weinhold 86297ca0ff actions DownloadLocatedFile: fail, if wget fails 2013-08-28 01:07:17 +02:00
Ingo Weinhold 106d4015f2 rule ArchitectureSetup: Remove superfluous arch macro definition
The macro for the architecture is already defined by the compiler.
2013-08-28 00:46:12 +02:00
Ingo Weinhold 3db97b7688 Enable -Werror for package_repo and pkgman 2013-08-28 00:36:28 +02:00
Oliver Tappe eb658691e9 Add definitions for x86_64 repositories and package infos. 2013-08-27 23:30:23 +02:00
Oliver Tappe 1af14947fd Add missing case for x86_64 as host CPU architecture. 2013-08-27 23:30:23 +02:00
Jérôme Duval 98b4807f88 random: convert to the new driver API
* also move to a bus manager, we can then attach to the root device.
* updated copyright info.
2013-08-27 20:28:55 +02:00
Ingo Weinhold a1e681690c Rework rule CopySetHaikuRevision
* Remove support for VCSs other than git.
* Make the haiku-revision file a regular build target and make sure it
  is built only once.
* Make determine_haiku_revision an actual shell script and simplify
  it a bit.
2013-08-26 16:38:50 +02:00
Ingo Weinhold e64db4da44 Also mount the packagefs at ~/config 2013-08-25 18:23:11 +02:00
Ingo Weinhold abf4b0f6a0 HaikuPorts/x86: add some missing source packages 2013-08-23 13:31:51 +02:00
Ingo Weinhold 82655a5188 HaikuPorts/x86[_gcc2]: update gcc packages 2013-08-22 17:58:42 +02:00
Ingo Weinhold 648a97f716 HaikuPortsCross: update gcc package versions 2013-08-22 15:49:34 +02:00
Ingo Weinhold 86de8c37b5 Use GNU make also for building gcc 2
Should fix the build on {Free,Open}BSD.
2013-08-22 12:32:20 +02:00