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