* The mail_daemon could have been launched too early, which caused it
not to be able to add its Deskbar icon. We don't really want a
dependency to the Deskbar, though, which is why we only run the
mail_daemon on the same event (which makes the Deskbar available
at that point).
* Ideally, the mail_daemon should be smart enough to install its Deskbar
icon once the Deskbar is available, though.
* Similar issue for the first login scripts. Here, we have a real
dependency to the Deskbar which makes the script launch once the
Deskbar is available.
* This finally fixes#12454.
* 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.
* Seems to work fine, although it should probably also be triggered when
there are still jobs in the queue -- someone more knowledgeable might
want to chime in here, please :-)
* If this turns out to be problematic, we can just drop the "on_demand"
job config again.
- Rather than depending just on mount_server's launch, instead use
a condition that waits for the volumes mounted event. Had missed
the existence of this one previously.
- Adjust launch configuration such that media_server requires mount_server.
Otherwise, if the user has specified sound files for any events that are
on non-boot disks, these won't be found/loaded properly during the boot
process.
* Now inherits from BServer, and gets its message port from the
launch_daemon.
* It registers an event "initial_volumes_mounted" that allows other
services to be started afterwards.
* This is now used in the boot launch files, and makes the scripting
based previous solution superfluous which has been removed with this
commit, too.
* This implements the last needed feature in order to reproduce the
complete former boot process using the launch_daemon.
* Scripts from targets are evaluated once on first target launch,
scripts from jobs are evaluated on each start.
* The "desktop" target now sources SetupEnvironment as usual.
* Allows to conditionally (or unconditionally) launch targets.
* Including tests for the settings parser.
* FirstBootPrompt is now launched when deemed necessary (as in
the Bootscript).
* You can now put jobs/services into a target.
* Instead of having Login started as part of the normal boot process,
it's now in the "login" target.
* The app_server now launches the login target when a login becomes
available (ie. during startup, but that could be improved later on).
* Instead of launching Tracker/Deskbar directly, we now launch the
Login application.
* This will now start a new session for the selected user (the password
is currently ignored).
* When a user session is started, the launch_daemon forks, and the
child then restarts the LaunchDaemon application in user mode.
* It then registers itself with its parent, in order to resolve user
dependent services.
* Added a user launch file that will cause Tracker, and Deskbar to
start in the new session.
* get_roster_port_name() is no longer needed.
* This also removes the app_server restart code from the debug
server -- this will be done by the launch_daemon in the future.
* Dropped "create_port" -- this is now the default for services.
* Additionally (or alternatively, if you use the "legacy" mode), you can
now create named ports, and specify their capacity.
* Added convenience methods to BLaunchRoster that automatically use the
signature of the current be_app.
* 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.
* This will be heavily inspired by Apple's launchd, as well as
systemd -- for now it really doesn't do a whole lot, though.
* What works so far: the configuration files are read, parsed, and
the jobs created.
* The jobs are even initialized, and their message ports created.
* BApplication now retrieves a previously created port from the
launch_daemon for use with BServer.
* Only the registrar actually uses this for now.
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.
libbind development was transferred to the NetBSD project at
http://wiki.netbsd.org/individual-software-releases/netresolv/
There isn't an official release yet, but they provide a set of patches
against the latest libbind release.
* Remove all files we don't use
* Merge the changes to the remaining files
* Add some new files we need
* Move getifaddrs implementation to libnetwork (instead of libbnetapi)
so it can be used by netresolv.
Fixes#8293 : netresolv uses getifaddrs to determine if there is a local
IPv6 address. If there is not, it will not return AAAA records.
* 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.
Sorry this commit is so big, but I couldn't figure out how to do this
incrementally without breaking things.
I wasn't able to just merge Aldeck's branch, as it was a partial refactor
of Tracker and didn't just rewrite the UI creation code to use layouts,
and the changes for PM (e.g. addon loading, virtual directories) made it
very hard to merge (it doesn't even compile after an automerge) so rather
than spending time on that, I decided it'd be better to recreate his work.
Miscellaneous notes:
- This partially cleans up BPoseView & subclasses and BContainerWindow &
subclasses -- none of the subclasses and child views abuse the parent's
state, child views, or layout now.
- BFilePanel and BDeskWindow are not on layouts, because:
* BFilePanel docs in the Be Book instructed developers that wanted to
modify BFilePanel's layout to just use FindView() and then move the
views around. Obviously making it use layouts will break all BeOS
apps that do this, and there are a lot of them (Pe, WonderBrush are
just two examples.) I've added a note to the TODO list for R2 to create
a layout-compatible API for this.
* Some replicants (Workspaces, for example) rely on manipulating
BDeskWindow's drawing state. This is incompatible with layouts, as
at least in the case of Workspaces, it breaks a layouted version
of BDeskWindow entirely.
- I noticed a lot of #ifdef BEOS_VERSION ... gunk in the code. Tracker
probably didn't build on BeOS just before this commit, and now it
won't for sure, so I intend to go through and clean that out in the
near future.
This commit also fixes:
- enhancement #4996 (make Tracker's navigator use vector icons)
- bug #3039 (resizing OpenWithWindow flashes the blue border)
- bug #3889 (OpenWithWindow redraw errors)
- a regression that was a side effect of "dynamic_cast<BDeskWindow*>(this)"
always returning NULL when run in the constructor. I just added a "bool
isDeskWindow" to BContainerWindow's constructor that is only set to true
by BDeskWindow.
- a copy&paste error in VirtualDirectoryPoseView that was passing "uint32
resizeMode" as "uint32 viewMode".
Thanks to Alexandre for his original branch (it was a very useful
reference), Axel (for some miscellaneous advice & encouragement),
Adrien & Humdinger (for user interface review), and Diver (for user
interface review & testing).
This was an old version of bash_completion and not included in the
image. An haikuports recipe is available if you need it.
Fixes#11660.
Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>
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
It shows a notification once the "low percentage" is reached (currently
at 15 percent) and once when the battery is about to die. This logic
should probably be revised to be based on remaining time instead. The
notification icons are simple variations of the PowerStatus icon.
Also use finddir instead of hardcoded paths for drivers and locale
catalog helper rules.
Fixes#11115. Thanks to Waddlesplash and Puckipedia for investigating
the issue.
We declare most of the XDG environment variables for this spec:
- XDG_CONFIG_HOME
- XDG_DATA_HOME
- XDG_CONFIG_DIRS
- XDG_DATA_DIRS
- XDG_CACHE_HOME
I'm not yet sure what to do with XDG_RUNTIME_DIR.
This allows packages to place files in data/profile.d to manipulate
the shell environment. They could already use settings/etc/profile.d,
but since there's no point in editing those files in most cases, placing
them there nonetheless doesn't make much sense.
We can't reliably set contemporary processors to an arbitrary frequency.
There are dependencies between cores and thechnologies like Turbo Boost
which may make actual frequency significantly different than the requested.
Moreover, it is the scheduler job to decide how much CPU performance is
needed and user shouldn't interfere with that.
Use findpaths to find the makefile-engine to include. This addresses the
remaining aspect of #10011. I.e. the package can now also be installed
in home.
A hpkg will be created locally, which contains the firmwares. This hpkg will
be copied to system. IIRC, the firmware must live in their respective
subdirectories.
To note, once the approve_license flags are implemented on the end-user
applicacation side, the Intel ipw2100 and Intel ipw2200 could be moved
to a separate package. However (and IIRC) the Broadcom involves using a closed
binary blob, that should not become a pre-made package.
README.iwlwifi-3945-ucode and LICENSE.iwlwifi-3945-ucode were mistakenly marked
as an executable. Was uncertain if iwlwifi-3945-2.ucode should or should not
be marked as an executable and was unchanged.
* find_directory() and hard-coded paths use /boot/system instead of
/boot/common.
* The build system creates the writable directories in /boot/system
instead of /boot/common.
* The build system no longer installs any packages in /boot/common.
* This was a script relying on a working /etc/profile, which may not be
there
* Instead, use GNU which, available as an haikuport recipe
* Since the command does not seem to be needed for Haiku to run (and
also because I don't know how to do it), GNU which isn't in the default
install.
* Typing "which" in a terminal still works, as that uses an alias
defined directly in /etc/profile.