Commit Graph
17 Commits
Author SHA1 Message Date
Alexander G. M. Smith 7c09ef1255 FAT: Fix 32 bit gcc2 compile.
You can't initialize struct fields in the declaration in gcc2, but you
can set them up in a constructor.  So made one for struct diri,
and initialize nested sub-structures too.

Change-Id: Ic8b824bc157cca4cdb8c4e41afdca596776c0d55
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4995
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-06-28 15:40:41 +00:00
Alexander G. M. Smith 610f99c838 3rdparty/os_probe: Use Debian's #!/bin/sh.
Had a look at the actual Debian os-prober (1.79) package and found
that they use /bin/sh as their shell for all their os-prober scripts.
So for Fedora and other downstream packages, someone must be going
through all the scripts and changing them to /usr/bin/sh.  Switch
to the Debian variety since they're the upstream of everybody for this.

Change-Id: I2bed8cb133640861311061261ff0cae8ae6f2648
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4599
Reviewed-by: Alexander G. M. Smith <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2021-10-17 18:09:26 +00:00
Alexander G. M. Smith 0b057a903f 3rdparty/os_probe: Better wording, fix Beta+ version parsing.
Add lots of comments explaining things in the code.  Also fix parsing
of Beta updates which have hrev version numbers with an extra bit at
the end, like hrev12345_67.  Include architecture in the GRUB menu
title, so you can tell 32 bit and 64 bit installs apart.  Switch
back to #!/usr/bin/sh, like all the other probes do.

Change-Id: Id47afe5029369c739d5177b1dd917c7d1d631ad6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4498
Reviewed-by: Alexander G. M. Smith <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2021-10-05 16:07:01 +00:00
Alexander G. M. Smith c09821c07d 3rdparty/os_probe: August 2015 version of 83Haiku.
This one seems to be the final collated version with the previous
patches and ideas all included.  It's version 42 (dated 20150811)
put together by Jeroen Oortwijn at
https://bazaar.launchpad.net/~idefix/ubuntu/trusty/os-prober/HaikuPM/files/head:/os-probes/mounted/x86

Change-Id: Ia7f276b45a5766c5f5bf1495d3726e5d475e2eee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4497
Reviewed-by: Alexander G. M. Smith <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2021-10-05 16:07:01 +00:00
Alexander G. M. Smith 3958b5545b 3rdparty/os_probe: First 83haiku with Package Manager support.
Change-Id: I9c660b1569b5439f2cd9088fde4e96512e7817d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4496
Reviewed-by: Alexander G. M. Smith <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2021-10-05 16:07:01 +00:00
Alexander G. M. Smith 0235470472 3rdparty/os_probe: Original 83haiku GRUB auto detect Haiku.
Original version of 83haiku as seen in Debian Linux, for detecting
pre-package based Haiku OS and automatically setting up a GRUB
boot menu item for bootable Haiku partitions.

Change-Id: I0d1fe4c9b395e7912b2398ab6bac5c25d92aa64a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4495
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Alexander G. M. Smith <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2021-10-05 16:07:01 +00:00
Alexander G. M. Smith b5efad4eae PackageKit: Remove hard coded first boot package processing scripts.
Once change 2342 is in place (running first boot scripts exported from
packages), see https://review.haiku-os.org/c/haiku/+/2342,
remove data/system/boot/post_install/add_catalog_entry_attributes.sh
and related support infrastructure (magic files, launch_roster entries).

The work this script did can in fact be done at image creation time
instead of at first boot.

Change-Id: I485e1a0a87c3e6a6ba3f882e65996f2327134d37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3751
Reviewed-by: Adrien Destugues <[email protected]>
2021-05-14 16:08:17 +00:00
Alexander G. M. Smith 3376ed1a72 Package Kit: Proper Installation for First Boot Packages
Do the final installation operations for all the packages in the
/system/packages directory when the OS is booted for the first time.

This will run their post-install scripts, create users, groups and generate
settings files (marked with a package version attribute).  Previously we just
ran all the shell scripts found in the /system/boot/post-install directory
(don't do that as much now).

Fixes bug #14382

This patch has simpler code flow in CommitTransactionHandler::_ApplyChanges
Tested on 32 and 64 bit systems.  Once it's official, need to remove the
open_ssh redundant post-install script that creates users etc. from HaikuPorts.
Now we can notice bugs like package version attributes on settings files aren't
fully working. :-)

Didn't remove special case for add_catalog_entry_attributes.sh since it
still does stuff that the build system doesn't do.  Might be able to add
that script as part of the Haiku.hpkg.  See change 3751 for removing it,
https://review.haiku-os.org/c/haiku/+/3751

Change-Id: I3807b78042fdb70e5a79eca2e2a45816ece0236f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2342
Reviewed-by: Alexander G. M. Smith <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2021-03-14 09:10:18 +00:00
Alexander G. M. Smith a22fa0c977 package kit: Add pre-uninstall scripts feature.
Just like post-install scripts which run shortly after a package is
installed, pre-uninstall scripts are run just before a package is
removed.  Implements enhancement #13427

* Fix script exit code handling vs script launch errors.
* Bump package and repo file version numbers due to new attribute,
  unfortunately makes new .hpkg files not backwards compatible.
* Add pre-uninstall functionality, mostly cloning the post-install
  except in a few places.
* Discover that _RunQueuedScripts() is never called, a future TODO:?
* Update package documentation for pre-uninstall scripts, and use of
  the boot/post-install directory.

Change-Id: I45596255ce74bc102f6e5b606cbf83e4e4347a17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1504
Reviewed-by: Alexander G. M. Smith <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2020-09-21 10:47:57 +00:00
Alexander G. M. Smith e9c3e80c58 Clarify .PackageInfo user creation arguments.
Change-Id: I4f0ea6da53d4793a5128324af2b99d460b67b523
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2576
Reviewed-by: waddlesplash <[email protected]>
2020-05-09 20:20:19 +00:00
Alexander G. M. Smith 31d70c106b package kit: Skip over future package attributes.
Ignore unknown fields (also called attributes) which are from a package
file with a different minor version number.  Previously it would halt
with an error when encountering such a field, even though it can safely
be skipped over (if it was unsafe, we would have incremented the major
version number).

The use case is a future package attribute for pre-uninstall scripts.
If they're not run, that just leaves some debris after uninstalling
(like symbolic link desktop icons).

* Use the B_NOT_SUPPORTED error code when reading unknown package
  attributes.  Don't treat it as an error if the package is a
  different minor version, just skip it.
* Print unknown package attribute index numbers rather than stopping,
  since they may be from future package file formats and can be safely
  skipped otherwise.  Mention the relevant enum so you can find it in
  the source code.  It's a pity that the previous abstraction layer
  isn't present, since it tells us what data type the attribute is
  (string, number, etc), so we could have printed its value too.

First step of two for enhancement #13427

See https://review.haiku-os.org/c/haiku/+/1504 to generate packages
with a different minor version number (second step of the enhancement).

Change-Id: I6db1897824a1713b3d5fab6fdfb990ee5923cd52
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1714
Reviewed-by: waddlesplash <[email protected]>
2019-08-14 02:08:35 +00:00
Alexander G. M. Smith 78b0cfc712 Remove debug printf from BListView.
Change-Id: Ic3f3359305e066c27bfb071cc18a455d6f1c179f
Reviewed-on: https://review.haiku-os.org/648
Reviewed-by: waddlesplash <[email protected]>
2018-10-30 22:46:08 +00:00
Alexander G. M. Smith f12d3b3477 Update BListItem::SetHeight() docs with selection box warning.
The cached top coordinate of each BListItem isn't updated when you
change the height of the item, leading to confusing highlighting and
incorrect mouse clicks.  Rather than fixing it, this just documents a
workaround or two to force an update of the cached coordinates.
2018-02-17 00:26:34 +00:00
Alexander G. M. Smith 5e7964b0a9 Remove Spurious B_BEOS_DATA_DIRECTORY
There is no DATA directory in BeOS, and its FindDir() doesn't implement
it.  No need for a confusing backwards compatibility to something that
doesn't exist (had my hopes up, was going to move some non-executable
files from AddOns to Data in a program that works in BeOS and Haiku).

The removed enum label doesn't change the directory_which enum order
or count, as it was aliasing the value of another existing enum label
(B_SYSTEM_DATA_DIRECTORY).

Fixes #13470

Signed-off-by: Axel Dörfler <[email protected]>
2017-05-08 22:17:53 +02:00
Alexander G. M. Smith f765016ffd mail: Detect terminal input, end of file, better argument parsing.
* If the input is a terminal rather than a file or pipe, only then look
  for the single period on a line as end of text.  Also look for end of
  file as an end of the text, so that piped in text works.
* Parse multiple e-mail addresses properly, adding a comma between them
  (a space doesn't work).  Also allow mixing of "to" e-mail addresses
  and command line switches, previously all "to" addresses had to be
  at the end.
* Fewer blank lines in the output, make it look nicer, remove things
  like a redundant display of the body text before text was read.  Also
  no output text when just piping in a message.
* Avoid buffer overrun by using fgets instead of gets.
* Use stderr for text the user likely doesn't want to save, and for
  prompts that would be invisible if stdout was redirected to a file.

Signed-off-by: Augustin Cavalier <[email protected]>
2016-03-02 22:11:15 -05:00
Alexander G. M. Smith 143edb7460 docs: makefile-engine: add missing HTML tags.
Fixes #12063.

Signed-off-by: Augustin Cavalier <[email protected]>
2015-06-01 18:28:17 -04:00
Alexander G. M. Smith 88f9012805 BMessage: fix an off-by-one error in SetCurrentSpecifier.
You could set the index to be past the end of the Specifier array.

Signed-off-by: Augustin Cavalier <[email protected]>
Fixes #12087.
2015-06-01 18:26:47 -04:00