Ingo Weinhold d73033ce64 * Made PackageDomain BReferenceable.
* LeafNode/Directory: We make sure that the added PackageNode with the newest
  modified time is always at the head of the list. This is the package node
  whose stat, attribute data and, in case of non-directory nodes, also content
  data will be returned. This results in a well-defined algorithm what happens
  when multiple directories contain the same file -- the newest file wins.
* Resolved most TODOs regarding error handling when adding a package domain,
  package, or package node.
* Volume::_AddPackageContentRootNode(): Fixed the back tracking loop. It would
  just continue with siblings of the given root node, causing them to be added
  more than once, leading to data structure corruption.
* We now listen to the packages directory. When packages are added or removed
  their contents is automatically added/removed to the file system. We don't
  listen to the package files themselves yet. I.e. modifying an "installed"
  package in place respectively copying/downloading it there will probably not
  work correctly.
  Due to a limitation in the userlandfs the mechanism works correctly only when
  using the kernel module. When running the userland version, one better leaves
  the packages directory alone while packagefs is mounted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 15:43:37 +00:00
..