summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2019-08-15 10:39:00 +0300
committerPanu Matilainen <pmatilai@redhat.com>2019-08-28 12:16:52 +0300
commite2847113a71eed5482f1227cf651c081ae58c75b (patch)
tree9ac23ef4ac777765693186acdfb7173dc14ec0de
parent5818867774a52c90d89a01eb75bbb07d65abf73d (diff)
downloadrpm-e2847113a71eed5482f1227cf651c081ae58c75b.tar.gz
Export the expression parsing functions and move to librpmio
Rename to rpmExprBool/Str() for namespace's sake, drop internal visibility and move to librpmio for wider usability. No functional changes here but needed for the next step. (cherry picked from commit 66c3df005f28650e1b6910891a5aa9578b699994)
-rw-r--r--build/Makefile.am2
-rw-r--r--build/parseSpec.c2
-rw-r--r--build/rpmbuild_internal.h17
-rw-r--r--po/POTFILES.in2
-rw-r--r--rpmio/Makefile.am2
-rw-r--r--rpmio/expression.c (renamed from build/expression.c)6
-rw-r--r--rpmio/rpmmacro.h15
7 files changed, 22 insertions, 24 deletions
diff --git a/build/Makefile.am b/build/Makefile.am
index cb7f1380f..9f3ea1ee4 100644
--- a/build/Makefile.am
+++ b/build/Makefile.am
@@ -14,7 +14,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/misc
usrlibdir = $(libdir)
usrlib_LTLIBRARIES = librpmbuild.la
librpmbuild_la_SOURCES = \
- build.c expression.c files.c misc.c pack.c \
+ build.c files.c misc.c pack.c \
parseSimpleScript.c parseChangelog.c parseDescription.c \
parseFiles.c parsePreamble.c parsePrep.c parseReqs.c parseScript.c \
parseSpec.c parseList.c reqprov.c rpmfc.c spec.c \
diff --git a/build/parseSpec.c b/build/parseSpec.c
index 51148e331..055bdf012 100644
--- a/build/parseSpec.c
+++ b/build/parseSpec.c
@@ -501,7 +501,7 @@ retry:
else
checkCondition = spec->readStack->readable;
if (checkCondition) {
- match = parseExpressionBoolean(s);
+ match = rpmExprBool(s);
if (match < 0) {
rpmlog(RPMLOG_ERR,
_("%s:%d: bad %s condition: %s\n"),
diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
index 04901596a..ddecb469f 100644
--- a/build/rpmbuild_internal.h
+++ b/build/rpmbuild_internal.h
@@ -402,23 +402,6 @@ rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char * field, rpmTagVal tagN,
int index, rpmsenseFlags tagflags, addReqProvFunction cb, void *cbdata);
/** \ingroup rpmbuild
- * Evaluate boolean expression.
- * @param expr expression to parse
- * @return
- */
-RPM_GNUC_INTERNAL
-int parseExpressionBoolean(const char * expr);
-
-/** \ingroup rpmbuild
- * Evaluate string expression.
- * @param expr expression to parse
- * @return
- */
-RPM_GNUC_INTERNAL
-char * parseExpressionString(const char * expr);
-
-
-/** \ingroup rpmbuild
* Run a build script, assembled from spec file scriptlet section.
*
* @param spec spec file control structure
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 147c14887..e9372cb40 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -9,7 +9,6 @@ rpm.c
rpmsign.c
rpmspec.c
build/build.c
-build/expression.c
build/files.c
build/misc.c
build/pack.c
@@ -79,6 +78,7 @@ python/rpmts-py.c
rpmio/argv.c
rpmio/digest.c
rpmio/digest_nss.c
+rpmio/expression.c
rpmio/macro.c
rpmio/rpmfileutil.c
rpmio/rpmio.c
diff --git a/rpmio/Makefile.am b/rpmio/Makefile.am
index cedd784de..a093e31ad 100644
--- a/rpmio/Makefile.am
+++ b/rpmio/Makefile.am
@@ -16,7 +16,7 @@ AM_CPPFLAGS += -DLOCALSTATEDIR="\"$(localstatedir)\""
usrlibdir = $(libdir)
usrlib_LTLIBRARIES = librpmio.la
librpmio_la_SOURCES = \
- argv.c base64.c digest.h digest.c macro.c \
+ argv.c base64.c digest.h digest.c expression.c macro.c \
rpmhook.c rpmio.c rpmlog.c rpmmalloc.c \
rpmpgp.c rpmsq.c rpmsw.c url.c \
rpmio_internal.h rpmhook.h \
diff --git a/build/expression.c b/rpmio/expression.c
index 4e2e79e46..5ec320bf4 100644
--- a/build/expression.c
+++ b/rpmio/expression.c
@@ -14,7 +14,7 @@
#include "system.h"
#include <rpm/rpmlog.h>
-#include "build/rpmbuild_internal.h"
+#include <rpm/rpmmacro.h>
#include "debug.h"
/* #define DEBUG_PARSER 1 */
@@ -671,7 +671,7 @@ err:
return NULL;
}
-int parseExpressionBoolean(const char *expr)
+int rpmExprBool(const char *expr)
{
struct _parseState state;
int result = -1;
@@ -715,7 +715,7 @@ exit:
return result;
}
-char * parseExpressionString(const char *expr)
+char *rpmExprStr(const char *expr)
{
struct _parseState state;
char *result = NULL;
diff --git a/rpmio/rpmmacro.h b/rpmio/rpmmacro.h
index a31beb76a..a6f65d930 100644
--- a/rpmio/rpmmacro.h
+++ b/rpmio/rpmmacro.h
@@ -153,6 +153,21 @@ int rpmExpandNumeric (const char * arg);
*/
const char *rpmConfigDir(void);
+/** \ingroup rpmmacro
+ * Evaluate boolean expression.
+ * @param expr expression to parse
+ * @return
+ */
+int rpmExprBool(const char * expr);
+
+/** \ingroup rpmmacro
+ * Evaluate string expression.
+ * @param expr expression to parse
+ * @return
+ */
+char * rpmExprStr(const char * expr);
+
+
#ifdef __cplusplus
}
#endif