Commit Graph
100 Commits
Author SHA1 Message Date
Augustin Cavalier 4c442eb0b8 remote_disk: Fix B_GET[_BIOS]_GEOMETRY ioctls.
They were incorrectly modified in	688acf41a3.

Fixes #18277.
2023-02-22 16:13:21 -05:00
Augustin Cavalier dc509bfab4 fs_shell: Use proper readv/writev functions on Haiku hosts.
Fixes #18269.
2023-02-18 11:38:48 -05:00
Augustin Cavalier 050515f6ae BFS: Fix missing trim of last range in a corner case.
The previous logic of _AddTrim plus _TrimNext meant that if a trim
range was specified in the final call to _TrimNext (i.e. with force=true),
but the trim buffer was already full at that point, that last range
would not actually be trimmed.

Now, _AddTrim returns true when the buffer is filled and trimming
should be done, rather than delaying it and requiring a second
add after trimming.

Change-Id: I4b782948e8dc9267c63e61bce0c078fd4e834177
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6070
Tested-by: Automation <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-02-17 20:21:24 +00:00
Augustin Cavalier c97648aad1 docs/user: Use Doxygen's internal search system.
Fixes #17209.
2023-02-15 16:49:45 -05:00
Augustin Cavalier f7b2278e28 docs/user: Update Doxyfile to Doxygen 1.9.6.
Automated conversion via "doxygen -u". No changes to settings otherwise.
2023-02-15 16:45:53 -05:00
Augustin Cavalier 06cf64e90c fstrim: Pretty-print the trimmed size in addition to showing raw byte counts.
Also do not bother printing sizes if we are exiting without success
and nothing was reported as trimmed.
2023-02-15 16:11:35 -05:00
Augustin Cavalier 1572bf59b7 nvme_disk: Use the correct length value in the total-trimmed calculation.
We want to return the total trimmed size in bytes, not blocks.
Fixes incorrect trim size reporting under NVMe devices.
2023-02-15 15:30:24 -05:00
Augustin Cavalier 66196a82f2 libroot_build: Correct read/write[v] functions.
The previous change was not tested thoroughly enough, it seems.
2023-02-14 01:59:31 -05:00
Augustin Cavalier 5e9fd9f60d libroot_build & fs_shell: Provide _kern_ functions for readv/writev...
..instead of readv_pos/writev_pos. This way, we can be sure that we
are remapping them properly even under Haiku, as well as remove some
potential confusions.

bfs_shell seems to still work fine on a regular build.
2023-02-14 00:49:52 -05:00
Augustin Cavalier 81458ef8a6 kernel/vfs: Remove read sizing hack in common_file_io_vec_pages.
All drivers using IORequest should have any problems here already caught
by it, and overruns in other drivers would overrun the buffer and cause
corruptions, so we should no longer silently be ignoring this,
presuming it is still a problem at all.

As the TODO comment indicated that this logic could also be used for
writes if this wasn't a problem, I have added a separate TODO for that.
2023-02-13 23:12:23 -05:00
Augustin Cavalier 478c8c847d Drivers.h: Rename device_{read|write}_pages back to device_{read|write}v_hook.
They are not about reading and writing pages, but just iovecs.
As the passed iovecs use void*s, it can't possibly be working with
physical pages on 32-bit systems with PAE.

It appears nothing uses or implements these functions anyway,
as there was nothing else in the tree I had to adjust after making
this change...
2023-02-13 23:05:16 -05:00
Augustin Cavalier 5d41cee816 WeakReferenceable: Clear fUseCount when it is 1.
Otherwise, if there are remaining weak references, they could
potentially try to acquire the object and trigger a use-after-free.
2023-01-31 22:36:59 -05:00
Augustin Cavalier b956691cdd WeakReferenceable: Allow reference counts of either 0 or 1 during destruction.
Same rationale as for BReferenceable.

Fixes a KDL seen on boot by at least one user following prior changes.
2023-01-31 21:43:09 -05:00
Augustin Cavalier 6f7201128c Drop "play" command.
It was used only for playing CDs via SCSI commands, which is what
CDPlayer also did; but this is not really much supported anymore,
so CDPlayer was removed years ago, and now this is too.

Its source code lives on at HaikuArchives.

Fixes #18236.
2023-01-31 17:32:51 -05:00
Augustin Cavalier 61ed147044 keyboard: Store errno right after calling open() if an error occurred.
errno is a thread-local variable, we can't read it in another thread
and have the value make any sense. Thus we need to store it.

Fortunately, as our errors are all negative already, we can just put it
directly in fFD instead of having to make a new variable altogether.

Should help with diagnosing a problem seen in some syslogs.
2023-01-31 17:20:40 -05:00
Augustin Cavalier d891ca1119 headers/build: Drop Drivers.h and Select.h.
As far as I can tell, these are no longer needed after the previous commit;
fs_shell does not reference them, anyway.
2023-01-31 17:15:14 -05:00
Augustin Cavalier e05876e25f makebootable: Include Drivers.h only for TARGET_PLATFORM_HAIKU.
It is not needed otherwise.
2023-01-31 17:14:34 -05:00
Augustin Cavalier 8654ab710c kernel/vfs: Use new/delete for advisory_lock structures.
No functional change intended.
2023-01-31 17:12:05 -05:00
Augustin Cavalier 7a6ef4c87d WeakReferenceable: Add reference-count assertion just like BReferenceable. 2023-01-31 15:37:56 -05:00
Augustin Cavalier 1e860e07ee BPrivate::WeakReferenceable: Move implementation to a .cpp.
No functional change to the implementation, just getting it
out of a header.
2023-01-31 15:36:15 -05:00
Augustin Cavalier da49d61cb7 rtl8125: Modifications and additions to make it compile.
Tested by andreasdr and confirmed to work. Thanks!

Fixes #17835.

Change-Id: Ied6dd316741b9f0451fc0aeda69abdf9d8a5fb43
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6042
Reviewed-by: waddlesplash <[email protected]>
2023-01-31 03:00:36 +00:00
Augustin Cavalier f8a90df5fd openbsd_network: New additions for rtl8125.
Change-Id: Id2b2b58e8fe69b5b758ccd8161adcedd7ecaf717
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6041
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-01-31 03:00:36 +00:00
Augustin Cavalier 4a50966655 rtl8125: Import (rge from OpenBSD.)
Just a straight code import, various things need to be done before
it will compile and actually work.

Change-Id: Ibb3629a14067d350d58e2066bafc64a901d6a85e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6040
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-01-31 03:00:36 +00:00
Augustin Cavalier 78eb4676ab freebsd_network: NULL-check if_init before calling.
All FreeBSD drivers set it; not all OpenBSD drivers do.
2023-01-30 21:58:24 -05:00
Augustin Cavalier 147ca87661 Tracker: Drop ShowHideSelection setting.
Unused since the previous commit.
2023-01-28 15:24:23 -05:00
Augustin Cavalier fae0689ac2 kernel/fs: Use open_mode_to_access in rootfs_open.
Addresses a comment by korli.
2023-01-28 00:13:29 -05:00
Augustin Cavalier 4133750ca3 exfat & xfs: Adapt to use next_dirent and shared open_mode_to_access. 2023-01-27 23:56:03 -05:00
Augustin Cavalier 35b40030a7 file_systems/fs_ops_support: Add open_mode_to_access.
This is duplicated across multiple filesystems, and could probably be
used in more still.

Adjusted only BFS, EXT2, and NTFS in this commit, as they are the ones
which make use of fs_ops_support.h already and thus need to be modified
to avoid duplicate-definition errors.

Also tweak next_dirent to support being built under fs_shell.
(Possibly we should define ASSERT there, though?)
2023-01-27 23:53:53 -05:00
Augustin Cavalier dc95ec5777 file_systems/fs_ops_support: Add comment for next_dirent and mark "inline."
This way, anything which includes the file will not trigger a warning
if it does not use the function.
2023-01-27 23:48:00 -05:00
Augustin Cavalier fbc5512274 openbsd_network: Some basic additions in preparation for "rtl8125".
These are trivial and do not really need testing.
2023-01-27 23:28:08 -05:00
Augustin Cavalier 231f740ccc openbsd_network & drivers: Implement the real bus_dmamem functions.
This required the addition of some slight modifications to the main
(FreeBSD compat) bus_dma implementation.

Allows some #ifdefs from iaxwifi/idualwifi to be dropped, and will
ease the porting of some future drivers.

Tested with idualwifi7260, seems to work as before.
2023-01-27 23:26:18 -05:00
Augustin Cavalier 984e2e527b openbsd_network: Move ifq_*_oactive wrappers to a common header. 2023-01-25 23:09:02 -05:00
Augustin Cavalier 218a511cd4 drivers/network/{ether,wlan}: Drop FreeBSD versions from Jamfiles.
These were rarely in sync. Check the git history to determine when
a driver was last updated, when necessary.
2023-01-25 23:00:04 -05:00
Augustin Cavalier 939b20db33 Terminal: Add new files to DoCatalogs.
Fixes #18232.
2023-01-25 22:35:11 -05:00
Augustin Cavalier 946fa9e85e Terminal: Adjust indentation for kColorTable.
No functional change.
2023-01-25 22:34:56 -05:00
Augustin Cavalier 3773999f93 kernel/fs: Add permissions check to rootfs_open.
Missed in the earlier commit which added permissions checks to the
other functions.
2023-01-25 19:11:33 -05:00
Augustin Cavalier 0fae96c5a3 package command: Enable zstd compression by default.
Note that zstd-compressed packages cannot be installed unless the
running system can already read them, even as part of a system
update transaction. This has been possible for some months now,
but if one has an older EFI bootloader, you may need to upgrade it.

Change-Id: I9e561459477723e498a871ee5c5caad560861b79
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4663
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-01-03 10:01:37 +00:00
Augustin Cavalier 3d6c6ac7f5 HaikuPorts: Synchronize. 2022-12-16 16:27:53 -05:00
Augustin Cavalier 9bcf5c9ce3 HaikuPorts/x86_gcc2: Synchronize. 2022-12-15 00:31:23 -05:00
Augustin Cavalier 5f50bcdfe2 HaikuPorts/x86_64: Synchronize. 2022-12-14 23:57:09 -05:00
Augustin Cavalier 140013f27a libroot: Fix open flags in shm_open.
We need O_CLOEXEC here, not FD_CLOEXEC (which is equal to 0x1, which
in openflags is O_WRONLY and thus leads to the conflicts caught by
the previous commit.)

Fixes haikuports/haikuports#7524.
(cherry picked from commit 59e09f7bebcb8fa9d4ed82f501e6516c3d67d65b)

Change-Id: I5751822ac48ae7a865755494da241e4bfd34c45f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5853
Reviewed-by: waddlesplash <[email protected]>
2022-12-07 22:59:58 +00:00
Augustin Cavalier 7cc1c1af2e kernel/vfs: Validate that only one of O_RDWR or O_WRONLY is used, if any.
Otherwise we will have open modes that could have both and lead to
confusion in code that presumes only one will be set.

This catches the cause of some ported software (e.g. Wayland layer)
misbehaving with ramfs mounted in /var/shared_memory: the ramfs does not
properly handle both flags set, and due to another bug, they are for
shm_open'ed files.
(cherry picked from commit 9bc250e28d3bb4293c39a283807b67b6e82dda1d)

Change-Id: I9e98be89b6d4a2da90f74c048b4f762ca9cf8738
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5852
Reviewed-by: waddlesplash <[email protected]>
2022-12-07 22:59:58 +00:00
Augustin Cavalier 05b654c67c ramfs: Fix SMAP violations in DataContainer. 2022-11-30 21:07:23 -05:00
Augustin Cavalier 396e3dfb9c ramfs: Switch from an embedded to a separately allocated small buffer.
This saves 16 bytes in the class vs. the old size, but more importantly
allows us to avoid allocating VMCaches and wasting an entire page for
any attribute larger than 32 bytes; instead, attributes can be up to
1024 bytes before we allocate a full page for them.

Unfortunately small files cannot take advantage of this optimization
right now as the cache is always used for them. I added a TODO about
this.
2022-11-30 20:27:17 -05:00
Augustin Cavalier 4e742d81ab ramfs: Volume->WriteLock but do not unlock in unmount.
As, of course, we are deleting it. This problem was obscured by the
one fixed by the previous commit.
2022-11-30 00:24:36 -05:00
Augustin Cavalier 605ecac1ee ramfs: Correct "reference" (link) counting of Node objects.
* RemoveReference() could delete us immediately, thus we must do
   all important work before invoking it.

 * Add assertions about fRefCount and remove a spurious add.

 * Do not use Link but PublishVNode on the root, as we manually manage
   when this object is published/deleted.

Fixes #18032.
2022-11-30 00:24:24 -05:00
Augustin Cavalier 6a8bb0562e ramfs: Correct usage of Nodes in Entry.
* We do not want to set fNode in the constructor but let the invocation
   of Link() take care of doing so instead.

 * Link/Unlink manipulate linked-lists. Thus it is dangerous to use them
   in tandem on the same Node object. Add a check for this.

 * Minor cleanup.
2022-11-30 00:17:58 -05:00
Augustin Cavalier 80ae26e14b kernel/legacy_drivers: Use new/delete instead of malloc/free. 2022-11-29 22:36:08 -05:00
Augustin Cavalier 8f75eaafd0 VMAnonymousCache: Use new/delete instead of malloc/free. 2022-11-29 22:34:43 -05:00
Augustin Cavalier 549abba75f kernel/low_resource_manager: Use new/delete instead of malloc/free.
No functional change as-is, but this is necessary with some experimental
patches I am testing which add a lot more assertions to DoublyLinkedList,
which thus require it to have constructors/destructors for the Link class.
2022-11-29 22:34:26 -05:00
Augustin Cavalier f6166140a1 build: Define _BOOT_MODE once and for all in ArchitectureRules+BootRules.
Previously it was spread all around the tree, and was not defined
consistently for all boot objects (there were a number of boot modules
which did not define it, but did include headers which checked for it.)

Now, as it is handled in SetupBoot which is invoked for all boot objects,
it will be applied consistently throughout. We can thus drop the manual
additions of it from all Jamfiles.
2022-11-29 20:18:12 -05:00
Augustin Cavalier d48f4fd05f ramfs: Prevent creating files or directories named "." and "..".
Fixes #18031.
2022-11-29 19:08:16 -05:00
Augustin Cavalier 05fdda96b7 ramfs: Acquire write lock before unmounting.
Might help with #18032.
2022-11-29 19:06:56 -05:00
Augustin Cavalier d5c130a3f9 ramfs: Whitespace fixes, no functional change. 2022-11-29 19:05:23 -05:00
Augustin Cavalier 9d679d7f5a debug_server: Restore <algorithm> include to appease GCC2. 2022-11-29 18:04:46 -05:00
Augustin Cavalier f2dd9acf72 nvme_disk: Use a recursive lock instead of a mutex.
It appears on some controllers we can wind up in cases that are
a double-lock, otherwise.

Should fix #18093.
2022-11-29 17:51:31 -05:00
Augustin Cavalier b85db63d2b debug_server: Make use of BControlLook::ComposeIconSize.
Change-Id: Ic5298f9fff3c0d9c4b3733fa99c43781edfabad7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5842
Reviewed-by: waddlesplash <[email protected]>
2022-11-29 21:27:52 +00:00
Augustin Cavalier 5f40b96c35 libroot: Adjust malloc_hoard2 to use max_align_t when available.
Spotted while investigating #18111, but likely does not fix it.
This matches the existing behavior of the runtime_loader heap.
2022-11-29 16:14:13 -05:00
Augustin Cavalier 7255d28854 Tracker: Do not try to change to an invalid or unset icon size.
This can happen if we are already at the largest or smallest size.

Fixes #18066.

Change-Id: Icf68627ea51a054dac806ec0c9258bc80c869483
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5840
Reviewed-by: waddlesplash <[email protected]>
2022-11-28 22:28:59 +00:00
Augustin Cavalier 0843085384 FAT: Limit volume names to 11 characters, not 10.
The rest of the code does a memcpy(..., ..., min(11, strlen(...))
so clearly no NULL terminator is needed and 11 is the real limit.

Should fix #18074.

Change-Id: I6aea166899eab2bab9511ca52981ccc9172b6c17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5823
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2022-11-19 01:58:42 +00:00
Augustin Cavalier 75fa60f74a HaikuPorts/x86_gcc2: Synchronize, and adjust TIFFTranslator to match. 2022-11-13 01:00:45 -05:00
Augustin Cavalier 96db3233c8 HaikuPorts/x86_64: Synchronize.
* Userguide now provided from HaikuPorts.
 * Python 3.7 -> 3.9.
 * Lots of other version bumps.
2022-11-12 23:46:54 -05:00
Augustin Cavalier 62bd88a64d webpositive: Depends on haiku_datatranslators.
If nothing else for the Media codecs.
2022-11-11 15:52:50 -05:00
Augustin Cavalier fefa5edf96 Move print add-ons to the haiku_datatranslators package.
This allows us to move the Gutenprint dependency there, too.
2022-11-11 15:48:23 -05:00
Augustin Cavalier f156c66999 usb_ecm: Disable tracing by default. 2022-11-11 15:47:41 -05:00
Augustin Cavalier c1353b749c BControlLook: Fix corner spacing calculation.
Fixes #18046. Ideally app_server would just use
this to pick the size of corners...

Change-Id: I2dc243d55321b3fc0fa90faf415d9b04abf9c376
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5780
Reviewed-by: waddlesplash <[email protected]>
2022-11-08 18:09:48 +00:00
Augustin Cavalier 233c0ffd47 docs/develop: Add missed item to the branch steps and combine the last two. 2022-11-08 12:45:03 -05:00
Augustin Cavalier 9fc6234686 Versioning: Add BETA_4 and PRE_BETA_5 version constants.
PRE_BETA_5 is now the default in master.
2022-11-03 20:30:10 -04:00
Augustin Cavalier b966f172df package_infos: "haiku" does not depend on "haiku_datatranslators."
This was initially added so users on the nightlies would not wind up
with no translators installed on updates. It has been long enough
that we can probably remove this in master. (I will re-add it
in the beta4 branch for users upgrading directly from beta3 -> beta4.)
2022-11-03 20:27:18 -04:00
Augustin Cavalier 16081dd2fa libshared: Enable hidden visibility.
This breaks ABI as we forgot to do this originally and a lot of apps
implicitly use symbols from libbe or elsewhere that are imported from
libshared, but we are about to branch beta4, so now is the time to
change this.

Fixes #17256.
2022-11-03 20:24:24 -04:00
Augustin Cavalier 0c6a5835f9 ramfs: Set vnode cache in ramfs_create instead of ramfs_open.
This way it will always be set even on the first creation,
and avoids unnecessary sets. Fixes mmap() of newly created files.
2022-11-03 20:12:50 -04:00
Augustin Cavalier 8672fc2739 InterfaceDefs: Adjust and introduce new spacing/insets constants.
* Nothing in the tree and few things outside it used BIG_{SPACING|INSETS};
   it seems a value of 15px (at default font size) is not that useful.
   There are, however, a lot of things around the tree that use multiples
   of 20px. So, make BIG be that, with the intent to replace those
   with BIG directly.

 * Introduce CORNER_{SPACING|INSETS}. There are a lot of applications
   (e.g. Tracker, Terminal, Debugger etc.) which use scroll bar width/height
   to metrically align controls with the window frame or with some other
   control which contains scroll bars. Rather than have to invoke
   BScrollBar or BControlLook directly to get the value, we should just
   derive the size of scrollbars from a spacing constant instead
   and get rid of the custom function. (For now it is just replaced.)
   This reuses the old values for BIG, as it is equal to 14px at default.

 * Introduce BORDER_{SPACING|INSETS}. This is equal to the typical border
   size of 1px at default font size (or lower) and uses floor() instead of
   ciel() to compute what the size should be (i.e. it will remain 1px
   at 150%/18pt and only go up at 200%/24pt.) This will allow a lot of
   the hardcoded border sizes around the tree and elsewhere to use
   ComposeSpacing() instead.

Change-Id: Iaea3fa30364859888e816a9d61ac156268d70758
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5702
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-11-02 02:23:32 +00:00
Augustin Cavalier 20136c336c docs/develop: Linkify version-change hrev. 2022-10-31 23:29:20 -04:00
Augustin Cavalier 1284e971e2 kernel/vfs: Fix locking behavior in acquire_vnode and add a missing ASSERT.
vnode deletion is prevent either by owning a reference to the node,
or by being at least a reader of the vnodes lock. Thus, in acquire_vnode,
we have to inc_ref_count while still holding the lock in order to prevent
a race.

This function is used so rarely and quite deep inside FS drivers that
I'm  not sure this race would ever have been a problem. Nonetheless
the old code was incorrect.
2022-10-29 13:42:19 -04:00
Augustin Cavalier b4b1561b6a kernel/vfs: Do not wait for removed vnodes to become unbusy.
Most of the time, that is harmless and will just cause a slight delay
before the vnode is removed and we return NULL instead of finding it.
However, in rare circumstances involving renames, we can wind up in
a deadlock with the thread that is trying to remove the vnode, and
would have to wait all the way to the timeout (a full ten seconds!).

The only vnodes not about to disappear from the table that can be both
"removed" and "busy" seem to be special vnodes like pipes, which will
be in an "unpublished" state while they are initially "busy" which we
can check for, in case something wants to wait for them.

The "dirconc" test readily triggered a pathological case of this behavior.
Before this commit, it ran for over 15 minutes before I killed it (and
it was not close to done at that point, either.) After this change,
it completes successfully in around 3 minutes or so on my test VM.

Thanks to [email protected] for pointing out this testcase and its
misbehavior on Haiku!

Change-Id: Id1accf0aaf0724e1aec927a437d3a2ac1596cd98
2022-10-29 13:42:19 -04:00
Augustin Cavalier 6610656e8f Network preferences: Add type specification to appease GCC2. 2022-10-28 12:52:50 -04:00
Augustin Cavalier 75b68ba59d NTFS: Account for null-termination of strings when checking buffer sizes.
May fix #18021.
2022-10-28 12:26:35 -04:00
Augustin Cavalier bfd87e4cc1 posix_spawn: Add POSIX_SPAWN_SETSID to the list of allowed flags. 2022-10-28 11:54:21 -04:00
Augustin Cavalier b94de4c9bd BNetworkDevice: Restore old buffer size.
May help with #18020.
2022-10-27 21:49:58 -04:00
Augustin Cavalier b2c77ad27a Network: Add a BNetworkDevice::GetNetworks() method and use it in the GUI.
The GetNextNetwork() method is really inefficient: it fetches all the
networks at once from the kernel every single time and then winds
up returning only one of them. In parts of the GUI that iterate over
all networks more than once per refresh (sometimes within a loop, even!)
this was often a noticeable lag on the GUI, especially with OpenBSD
drivers which have extra overhead to do struct translation in the
ioctl handler.

Now, we have a way to fetch all scan results at once and just iterate
over them as many times as we need, and this is what NetworkStatus
and Network preferences now do, saving lots of time and effort.
2022-10-25 23:34:42 -04:00
Augustin Cavalier 65c155bede BNetworkAddress: Make the first SetToLinkLevel() take a const pointer.
Technically breaks ABI. However to the best of my knowledge,
nothing uses this method outside of the tree.
2022-10-25 23:34:42 -04:00
Augustin Cavalier 5de85b8f98 docs: Remove the User Guide and Welcome pages.
These were not maintained here, merely mirrored from the Userguide Translator,
and rather infrequently at that. But as they were built with Haiku,
that meant new versions of these packages were built every hrev,
which meant a lot of wasted space and bandwith for updates.

Now there is a separate "userguide" repository which will collect the
files exported from the Translator, and recipes at HaikuPorts to build
the packages, instead, so we can delete these files from this repo.
2022-10-25 18:38:28 -04:00
Augustin Cavalier 8e34bbe754 Remove build logic for creating the userguide and welcome packages.
They are now created from a separate repository and via HaikuPorts.
Since the HaikuPorts packages are not yet in the BuildPackageRepository,
the actual section that adds the packages is commented out (but it only
runs for release-* targets anyway.)

The "welcome", "userguide", and "quicktour" scripts, which are symlinked
from the desktop in release builds, are added to the Haiku package's
"regular" profile instead (they do not actually require the other packages
to be installed but will detect if they are not and launch the online
versions instead.)
2022-10-25 18:38:07 -04:00
Augustin Cavalier 93e536ab5d registrar: Properly clear out icons and resize when text changes.
May help with #18006.
2022-10-24 22:43:27 -04:00
Augustin Cavalier 781db1b43f BAlert: Invalidate layout if the icon is unset. 2022-10-24 22:43:00 -04:00
Augustin Cavalier 56761ebfeb app_server: Granularize whether font settings were loaded in DesktopSettings.
As per axeld's review.

Change-Id: Idd817156d53ebf535f162285bfd08f0566ac3901
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5755
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-10-23 23:53:34 +00:00
Augustin Cavalier a180a40b63 app_server: Only increase default font sizes if settings were not loaded.
Thanks to axeld for the review.
2022-10-19 19:37:29 -04:00
Augustin Cavalier e1f6b2fbe7 nvme_disk: Add a polling fallback mode.
Before implementing interrupts, all I/O was polled.
Now we only use polling as fallback if interrupts mode
does not work for some reason.

Should fix #17484.
2022-10-19 18:57:58 -04:00
Augustin Cavalier f1c9e12aa3 NTFS: Truncated pathnames should be an error, not a warning.
May help with #17964.
2022-10-19 15:36:52 -04:00
Augustin Cavalier 5bb671cc0e MediaPlayer: Fix a hard-coded font size. 2022-10-19 14:25:29 -04:00
Augustin Cavalier 46a2beb0f8 HaikuDepot: Refactor usage conditions windows.
* Set only a minimum width and then resize to preferred on window.
 * Set a minimum height for the text view itself.
 * Use the new TextView controls instead of the old BTextView.
 * Adjust other size constraints as needed.

Fixes #17998.
2022-10-19 14:25:09 -04:00
Augustin Cavalier 6a4c3457cf HaikuDepot: Adjust some hard-coded font sizes. 2022-10-19 14:23:32 -04:00
Augustin Cavalier 9004d85ec5 app_server: Automatically pick a larger font size on HiDPI screens.
Ideally DesktopSettings would take care of this. However, we cannot
put this logic into its _SetDefaults, because that runs before
we actually set (or confirm) a display mode, and so attempts to fetch
the display mode in that function will fail.

(FontManager initializes even earlier and thus also is an unsuitable
place for this logic.)

At present, it merely uses a 2x larger font size at resolutions >"4K"
and a 1.5x larger font size at resolutions between 1080p and 4K.
Further adjustments can be made as necessary later on.
2022-09-30 20:57:53 -04:00
Augustin Cavalier 0716e5094e app_server: Print specific error when failing to initialize virtual screens. 2022-09-30 20:55:29 -04:00
Augustin Cavalier 872ce8a1b4 app_server: Clean up default font size constants. 2022-09-30 20:53:44 -04:00
Augustin Cavalier cde5ffa802 Tracker: Enable thumbnail generation by default.
Now that all known crashes and other instabilities relating to it
seem to be solved. Fixes #17726.
2022-09-30 05:05:40 -04:00
Augustin Cavalier 27846b5a81 Tracker: Use default menu font instead of plain font for context menus.
This code has been this way since the initial import to OpenTracker,
so why or how it wound up in here is a mystery which may remain unsolved.

Removing it does not seem to cause any problems, so let's do that.
Fixes #16625.
2022-09-30 05:05:33 -04:00
Augustin Cavalier 4198265fa0 build: Optimize for size in the bootloaders, not for speed.
This saves almost 100K in size:

BIOS: 367K -> 271K
EFI: 541K -> 454K

Fixes #17961.
2022-09-30 14:49:24 -04:00
Augustin Cavalier 86615b82db freebsd_network: Remove unneeded functions from if_var.h.
FreeBSD puts these in ifq.h (which we do not have), and no driver we
have actually uses them.

We can re-add the newer versions of them if we ever import a driver
which does.
2022-09-30 14:02:30 -04:00
Augustin Cavalier 5b51027ca5 openbsd_network: Add a real implementation of MCLGETL.
The old alias had a number of shortcomings which made it not match
OpenBSD and thus special-casing had to be used in drivers. The new
version should match OpenBSD's semantics precisely.
2022-09-29 23:05:49 -04:00