test debug code - recommends requires rpm version >= 4.12 ??? sandbox/hyokeun/crc_0100
authorhyokeun <hyokeun.jeon@samsung.com>
Tue, 14 Mar 2017 23:40:19 +0000 (08:40 +0900)
committerhyokeun <hyokeun.jeon@samsung.com>
Wed, 15 Mar 2017 01:14:24 +0000 (10:14 +0900)
src/package.c
src/parsehdr.c
src/parsepkg.c
src/xml_parser_primary.c

index 2f978e2fd2462cb4c7df2a3a638f170067aa97d6..79e9b030b6c10e7cfeb9dbc59679287a61f4bae7 100644 (file)
@@ -97,6 +97,7 @@ cr_package_free(cr_Package *package)
     }
 
     if (package->provides) {
+        g_debug("HYOKEUN: cr_package_free(provides)\n");
         g_slist_foreach (package->provides, (GFunc) g_free, NULL);
         g_slist_free (package->provides);
     }
@@ -122,6 +123,7 @@ cr_package_free(cr_Package *package)
     }
 
     if (package->recommends) {
+        g_debug("HYOKEUN: cr_package_free(recommends)\n");
         g_slist_foreach (package->recommends, (GFunc) g_free, NULL);
         g_slist_free (package->recommends);
     }
index 2ef6f4285d01c90e2325029a18488da24c363f86..b24dda758917254aa29ef75fddd8591540032f1a 100644 (file)
@@ -316,11 +316,29 @@ cr_package_from_header(Header hdr,
                                                      NULL,
                                                      free);
 
+    g_debug("HYOKEUN: table DEP_PROVIDES=%d", DEP_PROVIDES);
+    g_debug("HYOKEUN: table DEP_RECOMMENDS=%d", DEP_RECOMMENDS);
+    // HYOKEUN: RECOMMENDS requires rpm version >= 4.12 ???
+
     for (int deptype=0; dep_items[deptype].type != DEP_SENTINEL; deptype++) {
+        g_debug("HYOKEUN: deptype=%d", deptype);
+
+        int hyo_name = dep_items[deptype].nametag;
+        int hyo_flags = dep_items[deptype].flagstag;
+        int hyo_versions = dep_items[deptype].versiontag;
+        g_debug("HYOKEUN:   name:%d, flags:%d, versions:%d", hyo_name, hyo_flags, hyo_versions);
+        g_debug("HYOKEUN:   ret=%d,%d,%d", 
+            headerGet(hdr, dep_items[deptype].nametag, filenames, flags),
+            headerGet(hdr, dep_items[deptype].flagstag, fileflags, flags),
+            headerGet(hdr, dep_items[deptype].versiontag, fileversions, flags));
+        g_debug("HYOKEUN:   filenames=%s, fileflags=%s, fileversions=%s", 
+            rpmtdGetString(filenames), rpmtdGetString(fileflags), rpmtdGetString(fileversions));
+
         if (headerGet(hdr, dep_items[deptype].nametag, filenames, flags) &&
             headerGet(hdr, dep_items[deptype].flagstag, fileflags, flags) &&
             headerGet(hdr, dep_items[deptype].versiontag, fileversions, flags))
         {
+            g_debug("HYOKEUN:   OK...");
 
             // Because we have to select only libc.so with highest version
             // e.g. libc.so.6(GLIBC_2.4)
@@ -400,8 +418,10 @@ cr_package_from_header(Header hdr,
                 dependency->release = evr->release;
                 g_free(evr);
 
+                g_debug("HYOKEUN: cr_package_from_header(%d)", deptype);
                 switch (deptype) {
                     case DEP_PROVIDES:
+                        g_debug("HYOKEUN: cr_package_from_header(DEP_PROVIDES)");
                         g_hash_table_replace(provided_hashtable, dependency->name, dependency->name);
                         pkg->provides = g_slist_prepend(pkg->provides, dependency);
                         break;
@@ -447,6 +467,7 @@ cr_package_from_header(Header hdr,
                         pkg->enhances = g_slist_prepend(pkg->enhances, dependency);
                         break;
                     case DEP_RECOMMENDS:
+                        g_debug("HYOKEUN: cr_package_from_header(DEP_RECOMMENDS)");
                         pkg->recommends = g_slist_prepend(pkg->recommends, dependency);
                         break;
                     case DEP_SUPPLEMENTS:
index f6038bdaa3e4542649b018aee372d1225cdeda0e..780d684bbaba981dca6e10afd581c6f0be36a09c 100644 (file)
@@ -99,6 +99,9 @@ read_header(const char *filename, Header *hdr, GError **err)
         return FALSE;
     }
 
+    // HYOKEUN - Need to check header why recommends not included...
+    g_debug("HYOKEUN: rpmReadPackageFile()");
+
     int rc = rpmReadPackageFile(cr_ts, fd, NULL, hdr);
     if (rc != RPMRC_OK) {
         switch (rc) {
@@ -139,7 +142,50 @@ cr_package_from_rpm_base(const char *filename,
     if (!read_header(filename, &hdr, err))
         return NULL;
 
+    g_debug("HYOKEUN: cr_package_from_rpm_base(%s)", filename);
     pkg = cr_package_from_header(hdr, changelog_limit, flags, err);
+    g_debug("HYOKEUN: pkg");
+    g_debug("  name:%s", pkg->name);
+    g_debug("  arch:%s", pkg->arch);
+    g_debug("  version:%s", pkg->version);
+    g_debug("  epoch:%s", pkg->epoch);
+    g_debug("  release:%s", pkg->release);
+    g_debug("  vcs:%s", pkg->vcs);
+    g_debug("  summary:%s", pkg->summary);
+    g_debug("  description:%s", pkg->description);
+    g_debug("  rpm_license:%s", pkg->rpm_license);
+    g_debug("  rpm_vendor:%s", pkg->rpm_vendor);
+    g_debug("  rpm_group:%s", pkg->rpm_group);
+
+    for (GSList *elem = pkg->requires; elem; elem = g_slist_next(elem)) {
+      cr_Dependency *odep = elem->data;
+      g_debug("    requires");
+      g_debug("      name:%s", odep->name);
+      g_debug("      flags:%s", odep->flags);
+      g_debug("      epoch:%s", odep->epoch);
+      g_debug("      version:%s", odep->version);
+      g_debug("      release:%s", odep->release);
+    }
+    for (GSList *elem = pkg->provides; elem; elem = g_slist_next(elem)) {
+      cr_Dependency *odep = elem->data;
+      g_debug("    provides");
+      g_debug("      name:%s", odep->name);
+      g_debug("      flags:%s", odep->flags);
+      g_debug("      epoch:%s", odep->epoch);
+      g_debug("      version:%s", odep->version);
+      g_debug("      release:%s", odep->release);
+    }
+    for (GSList *elem = pkg->recommends; elem; elem = g_slist_next(elem)) {
+      cr_Dependency *odep = elem->data;
+      g_debug("    recommends");
+      g_debug("      name:%s", odep->name);
+      g_debug("      flags:%s", odep->flags);
+      g_debug("      epoch:%s", odep->epoch);
+      g_debug("      version:%s", odep->version);
+      g_debug("      release:%s", odep->release);
+    }
+
+
     headerFree(hdr);
     return pkg;
 }
@@ -160,6 +206,8 @@ cr_package_from_rpm(const char *filename,
     assert(filename);
     assert(!err || *err == NULL);
 
+    g_debug("HYOKEUN: cr_package_from_rpm(%s)", filename);
+
     // Get a package object
     pkg = cr_package_from_rpm_base(filename, changelog_limit, flags, err);
     if (!pkg)
index 3a489269db3ec8c50971d59d48f430fb0df49f38..e53399f20ee40a96c5aa6c71a98d2a0e8dad4241 100644 (file)
@@ -357,6 +357,8 @@ cr_start_handler(void *pdata, const char *element, const char **attr)
     {
         assert(pd->pkg);
 
+        g_debug("HYOKEUN: cr_start_handler(state=%d)\n", pd->state);
+
         cr_Dependency *dep = cr_dependency_new();
 
         val = cr_find_attr("name", attr);
@@ -397,6 +399,7 @@ cr_start_handler(void *pdata, const char *element, const char **attr)
 
         switch (pd->state) {
             case STATE_RPM_ENTRY_PROVIDES:
+                g_debug("HYOKEUN: STATE_RPM_ENTRY_PROVIDES\n");
                 pd->pkg->provides = g_slist_prepend(pd->pkg->provides, dep);
                 break;
             case STATE_RPM_ENTRY_REQUIRES:
@@ -415,6 +418,7 @@ cr_start_handler(void *pdata, const char *element, const char **attr)
                 pd->pkg->enhances = g_slist_prepend(pd->pkg->enhances, dep);
                 break;
             case STATE_RPM_ENTRY_RECOMMENDS:
+                g_debug("HYOKEUN: STATE_RPM_ENTRY_RECOMMENDS\n");
                 pd->pkg->recommends = g_slist_prepend(pd->pkg->recommends, dep);
                 break;
             case STATE_RPM_ENTRY_SUPPLEMENTS:
@@ -471,6 +475,8 @@ cr_end_handler(void *pdata, G_GNUC_UNUSED const char *element)
     pd->state = pd->sbtab[pd->state];
     pd->docontent = 0;
 
+    g_debug("HYOKEUN: cr_end_handler(%d)\n", state);
+
     switch (state) {
     case STATE_START:
     case STATE_METADATA:
@@ -594,6 +600,7 @@ cr_end_handler(void *pdata, G_GNUC_UNUSED const char *element)
         break;
 
     case STATE_RPM_PROVIDES:
+        g_debug("HYOKEUN: end STATE_RPM_PROVIDES\n");
         pd->pkg->provides = g_slist_reverse(pd->pkg->provides);
         break;
 
@@ -618,6 +625,7 @@ cr_end_handler(void *pdata, G_GNUC_UNUSED const char *element)
         break;
 
     case STATE_RPM_RECOMMENDS:
+        g_debug("HYOKEUN: end STATE_RPM_RECOMMENDS\n");
         pd->pkg->recommends = g_slist_reverse(pd->pkg->recommends);
         break;