Force "rpm" popt context for everything but build
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 25 Jun 2008 06:33:50 +0000 (09:33 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 25 Jun 2008 06:40:04 +0000 (09:40 +0300)
- we want the same set of aliases to be seen no matter what name we're
  invoked with, except for build which has it's own set of aliases
- this has a nice little side-effect of permitting popt aliases to work
  from source tree on non-static builds despite libtool calling executables
  lt-something instead of their real names

rpmqv.c

diff --git a/rpmqv.c b/rpmqv.c
index f68331d..a9ec074 100644 (file)
--- a/rpmqv.c
+++ b/rpmqv.c
@@ -188,7 +188,7 @@ int main(int argc, char *argv[])
 
     int arg;
 
-    const char * optArg;
+    const char *optArg, *poptCtx;
     pid_t pipeChild = 0;
     poptContext optCon;
     int ec = 0;
@@ -250,10 +250,17 @@ int main(int argc, char *argv[])
 
     rpmSetVerbosity(RPMLOG_NOTICE);    /* XXX silly use by showrc */
 
+    /* Only build has it's own set of aliases, everything else uses rpm */
+#ifdef IAM_RPMBT
+    poptCtx = "rpmbuild";
+#else
+    poptCtx = "rpm";
+#endif
+
     /* Make a first pass through the arguments, looking for --rcfile */
     /* 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(__progname, argc, (const char **)argv, optionsTable, 0);
+    optCon = poptGetContext(poptCtx, argc, (const char **)argv, optionsTable, 0);
     (void) poptReadConfigFile(optCon, LIBRPMALIAS_FILENAME);
 #if RPM_USES_POPTREADDEFAULTCONFIG
     (void) poptReadDefaultConfig(optCon, 1);