Commit Graph

47104 Commits

Author SHA1 Message Date
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
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
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
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
Ingo Weinhold
8f9efca9a6 pkgman: PackageManager: no longer auto-exit() when a job fails
This way search and uninstall no longer fail when there's no connection
to the internet.
2013-08-25 17:09:41 +02:00
Ingo Weinhold
03191ec5af pkgman: make JobStateListener a bit more flexible
Flags can be passed to the constructor to specify whether to exit() when
a job failed/was aborted.
2013-08-25 17:06:30 +02:00
Ingo Weinhold
c33daf26ea package kit: fix JobQueue::_RemoveDependantJobsOf()
* Delete the right job (the removed dependant job).
* Sever the depencency link between the jobs or the next iteration of
  the loop would process the same job again.
2013-08-25 17:05:00 +02:00
Ingo Weinhold
ab9a117918 package kit: JobQueue::Pop() fix invalid iterator access 2013-08-25 17:02:05 +02:00
Ingo Weinhold
f5821a1aee Set file type of Tracker New templates correctly
Fixes #9927.
2013-08-25 15:09:58 +02:00
Ingo Weinhold
abf4b0f6a0 HaikuPorts/x86: add some missing source packages 2013-08-23 13:31:51 +02:00
Ingo Weinhold
82655a5188 HaikuPorts/x86[_gcc2]: update gcc packages 2013-08-22 17:58:42 +02:00
Ingo Weinhold
648a97f716 HaikuPortsCross: update gcc package versions 2013-08-22 15:49:34 +02:00
Ingo Weinhold
86de8c37b5 Use GNU make also for building gcc 2
Should fix the build on {Free,Open}BSD.
2013-08-22 12:32:20 +02:00
Oliver Tappe
5657c5eaa5 Fix #9928: broken printf specifiers "%La" and "%LA"
* fix unitialized variables in __printf_fphex() in case of architectures
  without support for long double - this triggered unreliable results
  or crashes when using %La or %La on x86
* activate long double implementation in use for x86_64 for x86, too,
  as they share the long double format
(cherry picked from commit d1716b277c)
2013-08-21 18:04:11 +02:00
Ingo Weinhold
cc91b333be configure: update required legacy compiler version 2013-08-21 16:45:48 +02:00
Ingo Weinhold
b35337eb1e Add repositories for x86
Almost complete. bepdf is still missing, since it doesn't build with gcc
4 and a few source packages are missing as well (binutils and gcc
because haikuporter doesn't build them correctly ATM, mesa due to an
oversight).
2013-08-21 16:45:48 +02:00
Ingo Weinhold
a5101559b5 packagefs: PackageFSRoot: fix variable redeclaration 2013-08-21 16:45:48 +02:00