Commit Graph

47675 Commits

Author SHA1 Message Date
Ingo Weinhold
43ff23ebbf <NotOwningEntryRef.h>: Denote BPrivate explicitly 2013-09-27 00:51:29 +02:00
Rene Gollent
a5d9833346 HaikuDepot: Minor optimization.
- PackageAction now stores/returns a type code indicating the embodied
  action. Adjust PackageActionView accordingly in its comparison of
  the old/new package action list.
2013-09-22 17:30:02 -04:00
Rene Gollent
dd9658f010 HaikuDepot: Sort package list by name column on startup. 2013-09-22 17:26:26 -04:00
Rene Gollent
f4058a3f9f HaikuDepot: Adjust displayed publisher.
- If available, show the package's copyright information for the
  publisher rather than the vendor, as the latter simply indicates
  the maintainer of the repository rather than the actual developers
  of the software contained in the package.
2013-09-22 16:49:38 -04:00
Rene Gollent
34f4c3ec4f HaikuDepot: Fix #10000.
- When switching selected packages, compare the new and old package action
  list. If they're the same, don't bother rebuilding the button bar.
2013-09-22 16:49:38 -04:00
Matt Madia
d68208fa16 Use double parenthesis for math expressions.
This allows FreeBSD with a pure /bin/sh (not a symlink to /bin/bash) to build
the cross-tools to a dedicated directory, outside of the generated folder.
2013-09-22 13:57:53 -04:00
Rene Gollent
99b3982f2c PackageListView: Force status field to update properly. 2013-09-22 09:04:59 -04:00
Rene Gollent
9e8ffcbb8f HaikuDepot: Rework to get actions working properly.
- BPackageManager doesn't (currently) support being reused for multiple
  differing actions, so instantiate it on the fly for each action to be
  performed.

- As such, pull the package action worker out of PackageManager and into
  MainWindow. Define abstract interface PackageActionHandler for other
  parts of Depot to use to instruct it to queue actions.

- Adjust other parts of code to take the above into account.
2013-09-22 09:02:46 -04:00
Rene Gollent
c996b65a89 HaikuDepot: Init with correct repo flags before performing actions.
Still something not entirely correct with the uninstall case though.
2013-09-21 16:58:14 -04:00
Rene Gollent
e550d7b8c5 HaikuDepot: Miscellanous improvements to package state tracking.
- MainWindow now listens for package installation state changes so
  it can keep Model's package location lists in sync.
- PackageListView now updates its status column on package state changes.
- PackageInfoView now updates the available action list when package
  installation state changes.
- PackageManager populates the expected user-specified install/uninstall
  package sets for ProblemWindow so that one can properly filter those out.

There still remain some issues with the installed locations for ResultWindow
not being entirely correct though, which causes issues for package
uninstallation.
2013-09-21 14:27:12 -04:00
Rene Gollent
fdcd014b1d HaikuDepot: Only send package status change notifications...
...if the package status actually did change.
2013-09-21 08:41:18 -04:00
Rene Gollent
7cf0e76439 HaikuDepot: Cleanups.
- Fix passing the force parameter to the refresh worker. This makes the
  refresh depots menu item actually work.

- Make failure messages regarding depot initialization/refresh visible to the
  user.
2013-09-20 14:40:04 -04:00
Ingo Weinhold
acc6f8326a Update x86 openssh and perl packages, add libedit_devel 2013-09-19 23:52:15 +02:00
Oliver Tappe
7092893bdd Actually rename the updated repository to the target name. 2013-09-19 22:38:31 +02:00
Rene Gollent
4f9db8d66d Should have been part of previous commit. 2013-09-19 21:23:45 +02:00
Jessica Hamilton
59f1891eda Change volume label for MOUNT_TYPE_HOME to "config". Fixes #9968.
Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>
2013-09-19 21:07:10 +02:00
Ingo Weinhold
1c521f0b31 BString::Split(): Fix check 2013-09-19 20:58:31 +02:00
Rene Gollent
efcb3de14e Debugger: Fix #9961.
- The previous solution was applying source path mappings too early, with
  the consequence that the file manager would incorrectly adjust some
  relocations due to not being aware of the presence of all the possible
  parent paths yet, leading to the observed "Source not available" behavior
  when restoring some combinations of mappings. We now lazily apply the
  mappings at the point when the source code itself is actually requested
  to be loaded, which doesn't occur until after all image loading, etc.
  has completed, so the information map is complete.
2013-09-19 20:55:18 +02:00
Rene Gollent
c848949bf1 Debugger: Fix crash in Inspector.
- If a selection was active, and the hex mode was switched to not
  display, a divide by zero crash would occur. Spotted by Olivier Coursiere.
2013-09-19 17:43:36 +02:00
Rene Gollent
b967ea4be4 Debugger: Temporarily disable file manager mappings.
- There seem to be cases where the file manager is incorrectly reapplying
  stored mappings, resulting in no source being displayed. As such, the
  functionality is being disabled until the cause can be found.
2013-09-19 17:01:52 +02:00
Rene Gollent
44698a437d HaikuDepot: Start implementing UserInteractionHandler hooks.
- Use package daemon's ProblemWindow/ResultWindow for the HandleProblems()
  and ConfirmChanges() hooks respectively.
2013-09-19 15:52:24 +02:00
Rene Gollent
4bee7f070b HaikuDepot: Add "Refresh repositories" menu item.
- Allows the user to request manually updating the package list
  from the server.
2013-09-19 15:32:47 +02:00
Rene Gollent
cea02697b4 HaikuDepot: Fix a few issues pointed out by Stephan. Thanks! 2013-09-19 14:59:51 +02:00
Rene Gollent
b4c8d2ff49 HaikuDepot: Show installation state in list view.
- Add package installation state to PackageInfo and update accordingly
  in Model.
- Add package listener event for installation state change (not yet used).
- PackageListView now fetches installation state from package and displays
  accordingly.
2013-09-19 13:45:12 +02:00
Oliver Tappe
50792d1199 Update openssh and perl for x86_gcc2. 2013-09-19 12:23:36 +02:00
Rene Gollent
adde35ff14 HaikuDepot: Flesh out PackageManager::GetPackageActions().
- Now actually checks if and where the package is installed, and
  correspondingly returns back the appropriate install/uninstall
  actions. Consequently, HaikuDepot now allows uninstallation of
  (non-system) packages.
2013-09-19 12:16:41 +02:00
Rene Gollent
f7bf1d3282 HaikuDepot: Add UninstallPackageAction class. Not yet used. 2013-09-19 12:16:32 +02:00
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
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
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
Rene Gollent
2c287f5bae Model: Add Clear() method to empty out existing depot info. 2013-09-18 18:17:30 +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