Use rpmConfigDir() for finding our popt alias file
authorPanu Matilainen <pmatilai@redhat.com>
Sat, 22 Nov 2008 16:08:40 +0000 (18:08 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Sat, 22 Nov 2008 16:08:40 +0000 (18:08 +0200)
- this allows popt aliases to be reliably available in tests
- why do we have the popt initialization done twice?

Makefile.am
lib/Makefile.am
lib/poptALL.c
rpmqv.c
tests/atlocal.in

index b509b60..cd7a70c 100644 (file)
@@ -35,7 +35,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/misc
 AM_CPPFLAGS += @WITH_LIBELF_INCLUDE@
 AM_CPPFLAGS += -DLOCALEDIR="\"$(localedir)\""
 AM_CPPFLAGS += -DRPMCONFIGDIR="\"@RPMCONFIGDIR@\""
-AM_CPPFLAGS += -DLIBRPMALIAS_FILENAME="\"@RPMCONFIGDIR@/rpmpopt-${VERSION}\""
+AM_CPPFLAGS += -DLIBRPMALIAS_FILENAME="\"rpmpopt-${VERSION}\""
 
 pkginclude_HEADERS =
 nodist_pkginclude_HEADERS =
index dbd204b..025452d 100644 (file)
@@ -11,7 +11,7 @@ AM_CPPFLAGS += -DLOCALEDIR="\"$(localedir)\""
 AM_CPPFLAGS += -DSYSCONFDIR="\"$(sysconfdir)\""
 AM_CPPFLAGS += -DLOCALSTATEDIR="\"$(localstatedir)\""
 AM_CPPFLAGS += -DRPMCONFIGDIR="\"@RPMCONFIGDIR@\""
-AM_CPPFLAGS += -DLIBRPMALIAS_FILENAME="\"@RPMCONFIGDIR@/rpmpopt-${VERSION}\""
+AM_CPPFLAGS += -DLIBRPMALIAS_FILENAME="\"rpmpopt-${VERSION}\""
 
 check_PROGRAMS =
 CLEANFILES =
index 4bce0e0..ca5d8b2 100644 (file)
@@ -11,6 +11,7 @@ const char *__progname;
 #include <rpm/rpmgi.h>
 #include <rpm/rpmlog.h>
 #include <rpm/rpmstring.h>
+#include <rpm/rpmfileutil.h>
 
 #include "debug.h"
 
@@ -337,11 +338,15 @@ rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable)
     }
 
     optCon = poptGetContext(__progname, argc, (const char **)argv, optionsTable, 0);
-    (void) poptReadConfigFile(optCon, LIBRPMALIAS_FILENAME);
+    {
+       char *poptfile = rpmGenPath(rpmConfigDir(), LIBRPMALIAS_FILENAME, NULL);
+       (void) poptReadConfigFile(optCon, poptfile);
+       free(poptfile);
+    }
 #if RPM_USES_POPTREADDEFAULTCONFIG
     (void) poptReadDefaultConfig(optCon, 1);
 #endif
-    poptSetExecPath(optCon, RPMCONFIGDIR, 1);
+    poptSetExecPath(optCon, rpmConfigDir(), 1);
 
     /* Process all options, whine if unknown. */
     while ((rc = poptGetNextOpt(optCon)) > 0) {
diff --git a/rpmqv.c b/rpmqv.c
index a9ec074..cd8f2ee 100644 (file)
--- a/rpmqv.c
+++ b/rpmqv.c
@@ -15,6 +15,7 @@ const char *__progname;
 #include <rpm/rpmlib.h>                        /* RPMSIGTAG, rpmReadPackageFile .. */
 #include <rpm/rpmbuild.h>
 #include <rpm/rpmlog.h>
+#include <rpm/rpmfileutil.h>
 
 #include <rpm/rpmdb.h>
 #include <rpm/rpmps.h>
@@ -261,11 +262,15 @@ int main(int argc, char *argv[])
     /* We need to handle that before dealing with the rest of the arguments. */
     /* XXX popt argv definition should be fixed instead of casting... */
     optCon = poptGetContext(poptCtx, argc, (const char **)argv, optionsTable, 0);
-    (void) poptReadConfigFile(optCon, LIBRPMALIAS_FILENAME);
+    {
+       char *poptfile = rpmGenPath(rpmConfigDir(), LIBRPMALIAS_FILENAME, NULL);
+       (void) poptReadConfigFile(optCon, poptfile);
+       free(poptfile);
+    }
 #if RPM_USES_POPTREADDEFAULTCONFIG
     (void) poptReadDefaultConfig(optCon, 1);
 #endif
-    poptSetExecPath(optCon, RPMCONFIGDIR, 1);
+    poptSetExecPath(optCon, rpmConfigDir(), 1);
 
     while ((arg = poptGetNextOpt(optCon)) > 0) {
        optArg = poptGetOptArg(optCon);
index b392e8c..64c116c 100644 (file)
@@ -6,6 +6,9 @@ export PATH
 RPMTEST="${abs_builddir}/testing"
 RPMDATA="${abs_srcdir}/data/"
 
+RPM_CONFIGDIR="${RPMTEST}/@RPMCONFIGDIR@"
+export RPM_CONFIGDIR
+
 # Popt looks into $HOME
 HOME="${RPMTEST}"
 export HOME