RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/lib/ depends.c rpm/ macros.in

From: Jeff Johnson <jbj@rpm5.org>
Date: Wed 25 Jul 2007 - 18:56:08 CEST
Message-Id: <20070725165608.880AD3484F5@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  jbj@rpm5.org
  Module: rpm                              Date:   25-Jul-2007 18:56:08
  Branch: HEAD                             Handle: 2007072517560701

  Modified files:
    rpm                     CHANGES macros.in
    rpm/lib                 depends.c

  Log:
    - rip Depends index and dependency result caching.

  Summary:
    Revision    Changes     Path
    1.1521      +1  -0      rpm/CHANGES
    1.336       +17 -1      rpm/lib/depends.c
    1.190       +3  -3      rpm/macros.in
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1520 -r1.1521 CHANGES
  --- rpm/CHANGES	25 Jul 2007 16:48:07 -0000	1.1520
  +++ rpm/CHANGES	25 Jul 2007 16:56:07 -0000	1.1521
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - jbj: rip Depends index and dependency result caching.
       - rse: ported to DragonFly BSD (1.8.1)
       - rse: add the necessary Autoconf glue for using the ancient (and nowadays resurrected by POSIX) insque(3)
       - rse: ported to IBM AIX (5.3)
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/lib/depends.c
  ============================================================================
  $ cvs diff -u -r1.335 -r1.336 depends.c
  --- rpm/lib/depends.c	22 Jul 2007 05:08:22 -0000	1.335
  +++ rpm/lib/depends.c	25 Jul 2007 16:56:08 -0000	1.336
  @@ -11,7 +11,11 @@
   #include <envvar.h>
   #include <ugid.h>		/* XXX user()/group() probes */
   
  +/* XXX CACHE_DEPENDENCY_RESULT deprecated, functionality being reimplemented */
  +#undef	CACHE_DEPENDENCY_RESULT
  +#if defined(CACHE_DEPNDENCY_RESULT)
   #define	_RPMDB_INTERNAL		/* XXX response cache needs dbiOpen et al. */
  +#endif
   #include "rpmdb.h"
   
   #define	_RPMEVR_INTERNAL
  @@ -47,7 +51,9 @@
   };
   
   /*@unchecked@*/
  -int _cacheDependsRC = 1;
  +#if defined(CACHE_DEPENDENCY_RESULT)
  +int _cacheDependsRC = CACHE_DEPENDENCY_RESULT;
  +#endif
   
   /*@observer@*/ /*@unchecked@*/
   const char *rpmNAME = PACKAGE;
  @@ -547,7 +553,9 @@
       const char * Name;
       int_32 Flags;
       Header h;
  +#if defined(CACHE_DEPENDENCY_RESULT)
       int _cacheThisRC = 1;
  +#endif
       int rc;
       int xx;
       int retries = 10;
  @@ -558,6 +566,7 @@
       Flags = rpmdsFlags(dep);
       NSType = rpmdsNSType(dep);
   
  +#if defined(CACHE_DEPENDENCY_RESULT)
       /*
        * Check if dbiOpen/dbiPut failed (e.g. permissions), we can't cache.
        */
  @@ -607,6 +616,7 @@
   	    }
   	}
       }
  +#endif
   
   retry:
       rc = 0;	/* assume dependency is satisfied */
  @@ -978,12 +988,14 @@
   
       /* Search added packages for the dependency. */
       if (rpmalSatisfiesDepend(ts->addedPackages, dep, NULL) != NULL) {
  +#if defined(CACHE_DEPENDENCY_RESULT)
   	/*
   	 * XXX Ick, context sensitive answers from dependency cache.
   	 * XXX Always resolve added dependencies within context to disambiguate.
   	 */
   	if (_rpmds_nopromote)
   	    _cacheThisRC = 0;
  +#endif
   	goto exit;
       }
   
  @@ -1050,6 +1062,7 @@
       /*
        * If dbiOpen/dbiPut fails (e.g. permissions), we can't cache.
        */
  +#if defined(CACHE_DEPENDENCY_RESULT)
       if (_cacheDependsRC && _cacheThisRC) {
   	dbiIndex dbi;
   	dbi = dbiOpen(rpmtsGetRdb(ts), RPMDBI_DEPENDS, 0);
  @@ -1082,6 +1095,7 @@
   		_cacheDependsRC = 0;
   	}
       }
  +#endif
   
       return rpmdsNegateRC(dep, rc);
   }
  @@ -2451,8 +2465,10 @@
       /*@-branchstate@*/
       if (closeatexit)
   	xx = rpmtsCloseDB(ts);
  +#if defined(CACHE_DEPENDENCY_RESULT)
       else if (_cacheDependsRC)
   	xx = rpmdbCloseDBI(rpmtsGetRdb(ts), RPMDBI_DEPENDS);
  +#endif
       /*@=branchstate@*/
   
   #ifdef	NOTYET
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/macros.in
  ============================================================================
  $ cvs diff -u -r1.189 -r1.190 macros.in
  --- rpm/macros.in	22 Jul 2007 15:14:49 -0000	1.189
  +++ rpm/macros.in	25 Jul 2007 16:56:08 -0000	1.190
  @@ -1,7 +1,7 @@
   #/*! \page config_macros Default configuration: @USRLIBRPM@/macros
   # \verbatim
   #
  -# $Id: macros.in,v 1.189 2007/07/22 15:14:49 rse Exp $
  +# $Id: macros.in,v 1.190 2007/07/25 16:56:08 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
  @@ -648,8 +648,8 @@
   
   # database tag configuration
   %_dbi_tags                      %{expand:%%{_dbi_tags_%{_dbapi_used}}}
  -%_dbi_tags_3                    Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Pubkeys:Packagecolor:Depends
  -%_dbi_tags_4                    Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Pubkeys:Packagecolor:Depends
  +%_dbi_tags_3                    Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Pubkeys:Packagecolor
  +%_dbi_tags_4                    Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Pubkeys:Packagecolor
   
   # database configuration: Berkeley-DB [dbapi 3 hooks]
   %_dbi_config_3                  %{_dbi_btconfig}
  @@ .
Received on Wed Jul 25 18:56:08 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.