47642 Commits

Author SHA1 Message Date
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
Jérôme Duval
86af5f159b VirtioRNG: add to the image hrev45998 2013-08-29 18:47:48 +02:00
Jérôme Duval
8d2bf6953e random: add a Virtio RNG module
* The default module is replaced by the Virtio RNG module when found.
* This can have the undesired effect of rendering /dev/urandom slow.
* Tested with the following QEmu command line option:
-device virtio-rng-pci,rng=rng0 -object rng-random,filename=/dev/random,id=rng0
* moved random.h to private/drivers headers.
2013-08-29 18:47:48 +02:00
Jérôme Duval
eb5639c43e device_manager: tune the search paths
* the Virtio RNG PCI device has the class 0, so can't be found using usual
paths. Add 0 to _AlwaysRegisterDynamic() and "busses/virtio" in _GetNextDriverPath()
for non generic drivers to help finding virtio_pci.
* The RNG Virtio device is generic and needs "busses/random" to find virtio_rng.
2013-08-29 18:47:45 +02:00
Jérôme Duval
f73fb1051d random: added a bus interface for RNG modules.
* Yarrow RNG is the default RNG module.
2013-08-29 18:47:45 +02:00
Alexander von Gluck IV
8f7f28a7c3 OpenGL: Upgrade to Mesa 9.2
* The needed LLVM libraries are now within
  the Mesa optional build package.
* The swpipe renderer needs some work still
  and will likey change, swrast is fully
  functional.
hrev45997
2013-08-28 16:18:44 -05:00
Fredrik Holmqvist
f0aee2b4ea Enable targets for EFI on binutils.
objcopy needs to know about EFI targets if we want to build EFI Applications.
Also minor whitespace removal.
hrev45996
2013-08-28 19:59:56 +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
Ingo Weinhold
75d15eb4c2 BSolver: Extend FindPackages() functionality
* Add flag B_FIND_INSTALLED_ONLY to only return installed packages.
* Add FindPackages() version that finds packages like Install() or
  Uninstall() do.
2013-08-28 12:47:58 +02:00
Ingo Weinhold
220b5e1f29 BSolverRepository: Add {Remove,Delete}Package() 2013-08-28 12:44:14 +02:00
Ingo Weinhold
682bf414da BSolverRepository: make polymorphic 2013-08-28 12:43:42 +02:00
Ingo Weinhold
2ada08d23a LibsolvSolver: Automatic whitespace cleanup 2013-08-28 03:22:34 +02:00
Ingo Weinhold
92693623e2 package daemon: DebugSupport.h: fix (64 bit) printf() formats 2013-08-28 01:08:15 +02:00
Ingo Weinhold
86297ca0ff actions DownloadLocatedFile: fail, if wget fails 2013-08-28 01:07:17 +02:00
Ingo Weinhold
106d4015f2 rule ArchitectureSetup: Remove superfluous arch macro definition
The macro for the architecture is already defined by the compiler.
2013-08-28 00:46:12 +02:00
Ingo Weinhold
3db97b7688 Enable -Werror for package_repo and pkgman 2013-08-28 00:36:28 +02:00
Ingo Weinhold
90f9f1392b pkgman install: Add base package support
If any of the packages to install has requires a base package, that is
installed in a more general installation location, we copy the package
to the target installation location. Ideally we'd hard-link, but BFS
doesn't support that. Symlinks would be a small nightmare to maintain.

We might want to choose the installation location intelligently
depending on the base package requirement -- e.g. install curl_devel in
system rather than common, since curl is installed in system -- so we
can avoid duplicating packages.
2013-08-28 00:36:28 +02:00
Ingo Weinhold
617be97d8e Add private storage kit class BCopyEngine
It provides the functionality to copy file system entries (also
recursively). The code originates from the copyattr sources. Some
copyattr specific functionality has been removed and the code has been
adjusted for library use (i.e. no exit()s or fprintf()s). An optional
controller object can be set to customize the behavior.
2013-08-28 00:36:28 +02:00
Ingo Weinhold
bc0491ae52 BPackageInfo: Add Matches()
Checks whether the package satisfies the given
BPackageResolvableExpression.
2013-08-28 00:36:28 +02:00
Ingo Weinhold
48e17c15bc BPackageResolvableExpression: Add Matches()
Checks if the given BPackageResolvable respectively the BPackageVersion
pair satisfies the expression.
2013-08-28 00:36:27 +02:00
Ingo Weinhold
39d0e79f2b copyattr: Fix error output 2013-08-28 00:36:27 +02:00
Ingo Weinhold
be3833c9a4 BString: Add SetToFormatVarArgs() 2013-08-28 00:36:27 +02:00
Oliver Tappe
af0200d6ef Fix build problem in glue code for x86_64. 2013-08-27 23:30:23 +02:00
Oliver Tappe
eb658691e9 Add definitions for x86_64 repositories and package infos. 2013-08-27 23:30:23 +02:00
Oliver Tappe
1af14947fd Add missing case for x86_64 as host CPU architecture. 2013-08-27 23:30:23 +02:00
Adrien Destugues
2ec188b903 Fix thread safety issue in chunked http transfers.
* The use of a static variable for storing the chunk size made it shared between all instances of BUrlProtoclHttp.
* Inline the function at the single place where it is used, and allocate the variable on the stack instead.

The whole receiving loop should be split into chunked and non-chunked variants to improve code readability.
hrev45995
2013-08-27 20:36:29 +02:00
Jérôme Duval
7032e70330 random: move to bus_managers/ hrev45994 2013-08-27 20:28:56 +02:00
Jérôme Duval
98b4807f88 random: convert to the new driver API
* also move to a bus manager, we can then attach to the root device.
* updated copyright info.
2013-08-27 20:28:55 +02:00
Jérôme Duval
749f8f2d72 random: separate the software generator from the driver. 2013-08-27 20:28:52 +02:00
Adrien Destugues
8ce846e2b1 Fix infinite loop with huge tooltips
* With a tooltip big enough trying to align below or above the mouse, the algorithm would loop endlessly trying to fit it on either side.
 * After trying each side once, set alignment to middle to try to show as much as the tooltip as possible.

A way to trigger this is browsing WebKit github repository in WebPositive. Github will show the full commit message in a tooltip when you hover a file or directory, and some of
their messages are big enough to overflow my desktop.
hrev45993
2013-08-26 22:34:06 +02:00
Jérôme Duval
0edcbd2754 apic: serialize writes to x2apic MSR...
as required by the specifications (it isn't needed with memory mapped i/o).
hrev45992
2013-08-26 21:48:33 +02:00
Jérôme Duval
787773400c Added x2APIC support.
* Mostly useful for virtualization at the moment. Works in QEmu.
* Can be enabled by safemode settings/menu.
* Please note that x2APIC normally requires use of VT-d interrupt remapping feature
on real hardware, which we don't support yet.
hrev45991
2013-08-26 21:08:21 +02:00
Ingo Weinhold
a1e681690c Rework rule CopySetHaikuRevision
* Remove support for VCSs other than git.
* Make the haiku-revision file a regular build target and make sure it
  is built only once.
* Make determine_haiku_revision an actual shell script and simplify
  it a bit.
2013-08-26 16:38:50 +02:00
Ingo Weinhold
ce4f367692 pkgman: auto-refresh repositories only for update/install 2013-08-26 13:03:12 +02:00
Ingo Weinhold
8b26ef6779 pkgman: PackageManager: Use flags instead of bools in ctor 2013-08-26 12:57:41 +02:00
John Scipione
e9eb899aa4 BFont docs: Update SetEncoding() with some new info hrev45990 2013-08-25 21:36:50 -04:00
John Scipione
4385f73996 Revert "Menu: check numBytes == 1 on KeyDown"
This reverts commit 44dc533861d5e6c8c80f3ed89d6dfb4b8a30c724.
hrev45989
2013-08-25 19:40:00 -04:00
John Scipione
163fc310f7 Revert "MenuField: Make sure input is a single byte"
This reverts commit 4e075e0f4c60a600a86792d9c36eae513f1cda31.
2013-08-25 19:39:47 -04:00
Ingo Weinhold
c4ce29a67e pkgman search: enable search in ~/config 2013-08-25 18:41:56 +02:00
Ingo Weinhold
f118c41467 pkgman [un]install: fix option '-H' 2013-08-25 18:41:29 +02:00
Ingo Weinhold
e64db4da44 Also mount the packagefs at ~/config 2013-08-25 18:23:11 +02:00
Ingo Weinhold
0214aefd58 pkgman search: add -a/--all
Can be specified instead of a search string. Lists all packages.
2013-08-25 17:19:14 +02:00