From a36aa761ec0f525c0a206f0a46d404a3ccab5887 Mon Sep 17 00:00:00 2001 From: jbj Date: Sat, 9 Oct 2004 20:22:01 +0000 Subject: More changes from rpm-4_3 branch. CVS patchset: 7441 CVS date: 2004/10/09 20:22:01 --- autogen.sh | 4 ++-- beecrypt/base64.h | 5 +++- beecrypt/mpnumber.h | 2 +- configure.ac | 61 +++++++++++++++++++++++++---------------------- expat/autogen.sh | 4 ++-- expat/xmlwf/.splintrc | 10 +++++++- expat/xmlwf/unixfilemap.c | 2 ++ expat/xmlwf/xmlfile.c | 2 ++ macros.in | 18 ++++++++++++-- rpmdb/rpmdb.c | 2 +- rpmio/rpmsq.c | 4 +++- rpmrc.in | 7 +++++- tools/rpmxml.c | 1 - zlib/zlib.h | 2 +- 14 files changed, 81 insertions(+), 43 deletions(-) diff --git a/autogen.sh b/autogen.sh index 207b07d98..ae6185a09 100755 --- a/autogen.sh +++ b/autogen.sh @@ -5,12 +5,12 @@ export LDFLAGS LTV="libtoolize (GNU libtool) 1.5.6" ACV="autoconf (GNU Autoconf) 2.59" -AMV="automake (GNU automake) 1.9" +AMV="automake (GNU automake) 1.9.2" USAGE=" This script documents the versions of the tools I'm using to build rpm: libtool-1.5.6 autoconf-2.59 - automake-1.9 + automake-1.9.2 Simply edit this script to change the libtool/autoconf/automake versions checked if you need to, as rpm should build (and has built) with all recent versions of libtool/autoconf/automake. diff --git a/beecrypt/base64.h b/beecrypt/base64.h index b01a979d4..a1403d19e 100644 --- a/beecrypt/base64.h +++ b/beecrypt/base64.h @@ -30,18 +30,21 @@ /*!\ * Decode white space character set (default). */ +/*@unchecked@*/ /*@observer@*/ extern const char* b64decode_whitespace; #define B64DECODE_WHITESPACE " \f\n\r\t\v" /*!\ * Encode 72 characters per line (default). */ +/*@unchecked@*/ extern int b64encode_chars_per_line; #define B64ENCODE_CHARS_PER_LINE 72 /*!\ * Encode end-of-line string (default). */ +/*@unchecked@*/ /*@observer@*/ /*@null@*/ extern const char* b64encode_eolstr; #define B64ENCODE_EOLSTR "\n" @@ -77,7 +80,7 @@ char* b64crc(const unsigned char* data, size_t ns) * \return 0 on success, 1: s == NULL, 2: bad length, 3: bad char */ BEECRYPTAPI -int b64decode(const char* s, void** datap, size_t* lenp) +int b64decode(const char* s, /*@out@*/ void** datap, /*@out@*/ size_t* lenp) /*@modifies *datap, *lenp @*/; /*! diff --git a/beecrypt/mpnumber.h b/beecrypt/mpnumber.h index 8b49f7ca2..baa86eb95 100644 --- a/beecrypt/mpnumber.h +++ b/beecrypt/mpnumber.h @@ -103,7 +103,7 @@ BEECRYPTAPI int mpnsetbin(mpnumber* n, const byte* osdata, size_t ossize) /*@modifies n @*/; BEECRYPTAPI -int mpnsethex(mpnumber* n, const char* hex) +int mpnsethex(/*@out@*/ mpnumber* n, const char* hex) /*@modifies n @*/; BEECRYPTAPI diff --git a/configure.ac b/configure.ac index 989c16a68..602a9d9de 100644 --- a/configure.ac +++ b/configure.ac @@ -773,38 +773,41 @@ dnl %files gets something like dnl /usr/*/locale/*/LC_MESSAGES/*.mo dnl (Note: more than one asterisk in glob pattern.) dnl -AC_ARG_WITH(glob, [ --with-glob use the internal GNU glob ], - [rpm_cv_glob=yes], - [AC_CHECK_FUNCS(glob, rpm_cv_glob=no, rpm_cv_glob=yes)]) - -if test $rpm_cv_glob = no ; then - AC_CACHE_CHECK([for GNU extensions to glob], rpm_cv_glob_ext, [ - rm -f t - mkdir t - mkdir t/p - touch t/p/foo.8 - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include -#include -#include -main() { - glob_t gl ; - gl.gl_stat = stat; - exit(glob("t/*/*.8", GLOB_PERIOD, NULL, &gl) || gl.gl_pathc < 1); -} ]])],[rpm_cv_glob_ext=yes],[rpm_cv_glob_ext=no],[rpm_cv_glob_ext=no]) - rm -r t - ]) - if test "$rpm_cv_glob_ext" = no ; then - echo " --> using the included GNU glob instead." >&AS_MESSAGE_FD([]) - rpm_cv_glob=yes - fi -fi - -if test "$rpm_cv_glob" = yes; then +dnl XXX Glob is "fixed" in glibc-2.3.3-61, but the cost is that +dnl dangling symlinks are no longer globbed. Always use the internal glob. +dnl +#AC_ARG_WITH(glob, [ --with-glob use the internal GNU glob ], +# [rpm_cv_glob=yes], +# [AC_CHECK_FUNCS(glob, rpm_cv_glob=no, rpm_cv_glob=yes)]) +# +#if test $rpm_cv_glob = no ; then +# AC_CACHE_CHECK([for GNU extensions to glob], rpm_cv_glob_ext, [ +# rm -f t +# mkdir t +# mkdir t/p +# touch t/p/foo.8 +# AC_RUN_IFELSE([AC_LANG_SOURCE([[ +##include +##include +##include +#main() { +# glob_t gl ; +# gl.gl_stat = stat; +# exit(glob("t/*/*.8", GLOB_PERIOD, NULL, &gl) || gl.gl_pathc < 1); +#} ]])],[rpm_cv_glob_ext=yes],[rpm_cv_glob_ext=no],[rpm_cv_glob_ext=no]) +# rm -r t +# ]) +# if test "$rpm_cv_glob_ext" = no ; then +# echo " --> using the included GNU glob instead." >&AS_MESSAGE_FD([]) +# rpm_cv_glob=yes +# fi +#fi +# +#if test "$rpm_cv_glob" = yes; then AC_DEFINE(USE_GNU_GLOB, 1, [Use the included glob.c?]) AC_LIBOBJ(glob) AC_LIBOBJ(fnmatch) -fi +#fi dnl dnl Auto-detect which python bindings should be built. dnl diff --git a/expat/autogen.sh b/expat/autogen.sh index 59215d153..b9b17dde0 100755 --- a/expat/autogen.sh +++ b/expat/autogen.sh @@ -5,12 +5,12 @@ export LDFLAGS LTV="libtoolize (GNU libtool) 1.5.6" ACV="autoconf (GNU Autoconf) 2.59" -AMV="automake (GNU automake) 1.9" +AMV="automake (GNU automake) 1.9.2" USAGE=" This script documents the versions of the tools I'm using to build rpm: libtool-1.5.6 autoconf-2.59 - automake-1.9 + automake-1.9.2 Simply edit this script to change the libtool/autoconf/automake versions checked if you need to, as rpm should build (and has built) with all recent versions of libtool/autoconf/automake. diff --git a/expat/xmlwf/.splintrc b/expat/xmlwf/.splintrc index 011a229b5..25af4336a 100644 --- a/expat/xmlwf/.splintrc +++ b/expat/xmlwf/.splintrc @@ -3,7 +3,6 @@ #+partial +forcehints --warnunixlib -warnposix +unixlib @@ -16,6 +15,15 @@ +bounds -boundswrite # 8 +-compdestroy # 1 +-fixedformalarray +-incondefs # 10 +-matchfields # 2 +-mustdefine +-mustmod +-mutrep +-nullstate + -declundef # 62 -enummemuse # 6 -fcnuse # 61 diff --git a/expat/xmlwf/unixfilemap.c b/expat/xmlwf/unixfilemap.c index a9f519e36..6e9f23543 100644 --- a/expat/xmlwf/unixfilemap.c +++ b/expat/xmlwf/unixfilemap.c @@ -9,7 +9,9 @@ #include #include #include +#if !defined(__LCLINT__) #include +#endif #ifndef MAP_FILE #define MAP_FILE 0 diff --git a/expat/xmlwf/xmlfile.c b/expat/xmlwf/xmlfile.c index 33480c23d..49dffc467 100644 --- a/expat/xmlwf/xmlfile.c +++ b/expat/xmlwf/xmlfile.c @@ -24,8 +24,10 @@ #endif #ifdef HAVE_UNISTD_H +#if !defined(__LCLINT__) #include #endif +#endif #ifndef O_BINARY #ifdef _O_BINARY diff --git a/macros.in b/macros.in index 53c9f2c96..aab6215f2 100644 --- a/macros.in +++ b/macros.in @@ -1,7 +1,7 @@ #/*! \page config_macros Default configuration: @RPMCONFIGDIR@/macros # \verbatim # -# $Id: macros.in,v 1.151 2004/06/17 20:18:34 arekm Exp $ +# $Id: macros.in,v 1.152 2004/10/09 20:22:01 jbj Exp $ # # This is a global RPM configuration file. All changes made here will # be lost when the rpm package is upgraded. Any per-system configuration @@ -378,7 +378,17 @@ package or when debugging this package.\ %_filter_GLIBC_PRIVATE 0 # Desired selinux policy tree -%__policy_tree targeted +%__policy_tree %{expand:%%global __policy_tree %{lua:\ +t="targeted"\ +f = io.open("/etc/selinux/config")\ +if f then\ + for l in f:lines() do\ + if "SELINUXTYPE=" == string.sub(l,0,12) then t=string.sub(l,13); end\ + end\ + f:close()\ +end\ +print (t)\ +}}%{__policy_tree} # Path to selinux file context patterns. %__file_context_path /etc/selinux/%{__policy_tree}/contexts/files/file_contexts @@ -667,6 +677,10 @@ package or when debugging this package.\ # XXX Note: escaped %% for use in headerSprintf() %_autorelocate_path @autorelocate_path@ +# A default directory color to choose when directories are +# auto-relocated. +%_autorelocate_dcolor @autorelocate_dcolor@ + # The path to the dependency universe database. The default value # is the rpmdb-redhat location. The macro is usually defined in # /etc/rpm/macros.solve, installed with the rpmdb-redhat package. diff --git a/rpmdb/rpmdb.c b/rpmdb/rpmdb.c index c2dad543f..0591d24f6 100644 --- a/rpmdb/rpmdb.c +++ b/rpmdb/rpmdb.c @@ -699,7 +699,7 @@ int rpmdbCheckSignals(void) rpmdb db; rpmdbMatchIterator mi; - rpmMessage(RPMMESS_DEBUG, "Exiting on signal ...\n"); + rpmMessage(RPMMESS_NORMAL, "Exiting on signal(0x%lx) ...\n", *((unsigned long *)&rpmsqCaught)); /*@-branchstate@*/ while ((mi = rpmmiRock) != NULL) { diff --git a/rpmio/rpmsq.c b/rpmio/rpmsq.c index 4285f1a63..c04783886 100644 --- a/rpmio/rpmsq.c +++ b/rpmio/rpmsq.c @@ -287,7 +287,9 @@ void rpmsqAction(int signum, if (tbl->signum != signum) continue; - (void) sigaddset(&rpmsqCaught, signum); + /* XXX Ignore any signals that were originally SIG_IGN */ + if (tbl->oact.sa_handler != SIG_IGN) + (void) sigaddset(&rpmsqCaught, signum); switch (signum) { case SIGCHLD: diff --git a/rpmrc.in b/rpmrc.in index a70d0ff23..d5a5cadd7 100644 --- a/rpmrc.in +++ b/rpmrc.in @@ -1,7 +1,7 @@ #/*! \page config_rpmrc Default configuration: /usr/lib/rpm/rpmrc # \verbatim # -# $Id: rpmrc.in,v 2.64 2004/06/16 17:48:07 jbj Exp $ +# $Id: rpmrc.in,v 2.65 2004/10/09 20:22:01 jbj Exp $ # # This is a global RPM configuration file. All changes made here will # be lost when the rpm package is upgraded. Any per-system configuration @@ -40,6 +40,7 @@ optflags: m68k -O2 -g -fomit-frame-pointer optflags: ppc -O2 -g -fsigned-char optflags: ppc8260 -O2 -g -fsigned-char optflags: ppc8560 -O2 -g -fsigned-char +optflags: ppc32dy4 -O2 -g -fsigned-char optflags: ppciseries -O2 -g -fsigned-char optflags: ppcpseries -O2 -g -fsigned-char optflags: ppc64 -O2 -g -fsigned-char @@ -105,6 +106,7 @@ arch_canon: mips: mips 4 arch_canon: ppc: ppc 5 arch_canon: ppc8260: ppc8260 5 arch_canon: ppc8560: ppc8560 5 +arch_canon: ppc32dy4: ppc32dy4 5 arch_canon: ppciseries: ppciseries 5 arch_canon: ppcpseries: ppcpseries 5 @@ -203,6 +205,7 @@ buildarchtranslate: powerpc: ppc buildarchtranslate: powerppc: ppc buildarchtranslate: ppc8260: ppc buildarchtranslate: ppc8560: ppc +buildarchtranslate: ppc32dy4: ppc buildarchtranslate: ppciseries: ppc buildarchtranslate: ppcpseries: ppc @@ -251,6 +254,7 @@ arch_compat: powerpc: ppc arch_compat: powerppc: ppc arch_compat: ppc8260: ppc arch_compat: ppc8560: ppc +arch_compat: ppc32dy4: ppc arch_compat: ppciseries: ppc arch_compat: ppcpseries: ppc arch_compat: ppc64: ppc @@ -355,6 +359,7 @@ buildarch_compat: m68k: noarch buildarch_compat: ppc8260: noarch buildarch_compat: ppc8560: noarch +buildarch_compat: ppc32dy4: noarch buildarch_compat: ppciseries: noarch buildarch_compat: ppcpseries: noarch buildarch_compat: ppc: noarch diff --git a/tools/rpmxml.c b/tools/rpmxml.c index b69189284..37adbaf80 100644 --- a/tools/rpmxml.c +++ b/tools/rpmxml.c @@ -235,7 +235,6 @@ printf("%d %d %s %d\n", xp->depth, xp->nodeType, xp->name, xp->isEmptyElement); break; } - if (xp->value != NULL) { xmlFree(xp->value); xp->value = NULL; diff --git a/zlib/zlib.h b/zlib/zlib.h index d56e60fd6..447c9f2a7 100644 --- a/zlib/zlib.h +++ b/zlib/zlib.h @@ -1012,7 +1012,7 @@ ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)) opened for writing. */ -ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)) +ZEXTERN int ZEXPORT gzread OF((gzFile file, /*@out@*/ voidp buf, unsigned len)) /*@globals errno, fileSystem @*/ /*@modifies file, buf, errno, fileSystem @*/; /* -- cgit v1.2.3