poldek: poldek/pm/mod.h, poldek/pm/pm.c, poldek/pm/pm.h, poldek/pm...

mis mis at pld-linux.org
Sun Apr 2 20:46:26 CEST 2006


Author: mis                          Date: Sun Apr  2 18:46:26 2006 GMT
Module: poldek                        Tag: HEAD
---- Log message:
 - pm_conf_get() to access PM's config

---- Files affected:
poldek/poldek/pm:
   mod.h (1.10 -> 1.11) , pm.c (1.9 -> 1.10) , pm.h (1.14 -> 1.15) 
poldek/poldek/pm/pset:
   mod.c (1.5 -> 1.6) 
poldek/poldek/pm/rpm:
   mod.c (1.5 -> 1.6) , pm_rpm.h (1.12 -> 1.13) , rpm.c (1.13 -> 1.14) 

---- Diffs:

================================================================
Index: poldek/poldek/pm/mod.h
diff -u poldek/poldek/pm/mod.h:1.10 poldek/poldek/pm/mod.h:1.11
--- poldek/poldek/pm/mod.h:1.10	Mon Oct 24 17:25:57 2005
+++ poldek/poldek/pm/mod.h	Sun Apr  2 20:46:21 2006
@@ -22,6 +22,7 @@
     void *(*init)(void);
     void (*destroy)(void *modh);
     int  (*configure)(void *modh, const char *key, void *val);
+    int  (*conf_get)(void *modh, const char *key, char *value, int vsize);
 
     tn_array *(*pm_caps)(void *modh);
     char *(*dbpath)(void *modh, char *path, size_t size);

================================================================
Index: poldek/poldek/pm/pm.c
diff -u poldek/poldek/pm/pm.c:1.9 poldek/poldek/pm/pm.c:1.10
--- poldek/poldek/pm/pm.c:1.9	Sun May 15 17:48:46 2005
+++ poldek/poldek/pm/pm.c	Sun Apr  2 20:46:21 2006
@@ -161,4 +161,13 @@
     return 0;
 }
 
+int pm_conf_get(struct pm_ctx *ctx, const char *key, char *val, int vsize)
+{
+    if (ctx->mod->conf_get)
+        return ctx->mod->conf_get(ctx->modh, key, val, vsize);
+    
+    return 0;
+}
+
+
 

================================================================
Index: poldek/poldek/pm/pm.h
diff -u poldek/poldek/pm/pm.h:1.14 poldek/poldek/pm/pm.h:1.15
--- poldek/poldek/pm/pm.h:1.14	Mon Oct 24 17:25:58 2005
+++ poldek/poldek/pm/pm.h	Sun Apr  2 20:46:21 2006
@@ -21,6 +21,8 @@
 void pm_free(struct pm_ctx *ctx);
 
 int pm_configure(struct pm_ctx *ctx, const char *key, void *val);
+int pm_conf_get(struct pm_ctx *ctx, const char *key, char *value, int vsize);
+
 const char *pm_get_name(struct pm_ctx *ctx);
 
 

================================================================
Index: poldek/poldek/pm/pset/mod.c
diff -u poldek/poldek/pm/pset/mod.c:1.5 poldek/poldek/pm/pset/mod.c:1.6
--- poldek/poldek/pm/pset/mod.c:1.5	Sun Oct 10 19:42:00 2004
+++ poldek/poldek/pm/pset/mod.c	Sun Apr  2 20:46:21 2006
@@ -6,7 +6,7 @@
     0, "pset",
     pm_pset_init, pm_pset_destroy,
     pm_pset_configure, 
-    
+    NULL, 
     NULL,
 
 //    pm_pset_dbpath, 

================================================================
Index: poldek/poldek/pm/rpm/mod.c
diff -u poldek/poldek/pm/rpm/mod.c:1.5 poldek/poldek/pm/rpm/mod.c:1.6
--- poldek/poldek/pm/rpm/mod.c:1.5	Sun Oct 10 19:42:00 2004
+++ poldek/poldek/pm/rpm/mod.c	Sun Apr  2 20:46:21 2006
@@ -6,8 +6,9 @@
     0, "rpm",
     (void *(*)(void))pm_rpm_init, pm_rpm_destroy,
     pm_rpm_configure,
-    pm_rpm_rpmlib_caps,
-    
+    pm_rpm_conf_get,
+
+    pm_rpm_rpmlib_caps, /* XXX: TODO replace with pm_rpm_conf_get() */
     pm_rpm_dbpath, 
     pm_rpm_dbmtime,
     pm_rpm_dbdepdirs,

================================================================
Index: poldek/poldek/pm/rpm/pm_rpm.h
diff -u poldek/poldek/pm/rpm/pm_rpm.h:1.12 poldek/poldek/pm/rpm/pm_rpm.h:1.13
--- poldek/poldek/pm/rpm/pm_rpm.h:1.12	Sat Jan  7 02:12:01 2006
+++ poldek/poldek/pm/rpm/pm_rpm.h	Sun Apr  2 20:46:21 2006
@@ -33,6 +33,8 @@
 void *pm_rpm_init(void);
 void pm_rpm_destroy(void *pm_rpm);
 int pm_rpm_configure(void *modh, const char *key, void *val);
+int pm_rpm_conf_get(void *pm_rpm, const char *key, char *value, int vsize);
+
 tn_array *pm_rpm_rpmlib_caps(void *pm_rpm);
 const char *pm_rpm_get_arch(void *pm_rpm);
 

================================================================
Index: poldek/poldek/pm/rpm/rpm.c
diff -u poldek/poldek/pm/rpm/rpm.c:1.13 poldek/poldek/pm/rpm/rpm.c:1.14
--- poldek/poldek/pm/rpm/rpm.c:1.13	Sat Oct  8 02:05:46 2005
+++ poldek/poldek/pm/rpm/rpm.c	Sun Apr  2 20:46:21 2006
@@ -146,6 +146,26 @@
     return 1;
 }
 
+int pm_rpm_conf_get(void *pm_rpm, const char *key, char *value, int vsize)
+{
+    int n = 0;
+
+    pm_rpm = pm_rpm;
+    
+    if (*key == '%') {
+        char *v = rpmExpand(key, NULL);
+        
+        if (v == NULL)
+            return 0;
+
+        if (strlen(v))          /* rpmExpand returns empty strings */
+            n = n_snprintf(value, vsize, "%s", v);
+
+        free(v);
+    }
+    
+    return n;
+}
 
 
 static int db_exists(void *pm_rpm, const char *rootdir, const char *dbpath)
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/poldek/poldek/pm/mod.h?r1=1.10&r2=1.11&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/pm.c?r1=1.9&r2=1.10&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/pm.h?r1=1.14&r2=1.15&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/pset/mod.c?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/rpm/mod.c?r1=1.5&r2=1.6&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/rpm/pm_rpm.h?r1=1.12&r2=1.13&f=u
    http://cvs.pld-linux.org/poldek/poldek/pm/rpm/rpm.c?r1=1.13&r2=1.14&f=u



More information about the pld-cvs-commit mailing list