Commit 961f0fd0 authored by Joerg Bruehe's avatar Joerg Bruehe

Fix bug#11886309: RPM UPGRADE OF MYSQL ADVANCED GPL TO MYSQL SERVER ADVANCED DOES NOT WORK

Change the RPM spec file so that each RPM "obsoletes" the corresponding RPMs
of all (other) configurations, so a "server" RPM of any configuration
can replace the "server" RPM of any other configuration on a "rpm -U".
parent 3cd36cb0
...@@ -171,8 +171,10 @@ documentation and the manual for more information. ...@@ -171,8 +171,10 @@ documentation and the manual for more information.
Summary: MySQL: a very fast and reliable SQL database server Summary: MySQL: a very fast and reliable SQL database server
Group: Applications/Databases Group: Applications/Databases
Requires: coreutils grep procps /usr/sbin/useradd /usr/sbin/groupadd /sbin/chkconfig Requires: coreutils grep procps /usr/sbin/useradd /usr/sbin/groupadd /sbin/chkconfig
Provides: msqlormysql mysql-server mysql MySQL Provides: msqlormysql mysql MySQL mysql-server MySQL-server
Obsoletes: MySQL mysql mysql-server Obsoletes: mysql MySQL mysql-server MySQL-server
Obsoletes: MySQL-server-classic MySQL-server-community MySQL-server-enterprise
Obsoletes: MySQL-server-advanced MySQL-server-advanced-gpl MySQL-server-enterprise-gpl
%description server %description server
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
...@@ -204,8 +206,10 @@ package "MySQL-client" as well! ...@@ -204,8 +206,10 @@ package "MySQL-client" as well!
%package client %package client
Summary: MySQL - Client Summary: MySQL - Client
Group: Applications/Databases Group: Applications/Databases
Obsoletes: mysql-client Provides: mysql-client MySQL-client
Provides: mysql-client Obsoletes: mysql-client MySQL-client
Obsoletes: MySQL-client-classic MySQL-client-community MySQL-client-enterprise
Obsoletes: MySQL-client-advanced MySQL-client-advanced-gpl MySQL-client-enterprise-gpl
%description client %description client
This package contains the standard MySQL clients and administration tools. This package contains the standard MySQL clients and administration tools.
...@@ -266,11 +270,14 @@ They should be used with caution. ...@@ -266,11 +270,14 @@ They should be used with caution.
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
%package test %package test
Requires: %{name}-client perl
Summary: MySQL - Test suite Summary: MySQL - Test suite
Group: Applications/Databases Group: Applications/Databases
Provides: mysql-test Requires: %{name}-client perl
Obsoletes: mysql-bench mysql-test Provides: mysql-test MySQL-test
Obsoletes: mysql-test MySQL-test
Obsoletes: mysql-bench MySQL-bench
Obsoletes: MySQL-test-classic MySQL-test-community MySQL-test-enterprise
Obsoletes: MySQL-test-advanced MySQL-test-advanced-gpl MySQL-test-enterprise-gpl
AutoReqProv: no AutoReqProv: no
%description test %description test
...@@ -283,8 +290,10 @@ This package contains the MySQL regression test suite. ...@@ -283,8 +290,10 @@ This package contains the MySQL regression test suite.
%package devel %package devel
Summary: MySQL - Development header files and libraries Summary: MySQL - Development header files and libraries
Group: Applications/Databases Group: Applications/Databases
Provides: mysql-devel Provides: mysql-devel MySQL-devel
Obsoletes: mysql-devel Obsoletes: mysql-devel MySQL-devel
Obsoletes: MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise
Obsoletes: MySQL-devel-advanced MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl
%description devel %description devel
This package contains the development header files and libraries This package contains the development header files and libraries
...@@ -297,6 +306,12 @@ necessary to develop MySQL client applications. ...@@ -297,6 +306,12 @@ necessary to develop MySQL client applications.
%package shared %package shared
Summary: MySQL - Shared libraries Summary: MySQL - Shared libraries
Group: Applications/Databases Group: Applications/Databases
Provides: mysql-shared MySQL-shared
Obsoletes: mysql-shared MySQL-shared-standard MySQL-shared-pro
Obsoletes: MySQL-shared-pro-cert MySQL-shared-pro-gpl
Obsoletes: MySQL-shared-pro-gpl-cert MySQL-shared
Obsoletes: MySQL-shared-classic MySQL-shared-community MySQL-shared-enterprise
Obsoletes: MySQL-shared-advanced MySQL-shared-advanced-gpl MySQL-shared-enterprise-gpl
%description shared %description shared
This package contains the shared libraries (*.so*) which certain This package contains the shared libraries (*.so*) which certain
...@@ -307,10 +322,14 @@ languages and applications need to dynamically load and use MySQL. ...@@ -307,10 +322,14 @@ languages and applications need to dynamically load and use MySQL.
%if %{EMBEDDED_BUILD} %if %{EMBEDDED_BUILD}
%package embedded %package embedded
Requires: %{name}-devel Summary: MySQL - Embedded library
Summary: MySQL - embedded library
Group: Applications/Databases Group: Applications/Databases
Obsoletes: mysql-embedded Requires: %{name}-devel
Provides: mysql-embedded MySQL-embedded
Obsoletes: mysql-embedded MySQL-embedded
Obsoletes: MySQL-embedded-pro
Obsoletes: MySQL-embedded-classic MySQL-embedded-community MySQL-embedded-enterprise
Obsoletes: MySQL-embedded-advanced MySQL-embedded-advanced-gpl MySQL-embedded-enterprise-gpl
%description embedded %description embedded
This package contains the MySQL server as an embedded library. This package contains the MySQL server as an embedded library.
...@@ -1172,6 +1191,16 @@ fi ...@@ -1172,6 +1191,16 @@ fi
# merging BK trees) # merging BK trees)
############################################################################## ##############################################################################
%changelog %changelog
* Wed Sep 14 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
- Let the RPM capabilities ("obsoletes" etc) ensure that an upgrade may replace
the RPMs of any configuration (of the current or the preceding release series)
by the new ones. This is done by not using the implicitly generated capabilities
(which include the configuration name) and relying on more generic ones which
just list the function ("server", "client", ...).
The implicit generation cannot be prevented, so all these capabilities must be
explicitly listed in "Obsoletes:"
* Fri Aug 19 2011 Joerg Bruehe <joerg.bruehe@oracle.com> * Fri Aug 19 2011 Joerg Bruehe <joerg.bruehe@oracle.com>
- Fix bug#37165 "((Generic rpm)) fail to install on Fedora 9 x86_64" - Fix bug#37165 "((Generic rpm)) fail to install on Fedora 9 x86_64"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment