RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES macros.in

From: Ralf S. Engelschall <rse@rpm5.org>
Date: Thu 28 Jun 2007 - 17:10:15 CEST
Message-Id: <20070628151015.CA0753484E7@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs                       Email:  rse@rpm5.org
  Module: rpm                              Date:   28-Jun-2007 17:10:15
  Branch: HEAD                             Handle: 2007062816101500

  Modified files:
    rpm                     CHANGES macros.in

  Log:
    Allow Berkeley-DB and SQLite specific RPM DB per-tag parameters
    in "macros" according to the dynamically selected DB API.
    
    No Berkeley-DB parameters are changed here! We just introduce an
    additional macro expansion abstraction layer which allows the selection
    of the various _dbi_config[_xxxx] macros according to the macros _dbapi
    and _dbapi_rebuild.
    
    This allows us to configure *different* sets of parameters for
    Berkeley-DB and SQLite *at the same time* and let the right set selected
    by RPM dynamically under runtime (usually in case of a database
    migration where both formats are used in parallel). This becomes even
    more important once we will allow RPM to be built with just Berkeley-DB
    or just SQLite support only (as SQLite doesn't understand all the
    Berkeley-DB parameters).

  Summary:
    Revision    Changes     Path
    1.1412      +1  -0      rpm/CHANGES
    1.165       +79 -33     rpm/macros.in
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.1411 -r1.1412 CHANGES
  --- rpm/CHANGES	28 Jun 2007 06:05:29 -0000	1.1411
  +++ rpm/CHANGES	28 Jun 2007 15:10:15 -0000	1.1412
  @@ -1,4 +1,5 @@
   4.5 -> 5.0:
  +    - rse: allow Berkeley-DB/SQLite-specific RPM DB per-tag parameters according to dynamically selected DB API
       - rse: introduce --with-bugreport=<email-address> and require this before unsupported Autoconf operations
       - rse: simplify internal Berkeley-DB handling in rpmdb/ and allow (unsupported) --with-db=external
       - pmatilaj: remove hardcoded "libtermcap" vs. Bash kludge in lib/psm.c
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/macros.in
  ============================================================================
  $ cvs diff -u -r1.164 -r1.165 macros.in
  --- rpm/macros.in	27 Jun 2007 11:59:13 -0000	1.164
  +++ rpm/macros.in	28 Jun 2007 15:10:15 -0000	1.165
  @@ -1,7 +1,7 @@
   #/*! \page config_macros Default configuration: @USRLIBRPM@/macros
   # \verbatim
   #
  -# $Id: macros.in,v 1.164 2007/06/27 11:59:13 rse Exp $
  +# $Id: macros.in,v 1.165 2007/06/28 15:10:15 rse 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
  @@ -607,8 +607,7 @@
   %__dbi_transient		%{__dbi_rebuild} temporary private
   %__dbi_perms			perms=0644
   
  -#
  -#--- Hash database configuration
  +# database configuration: Berkeley-DB, Hash
   %__dbi_htconfig	\
     hash		\
     %{__dbi_other}\
  @@ -623,8 +622,7 @@
     %{!?_rpmdb_rebuild:%{__dbi_htconfig_current}}\
   %{nil}
   
  -#
  -#--- Btree database configuration
  +# database configuration: Berkeley-DB, Btree
   %__dbi_btconfig	\
     btree		\
     %{__dbi_other}\
  @@ -639,35 +637,82 @@
     %{!?_rpmdb_rebuild:%{__dbi_btconfig_current}}\
   %{nil}
   
  -%_dbi_tags      Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Depends:Pubkeys:Packagecolor
  -
  -%_dbi_config_Dirnames		%{_dbi_btconfig}
  -%_dbi_config_Requireversion	%{_dbi_btconfig}
  -%_dbi_config_Provideversion	%{_dbi_btconfig}
  -%_dbi_config_Installtid		%{_dbi_btconfig}
  -%_dbi_config_Removetid		%{_dbi_btconfig}
  -
  -%_dbi_config_Basenames		%{_dbi_btconfig}
  -%_dbi_config_Conflictname	%{_dbi_btconfig}
  -%_dbi_config_Filedigests	%{_dbi_htconfig}
  -%_dbi_config_Group		%{_dbi_btconfig}
  -%_dbi_config_Name		%{_dbi_btconfig}
  -%_dbi_config_Packagecolor	%{_dbi_htconfig}
  -%_dbi_config_Providename	%{_dbi_btconfig}
  -%_dbi_config_Pubkeys		%{_dbi_htconfig}
  -%_dbi_config_Requirename	%{_dbi_btconfig}
  -%_dbi_config_Sha1header		%{_dbi_htconfig}
  -%_dbi_config_Sigmd5		%{_dbi_htconfig}
  -%_dbi_config_Triggername	%{_dbi_btconfig}
  -
  -# "Packages" should have shared/exclusive fcntl(2) lock using "lockdbfd".
  -%_dbi_config_Packages		%{_dbi_btconfig} lockdbfd
  +# database configuration: SQLite
  +%__dbi_sqlconfig_current		%{nil}
  +%__dbi_sqlconfig_rebuild		nofsync
  +%_dbi_sqlconfig \
  +  %{?_rpmdb_rebuild:%{__dbi_sqlconfig_rebuild}}\
  +  %{!?_rpmdb_rebuild:%{__dbi_sqlconfig_current}}\
  +%{nil}
   
  -# "Depends" is a per-transaction cache of known dependency resolutions.
  -%_dbi_config_Depends		%{_dbi_btconfig} temporary private
  +# database tags
  +%_dbi_tags      Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Depends:Pubkeys:Packagecolor
   
  -# The default database configuration to use
  -%_dbi_config    %{_dbi_btconfig}
  +# database configuration: Berkeley-DB [dbapi 3 hooks]
  +%_dbi_config_3                  %{_dbi_btconfig}
  +%_dbi_config_3_Dirnames         %{_dbi_btconfig}
  +%_dbi_config_3_Requireversion   %{_dbi_btconfig}
  +%_dbi_config_3_Provideversion   %{_dbi_btconfig}
  +%_dbi_config_3_Installtid       %{_dbi_btconfig}
  +%_dbi_config_3_Removetid        %{_dbi_btconfig}
  +%_dbi_config_3_Basenames        %{_dbi_btconfig}
  +%_dbi_config_3_Conflictname     %{_dbi_btconfig}
  +%_dbi_config_3_Filedigests      %{_dbi_htconfig}
  +%_dbi_config_3_Group            %{_dbi_btconfig}
  +%_dbi_config_3_Name             %{_dbi_btconfig}
  +%_dbi_config_3_Packagecolor     %{_dbi_htconfig}
  +%_dbi_config_3_Providename      %{_dbi_btconfig}
  +%_dbi_config_3_Pubkeys          %{_dbi_htconfig}
  +%_dbi_config_3_Requirename      %{_dbi_btconfig}
  +%_dbi_config_3_Sha1header       %{_dbi_htconfig}
  +%_dbi_config_3_Sigmd5           %{_dbi_htconfig}
  +%_dbi_config_3_Triggername      %{_dbi_btconfig}
  +%_dbi_config_3_Packages         %{_dbi_btconfig} lockdbfd
  +%_dbi_config_3_Depends          %{_dbi_btconfig} temporary private
  +
  +# database configuration: SQLite [dbapi 4 hooks]
  +%_dbi_config_4                  %{_dbi_sqlconfig}
  +%_dbi_config_4_Dirnames         %{_dbi_sqlconfig}
  +%_dbi_config_4_Requireversion   %{_dbi_sqlconfig}
  +%_dbi_config_4_Provideversion   %{_dbi_sqlconfig}
  +%_dbi_config_4_Installtid       %{_dbi_sqlconfig}
  +%_dbi_config_4_Removetid        %{_dbi_sqlconfig}
  +%_dbi_config_4_Basenames        %{_dbi_sqlconfig}
  +%_dbi_config_4_Conflictname     %{_dbi_sqlconfig}
  +%_dbi_config_4_Filedigests      %{_dbi_sqlconfig}
  +%_dbi_config_4_Group            %{_dbi_sqlconfig}
  +%_dbi_config_4_Name             %{_dbi_sqlconfig}
  +%_dbi_config_4_Packagecolor     %{_dbi_sqlconfig}
  +%_dbi_config_4_Providename      %{_dbi_sqlconfig}
  +%_dbi_config_4_Pubkeys          %{_dbi_sqlconfig}
  +%_dbi_config_4_Requirename      %{_dbi_sqlconfig}
  +%_dbi_config_4_Sha1header       %{_dbi_sqlconfig}
  +%_dbi_config_4_Sigmd5           %{_dbi_sqlconfig}
  +%_dbi_config_4_Triggername      %{_dbi_sqlconfig}
  +%_dbi_config_4_Packages         %{_dbi_sqlconfig}
  +%_dbi_config_4_Depends          %{_dbi_sqlconfig}
  +
  +# database configuration [code entry hooks]
  +%_dbi_config                    %{expand:%%{_dbi_config_%{_dbapi_used}}}
  +%_dbi_config_Dirnames           %{expand:%%{_dbi_config_%{_dbapi_used}_Dirnames}}
  +%_dbi_config_Requireversion     %{expand:%%{_dbi_config_%{_dbapi_used}_Requireversion}}
  +%_dbi_config_Provideversion     %{expand:%%{_dbi_config_%{_dbapi_used}_Provideversion}}
  +%_dbi_config_Installtid         %{expand:%%{_dbi_config_%{_dbapi_used}_Installtid}}
  +%_dbi_config_Removetid          %{expand:%%{_dbi_config_%{_dbapi_used}_Removetid}}
  +%_dbi_config_Basenames          %{expand:%%{_dbi_config_%{_dbapi_used}_Basenames}}
  +%_dbi_config_Conflictname       %{expand:%%{_dbi_config_%{_dbapi_used}_Conflictname}}
  +%_dbi_config_Filedigests        %{expand:%%{_dbi_config_%{_dbapi_used}_Filedigests}}
  +%_dbi_config_Group              %{expand:%%{_dbi_config_%{_dbapi_used}_Group}}
  +%_dbi_config_Name               %{expand:%%{_dbi_config_%{_dbapi_used}_Name}}
  +%_dbi_config_Packagecolor       %{expand:%%{_dbi_config_%{_dbapi_used}_Packagecolor}}
  +%_dbi_config_Providename        %{expand:%%{_dbi_config_%{_dbapi_used}_Providename}}
  +%_dbi_config_Pubkeys            %{expand:%%{_dbi_config_%{_dbapi_used}_Pubkeys}}
  +%_dbi_config_Requirename        %{expand:%%{_dbi_config_%{_dbapi_used}_Requirename}}
  +%_dbi_config_Sha1header         %{expand:%%{_dbi_config_%{_dbapi_used}_Sha1header}}
  +%_dbi_config_Sigmd5             %{expand:%%{_dbi_config_%{_dbapi_used}_Sigmd5}}
  +%_dbi_config_Triggername        %{expand:%%{_dbi_config_%{_dbapi_used}_Triggername}}
  +%_dbi_config_Packages           %{expand:%%{_dbi_config_%{_dbapi_used}_Packages}}
  +%_dbi_config_Depends            %{expand:%%{_dbi_config_%{_dbapi_used}_Depends}}
   
   # Database API configuration:
   #
  @@ -676,11 +721,12 @@
   #   3:   Berkeley-DB 3.x/4.x API (default)
   #   4:   SQLite 3.x API          (alternative)
   #
  -# There are two macros so that --rebuilddb can convert the
  +# There are different macros so that --rebuilddb can convert the
   # database between formats (usually for upgrading purposes)
   #
   %_dbapi			3
   %_dbapi_rebuild		3
  +%_dbapi_used		%{?_rpmdb_rebuild:%{_dbapi_rebuild}}%{!?_rpmdb_rebuild:%{_dbapi}}
   
   #
   # Export package NEVRA (stamped with install tid) info for HRMIB on this path.
  @@ .
Received on Thu Jun 28 17:10:15 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.