WIP towards packagefs package links support

* Introduce Version class representing a version.
* Introduce Dependency and Resolvable class and add lists of either to
  Package.
* Parse package attributes and add dependencies and resolvables to
  Package.
* Add a mount type to Volume and add a respective mount parameter
  "mount-type" (values "system", "common", "home", "custom"). Also
  implies the shine-through type, if that's not given.
* Introduce class PackageFamily which groups equally named and versioned
  packages.
* Add class PackageFSRoot. Each instance represents a possible file
  system root (separate roots for different chroot environments). Tracks
  Volumes belonging to the same root and their packages.
This commit is contained in:
Ingo Weinhold
2011-07-17 16:54:24 +02:00
parent ddabac20de
commit 01102ee50e
18 changed files with 1293 additions and 30 deletions
@@ -5,13 +5,11 @@ UseLibraryHeaders zlib ;
UsePrivateKernelHeaders ;
UsePrivateHeaders shared ;
DEFINES += B_ENABLE_INCOMPLETE_POSIX_AT_SUPPORT ;
# TODO: Remove when it is complete!
HAIKU_PACKAGE_FS_SOURCES =
BlockBufferCacheKernel.cpp
DebugSupport.cpp
Dependency.cpp
Directory.cpp
GlobalFactory.cpp
kernel_interface.cpp
@@ -20,11 +18,15 @@ HAIKU_PACKAGE_FS_SOURCES =
Package.cpp
PackageDirectory.cpp
PackageDomain.cpp
PackageFamily.cpp
PackageFile.cpp
PackageFSRoot.cpp
PackageLeafNode.cpp
PackageNode.cpp
PackageNodeAttribute.cpp
PackageSymlink.cpp
Resolvable.cpp
Version.cpp
Volume.cpp
;
@@ -50,6 +52,11 @@ HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES =
;
local libSharedSources =
NaturalCompare.cpp
;
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package hpkg ] ;
@@ -57,9 +64,14 @@ KernelAddon packagefs
:
$(HAIKU_PACKAGE_FS_SOURCES)
$(HAIKU_PACKAGE_FS_PACKAGE_READER_SOURCES)
$(libSharedSources)
: $(HAIKU_STATIC_LIBSUPC++) libz.a
;
SEARCH on [ FGristFiles $(libSharedSources) ]
+= [ FDirName $(HAIKU_TOP) src kits shared ] ;
HaikuSubInclude userland ;