summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjbj <devnull@localhost>1999-09-06 20:59:39 +0000
committerjbj <devnull@localhost>1999-09-06 20:59:39 +0000
commitd753cdadf734488f5539a53e3898fd3ebc1a4508 (patch)
tree01ab000ed6d78ab035b2eaaf55199e735e141c30
parentbc837d1e3f616a7dd2973f25b7ac1d18bfafcb16 (diff)
downloadrpm-d753cdadf734488f5539a53e3898fd3ebc1a4508.tar.gz
rpm-d753cdadf734488f5539a53e3898fd3ebc1a4508.tar.bz2
rpm-d753cdadf734488f5539a53e3898fd3ebc1a4508.zip
fix: don't successfully match with strncasecmp("sparc", "sparc64", 5)
CVS patchset: 3259 CVS date: 1999/09/06 20:59:39
-rw-r--r--CHANGES1
-rw-r--r--aclocal.m418
-rw-r--r--build/files.c9
-rw-r--r--build/parseSpec.c3
-rw-r--r--configure.in1
-rw-r--r--lib/rpmdb.c2
-rw-r--r--po/rpm.pot64
-rwxr-xr-xrpm.c4
-rw-r--r--rpm.spec2
9 files changed, 54 insertions, 50 deletions
diff --git a/CHANGES b/CHANGES
index 4637a2858..e428cfa12 100644
--- a/CHANGES
+++ b/CHANGES
@@ -38,6 +38,7 @@
- update python bindings from anaconda.
- add versions to prereq.
- add syntax sensitive implict prereq on rpm-3.0.3.
+ - fix: don't successfully match with strncasecmp("sparc", "sparc64", 5)
3.0.1 -> 3.0.2
- eliminate armv4 entries from rpmrc (Andrew E. Mileski).
diff --git a/aclocal.m4 b/aclocal.m4
index a78a37744..1b0a9925f 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -666,9 +666,9 @@ AC_DEFUN(AM_FUNC_ERROR_AT_LINE,
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality. Please note that the actual code is *not* freely available.
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
# serial 5
@@ -982,9 +982,9 @@ strdup __argz_count __argz_stringify __argz_next])
# Ulrich Drepper <drepper@cygnus.com>, 1996.
#
# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality. Please note that the actual code is *not* freely available.
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
# serial 1
@@ -1030,9 +1030,9 @@ AC_SUBST($1)dnl
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality. Please note that the actual code is *not* freely available.
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
# serial 1
diff --git a/build/files.c b/build/files.c
index aef226504..e9b78bff2 100644
--- a/build/files.c
+++ b/build/files.c
@@ -710,14 +710,11 @@ static int parseForSimple(Spec spec, Package pkg, char *buf,
res = 1;
} else {
/* XXX WATCHOUT: buf is an arg */
- { const char *ddir, *name, *version;
+ { const char *ddir, *n, *v;
- headerGetEntry(pkg->header, RPMTAG_NAME, NULL,
- (void **) &name, NULL);
- headerGetEntry(pkg->header, RPMTAG_VERSION, NULL,
- (void **) &version, NULL);
+ headerNVR(pkg->header, &n, &v, NULL);
- ddir = rpmGetPath("%{_docdir}/", name, "-", version, NULL);
+ ddir = rpmGetPath("%{_docdir}/", n, "-", v, NULL);
strcpy(buf, ddir);
xfree(ddir);
}
diff --git a/build/parseSpec.c b/build/parseSpec.c
index 6eb55b4bf..5fa216e5f 100644
--- a/build/parseSpec.c
+++ b/build/parseSpec.c
@@ -60,6 +60,7 @@ int isPart(char *line)
static int matchTok(const char *token, const char *line)
{
const char *b, *be = line;
+ size_t toklen = strlen(token);
int rc = 0;
while ( *(b = be) ) {
@@ -73,7 +74,7 @@ static int matchTok(const char *token, const char *line)
* XXX os-from-uname (e.g. "Linux") is compatible with the new
* XXX os-from-platform (e.g "linux" from "sparc-*-linux").
*/
- if (strncasecmp(token, b, (be-b)))
+ if (toklen != (be-b) || strncasecmp(token, b, (be-b)))
continue;
rc = 1;
break;
diff --git a/configure.in b/configure.in
index ca9c7278c..adce9b756 100644
--- a/configure.in
+++ b/configure.in
@@ -164,6 +164,7 @@ dnl
AC_PATH_PROG(__CPIO, cpio, /bin/cpio, $MYPATH)
AC_PATH_PROG(GZIPBIN, gzip, /bin/gzip, $MYPATH)
+dnl Solaris prefers /usr/xpg4/bin/id
AC_PATH_PROG(__ID, id, /usr/bin/id, $MYPATH)
AC_PATH_PROG(__MAKE, make, /usr/bin/make, $MYPATH)
AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH)
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
index b068da57f..6f015a93b 100644
--- a/lib/rpmdb.c
+++ b/lib/rpmdb.c
@@ -242,7 +242,7 @@ int openDatabase(const char * prefix, const char * dbpath, rpmdb *rpmdbp, int mo
&db.triggerIndex, DB_HASH);
if (rc) {
- faClose(db.pkgs);
+ if (db.pkgs) faClose(db.pkgs);
if (db.nameIndex) dbiCloseIndex(db.nameIndex);
if (db.fileIndex) dbiCloseIndex(db.fileIndex);
if (db.providesIndex) dbiCloseIndex(db.providesIndex);
diff --git a/po/rpm.pot b/po/rpm.pot
index ee6b2a2ce..69503276b 100644
--- a/po/rpm.pot
+++ b/po/rpm.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-08-24 19:23-0400\n"
+"POT-Creation-Date: 1999-09-06 16:57-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1375,81 +1375,81 @@ msgstr ""
msgid "Can't mix special %%doc with other forms: %s"
msgstr ""
-#: ../build/files.c:795
+#: ../build/files.c:792
#, c-format
msgid "File listed twice: %s"
msgstr ""
-#: ../build/files.c:955
+#: ../build/files.c:952
#, c-format
msgid "File doesn't match prefix (%s): %s"
msgstr ""
-#: ../build/files.c:965 ../build/files.c:1102
+#: ../build/files.c:962 ../build/files.c:1099
#, c-format
msgid "File not found: %s"
msgstr ""
-#: ../build/files.c:1008
+#: ../build/files.c:1005
#, c-format
msgid "Bad owner/group: %s\n"
msgstr ""
-#: ../build/files.c:1022
+#: ../build/files.c:1019
#, c-format
msgid "File %4d: 0%o %s.%s\t %s\n"
msgstr ""
-#: ../build/files.c:1086
+#: ../build/files.c:1083
#, c-format
msgid "File needs leading \"/\": %s"
msgstr ""
-#: ../build/files.c:1143
+#: ../build/files.c:1140
msgid "Could not open %%files file: %s"
msgstr ""
-#: ../build/files.c:1150 ../build/pack.c:433
+#: ../build/files.c:1147 ../build/pack.c:433
#, c-format
msgid "line: %s"
msgstr ""
-#: ../build/files.c:1472 ../build/parsePrep.c:31
+#: ../build/files.c:1469 ../build/parsePrep.c:31
#, c-format
msgid "Bad owner/group: %s"
msgstr ""
-#: ../build/files.c:1525
+#: ../build/files.c:1522
#, c-format
msgid "Couldn't exec %s"
msgstr ""
-#: ../build/files.c:1529
+#: ../build/files.c:1526
#, c-format
msgid "Couldn't fork %s"
msgstr ""
-#: ../build/files.c:1608
+#: ../build/files.c:1605
#, c-format
msgid "%s failed"
msgstr ""
-#: ../build/files.c:1612
+#: ../build/files.c:1609
#, c-format
msgid "failed to write all data to %s"
msgstr ""
-#: ../build/files.c:1698
+#: ../build/files.c:1695
#, c-format
msgid "Finding %s: (using %s)...\n"
msgstr ""
-#: ../build/files.c:1726 ../build/files.c:1735
+#: ../build/files.c:1723 ../build/files.c:1732
#, c-format
msgid "Failed to find %s:"
msgstr ""
-#: ../build/files.c:1841
+#: ../build/files.c:1838
#, c-format
msgid "Processing files: %s\n"
msgstr ""
@@ -1846,49 +1846,49 @@ msgstr ""
msgid "line %d: Second %s"
msgstr ""
-#: ../build/parseSpec.c:125
+#: ../build/parseSpec.c:126
#, c-format
msgid "line %d: %s"
msgstr ""
-#: ../build/parseSpec.c:171
+#: ../build/parseSpec.c:172
#, c-format
msgid "Unable to open: %s\n"
msgstr ""
-#: ../build/parseSpec.c:183
+#: ../build/parseSpec.c:184
msgid "Unclosed %%if"
msgstr ""
-#: ../build/parseSpec.c:242
+#: ../build/parseSpec.c:243
#, c-format
msgid "%s:%d: parseExpressionBoolean returns %d"
msgstr ""
#. Got an else with no %if !
-#: ../build/parseSpec.c:250
+#: ../build/parseSpec.c:251
msgid "%s:%d: Got a %%else with no if"
msgstr ""
#. Got an end with no %if !
-#: ../build/parseSpec.c:261
+#: ../build/parseSpec.c:262
msgid "%s:%d: Got a %%endif with no if"
msgstr ""
-#: ../build/parseSpec.c:275 ../build/parseSpec.c:284
+#: ../build/parseSpec.c:276 ../build/parseSpec.c:285
msgid "malformed %%include statement"
msgstr ""
-#: ../build/parseSpec.c:365
+#: ../build/parseSpec.c:366
#, c-format
msgid "Timecheck value must be an integer: %s"
msgstr ""
-#: ../build/parseSpec.c:448
+#: ../build/parseSpec.c:449
msgid "No buildable architectures"
msgstr ""
-#: ../build/parseSpec.c:493
+#: ../build/parseSpec.c:494
msgid "Package has no %%description: %s"
msgstr ""
@@ -2030,17 +2030,21 @@ msgstr ""
msgid "mntctl() failed to return fugger size: %s"
msgstr ""
-#: ../lib/fs.c:75 ../lib/fs.c:249
+#: ../lib/fs.c:75 ../lib/fs.c:251
#, c-format
msgid "failed to stat %s: %s"
msgstr ""
-#: ../lib/fs.c:117
+#: ../lib/fs.c:114
+msgid "getting list of mounted filesystems\n"
+msgstr ""
+
+#: ../lib/fs.c:119
#, c-format
msgid "failed to open %s: %s"
msgstr ""
-#: ../lib/fs.c:270
+#: ../lib/fs.c:272
#, c-format
msgid "file %s is on an unknown device"
msgstr ""
diff --git a/rpm.c b/rpm.c
index 0cc594292..481bebc6d 100755
--- a/rpm.c
+++ b/rpm.c
@@ -1162,7 +1162,7 @@ int main(int argc, char ** argv)
if (!noPgp) checksigFlags |= CHECKSIG_PGP;
if (!noGpg) checksigFlags |= CHECKSIG_GPG;
if (!noMd5) checksigFlags |= CHECKSIG_MD5;
- ec = rpmCheckSig(checksigFlags, poptGetArgs(optCon));
+ ec = rpmCheckSig(checksigFlags, (const char **)poptGetArgs(optCon));
/* XXX don't overflow single byte exit status */
if (ec > 255) ec = 255;
exit(ec);
@@ -1171,7 +1171,7 @@ int main(int argc, char ** argv)
case MODE_RESIGN:
if (!poptPeekArg(optCon))
argerror(_("no packages given for signing"));
- ec = rpmReSign(addSign, passPhrase, poptGetArgs(optCon));
+ ec = rpmReSign(addSign, passPhrase, (const char **)poptGetArgs(optCon));
/* XXX don't overflow single byte exit status */
if (ec > 255) ec = 255;
exit(ec);
diff --git a/rpm.spec b/rpm.spec
index 93cddf027..aa72192d9 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -2,7 +2,7 @@ Summary: The Red Hat package management system.
Name: rpm
%define version 3.0.3
Version: %{version}
-Release: 0.19
+Release: 0.20
Group: System Environment/Base
Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/rpm-%{version}.tar.gz
Copyright: GPL