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
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
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
- 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
* 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
- 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
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
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
* 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
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
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
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
* 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
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
* 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
gcc. You need to reconfigure and rebuild the cross-tools to have this
change take effect.
Note that from now on it is no longer possible to use the native BeOS
compiler to build Haiku. You'll have to build a cross compiler, too. I
haven't tested whether this works at all, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24542 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
* 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
* 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
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
hack math_huge_val_ifndef does, anyway. We do it ourselves and remove
the therefore superfluous gcc math.h header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24412 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
* 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
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
* 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
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
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
/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
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
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
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
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
directories. Note that you need an updated "sed" (from the Haiku
repository) if you want to use that rule.
* The "Development" optional package now installs the Haiku headers
needed to build stuff (ie. "os", "gnu", and "posix"). It also makes
a symlink "be" so that we can still use the BeOS compiler with its
builtin header paths.
* Fixed AddVariableToScript for older shells that do not support '+='.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24058 a95241bf-73f2-0310-859d-f6bbb57e9c96
entire screen when exiting the kernel debugger. It sets up a thread that sends
a message to the (currently hardcoded) desktop message looper. The desktop then
does mark the whole screen dirty which causes a full redraw.
Since interrupts need to be enabled I went with an asynchronous thread and
releasing a request sem in the add-ons' exit hook.
Added the add-on to the image as it shouldn't hurt to have it for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24025 a95241bf-73f2-0310-859d-f6bbb57e9c96
Changed the way the VMware image is built. Instead of creating a normal
image first and then adding vmdk header and that image, we create the
VMware image in one go, now. Therefore "jam update-vmware-image ..."
does now actually update the VMware image directly, instead of updating
the normal image and recreating the VMware image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23972 a95241bf-73f2-0310-859d-f6bbb57e9c96
(P5W-DH motherboard have two of those gigabit ethernet controllers),
seems to work fine.
* Add libglut.so alias to the development libs symlinks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23902 a95241bf-73f2-0310-859d-f6bbb57e9c96
BLayout implementation (BALMLayout) using the Auckland Layout Model
(ALM). The original ALM was implemented by Christof Lutteroth, the
Haiku/C++ version by James Kim.
The code needs some review, but the test programs seem to work fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23889 a95241bf-73f2-0310-859d-f6bbb57e9c96
* NetBootArchive still used "agp"; replaced it with agp_gart, and added the
Intel GART module as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23873 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added it to the image, and configured it to be used.
* Currently, it cannot transfer files over 64 KB for some reason
("Message too long").
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23843 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added explicit example for enabling debugging for a subtree.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23818 a95241bf-73f2-0310-859d-f6bbb57e9c96
one has actually been compiled on Haiku and uses better network options, since
it uses BONE headers. On Rene's machine, this version is running since 2.5
days under Haiku. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23795 a95241bf-73f2-0310-859d-f6bbb57e9c96
* It now also serves as a generic GART manager and accepts bus modules as well
as custom modules of graphics drivers if they want to (could be used for the
Radeon PCI GART stuff, for example).
* Implemented GART support module for Intel i965 and G33 chipsets (the other
Intel chips will come later).
* Renamed agp bus manager to agp_gart to reflect its new functionality (even
though the AGP functionality is already outdated (due to PCIe), the GART
stuff remains current).
* Adapted existing users of the AGP bus manager to the API changes.
* Not very well tested yet...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23754 a95241bf-73f2-0310-859d-f6bbb57e9c96
having these
* added DriveSetup to the image
* added optional package Pe, enable it in your UserBuildConfig
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23670 a95241bf-73f2-0310-859d-f6bbb57e9c96
the root of the source tree. Added a work-around that should fix the
problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23544 a95241bf-73f2-0310-859d-f6bbb57e9c96
You know, moving stuff out of your way just because they don't work won't fix them...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23522 a95241bf-73f2-0310-859d-f6bbb57e9c96
23139 into trunk, with roughly the following changes (for details svn
log the branch):
* The int 99 syscall handler is now fully in assembly.
* Added a sysenter/sysexit handler and use it on Pentiums that support
it (via commpage).
* Got rid of i386_handle_trap(). A bit of functionality was moved into
the assembly handler which now uses a jump table to call C functions
handling the respective interrupt.
* Some optimizations to get user debugger support code out of the
interrupt handling path.
* Introduced a thread::flags fields which allows to skip handling of
rare events (signals, user debug enabling/disabling) on the
common interrupt handling path.
* Got rid of the explicit iframe stack. The iframes can still be
retrieved by iterating through the stack frames.
* Made the commpage an architecture independent feature. It's used for
the real time data stuff (instead of creating a separate area).
* The x86 CPU modules can now provide processor optimized versions for
common functions (currently memcpy() only). They are used in the
kernel and are provided to the userland via commpage entries.
* Introduced build system feature allowing easy use of C structure
member offsets in assembly code.
Changes after merging:
* Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp
(caused by refactoring and introduction of "call" debugger command).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added pthreads posix test suite tests to run script and image.
* Improved output for said tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23002 a95241bf-73f2-0310-859d-f6bbb57e9c96
Hope having both doesn't do nasty things on gcc2 builds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22996 a95241bf-73f2-0310-859d-f6bbb57e9c96
After copying the mime db or packages the files were removed, but not the corresponding attribute storage files.
So when an inode got reused the file inherited those leftover attributes.
We now remove them before removing the files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22940 a95241bf-73f2-0310-859d-f6bbb57e9c96