Commit Graph

47141 Commits

Author SHA1 Message Date
Ingo Weinhold
f2cba19f53 package daemon: ProblemWindow: Fix message constant types 2013-09-11 15:05:30 +02:00
Ingo Weinhold
9f12d254b1 package daemon: ProblemWindow: Simplify getting the font height 2013-09-11 13:39:58 +02:00
Ingo Weinhold
c159d0cfd1 BActivationTransaction: Fix unarchiving constructor 2013-09-11 05:07:14 +02:00
Ingo Weinhold
b53a2e6af5 package daemon: ProblemWindow: Use a scroll view 2013-09-11 04:53:06 +02:00
Ingo Weinhold
88f12ad84f Add private BViewPort class
* It simplifies putting regular layout-aware views or layout items into
  a BScrollView.
* Not quite complete yet: Height-for-width support is missing, but that
  also requires fixing BScrollView in this respect. Scroll bar auto-hide
  support would be nice as well.
2013-09-11 04:51:03 +02:00
Ingo Weinhold
5c56812d90 BControlLook::ComposeSpacing(): Avoid non-integers 2013-09-11 04:47:28 +02:00
Ingo Weinhold
4a8da96088 BLayoutUtils: Add GetLayoutTreeDump()
Returns a debug output string listing the basic layout properties of
the view/item hierarchy.
2013-09-11 04:46:36 +02:00
Ingo Weinhold
b1c3379c7e _user_debug_output(): Fix for long strings
The wrong length was passed to debug_puts().
2013-09-11 04:43:47 +02:00
Ingo Weinhold
406ad5bece BString::SetToFormat(): Add printf format function attribute 2013-09-11 04:43:05 +02:00
Ingo Weinhold
38c62dfb8b package daemon: Implement dependency resolution support
... for package changes performed manually by the user (i.e.
adding/removing files in a packages directory). Currently only done for
the system root. Alternative roots should still work as before, so this
shouldn't affect haikuporter (not tested yet).

Needs some more work (e.g. the GUI part).
2013-09-10 19:14:21 +02:00
Ingo Weinhold
383ac67cfa package daemon: Let Root know whether it is the system root 2013-09-10 19:14:21 +02:00
Ingo Weinhold
99f9333a2a BPackageManager::_CommitPackageChanges(): Fix error handling
The error returned by CommitTransaction() is just indicates whether
transactionResult has been initialized.
2013-09-10 19:14:21 +02:00
Ingo Weinhold
d3c96ad809 BPackageManager: Support pre-added packages
... as needed for the package daemon. _PreparePackageChanges() doesn't
try to clone them in this case.
2013-09-10 19:14:21 +02:00
Ingo Weinhold
36204024cf BPackageManager: Add InstalledRepository::EnablePackage() 2013-09-10 19:14:20 +02:00
Ingo Weinhold
018173a2f5 BPackageManager: Add ResultComputed() callback 2013-09-10 19:14:20 +02:00
Ingo Weinhold
c032903abc BPackageManager: Add VerifyInstallation() 2013-09-10 19:14:20 +02:00
Ingo Weinhold
7e0d2c4f94 BPackageManager: Add alternate Install()/Uninstall()/Update() 2013-09-10 19:14:20 +02:00
Ingo Weinhold
5a5d146510 BPackageManager: Make _InstallationRepository() protected 2013-09-10 19:14:19 +02:00
Ingo Weinhold
56b1376090 BActivationTransaction: Make BArchivable 2013-09-10 19:14:19 +02:00
Ingo Weinhold
d4f9c465fd BDaemonClient: add comment 2013-09-10 19:14:19 +02:00
Ingo Weinhold
9b2fd34196 Add BSolverPackageSpecifierList::AppendSpecifiers() 2013-09-10 19:14:19 +02:00
Ingo Weinhold
94dc74b027 More explicit denoting the BPrivate namespace 2013-09-10 19:14:18 +02:00
Ingo Weinhold
46d77ed7da package daemon: Delay handling node monitor events to group them 2013-09-10 19:14:18 +02:00
Ingo Weinhold
18f5cd171b Explicitly denote BPrivate to avoid clashes 2013-09-10 19:14:18 +02:00
Ingo Weinhold
a87c7d67e3 Don't use BPackageKit::BPrivate; avoids clashes 2013-09-10 19:14:18 +02:00
Ingo Weinhold
43bd5a49c7 <package/Request.h>: Don't leak JobQueue into public namespace 2013-09-10 19:14:17 +02:00
Ingo Weinhold
cf3bb0d753 BPackageManager: Abstract installed repository initialization
* Rename TransactionHandler -> InstallationInterface and
  DaemonClientTransactionHandler -> ClientInstallationInterface.
* Add InstallationInterface::InitInstalledRepository(). Use in
  _AddInstalledRepository() to get the repository packages instead of
  using the package roster. The ClientInstallationInterface
  implementation does it that way.
2013-09-10 19:14:17 +02:00
Ingo Weinhold
c138f1f2af BRepositoryBuilder: Add constructor for pre-init'ed repository 2013-09-10 19:14:17 +02:00
Oliver Tappe
a4b13eda69 Increase size of bootstrap image to 20 GB. 2013-09-07 15:25:55 +02:00
Oliver Tappe
797c1a7590 Update x64_64 to current state of things. 2013-09-07 15:25:15 +02:00
Oliver Tappe
a84cf45805 Add missing search path for <build>package_repo. 2013-09-06 22:49:08 +02:00
Oliver Tappe
818ed1eaf0 Remove blocks for secondary packages for x86_64. 2013-09-06 17:21:35 +02:00
Oliver Tappe
fb99605f49 Handle rigged source packages when determining port name.
* I'm not sure this makes much of a difference, but I thought it's 
  better to play it safe.
2013-09-02 12:03:06 +02:00
Oliver Tappe
64c4bd1dc2 2nd attempt at fixing build of btrfs and packagefs.
* adding zlib to the kernel unfortunately introduces a cyclic dependency
  with respect to the zlib, haiku and haiku_devel packages (AFAICS)
* circumvent this by building kernel_zlib as a static library again,
  this time with PIC, such that it can be used by kernel add-ons
2013-09-02 12:03:05 +02:00
Oliver Tappe
0cb3f70926 Revert "Fix build problems of btrfs and packagefs for x86_64."
This reverts commit f272e63f393449d3a816970ca632764895a78cd6.
2013-09-02 12:03:05 +02:00
Ingo Weinhold
83462cc28d Refactor reusable pkgman code into libpackage
* Move RepositoryBuilder class to libpackage and add B* prefix to name.
* Pull BPackageManager class out of PackageManager and move to
  libpackage. The base class is customizable via three handler objects
  responsible for transaction handling, request execution, respectively
  user interaction.
* Reorganize _ApplyPackageChanges(): Now we first prepare the
  transactions for all affected installation locations (downloading
  files etc.) and then commit them.
2013-08-31 21:19:07 +02:00
Ingo Weinhold
a0cb235c0e pkgman: Use BPackageInfo::FileName() instead of Canonical*() 2013-08-29 23:19:14 +02:00
Ingo Weinhold
dda51ada4c package daemon: Package: Set the package info file name 2013-08-29 23:19:14 +02:00
Ingo Weinhold
6692db5c1c BPackageInfo: Add fileName property
The property is archived and unarchived, but otherwise not yet stored.
If not set, FileName() returns CanonicalFileName(). Can be used for
packages like haiku.hpkg etc. that don't have a properly qualified file
name (yet).
2013-08-29 23:19:14 +02:00
Ingo Weinhold
08fb013f56 pkgman uninstall: Verify more specific locations
... after having determined the packages to remove from the selected
installation location. This uninstalls packages from the more specific
locations when their dependencies have been removed.
2013-08-29 23:19:14 +02:00
Ingo Weinhold
7af664c9d8 LibsolvSolver: change handling of fInstalledRepository
We update/set it in _AddRepositories() instead of in AddRepository(). In
code needing it earlier _InstalledRepository() can be used.

This change allows calling to SetInstalled() on a repository that has
already been added to the solver.
2013-08-29 23:19:13 +02:00
Ingo Weinhold
a54a50b48e pkgman: add support for [un]installing/updating in system 2013-08-29 23:19:13 +02:00
Oliver Tappe
c92aabd434 Fix build of pkgman with gcc2.
* I have no idea why, but gcc2 considers BSolverRepository* and
  PackageManager::InstalledRepository* as distinct pointer types, which
  it doesn't like to compare without a cast. Circumvent by static 
  casting to BSolverRepository*.
2013-08-29 23:11:14 +02:00
Oliver Tappe
c5c787ea41 Fix build problems of btrfs and packagefs for x86_64.
* Both filesystems used to link to a static kernel-zlib, which 
  was being built with -fno-pic. This doesn't work on x86_64 as the 
  filesystem add-ons are meant to be relocatable, which requires their 
  code to be compiled as position independent.
  Solve that by moving zlib into the kernel, so any add-on can just use
  it from there (packagefs is mandatory, so we can't really do without 
  zlib anyway).
2013-08-29 22:44:50 +02:00
Oliver Tappe
d1246f33f0 Drop use of non-existing variable in KernelAddon rule.
* TARGET_KERNEL_PIC_FLAGS was probably meant to be 
  TARGET_KERNEL_PIC_CCFLAGS at the time this had been added in 2005.
  As correcting the name would mean that kernel add-ons would be 
  compiled such that they wouldn't be position independent, dropping
  the variable makes more sense (which is just a cleanup and doesn't 
  change anything due to that variable being always empty)
2013-08-29 22:44:50 +02:00
Oliver Tappe
1e6177c22e Fix broken build of package kit (due to warnings) for x86_64. 2013-08-29 22:44:50 +02:00
Oliver Tappe
71046951f8 Fix build of pkgman on x86_64 by use of B_PRI... define. 2013-08-29 22:44:49 +02:00
Oliver Tappe
03aa9653d0 Move UsePrivateSystemHeaders into arch-specific block. 2013-08-29 22:44:49 +02:00
Ingo Weinhold
3381a1bf81 pkgman uninstall: improve correctness
... with respect to inter-installation-location dependencies. E.g.
uninstalling a package from common should only uninstall packages
depending on it, when system doesn't still provide those dependencies.

We don't consider uninstalling packages from more specific installation
locations when dependencies are uninstalled from a more general one yet.
2013-08-28 13:14:02 +02:00
Ingo Weinhold
89cb001511 BSolver::VerifyInstallation(): Add flags parameter
Only flag ATM is B_VERIFY_ALLOW_UNINSTALL. It tells to solver to suggest
uninstalling packages when necessary instead of considering such a case
a problem.
2013-08-28 12:55:47 +02:00