Curerntly contains support for amiga RDB and Apple (PPC) partitionning systems,
that is, things that might be useful, but not for most users, and was
not part of the default package.
Naming inspired from the Extras disk shipped with Amiga Workbench, for
lack of a better idea.
Change-Id: I57fb229806139939bc019e6c43b0aec7ea1f483a
Reviewed-on: https://review.haiku-os.org/652
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This contains the contents of Haiku's sources, which is necessary
to include in "with source" builds for proper (L)GPL compliance,
mostly because we have GPL code in the tree.
* The ram_disk driver was missing in the bootstrap images. Adding
it will allow the ramdisk command to work. And with a modified
haikuports.conf one might even use a ramdisk TREE_PATH.
* The virtio_net driver will probably be handy in some situations.
* Hasn't been used for quite some time
* Everything was ported over to a new ATA stack
some time ago.
* No huge regressions were seen from the new ATA
stack.
We bundle bitstream charter as a default font to use when nothing else
is available. We also used to bundle a Courier font, but it does not
work properly.
- Fix the license for Bitstream Charter, to include just the license and
no extra text.
- Add said license to AboutSystem
- Remove the Courier font from the package and from the source tree.
Fixes#11696.
- B_TRIM_DEVICE on a ram disk frees all requested pages. Reading from a
trimmed page returns all 0s. This can be used with fstrim to release
memory for the parts not used by the filesystem, without unregistering
then registering the device.
- Add icon and ioctl to get it.
- Add it to the image, because it works reasonably well and there is no
reason not to include it.
A few weeks back, I spotted in the Musl FAQ that they apparently ship
empty libm.a and libpthread.a files (https://www.musl-libc.org/faq.html),
which they said was for POSIX compatibility. A bit of digging got me to
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html which
says:
> It is unspecified whether the libraries libc.a, libl.a, libm.a, libpthread.a,
> librt.a, [OB] [Option Start] libtrace.a, [Option End] libxnet.a, or liby.a
> exist as regular files. The implementation may accept as -l option-arguments
> names of objects that do not exist as regular files.
So to follow the letter of the law, we only need to have the "c99" command
accept these; however, it appears all Linux and BSD cstdlibs accept them
no matter what compliance mode is in effect.
Discussed with PulkoMandy. This will make HaikuPorts' job a lot easier...
- As suggested by Ingo, add libshared.a to the architecture name map.
This allows it to be linked by its short name like other frequently
used libraries.
- Adjust all Jamfiles referencing the lib accordingly.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
This is a squash of the 42 commits by @mshlyn, as I couldn't find a
way to break them into logical chunks. I did not include these in the build,
as it appears that they only partially work anyway, and much more cleanup is
still needed. However, this is a huge improvement on what was in the tree
before, which looked horrendous and didn't even compile (as it was designed
for the old stack).
Mostly fixes#812.
Tested with a 5MB image, seems to work.
There seems to be an issue with too long names though, or possibly names with spaces.
Also, technically it supports FAT12,16 and 32, so it should probably be renamed
in the interface.
Didn't check how to declare support for more than 1 partition types either.
Splitting the almost 70 MiB userguide package into one package per
language at ~4.5 MiB saves time and space when installing/updating.
At the online tool that manages the user guide pages, we have to
make changes to fall back to the online page if you try to switch
to a language you haven't installed locally. See #9322.
* The same mechanism (and the same PostInstallScript) is used for this.
* If a file first_login exists in ~/config/settings/boot, the first-login
scripts are launched, and the file removed.
* This fixes adding the deskbar tray icons even when there is no Deskbar
running yet (for example on first boot when the FirstBootPrompt
starts), or, IOW bug #12275.
The individual debug heap implementations are now exposed via a
structure of function pointers and a common frontend dispatches the
malloc and malloc_debug APIs through them.
The MALLOC_DEBUG environment variable can be used to select the guarded
heap by adding 'g', otherwise the debug heap is used as the default.
Consequently the separate libroot_guarded is not needed anymore and has
been removed.
To allow the use of environment variables this early, init_env_post_heap
has been added and the heap dependent atfork() moved there. This allowed
to fold the code of init_heap_post_env into init_heap so the former has
been removed.
* This directory is for services that are launched per user (in a user
context), but installed globally.
* This is now used for the default "user" configuration; before this was
put into ~/config/non-packaged/data/launch, which didn't really fit,
and has the huge disadvantage that it cannot be updated.
* Fixes part of #12227.
* This is actually working already, although we cannot reproduce all
the features of the former Bootscript yet. This is without any
dependency support in launch_daemon.
* All shell activity like cleaning out /tmp, setting up the environment,
setting the time, etc. is not yet working.
These files are required for netresolv functionality, and there is no
real use in modifying them as settings files. Restore the previous
behavior, the files are stored in data and part of the Haiku package.
This means there is no need for a fresh install from image to get the
files anymore.
Fixes#12156.
The script runs the guarded heap allocation output through c++filt to
demangle stack trace symbols and filters out a list of known globals
that are never freed. It also allows to exclude further patterns
provided on the command line.
This adds libroot_guarded.so to the HaikuDevel package. It is the same
as libroot_debug with the debug heap swapped out for the guarded heap.
The guarded heap has some useful features that make it desirable to use
while having the disadvantage of a large memory and address space
overhead which make it unusable in some situations. Therefore the
guarded heap cannot simply replace the debug heap but should still be
made available. As the heap init needs to happen even before having
environment variables, the heap to use can not be chosen dynamically.
Exposing them through their own libraries is the next best thing.
* Fletched out new add-on API.
* Moved InterfaceListItem from the interfaces add-on into the
application.
* Renamed NetworkSetup* to Network* respectively NetworkSettings*.
* It's not only broken conceptionally, but also it's implementation
is: it unconditionally filters all ctrl-cmd(-shift) key combinations.
* Since it's functionality should be implemented differently in the
first place, it should be removed completely, though.
... for switching workspaces (removed from BWindow) and
minimize all (aka Show Desktop).
This moves the workspace switch behavior out of the BWindow class
and places it into it's own input server filter that does the same
thing. The difference is that you may now uninstall the workspace
switching filter to disable the behavior. These shortcuts were not
included in the BeOS R5 version of BWindow so represent additional
behavior added to Haiku.
minimize_all (aka Show Desktop) is a new input server filter that
allows you to minimize all windows by pressing cmd+ctrl+D. If
you do not like this behavior you may uninstall the minimize_all
input server filter.
* Notifier::HeaderFetched(): fixed the method signature (go figure how it could
build on x86).
* POP3: fSizes type is now std::vector<size_t> instead of BList. Please review.
off_t might be a better choice.
* added the mail_daemon add-ons to the Haiku package again.
For the time being, exclude the new mail_daemon add-ons from the image,
as they break both the x86 and x86_64 builds by failing to compile in a
variety of ways.
This is based on Jalopeura's patch to #10191, however, there are some
changes.
From the patch:
* Make userlandfs use separate "interface definition" files for each
filesystem, so the netfs package can provide a configuration file
* Add a short document on how to use NetFS
* Various fixes to netfs to make it build again (volatile atomics)
* The netfs_mount script for easier use of NetFS
Additional fixes:
* Move netfs_mount and the interface description file to data/ in the
source tree
* Use strlcat instead of strcat to avoid a buffer overflow
* Some parts were already applied in previous commits
* googlefs: not working, needs update to match current page layout of
google searches
* Amiga and Apple partitionning systems: made them 68k and ppc-only,
respectively. There is not much use for those on x86 systems.
Also remove kdlhangman from the bootstrap packages.
* This is a very useful control, and 3rd-party apps should be able to
use it.
* But, there are planned improvements (making a better model/view
interface) which prevents making it part of the stable API yet.
* We install the headers for many things that are currently in libshared
(BColumnListView, BCalendarView, etc). So it makes sense to also provide
the lib in an "use at your own risk" way. Only the static library is
included, so apps linking against it should continue running on newer
Haiku versions even if the content of the lib changes.
* 3rd party application developers can now make use of those
experimental features without having to copypaste and fork the sources.
* This stage builds the gcc packages to get the shared syslibs, which
only requires the Haiku glue code.
* Add separate declaration section for stage0 packages to
HaikuPortsCross repository files.
* For the bootstrap_stage0 platform, fall back to the gcc headers
provided by the cross-compiler.
* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
necessary since we're only using libgcc-as-single-object for libroot
with x86_gcc2, where the filtered object file doesn't exist. Should
the objects that used to be filtered cause any problems as part of
libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
x86_gcc2, we still build libstdc++.so from the sources in the Haiku
source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.
* Add support for hubs in AllocateDevice().
* Prevent page fault in FinishTransfers().
* Set fCapabilityLength
* Correct in BIOS ownership code
* Fix context errors in _InsertEndpointForPipe().
* Update constants according to latest Specification (v1.1)
* Fix SMI code (reference
http://lkml.iu.edu/hypermail/linux/kernel/1204.2/02460.html).
* Fix Memory/Device-Slot leaks.
* Fix area allocation for TRBs.
* Fix for Intel Lynx Point and Panther Point chipsets. Also move init
of xhci before ehci, to switch USB 2.0 ports before the ehci module
discovers them.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
* qrspec.h isn't yet part of the package for some reason.
* removed qrencode from the bootstrap package.
* only include qrencode when the qrencode package is found.
* didn't check qrencode itself, tests welcome.
These are used when an app uses BMediaFile/BMediaTrack, which leads to
the plug-ins being instanciated on the application side.
* Fixes one more part of #10049 (media add-ons are still missing).
* Will probably not solve any real-world issue because of #4893.
* Instead of separate variables, HAIKU_BUILD_TYPE is set to one of
'bootstrap', 'minimum' or 'regular'.
* Adjust uses of HAIKU_BOOTSTRAP_BUILD accordingly.
* Move actual definitions of respective image contents to files
underneath build/jam/images/definitions (minimum, bootstrap, regular).
* HaikuImage now only includes the image definitions for the selected
build profile and adds the Haiku packages.
* Simplified topmost Jamfile to some extent.
* Move definition of DESKBAR_APPLICATIONS and DESKBAR_DESKTOP_APPLETS
from build/jam/packages/Haiku to the respective image definition file.
* Sort and reformat several lists to make them more readable.
* Create new interface for cpuidle modules (similar to the cpufreq
interface)
* Generic cpuidle module is no longer needed
* Fix and update Intel C-State module
In current state this driver is useless anyway. It's not MP safe.
The P-state values stored in hardcoded tables are only for processors
on which we can't use SpeedStep, because of lack of invariant TSC.
Proper driver should get P-states from ACPI, ensure that the CPU offers
invariant TSC and obviouslt be MP safe.
Some gristing mixup caused the non-secondary version of the lib to be
added to the non-secondary directory, which is what the main
architecture HaikuDevel is already doing.