[haiku-commits] BRANCH HaikuPM-github.package-management [86233b1] src/add-ons/kernel/file_systems/packagefs/resolvables src/add-ons/kernel/file_systems/packagefs/volume build/jam/repositories/HaikuPorts src/data/package_infos/generic src/add-ons/kernel/file_systems/packagefs/package_links

  • From: HaikuPM-github.package-management <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 13 Aug 2013 14:30:34 +0200 (CEST)

added 5 changesets to branch 'refs/remotes/HaikuPM-github/package-management'
old head: 4c6b3efc91da7aa26b2d20c30f3c17b98465d5dc
new head: 86233b1067c8868bdbfdf13beec31795476284ec
overview: https://github.com/haiku/HaikuPM/compare/4c6b3ef...86233b1

----------------------------------------------------------------------------

3ea3725: haiku_devel* package infos: add compat version and base package

7ff288e: packagefs: fix dependency resolution without compat version

623331e: packages: PackageFSRoot: fix, improve, add debug output

b8ab901: packagefs: replace ':' with '~' in the package link names
  
  Otherwise paths containing those symlinks cannot be used in colon
  separated search path lists.

86233b1: HaikuPorts: update several packages
  
  ... and add some missing devel packages.

                                    [ Ingo Weinhold <ingo_weinhold@xxxxxx> ]

----------------------------------------------------------------------------

8 files changed, 67 insertions(+), 25 deletions(-)
build/jam/repositories/HaikuPorts/x86_gcc2       | 20 ++++++++++-------
.../package_links/PackageLinkDirectory.cpp       |  4 ++--
.../packagefs/resolvables/Dependency.cpp         | 23 ++++++++++++++++++++
.../packagefs/resolvables/Dependency.h           |  5 ++++-
.../packagefs/resolvables/ResolvableFamily.cpp   |  9 +++++---
.../packagefs/volume/PackageFSRoot.cpp           | 23 ++++++++++++++------
src/data/package_infos/generic/haiku_devel       |  4 ++--
.../package_infos/generic/haiku_devel_secondary  |  4 ++--

############################################################################

Commit:      3ea37257df7cd79558febd2f72014335af590ffb
Author:      Ingo Weinhold <ingo_weinhold@xxxxxx>
Date:        Tue Aug 13 05:12:47 2013 UTC

haiku_devel* package infos: add compat version and base package

----------------------------------------------------------------------------

diff --git a/src/data/package_infos/generic/haiku_devel 
b/src/data/package_infos/generic/haiku_devel
index 7f3057b..2945db7 100644
--- a/src/data/package_infos/generic/haiku_devel
+++ b/src/data/package_infos/generic/haiku_devel
@@ -14,9 +14,9 @@ copyrights            "2001-2013 Haiku, Inc. et al"
 licenses               "MIT"
 
 provides {
-       haiku_devel = R1~alpha4_pm-1
+       haiku_devel = R1~alpha4_pm-1 compat >= R1~alpha1
 }
 
 requires {
-       haiku == R1~alpha4_pm-1
+       haiku == R1~alpha4_pm-1 base
 }
diff --git a/src/data/package_infos/generic/haiku_devel_secondary 
b/src/data/package_infos/generic/haiku_devel_secondary
index 8ba4b7f..6b859f4 100644
--- a/src/data/package_infos/generic/haiku_devel_secondary
+++ b/src/data/package_infos/generic/haiku_devel_secondary
@@ -14,9 +14,9 @@ copyrights            "2001-2013 Haiku, Inc. et al"
 licenses               "MIT"
 
 provides {
-       haiku_%HAIKU_SECONDARY_PACKAGING_ARCH%_devel = R1~alpha4_pm-1
+       haiku_%HAIKU_SECONDARY_PACKAGING_ARCH%_devel = R1~alpha4_pm-1 compat >= 
R1~alpha1
 }
 
 requires {
-       haiku_%HAIKU_SECONDARY_PACKAGING_ARCH% == R1~alpha4_pm-1
+       haiku_%HAIKU_SECONDARY_PACKAGING_ARCH% == R1~alpha4_pm-1 base
 }

############################################################################

Commit:      7ff288ed5116a0626a45c3d5b46c161e082fb750
Author:      Ingo Weinhold <ingo_weinhold@xxxxxx>
Date:        Tue Aug 13 05:15:05 2013 UTC

packagefs: fix dependency resolution without compat version

----------------------------------------------------------------------------

diff --git 
a/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp 
b/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp
index 9e61317..f48d9c5 100644
--- a/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp
+++ b/src/add-ons/kernel/file_systems/packagefs/resolvables/ResolvableFamily.cpp
@@ -54,9 +54,12 @@ ResolvableFamily::ResolveDependency(Dependency* dependency)
 {
        for (FamilyResolvableList::Iterator it = fResolvables.GetIterator();
                        Resolvable* resolvable = it.Next();) {
-               if (dependency->ResolvableVersionMatches(resolvable->Version())
-                       && dependency->ResolvableCompatibleVersionMatches(
-                               resolvable->CompatibleVersion())) {
+               if 
(!dependency->ResolvableVersionMatches(resolvable->Version()))
+                       continue;
+
+               Version* compatibleVersion = resolvable->CompatibleVersion() != 
NULL
+                       ? resolvable->CompatibleVersion() : 
resolvable->Version();
+               if 
(dependency->ResolvableCompatibleVersionMatches(compatibleVersion)) {
                        resolvable->AddDependency(dependency);
                        return true;
                }

############################################################################

Commit:      623331eed56d387e30d653513a09dc47cffec3ba
Author:      Ingo Weinhold <ingo_weinhold@xxxxxx>
Date:        Tue Aug 13 05:15:42 2013 UTC

packages: PackageFSRoot: fix, improve, add debug output

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/file_systems/packagefs/volume/PackageFSRoot.cpp 
b/src/add-ons/kernel/file_systems/packagefs/volume/PackageFSRoot.cpp
index 268bbb5..3eb967d 100644
--- a/src/add-ons/kernel/file_systems/packagefs/volume/PackageFSRoot.cpp
+++ b/src/add-ons/kernel/file_systems/packagefs/volume/PackageFSRoot.cpp
@@ -249,7 +249,8 @@ PackageFSRoot::_AddPackage(Package* package)
        for (ResolvableList::ConstIterator it
                                = package->Resolvables().GetIterator();
                        Resolvable* resolvable = it.Next();) {
-               TRACE_DEPENDENCIES("  adding resolvable \"%s\"\n", 
resolvable->Name());
+               TRACE_DEPENDENCIES("  adding resolvable \"%s\"\n",
+                       resolvable->Name().Data());
 
                if (ResolvableFamily* family
                                = fResolvables.Lookup(resolvable->Name())) {
@@ -274,7 +275,8 @@ PackageFSRoot::_AddPackage(Package* package)
        for (DependencyList::ConstIterator it
                                = package->Dependencies().GetIterator();
                        Dependency* dependency = it.Next();) {
-               TRACE_DEPENDENCIES("  adding dependency \"%s\"\n", 
dependency->Name());
+               TRACE_DEPENDENCIES("  adding dependency \"%s\"\n",
+                       dependency->Name().Data());
 
                if (DependencyFamily* family
                                = fDependencies.Lookup(dependency->Name())) {
@@ -314,7 +316,7 @@ PackageFSRoot::_RemovePackage(Package* package)
                        Dependency* dependency = it.Next();) {
                if (DependencyFamily* family = dependency->Family()) {
                        TRACE_DEPENDENCIES("  removing dependency \"%s\"\n",
-                               dependency->Name());
+                               dependency->Name().Data());
 
                        if (family->IsLastDependency(dependency)) {
                                fDependencies.Remove(family);
@@ -336,7 +338,7 @@ PackageFSRoot::_RemovePackage(Package* package)
                        Resolvable* resolvable = it.Next();) {
                if (ResolvableFamily* family = resolvable->Family()) {
                        TRACE_DEPENDENCIES("  removing resolvable \"%s\"\n",
-                               resolvable->Name());
+                               resolvable->Name().Data());
 
                        if (family->IsLastResolvable(resolvable)) {
                                fResolvables.Remove(family);
@@ -378,16 +380,23 @@ 
PackageFSRoot::_ResolveDependencies(ResolvableDependencyList& dependencies)
 void
 PackageFSRoot::_ResolveDependency(Dependency* dependency)
 {
-       TRACE_DEPENDENCIES("  resolving dependency \"%s\"\n", 
dependency->Name());
+       TRACE_DEPENDENCIES("  resolving dependency \"%s\" (package \"%s\")\n",
+               dependency->Name().Data(), 
dependency->Package()->Name().Data());
 
        // get the resolvable family for the dependency
        ResolvableFamily* resolvableFamily
                = fResolvables.Lookup(dependency->Name());
-       if (resolvableFamily == NULL)
+       if (resolvableFamily == NULL) {
+               TRACE_DEPENDENCIES("    -> dependency \"%s\" unresolved\n",
+                       dependency->Name().Data());
                return;
+       }
 
        // let the family resolve the dependency
-       resolvableFamily->ResolveDependency(dependency);
+       if (!resolvableFamily->ResolveDependency(dependency)) {
+               TRACE_DEPENDENCIES("    -> dependency \"%s\" unresolved 
(version "
+                       "mismatch)\n", dependency->Name().Data());
+       }
 }
 
 

############################################################################

Commit:      b8ab901eeb0ce0eaa403182780268ffd69acf3c9
Author:      Ingo Weinhold <ingo_weinhold@xxxxxx>
Date:        Tue Aug 13 12:17:52 2013 UTC

packagefs: replace ':' with '~' in the package link names

Otherwise paths containing those symlinks cannot be used in colon
separated search path lists.

----------------------------------------------------------------------------

diff --git 
a/src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkDirectory.cpp
 
b/src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkDirectory.cpp
index cb96ee9..ae2d171 100644
--- 
a/src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkDirectory.cpp
+++ 
b/src/add-ons/kernel/file_systems/packagefs/package_links/PackageLinkDirectory.cpp
@@ -208,7 +208,7 @@ 
PackageLinkDirectory::_UpdateDependencies(PackageLinksListener* listener)
                Package* resolvablePackage = resolvable != NULL
                        ? resolvable->Package() : NULL;
 
-               Node* node = FindChild(dependency->Name());
+               Node* node = FindChild(dependency->FileName());
                if (node != NULL) {
                        // link already exists -- update
                        DependencyLink* link = 
static_cast<DependencyLink*>(node);
@@ -222,7 +222,7 @@ 
PackageLinkDirectory::_UpdateDependencies(PackageLinksListener* listener)
                        if (link == NULL)
                                return B_NO_MEMORY;
 
-                       status_t error = link->Init(this, dependency->Name());
+                       status_t error = link->Init(this, 
dependency->FileName());
                        if (error != B_OK) {
                                delete link;
                                RETURN_ERROR(error);
diff --git 
a/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.cpp 
b/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.cpp
index 30f02df..2cc42af 100644
--- a/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.cpp
+++ b/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.cpp
@@ -9,6 +9,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include <AutoDeleter.h>
+
 #include "Version.h"
 
 
@@ -18,6 +20,7 @@ Dependency::Dependency(::Package* package)
        fFamily(NULL),
        fResolvable(NULL),
        fName(),
+       fFileName(),
        fVersion(NULL),
        fVersionOperator(B_PACKAGE_RESOLVABLE_OP_EQUAL)
 {
@@ -36,6 +39,26 @@ Dependency::Init(const char* name)
        if (!fName.SetTo(name))
                return B_NO_MEMORY;
 
+       // If the name contains a ':', replace it with '~' in the file name. We 
do
+       // that so that a path containing the symlink can be used in 
colon-separated
+       // search paths.
+       if (strchr(name, ':') != NULL) {
+               char* fileName = strdup(name);
+               if (fileName == NULL)
+                       return B_NO_MEMORY;
+               MemoryDeleter fileNameDeleter(fileName);
+
+               char* remainder = fileName;
+               while (char* colon = strchr(remainder, ':')) {
+                       *colon = '~';
+                       remainder = colon + 1;
+               }
+
+               if (!fFileName.SetTo(fileName))
+                       return B_NO_MEMORY;
+       } else
+               fFileName = fName;
+
        return B_OK;
 }
 
diff --git a/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.h 
b/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.h
index 4997110..2a6bae9 100644
--- a/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.h
+++ b/src/add-ons/kernel/file_systems/packagefs/resolvables/Dependency.h
@@ -54,13 +54,16 @@ public:
                        bool                            
ResolvableCompatibleVersionMatches(
                                                                        
Version* resolvableVersion) const;
 
-                       const String&           Name() const    { return fName; 
}
+                       const String&           Name() const            { 
return fName; }
+                       const String&           FileName() const        { 
return fFileName; }
 
 private:
                        ::Package*                      fPackage;
                        DependencyFamily*       fFamily;
                        ::Resolvable*           fResolvable;
                        String                          fName;
+                       String                          fFileName;
+                                                                       // 
fName with ':' replaced by '~'
                        Version*                        fVersion;
                        BPackageResolvableOperator fVersionOperator;
 

############################################################################

Commit:      86233b1067c8868bdbfdf13beec31795476284ec
Author:      Ingo Weinhold <ingo_weinhold@xxxxxx>
Date:        Tue Aug 13 11:46:26 2013 UTC

HaikuPorts: update several packages

... and add some missing devel packages.

----------------------------------------------------------------------------

diff --git a/build/jam/repositories/HaikuPorts/x86_gcc2 
b/build/jam/repositories/HaikuPorts/x86_gcc2
index 5992953..9e2ac97 100644
--- a/build/jam/repositories/HaikuPorts/x86_gcc2
+++ b/build/jam/repositories/HaikuPorts/x86_gcc2
@@ -5,14 +5,16 @@ RemotePackageRepository HaikuPorts
        # architecture "any" packages
        be_book-2008_10_26-1
        ca_root_certificates-2012_12_29-1
-       texi2html-1.82-1
+       texi2html-1.82-2
        timgmsoundfont-2004_01_24-3
        wqy_microhei-0.2.0~beta-3
        :
        # repository architecture packages
        # primary architecture (x86_gcc2)
        apr-1.4.6-7
+       apr_devel-1.4.6-7
        apr_util-1.4.1-3
+       apr_util_devel-1.4.1-3
        autoconf-2.69-4
        automake-1.13.1-4
        bepdf-1.1.1~beta5_2013_04_28-1
@@ -29,8 +31,8 @@ RemotePackageRepository HaikuPorts
        doxygen-1.6.3-3
        expat-2.0.1-7
        expat_devel-2.0.1-7
-       ffmpeg-0.10.2-3
-       ffmpeg_devel-0.10.2-3
+       ffmpeg-0.10.2-4
+       ffmpeg_devel-0.10.2-4
        flex-2.5.35-6
        freetype-2.4.9-3
        freetype_devel-2.4.9-3
@@ -88,7 +90,8 @@ RemotePackageRepository HaikuPorts
        ncurses-5.9-9
        ncurses_devel-5.9-9
        neon-0.29.6-6
-       openssh-6.0p1-6
+       neon_devel-0.29.6-6
+       openssh-6.0p1-7
        openssl-1.0.0j-3
        openssl_devel-1.0.0j-3
        p7zip-9.20.1-4
@@ -103,11 +106,12 @@ RemotePackageRepository HaikuPorts
        speex_devel-1.2~rc1-2
        sqlite-3.7.13-4
        sqlite_devel-3.7.13-4
-       subversion-1.6.18-5
+       subversion-1.6.18-6
+       subversion_devel-1.6.18-6
        tar-1.26-6
        texinfo-4.13a-7
        vision-0.9.7.r944-1
-       wonderbrush-2.1.2-3
+       wonderbrush-2.1.2-4
        wpa_supplicant-2.0-3
        yasm-1.2.0-3
        zlib-1.2.8-3
@@ -128,8 +132,8 @@ RemotePackageRepository HaikuPorts
        gettext_x86_libintl-0.18.1.1-5
        glu_x86-9.0.0-2
        glu_x86_devel-9.0.0-2
-       haikuwebkit_x86-1.1.3_2013_08_09-1
-       haikuwebkit_x86_devel-1.1.3_2013_08_09-1
+       haikuwebkit_x86-1.1.3_2013_08_09-2
+       haikuwebkit_x86_devel-1.1.3_2013_08_09-2
        icu_x86-4.8.1.1-4
        icu_x86_devel-4.8.1.1-4
        jpeg_x86-9-3


Other related posts:

  • » [haiku-commits] BRANCH HaikuPM-github.package-management [86233b1] src/add-ons/kernel/file_systems/packagefs/resolvables src/add-ons/kernel/file_systems/packagefs/volume build/jam/repositories/HaikuPorts src/data/package_infos/generic src/add-ons/kernel/file_systems/packagefs/package_links - HaikuPM-github . package-management