Commit Graph

410 Commits

Author SHA1 Message Date
Ingo Weinhold
7c529c2415 * Renamed vmdkheader to vmdkimage and changed it to create a full image
by default (new option "-H" will create the header only). Option "-c"
  will clear the image.
* Adjusted build_haiku_image accordingly. vmdkimage is way faster and
  more portable than the former vmdkheader+dd combo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 21:18:18 +00:00
Ingo Weinhold
5b420b6d10 Replaced "echo -n >" by "touch" as it's more portable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 19:52:43 +00:00
Michael Lotz
463235a9a8 Add the usb_disk driver to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 18:54:10 +00:00
François Revol
dbbf08a95a Just make sure someone copying it as UserBuildConfig will understand what is wrong and where instead of reporting build breakage induced by their misbehaviour.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 14:59:04 +00:00
Axel Dörfler
0f6b6c36dc Added syskonnect driver to the build to close ticket #1945 again that
diver reopened so fast.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 14:36:39 +00:00
Ingo Weinhold
a0a9d225d3 Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 20:29:43 +00:00
Ingo Weinhold
f8cb30712e * Replaced the dummy implementations of the <grp.h> and <pwd.h>
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
  constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
  the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
  should be on the image (executables: 755, others: 644). Otherwise only
  root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
  HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
  root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
  for adding additional users and groups (by default only root user and
  group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
  features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
  a wrong variable name before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 14:02:52 +00:00
Ingo Weinhold
71136ca48a * Added optional package OpenSSL.
* Added list of optional packages.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 20:01:25 +00:00
Michael Pfeiffer
0255f41188 Implemented UI for bootman.
TODO:
- Implement/integrate low level stuff (see BootDrive.h)
  - reading the partition table
  - reading/writing the MBR
  - writing the boot menu
- Open file dialog for selection of backup MBR file
- Write error message in case of I/O errors
- Test



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 19:55:13 +00:00
Rene Gollent
88499d361f Updated Vision optional package
- fixes off by one pixel bug reported by stippi.
 - fixes Unicode option to use UTF-8 instead of UTF-16.
 - compiled within Haiku using new Development package.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 18:05:24 +00:00
Ingo Weinhold
be8a6e43ff * Added JAMFILE to the config variables.
* Added additional parameters to DeferredSubInclude. It's now possible
  to specify an alternative Jamfile name.
* Added DeferredSubInclude example to UserBuildConfig.ReadMe showing the
  new feature.
* Moved ExecuteDeferredSubIncludes in the root Jamfile before the
  inclusion of HaikuImage, NetBootArchive etc., so that targets defined
  in the subdirectories are already known there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 15:34:30 +00:00
Ingo Weinhold
360be1fc45 * Implemented support for chroot:
- Added a "root" vnode to the io_context. It is used for resolving
    paths and converting nodes to paths instead of sRoot. Some more
    passing around of io_context structures was necessary.
  - Introduced a new lock sIOContextRootLock to protect
    io_context::root. The current uses of io_context::io_mutex
    (put_vnode(), remove_vnode() while holding it) looked too suspicious
    to use that mutex in vnode_path_to_vnode().
  - Added _kern_change_root() syscall and chroot() libroot function.
  - Added chroot coreutils program to the image. Funnily it seems to be
    much easier to set up a little jail than under Linux (just copy
    bash and libroot.so into respective subdirs; mount another pipefs
    if you want pipe support).
    With Haiku allowing direct access to directories via inode IDs
    jailing is obviously not very secure at the moment.
  - Added /var/empty to the image. It will be the chroot target for ssh.
* Changed vfs.cpp:get_cwd() so that the io_context::io_mutex is no
  longer held when calling dir_vnode_to_path().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 05:59:54 +00:00
Maurice Kalinowski
2df0ed7856 * add audioadapter and flanger addons to the build. Thx to Rene for testing these.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 01:41:10 +00:00
Ingo Weinhold
1d8aae1b02 * Moved the optional packages definitions to new OptionalPackages file
and sorted definitions alphabetically.
* Updated Pe package to 2.4.1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 15:18:35 +00:00
Ingo Weinhold
d4954058b5 Added OptionalPackageDependencies rule to specify dependencies between
optional packages, i.e. installing one will install all its
dependencies, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 15:15:18 +00:00
Ingo Weinhold
020bfa8211 * Added the ncurses headers to the Development optional package.
* Simplified the addition of the libpng and zlib headers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 14:49:30 +00:00
Bruno G. Albuquerque
26f50afaaf Bison is now part of the Development optional package. Maybe the sources should
also be removed from our tree (same with flex).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 12:54:44 +00:00
Axel Dörfler
e0c096f559 Removed the VIA graphics driver from the image for now, until it is more
mature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 09:24:29 +00:00
Ingo Weinhold
90f333dc68 Added jam, bison, and flex to the Development optional package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 07:41:33 +00:00
Ingo Weinhold
071f9c3aa2 Build configurations shouldn't be done in svn controlled files, so I
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 22:01:38 +00:00
Ingo Weinhold
d8437e5269 Added /bin/bash symlink.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 01:02:30 +00:00
Ingo Weinhold
c904fe377e * Added new optional parameter to AddHeaderDirectoryToHaikuImage,
specifying the name of the header directory on the image.
* Renamed the "gnu" header directory on the image to "3rdparty" and
  created a "gnu" symlink for compatiblity.
* Added zlib and libpng headers to the "3rdparty" header dir.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 23:48:41 +00:00
Ingo Weinhold
88c4c6627b * Added new rule CopyDirectoryToHaikuImage which recursively copies a
directory to the image. It supports exclude patterns.
* Changed Add{Source,Header}DirectoryToHaikuImage to use the
  CopyDirectoryToHaikuImage rule. The special handling in the
  build_haiku_image script is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 04:14:25 +00:00
Ingo Weinhold
f18e099743 * Added Perl (5.10.0, gcc 2.95.3) optional package.
* Extended the Development optional package. It will now also install
  gcc/binutils as well as autoconf, automake, libtool, texinfo (and
  their dependency perl).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 02:01:54 +00:00
Ingo Weinhold
d41c97f7a5 Append the .zip extension to the package name rather than to replace the
suffix or otherwise package names with dots in them would be mangled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 01:58:41 +00:00
Ingo Weinhold
92c8608e6e Development optional package:
* Install libncurses.a.
* Copy the cpp headers from our repository; don't use the compiler
  headers. This needs some more shuffling around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 23:17:08 +00:00
Ingo Weinhold
0ba49c35b3 * BuildPlatformMain supports overriding HOST_LIBROOT on the target now,
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
  - Added build tool rm_attrs, a simple "rm" replacement, which also
    removes the attributes directory for a given file.
  - Added build/scripts/rm_attrs shell script, which wraps the
    invocation of the rm_attrs tool. If it doesn't exist yet, the
    ordinary rm is used.
  - The RM jam variable refers to the rm_attrs script now, i.e. whenever
    something is removed by the build system, the attributes are removed
    too (if the build tool has already been built, that is).
  - Removed the shell function attrrmrf() in build_haiku_image. We use
    the rm_attrs tool instead, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 21:05:03 +00:00
Ingo Weinhold
a8d29a100c Development optional package:
* Also install _G_config.h.
* /boot/develop/headers/cpp is a symlink to g++'s headers, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 15:13:21 +00:00
Axel Dörfler
e2a61c9c4a * Added "headers/build/gcc-2.95.3" to the Development optional package.
* This allows you to use a GCC compiler completely with native headers, 
  all you have to do (after having unpacked and moved GCC to the correct
  location), is to replace its "lib/gcc-lib/i586-pc-beos/2.95.3-beos-060710/include"
  directory with this one. There is no need for R5 headers anymore, 
  then.
* Removed extraneous whitespace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 16:19:47 +00:00
Ingo Weinhold
404a0fea46 Second stab at reorganizing standard/gcc headers. This time it not only
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not
tested on BeOS.

* Removed stddef.h and stdarg.h. They are provided by the compiler.
* Adjusted size_t.h, wchar_t.h, and wchar.h accordingly.
* Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list
* Added gcc 2.95.3 headers to the repository. They are used instead of
  the headers of the gcc 2.95.3's we use to compile Haiku with. Should
  avoid build problems with the BeOS native compiler.

For sake of personal recreation you can rebuild the cross gcc 2.95.3,
but the only thing that changed is its header directory
(lib/gcc-lib/.../include), which isn't used anymore. Replacing it with
headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-16 17:21:37 +00:00
Ingo Weinhold
d8ce64a27f Reverted r24406. If it builds, it doesn't always work as well. The
change resulted in "version mismatch between boot loader and kernel". So
apparently the size of some type changed unintentionally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-15 19:23:05 +00:00
Ingo Weinhold
6191d9a8da * Removed our stddef.h. We don't need it, since gcc comes with one that
under Haiku overrides ours anyway.
* Adjusted size_t.h, wchar_t.h, wchar.h accordingly. This should fix the
  annoying "ssize_t redefined" warnings when compiling under Haiku.
* When building Haiku the gcc headers come first in the include
  search path now, as it should be. The respective TODO suggested that
  this might break the build depending on compiler version and host
  platform. I've tested with Linux gcc 2 and gcc 4, which work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-15 18:41:46 +00:00
Axel Dörfler
7bcc567db0 Removed "hda" as long as I'm working on it - it doesn't yet work, anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 10:18:25 +00:00
Ingo Weinhold
0bc0282224 * Renamed UserBuildConfig.sample to UserBuildConfig.ReadMe and
uncommented the meaty lines again. Added one or two more explaining
  sentences.
* Created a concise UserBuildConfig.sample with very few comments and
  only the most interesting (commented out) example lines for those
  people who don't read the UserBuildConfig.ReadMe.

I hope everyone can live with this solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 20:54:00 +00:00
Maurice Kalinowski
922a7ffc16 * added video_window demo to the image
* reordered addons alphabetically like we do for all plugins



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 20:38:54 +00:00
Stephan Aßmus
b92508756d * Removed explicit timezone and keymap settings file generation. The system
works fine without those, the keymap file will be generated.
* Supplied the removed lines as example in UserBuildConfig.sample for how
  to supply these settings during image generation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 10:12:15 +00:00
Stephan Aßmus
5a410001da * Added Firefox optional package.
* Added VLC optional package. (I repackaged the latest BeBits version and
  put it on www.yellowbites.com, which is a) much faster to download at
  least from Germany and b) has the Haiku vector icon.)
* Exchanged the Pe package for a recent SVN build which also has the Haiku
  vector icon.

Going to test all these changes on a Linux host soon, seems to work fine
on a BeOS host.

NOTE: The WonderBrush package has gotten a silent update, it includes the
icon in the resources now too, like the other packages with Haiku icon and
also fixes a problem in the Navigation view.

NOTE 2: The build system does not download packages again if generated/download
already contains a .zip with the name of the optional package. So you need 
to delete those to get the recently updated Vision, Pe and WonderBrush
packages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 14:12:05 +00:00
Rene Gollent
6cb48eeb3a Updated optional Vision package to point to a new build which is a)
built directly out of Haiku's build sys, which is to say against haiku's 
headers, etc. directly, and b) includes Stephan's HVIF icon (thanks!).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 01:18:29 +00:00
Stephan Aßmus
fee1aa056c Thank you very much, BitmapDrawing, you have served us well. You may go and
play outside now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 12:42:16 +00:00
François Revol
cfbbe30f3b Adding Bootscript.cd to the image helps a lot, though it now gets stuck waiting for input_server.
Either app_server doesn't start it, or it exits right away...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 03:04:28 +00:00
Stephan Aßmus
16eb448eb4 * The HaikuImage script will put a file "fresh_install" into
/boot/home/config/settings.
* The Bootscript will check for the existance of this file and updates the
  mime database with all the applications and preflets that come with the
  install. Then it removes the indicator file.

This fixes the problem that all the apps are not known to the system until
you run them once. Ie "Open With..." and such stuff works out of the box.
Feel free to find a more elegant way, I just found this simple and effective.
:-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-05 22:25:33 +00:00
Bruno G. Albuquerque
603b62fe60 - Commented out all entries as this is a template file. When copying it to
UserBuildConfig the user just have to uncomment whatever he/she wants. This
  is easier than commenting out almost everything.
- Added entries for Pe and Links optional packages.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-05 14:37:01 +00:00
François Revol
e58b9cf283 Reordered boot module list as well, it works much better when scsi_cd is here!
Added legacy_sata just in case.
At least now qemu finds the bfs track and tries to run Bootscript, but I get loads of ide timeouts so it ends up panicing anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 01:05:50 +00:00
François Revol
7c7279a1a6 Reorder the list of boot modules by logical layer to make it easier to catch the missing ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 01:01:00 +00:00
François Revol
9ed64004cc Rules and targets to build a boot CD iso... use:
jam haiku-boot-cd


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 04:38:29 +00:00
François Revol
8dcb4cb9f5 Make network support disabled by default for boot floppy, it's not needed and doesn't fit 1.44M.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 03:23:51 +00:00
François Revol
22ec1df3f0 Add rules to create a boot floppy (use jam haiku-boot-floppy), in preparation for CD booting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 03:05:23 +00:00
François Revol
be438c2b6b Add ntfs to the image if GPL is enabled, as it seems to build just fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 22:03:39 +00:00
Axel Dörfler
ff13a96fe4 * The common directory no longer contains a "config" directory; this fixes
putting the network "services" config file at the wrong place.
* Removed some dead code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 16:57:47 +00:00
Stephan Aßmus
18c361960a applied patch by Maurice Kalinowski:
Do not attempt to install optional 3rd party packages when building
a GCC4 version of Haiku. I think there has been some discussion on this
topic before, with a more advanced solution, but for the time being, this
should be ok.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 09:43:10 +00:00