Commit Graph

41070 Commits

Author SHA1 Message Date
Ingo Weinhold
ce577d8db0 packagefs: AttributeIndex: Support duplicates correctly
The tree comparisons didn't allow for different Nodes having the same
attribute value. Therefore only the first node would be added and later
we would try to remove a node not actually in the tree, leading to a
crash.

packagefs seems to finally unmount cleanly, now.
2013-04-05 16:50:20 +02:00
Ingo Weinhold
05940bc514 packagefs: Fix handling of package-links directory on unmount
* Volume::_RemovePackageLinksDirectory(): We don't want to call
  _RemovePackageLinksNode(). Besides that the ID hash table has already
  been emptied before and we would thus release a reference to the node
  erroneously, the method doesn't do anything we want anyway. We don't
  want any children to be removed, since we have unregistered the
  volume's packages already (which removes the respective package link
  directories); the remaining ones are from other volumes and not ours
  to remove.
* PackageFSRoot: Release a reference to the package links directory in
  the destructor. We create the directory in Init() after all and no one
  else takes over ownership.
2013-04-05 00:31:51 +02:00
Ingo Weinhold
c7382d4c9d packagefs: Acquire missing reference for shine-through dirs
Since we publish shine-through directories directly to the VFS, we need
to acquire an additional reference, because we release a reference when
a node is put.
2013-04-05 00:20:32 +02:00
Ingo Weinhold
dedc1369e1 packagefs: Acquire missing reference for the root dir
We need one for the ID table and one for the volume itself.
2013-04-05 00:17:22 +02:00
Ingo Weinhold
ce1d048183 packagefs: Fix adding package links twice to volume
PackageLinkDirectory::NotifyDirectoryAdded() first notified the listener
(Volume) about the directory itself, then about the links it contained.
Since Volume adds the nodes recursively, the latter were added twice,
resulting in a corrupted ID hash table.
2013-04-04 22:25:23 +02:00
Ingo Weinhold
6d04dfb7a9 bindfs: Fix double deletion of root node on unmount
The VFS calls the FS's put_vnode() for all nodes, including the root
node, prior to calling unmount().
2013-04-04 11:24:39 +02:00
Ingo Weinhold
1add554a83 Make LibSolv a mandatory package
... so it is actually installed on the image.
2013-04-03 21:04:55 +02:00
Ingo Weinhold
7216c8944d pkgman resolve-dependencies: Improve usage text formatting 2013-04-03 20:14:54 +02:00
Ingo Weinhold
046f1c4378 pkgman resolve-dependencies: Avoid code duplication 2013-04-03 20:11:11 +02:00
Ingo Weinhold
4b8aabfac9 pkgman resolve-dependencies: Print package paths
... instead of package name and version. The command should now
work as required by haikuporter.
2013-04-03 19:09:38 +02:00
Ingo Weinhold
a8b832bf46 BSolverRepository::AddPackage(): Add optional return parameter
... returning the added BSolverPackage object.
2013-04-03 19:06:47 +02:00
Ingo Weinhold
749884283a pkgman resolve-dependencies: Verify result
* Make sure that the computed dependencies don't themselves depend on
  the specified package.
* Print only the actual dependencies, not the specified package.
2013-04-03 18:44:14 +02:00
Ingo Weinhold
65502bbe88 BSolver: Add VerifyInstallation()
... and implement it in LibsolvSolver.
2013-04-03 18:42:20 +02:00
Ingo Weinhold
19f3eaaee6 pkgman: Simplify and rename resolve-build-dependencies
* Now it only gets a package (info) file and a single list of
  repository directories, optionally with priority, and resolves the
  package's dependencies. The more complex two resolving steps it did
  before can just as well be done by haikuporter, and this way the
  command is more flexible.
* Rename to resolve-dependencies.
* Some TODOs still remain.
2013-04-03 15:58:27 +00:00
Ingo Weinhold
07a4d4e370 BSolverRepository: Add SetPriority() 2013-04-03 15:57:16 +00:00
Ingo Weinhold
1acf2be80d pkgman: Add command resolve-build-dependencies
This is a service command for haikuporter. It resolves the dependencies
for a package to be built and lists them, so that haikuporter can
prepare the build environment accordingly.

The implementation isn't quite finished yet. Currently the packages are
printed only with name and version, while it would probably be more
helpful to print the path of the package file. Also, the package itself
(respectively a dummy package) is printed as well.
2013-04-03 02:44:46 +00:00
Ingo Weinhold
1a4d020daf Flesh out the package kit solver API quite a bit more
* Reorganize things a bit:
  - BSolver is now an abstract base class.
  - A libsolv based implementation, LibsolvSolver, lives in a new
    add-on, which is loaded lazily.
  - Get rid of libpackage_solver. Save for LibsolvSolver everything
    is moved to libpackage.
  - This is a nicer solution for the cyclic dependency caused by
    libsolv (libsolvext to be precise) using the package kit for
    reading repositories and package files.
* Add a solver result data structure and and an accessor the solver.
* Add problem reporting support to the solver. There aren't data
  structures for the problem solutions yet and support for selecting
  solutions and re-solving is missing as well.
2013-04-03 02:15:57 +00:00
Ingo Weinhold
2d0563f357 Fix BPackageResolvableExpression::ToString()
The operator was inserted as a number.
2013-04-03 02:09:23 +00:00
Ingo Weinhold
a3dd6caf55 Add public package version parsing API
* BPackageVersion: Add respective constructor and SetTo().
* BPackageInfo: Add static ParseVersionString() utility method. It's
  only there because the parser lives in the BPackageInfo
  implementation.
2013-04-03 02:06:26 +00:00
Ingo Weinhold
dd6ec1de82 Add libsolv build feature 2013-04-02 17:31:06 +00:00
Ingo Weinhold
fc75f2df0c <build>package: Fix build
* StandardErrorOutput.cpp no longer exists (respectively has been moved
  to libpackage).
* Add hack to allow building more correctly on Haiku. We were using
  the installed package kit headers, not the ones from the working
  directory.
2013-04-02 17:27:29 +00:00
Ingo Weinhold
04d1edefe2 Fix the libpackage_build build
* The recently introduced {No,Standard}ErrorOutput.cpp were still
  missing.
* Add hack to allow building more correctly on Haiku. We were using
  the installed package kit headers, not the ones from the working
  directory.
2013-04-02 17:24:22 +00:00
Ingo Weinhold
bcdf492404 Simplify/fix the ExtractArchive rule and friends
* The call to the dummy actions isn't needed
* The calls to Extract{Zip,Tar,HPKG}Archive1 couldn't work like that.
  The directory has to be the main target, since ExtractArchive is
  potentially invoked multiple times with different extracted file
  targets and the Extract*Archive1 is only invoked the first time.
  Tested only with the HPKG actions, but they others should work as
  well.
2013-04-02 17:17:46 +00:00
Ingo Weinhold
7c29395824 Add some missing build headers 2013-04-02 17:06:56 +00:00
Ingo Weinhold
dfb5fa8ba3 Add convenience methods BPackageInfo::ReadFromPackageFile() 2013-04-01 23:18:16 +00:00
Ingo Weinhold
df65c3118a Add BNoErrorOutput to package kit 2013-04-01 23:17:25 +00:00
Ingo Weinhold
0816749e41 package_repo: Removes dependency to package
* Move StandardErrorOutput to libpackage and into proper namespace to
  avoid "package_repo" having to reuse the "package" source file.
* package_repo: Fix incorrect includes of "package.h".
2013-04-01 23:06:33 +00:00
Ingo Weinhold
479ca8169c Beginnings of the PackageKit dependency solver
Not functional (or tested) yet. The libsolv setup for a somewhat
simplified installation case should be more or less complete, though.
The solution conversion to to-be-created Haiku data structures and the
handling of problems is still missing, though.
2013-04-01 00:25:37 +00:00
Ingo Weinhold
10efbe6c5e BRepositoryInfo::SetTo(): driver settings unloaded too early
The string pointers retrieved from the driver settings are only valid until
the settings handle is freed. The were also used afterwards, though.
2013-03-29 20:09:20 +00:00
Ingo Weinhold
9992342427 package_repo: command_create(): Fix argument count check 2013-03-29 19:44:12 +00:00
Ingo Weinhold
3f986502fd Rebuilt packages for subversion and its dependencies 2013-03-29 02:09:20 +00:00
Ingo Weinhold
e3926e5669 haiku package info: Fix zlib provides declaration 2013-03-28 13:18:47 +00:00
Ingo Weinhold
a8026c5f57 haiku package info: List zlib in provides 2013-03-28 12:18:21 +00:00
Ingo Weinhold
dd60d4eef6 OptionalPackages: Fix CVS URL
Due to a copy'n'paste error the curl package was used. While at it,
use the rebuilt package.
2013-03-28 12:16:41 +00:00
Ingo Weinhold
90692f47f7 Rebuilt packages required for bootstrapping 2013-03-28 00:20:23 +00:00
Ingo Weinhold
7105134201 haiku package info: Add more provided resolvable
Also add a compat version to a few.
2013-03-28 00:17:37 +00:00
Ingo Weinhold
4e87ae1bbe Repackaged xz-utils package
It is now declared with architecture x86_gcc2, though it probably
has been built with gcc4. That issue has to be solved for real
eventually, since the package resolver won't allow mixing of gcc2
and gcc4 packages.
2013-03-27 21:17:41 +00:00
Ingo Weinhold
403bb7a568 haiku package info: declare a few provided commands
sh, awk, wget, etc. are currently provided by haiku.hpkg. Declare
them accordingly, since they are already referenced by some
HaikuPorts packates. For the generic ones ("sh", "awk") I've used
version 0.0.0 for the time being; we may need to reconsider that.
2013-03-27 19:11:38 +00:00
Ingo Weinhold
c1ef23b188 PackageLinkDirectory::_Update(): Don't unlock after delete
When using an AutoLocker on an object, the lock must be released
explicitly before releasing the last certain reference to that object.
2011-11-05 17:20:45 +01:00
Ingo Weinhold
19ae20e67e Merge branch 'master' into pm-flat
Conflicts:
	build/jam/HaikuImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	build/jam/UserBuildConfig.sample
	data/bin/installoptionalpackage
	src/apps/deskbar/DeskbarMenu.cpp
	src/servers/debug/DebugServer.cpp
	src/system/kernel/fs/vfs.cpp
2011-11-05 17:00:01 +01:00
Adrien Destugues
dd58fc68f4 Remove this as it moved away.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 16:34:18 +00:00
Rene Gollent
85c30aeccb Remove extraneous code with respect to telling a menu to close which was
breaking various cases where menus coexisted in a window with a view which
was using event masks:
	- If one invoked the menu via, e.g. a BMenuField, and then tried to choose
	  an item on it, the mouse down would get captured, the menu would be
	  closed, and the mouse event would be thrown away without ever reaching
	  the event mask view.

	 - Furthermore, since the menu was told to terminate early, it would decide
	   that the user hadn't actually chosen that item (the escape key case),
	   and never actually invoke it.

Fixes the menu fields in the mouse preflet being broken.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 16:10:21 +00:00
Ingo Weinhold
bd291de302 Remove yasm check. Looks like I had accidentally (?) disabled the
version already.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:27:39 +00:00
Adrien Destugues
ba5e652d79 Set of patches by Pete Goodeve to imrpove the handling of audio latency.
Closes #7285.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:26:03 +00:00
Ingo Weinhold
530590d3b9 * Document that the haikuRequiredLegacyGCCVersion variable is
influencing this script.
* If haikuRequiredLegacyGCCVersion has not been specified, assume that
  the script was called manually and just use the version string from
  the gcc sources.
* Make error output a bit more consistent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:22:31 +00:00
Rene Gollent
360504239c Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:18:20 +00:00
Adrien Destugues
7034a82597 Use a tabview instead of an iconrule (without icons) in the notification preflet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 13:41:23 +00:00
Rene Gollent
08f7f5744a Factor out _StartTeamDebugger() so it can be shared between the GUI and
CLI initialization.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 13:20:11 +00:00
Adrien Destugues
e9834f35e7 * revert '43157 as the files are actually needed. I still don't understand how I managed to build everything without them ...
* Move the files shared between server and preflet to the server folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 12:49:18 +00:00
Rene Gollent
192c6f9689 Add command line argument to specify usage of the CLI rather than the GUI.
Not used yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 12:21:06 +00:00