This separates the objects required for the various boot
loaders, allowing the build system to be able to build
for different targets alongside each other. Currently
only done for bios_ia32 vs efi, as both loaders will be
needed for the x86_64 images.
As per API documentation, a BView caches the configured view
colours when not yet attached to the app_server via its
window. So check if we're attached to a window, and if we are,
then and only then do we attempt to lock/unlock our looper.
This fixes uses of AdoptViewColors and AdoptParentColors when
the view isn't yet attached to a window.
src/tools/makebootable defines _USER_MODE, which we can check
for in gpt/Header.cpp to remove the dependency on libuuid, as
makebootable only needs read-only access to partition maps
anyway.
Previously, deleting a partition was lazy and only changed
the partition type to an invalid UUID, and would still
show up as a partition in many partitioning tools.
When writing an individual entry to disk, the offset of the entry
was omitted, which resulted in entries not block-aligned to
overwrite previously valid entries. This in turn resulted in the
stored entries CRC no longer matching what was on disk, causing
the partitioning system to fail to identify it as a valid GPT
when read from disk later (e.g. after a reboot).
E.g. if the first entry is the ESP (which it typically is), and
then the second being an entry for a BFS partition, updating the
BFS partition entry would overwrite the entry for the ESP, thus
corrupting the entries table.
Changed from white on red background, to yellow on black
(neutral) background. Red on black made it look like a
warning, whereas yellow feels more informative.
In hrev49481, the call to AddCommonFilter was accidentally
removed, preventing SetShortcut() from working. The filter
has also been updated to enumerate all buttons, rather than
a maximum of the first three.
The grist for nsparser.h doesn't include the architecture
despite using MultiArchSubDirSetup, so we need to
explicitly include the correctly gristed header.
* Creates symlinks to the post-install scripts into the
administrative/queued-scripts directory.
* Upon reboot, post-install scripts in the queued-scripts
are run, and then the symlinks to the scripts removed.
* This solves the issue of post-install scripts not being
run when the package is installed/upgraded along with the
system packages, as experienced with the latest upgrade
to the bash package.
* This also updates /etc/profile to detect whether our
parent process is a shell, and changes the banner
message accordingly.
* Also, pipe errors to /dev/null, in case grep is not
installed; this allows us to not require grep as a
dependency, and let the banner message do the right
thing.
* The insertion index didn't take into account the fact
that some paths don't get added before the index is
calculated. This resulted in the requested arch paths
ending up in reverse if we were already in the
requested arch environment.
Fixes#12125.
Currently, Haiku has two mimetypes for MIDI files, which causes the
logic for clearing the currently marked item to sometimes fail. Instead,
when two mimetypes have the same description, the subtype is added to
the label in parentheses as is done in the FileTypes preflet.
* There is no need for the Intel partitioning system to write MBR
bootcode on non-x86 systems
* The MBR_HEADER define is used to prevent Jam from making MBR.h
a dependency; the dependency is then specified explicitly when
building for x86/x86_64 platforms
* This should support both GPT and MBR formatted partitions.
* To boot Haiku from a GPT partition, it must have the correct
BFS UUID for the partition.
* Tools such as gdisk/gptfdisk can create partitions with
the correct BFS UUID.
* NeedsToRebuild() didn't actually do anything, as this
returns whether it needs to be rebuilt or not.
* Replaced RemoveItems() with ForceRebuild(), which should
already delete the menu items, whilst additionally
letting the leaf menu know that it needs to rebuild itself.
This bug was reproducible 100%; however, with this fix, there
is now a rare race condition where clicking between an app menu
and the leaf menu will result in both menus showing concurrently.
f9ac1e93fb didn't take
into account that the superblock gets written back
from places other than Initialize(), resulting in
unbootable volumes.
Now the first sector will only be erased if the volume
is being initialized.
* When writing the superblock, because it's at sector 1,
sector 0 doesn't get erased. As a result, if an
existing file system was present, identifying details
in sector 0 could cause the partition identifying code
to detect an old file system instead.
Fixes#11136.
* When opening documents without be:caret_position,
StyledEdit would place the cursor at the end of
the file. _LoadAttrs() intended to set it to the
beginning; however, a check for an existing BRect
for positioning the window would return early,
preventing the caret position to be set.
Fixes#11463
* jam has been updated in btrev43095, which will now
track multiple generated files from a single action
correctly
* this also partially undoes the change introduced in
hrev48061
* Previously, debugging jam, it would output a warning along the
lines of 'warning: using independent target ... grammar.c'. To
fix the dependency, it needs to be declared from object file
to the generated source file.
* With the correct dependency (scanner.o on grammar.c), this
warning is eliminated, and the dependency graph shown is now
correct
* This should address #4091
* this provides parity with the gcc_x86_syslibs packages, so
that special handling isn't required for the gcc4hybrid
builds when a recipe depends on libstdc++ (e.g. haikuwebkit)
Comments to #9672 agree that there's really no need to
expose the dev_t handle, thus simplifying the API.
The dev_t handle, if required, can be retrieved via
BPartition::GetVolume() instead.
It only makes sense to add the ABI directories to library paths
created by Haiku itself. E.g. on a gcc2h build, appending x86.
This also fixes build issues where LIBRARY_PATH is amended, and
the target binaries and libraries are in different locations.
Note: the develop lib directories were excluded, as runtime_loader
shouldn't be looking at these in the first place.
* Previously, BPath::Append() would return an empty path if the
path didn't exist (and an error); in a nightly image, the
B_USER_ADDONS_DIRECTORY didn't exist, triggering the bug.
* Replaced the code with calls to BPathFinder instead, which takes
care of the empty path automatically.