Commit Graph

48037 Commits

Author SHA1 Message Date
Rene Gollent
db259584ca HaikuDepot: Flesh out PackageActions a bit.
- Add background worker thread for asynchronous processing of
  package actions.
- Implement InstallPackageAction. As such, installing packages now
  actually works.
- Wrap requests in exception handlers, as the package manager uses those
  for various error cases. Fixes several cases of HaikuDepot spontaneously
  closing if a problem occurred. Still TODO: user error reporting, errors
  are currently reported on the console.
2013-09-19 11:52:32 +02:00
Rene Gollent
5af9dc2a77 Style fix. 2013-09-19 11:52:32 +02:00
Ithamar R. Adema
e7c330c6f3 ARM: improve error output, fix iframe reporting. 2013-09-19 03:15:06 +02:00
Ithamar R. Adema
e8a2aa0b28 ARM: FDT: verdex: fix the PXA2xx DTSI file.
It references a non-existing device in the aliases, just comment
it out until we sort out with upstream what's up.

(Since we've also added PXA devices to the Verdex definition we
need to chat with them anyway)
2013-09-19 01:30:12 +02:00
Ithamar R. Adema
124830be8d ARM: FDT: add DTS[I] files for the first couple of targets.
Both for the rPI and the Verdex target we now have FDTs. The verdex
DTS is homebrew, the pxa DTSIs come from Linux and should be kept
in sync.

The rPI DTS and Broadcom DTSI come from FreeBSD HEAD, and should
ofcourse also be kept in sync.

One global new Jam rule has been introduced for handling DTS
compilation, aptly named CompileDTS....

More coming!
2013-09-19 01:25:44 +02:00
Ingo Weinhold
be2254e30d package daemon: Handle post-installation scripts, users/groups
... specified by a package when it is going to be activated. We don't
try to remove users/groups when deactivating packages yet, nor is the
user properly identified in all error cases.
2013-09-18 23:56:43 +02:00
Ingo Weinhold
8b600ba48d package daemon: Use CommitTransactionHandler in all cases
... also when only activating/deactivating already moved packages.
2013-09-18 23:56:42 +02:00
Rene Gollent
976b547224 HaikuDepot: Implement publisher hyperlink handling.
- Clicking the publisher link now actually attempts to open the site
  in the browser.
2013-09-18 22:32:45 +02:00
Ithamar R. Adema
1847d8c486 ARM: user_memcpy/memset/strlcpy: fix my horrible ARM assembly
Turns out I was way to green (and tired) last year to code this properly...
now they finally work and the kernel is a lot more stable for it.
2013-09-18 22:20:17 +02:00
Ithamar R. Adema
31e17f9d7b norflash: fix handling of boundaries
This was slightly off since my introduction of hidden sectors^^^^^
blocks in the norflash driver.
2013-09-18 22:20:17 +02:00
Oliver Tappe
b3a05eede6 Fix keeping of package info during repository update.
* actually write the package info read from the repository, not the one
  from the package, as the latter is missing the checksum
2013-09-18 21:16:13 +02:00
Oliver Tappe
0a345af77e Separate notification from deletion in repository-handlers.
* Add NotifyDone() to all repository-attribute handlers and invoke that
  to notify any listeners.
* Unify deletion to a single implementation of Delete() in the base
  class. Before, the root handler for a repository didn't do that, but
  just triggered the notification.
2013-09-18 21:16:13 +02:00
Rene Gollent
b162bdaf1d Add HaikuDepot to Deskbar menu. 2013-09-18 19:52:11 +02:00
Rene Gollent
52660ce993 gcc2.x build fix. 2013-09-18 19:33:17 +02:00
Rene Gollent
c6a952d706 Add HaikuDepot to image. 2013-09-18 18:45:10 +02:00
Rene Gollent
d882cc2812 HaikuDepot: Move repo fetch to background worker thread.
- Factor out functions for refreshing the repositories and
  retrieving the package lists.

- Add a background worker thread which handles those tasks and
  then notifies the window when the model is ready.

- Check if we already have a repository cache, and if so, skip the
  refresh step, unless forced. The latter will eventually be possible
  via the UI.
2013-09-18 18:39:32 +02:00
Jerome Duval
bd3bcbe5d6 hda: reorganized the code for sense checking.
* should help with #9965
2013-09-18 18:26:26 +02:00
Rene Gollent
2c287f5bae Model: Add Clear() method to empty out existing depot info. 2013-09-18 18:17:30 +02:00
Jerome Duval
33f263cb01 virtio: add queue_is_full(), queue_is_empty(), queue_size() hooks. 2013-09-18 17:43:39 +02:00
Rene Gollent
f7c99dcc33 Remove unnecessary function. 2013-09-18 17:30:13 +02:00
Rene Gollent
e12c26ec2d ModelWindow: Populate publisher URL if available.
- Also rework things a bit to fix passing the same reference into the
  installed package list repeatedly, thus causing only the first package
  to be marked as actually being installed.
2013-09-18 17:30:13 +02:00
Ingo Weinhold
519bb60aef Add group{add,del,mod} 2013-09-18 16:33:19 +02:00
Ingo Weinhold
dc3be29614 Enable -Werror in src/bin/multiuser 2013-09-18 16:33:18 +02:00
Ingo Weinhold
6c346b88e1 passwd: Add option -d to delete a user's password 2013-09-18 16:33:18 +02:00
Ingo Weinhold
032ea9a485 useradd: Create the new user with a locked password 2013-09-18 16:33:18 +02:00
Ingo Weinhold
82a064b57d useradd: small style fix 2013-09-18 16:33:17 +02:00
Ingo Weinhold
e9d9ac713f Add userdel 2013-09-18 16:33:17 +02:00
Ingo Weinhold
0e9e586cac useradd: Support specifying group by name 2013-09-18 16:33:17 +02:00
Ingo Weinhold
de15b85e5c getgr{nam,gid}[_r](): Fix retrieving group members 2013-09-18 16:33:16 +02:00
Ingo Weinhold
fb8a9c4710 getpw{nam,uid}[_r]: Fix return value behavior
... when the user is not found.
2013-09-18 16:33:16 +02:00
Ingo Weinhold
222fb7a91a getgrgid_r()/getgrname_r(): Fix group not found return value 2013-09-18 16:33:16 +02:00
Ingo Weinhold
c13744f4c0 useradd: Improve usage text 2013-09-18 16:33:15 +02:00
Ingo Weinhold
9a85313bc6 X86PagingStructuresPAE: Zero fPageDirPointerTable in constructor
... and use it as a guard in the destructor. Fixes crash when running
out of memory and Init() is not called.
2013-09-18 16:33:15 +02:00
Oliver Tappe
7d09a8dc67 Fix build of '<build>package_repo' for real.
* add missing command_update.cpp
2013-09-18 15:42:36 +02:00
Ingo Weinhold
53b162523f Fix host-only build. 2013-09-18 15:41:12 +02:00
Oliver Tappe
d7cbcb13da Fix build of <build>package_repo. 2013-09-18 15:40:19 +02:00
Oliver Tappe
85caa0459d Use BPackageInfoContentHandler in package_repo 'update'.
* Ingo has pointed me at this class which already does the collecting
  of package attributes into a PackageInfo - so there's no need to
  do it manually.
2013-09-18 15:40:19 +02:00
Rene Gollent
2f89f68ee7 MainWindow: Initial hooks into package kit.
- MainWindow now attempts to refresh all available repositories and
  fetch their respective package lists on startup. Much still remains
  to be done, such as factoring this out into a background process so
  it doesn't prevent the window from showing, and making the refresh step
  optional if we already have valid repository information, but this at
  least gets us showing the available package list from HaikuPorts.
2013-09-18 15:31:15 +02:00
Rene Gollent
0c5468eef0 HaikuDepot: Stub out various support classes for package kit use.
- DecisionProvider and JobStateListener will be needed in order to
  interact with the package kit in various ways eventually, though
  the implementations are currently all empty.

- Adjust HaikuDepot's PackageManager class to inherit from
  BPackageManager, so as to be able to actually interface with
  the package repositories.
2013-09-18 15:31:15 +02:00
Rene Gollent
93cb796e37 Context: Add more uniqueness to temp directory names.
- If a single thread attempted to establish multiple package kit
  contexts, it would fail due to a collision between their respective
  temporary directories. As such, use both the thread ID and
  system_time() as a random elements in the directory name to ensure
  this doesn't occur.
2013-09-18 15:31:14 +02:00
Oliver Tappe
da33beab70 Add command 'update' to package_repo.
* 'update' takes an existing repository and a package list file and then
  creates a new repository from that, avoiding expensive
  checksum-recomputations where possible
2013-09-18 12:05:35 +02:00
Oliver Tappe
50ae264dad Add support for adding a package-info to BRepositoryWriter. 2013-09-18 12:05:34 +02:00
Oliver Tappe
30a517bc64 Add handling of B_PACAKGE_INFO_CHECKSUM to PackageInfoPrinter. 2013-09-18 12:05:34 +02:00
Ithamar R. Adema
7416b5878f ARM: verdex: Make sure __XSCALE__ is defined when compiling.
This is especially important for the assembler code in the kernel,
since it enables workarounds for some critical errata related to
exception handling.
2013-09-18 06:34:40 +02:00
Ithamar R. Adema
501b24c63b ARM: kernel: Make 32/64-bit atomics work for ARMv5/6
Support for 64-bit atomic operations for ARMv7+ is currently stubbed
out in libroot, but our current targets do not use it anyway.

We now select atomics-as-syscalls automatically based on the ARM
architecture we're building for. The intent is to do away with
most of the board specifics (at the very least on the kernel side)
and just specify the lowest ARMvX version you want to build for.

This will give flexibility in being able to distribute a single
image for a wide range of devices, and building a tuned system
for one specific core type.
2013-09-18 05:03:18 +02:00
Ingo Weinhold
6dee6653c2 When switching to PAE don't copy not needed PTEs
Now we check whether the virtual address corresponding to the PTE lies
in an allocated virtual address range. This fixes a cause of #8345:
The assertion would trigger when such an entry was encountered. There
might be other causes that trigger the same assertion, though.
2013-09-18 00:42:45 +02:00
Ingo Weinhold
372a666344 X86VMTranslationMapPAE: Add some ktracing for page (un)mapping 2013-09-18 00:42:45 +02:00
Ingo Weinhold
6508ce9f52 X86VMTranslationMapPAE::Map(): More info in assert 2013-09-18 00:42:44 +02:00
Ingo Weinhold
bcb7463650 arch_vm_translation_map_early_map(): Fix debug output 2013-09-18 00:42:44 +02:00
Ingo Weinhold
93495b0354 X86PagingStructuresPAE: clear fVirtualPageDirs in constructor
... not just the first element. Fixes a crash in X86VMTranslationMapPAE
destructor when running out of memory when initializing the map.
2013-09-18 00:42:44 +02:00