revert pyhton3 part that was commit by mistake in #ab8b3ded
[platform/upstream/libsolv.git] / ext / repo_haiku.cpp
index 6aeec57..a624df1 100644 (file)
 using namespace BPackageKit;
 using namespace BPackageKit::BHPKG;
 
-static BString haiku_version_to_string(const BPackageVersion &version)
-{
-  if (version.InitCheck() != B_OK)
-    return BString();
-
-  // compose ":<major>.<minor>.<micro>" (empty epoch)
-  BString string(":");
-  string << version.Major();
-  if (!version.Minor().IsEmpty())
-    {
-      string << '.' << version.Minor();
-      if (!version.Micro().IsEmpty())
-        string << '.' << version.Micro();
-    }
-
-  // append pre-release
-  if (!version.PreRelease().IsEmpty())
-    string << '-' << version.PreRelease();
-
-  // append revision
-  if (version.Revision() != 0)
-    string << '-' << version.Revision();
-
-  return string;
-}
-
 static void add_dependency(Repo *repo, Offset &dependencies, const char *name,
   const char *version, int flags, const char* compatVersion = NULL)
 {
@@ -56,7 +30,7 @@ static void add_dependency(Repo *repo, Offset &dependencies, const char *name,
 
     if (compatVersion && compatVersion[0] != '\0')
       {
-        versionId = pool_rel2id(pool, versionID, pool_str2id(pool, compatVersion, 1),
+        versionId = pool_rel2id(pool, versionId, pool_str2id(pool, compatVersion, 1),
           REL_COMPAT, 1);
       }
 
@@ -69,7 +43,7 @@ static void add_dependency(Repo *repo, Offset &dependencies, const char *name,
 static void add_dependency(Repo *repo, Offset &dependencies, const char *name,
   const BPackageVersion &version, int flags)
 {
-  add_dependency(repo, dependencies, name, haiku_version_to_string(version),
+  add_dependency(repo, dependencies, name, version.ToString(),
     flags);
 }
 
@@ -79,8 +53,8 @@ static void add_resolvables(Repo *repo, Offset &dependencies,
   for (int32 i = 0; BPackageResolvable *resolvable = resolvables.ItemAt(i); i++)
     {
       add_dependency(repo, dependencies, resolvable->Name(),
-        haiku_version_to_string(resolvable->Version()), REL_EQ,
-        haiku_version_to_string(resolvable->CompatibleVersion()));
+        resolvable->Version().ToString(), REL_EQ,
+        resolvable->CompatibleVersion().ToString());
     }
 }
 
@@ -151,11 +125,12 @@ static Id add_package_info_to_repo(Repo *repo, Repodata *repoData,
   solvable->name = pool_str2id(pool, name, 1);
   if (packageInfo.Architecture() == B_PACKAGE_ARCHITECTURE_ANY)
     solvable->arch = ARCH_ANY;
+  else if (packageInfo.Architecture() == B_PACKAGE_ARCHITECTURE_SOURCE)
+    solvable->arch = ARCH_SRC;
   else
     solvable->arch = pool_str2id(pool,
       BPackageInfo::kArchitectureNames[packageInfo.Architecture()], 1);
-  solvable->evr = pool_str2id(pool,
-    haiku_version_to_string(packageInfo.Version()), 1);
+  solvable->evr = pool_str2id(pool, packageInfo.Version().ToString(), 1);
   solvable->vendor = pool_str2id(pool, packageInfo.Vendor(), 1);
   repodata_set_str(repoData, solvable - pool->solvables, SOLVABLE_SUMMARY,
     packageInfo.Summary());
@@ -209,8 +184,6 @@ int repo_add_haiku_installed_packages(Repo *repo, const char *rootdir,
 
   add_installed_packages(repo, repoData,
     B_PACKAGE_INSTALLATION_LOCATION_SYSTEM);
-  add_installed_packages(repo, repoData,
-    B_PACKAGE_INSTALLATION_LOCATION_COMMON);
   add_installed_packages(repo, repoData, B_PACKAGE_INSTALLATION_LOCATION_HOME);
 
   if (!(flags & REPO_NO_INTERNALIZE))