diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2019-08-15 10:39:00 +0300 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2019-08-28 12:16:52 +0300 |
commit | e2847113a71eed5482f1227cf651c081ae58c75b (patch) | |
tree | 9ac23ef4ac777765693186acdfb7173dc14ec0de | |
parent | 5818867774a52c90d89a01eb75bbb07d65abf73d (diff) | |
download | rpm-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.am | 2 | ||||
-rw-r--r-- | build/parseSpec.c | 2 | ||||
-rw-r--r-- | build/rpmbuild_internal.h | 17 | ||||
-rw-r--r-- | po/POTFILES.in | 2 | ||||
-rw-r--r-- | rpmio/Makefile.am | 2 | ||||
-rw-r--r-- | rpmio/expression.c (renamed from build/expression.c) | 6 | ||||
-rw-r--r-- | rpmio/rpmmacro.h | 15 |
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 |