diff --git a/packaging/rpm-uln/mysql.spec.sh b/packaging/rpm-uln/mysql.spec.sh index 3e2c5c3f11c8e64b6488c9fb5e84f97dedaf4854..ec195bc9e16fd812c9206743d4b0fa97a33fce9f 100644 --- a/packaging/rpm-uln/mysql.spec.sh +++ b/packaging/rpm-uln/mysql.spec.sh @@ -268,11 +268,12 @@ Requires: bash Provides: mysql # MySQL (with caps) is upstream's spelling of their own RPMs for mysql -Conflicts: MySQL +Obsoletes: MySQL # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 # We need cross-product "Obsoletes:" to allow cross-product upgrades: -Obsoletes: mysql mysql-advanced +Obsoletes: mysql < %{version}-%{release} +Obsoletes: mysql-advanced < %{version}-%{release} # Working around perl dependency checking bug in rpm FTTB. Remove later. %global __perl_requires %{SOURCE999} @@ -295,8 +296,9 @@ further info. Summary: The shared libraries required for MySQL clients Group: Applications/Databases Requires: /sbin/ldconfig +Obsoletes: mysql-libs < %{version}-%{release} +Obsoletes: mysql-libs-advanced < %{version}-%{release} Provides: mysql-libs -Obsoletes: mysql-libs mysql-libs-advanced %description -n mysql-libs%{product_suffix} The mysql-libs package provides the essential shared libraries for any @@ -318,9 +320,10 @@ Requires(preun): initscripts Requires(postun): initscripts # mysqlhotcopy needs DBI/DBD support Requires: perl-DBI, perl-DBD-MySQL +Obsoletes: MySQL-server +Obsoletes: mysql-server < %{version}-%{release} +Obsoletes: mysql-server-advanced < %{version}-%{release} Provides: mysql-server -Conflicts: MySQL-server -Obsoletes: mysql-server mysql-server-advanced %description -n mysql-server%{product_suffix} MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -334,9 +337,10 @@ Summary: Files for development of MySQL applications Group: Applications/Databases Requires: mysql%{product_suffix} = %{version}-%{release} Requires: openssl-devel +Obsoletes: MySQL-devel +Obsoletes: mysql-devel < %{version}-%{release} +Obsoletes: mysql-devel-advanced < %{version}-%{release} Provides: mysql-devel -Conflicts: MySQL-devel -Obsoletes: mysql-devel mysql-devel-advanced %description -n mysql-devel%{product_suffix} MySQL is a multi-user, multi-threaded SQL database server. This @@ -347,8 +351,9 @@ developing MySQL client applications. Summary: MySQL as an embeddable library Group: Applications/Databases +Obsoletes: mysql-embedded < %{version}-%{release} +Obsoletes: mysql-embedded-advanced < %{version}-%{release} Provides: mysql-embedded -Obsoletes: mysql-embedded mysql-embedded-advanced %description -n mysql-embedded%{product_suffix} MySQL is a multi-user, multi-threaded SQL database server. This @@ -362,8 +367,9 @@ Summary: Development files for MySQL as an embeddable library Group: Applications/Databases Requires: mysql-embedded%{product_suffix} = %{version}-%{release} Requires: mysql-devel%{product_suffix} = %{version}-%{release} +Obsoletes: mysql-embedded-devel < %{version}-%{release} +Obsoletes: mysql-embedded-devel-advanced < %{version}-%{release} Provides: mysql-embedded-devel -Obsoletes: mysql-embedded-devel mysql-embedded-devel-advanced %description -n mysql-embedded-devel%{product_suffix} MySQL is a multi-user, multi-threaded SQL database server. This @@ -376,9 +382,10 @@ Summary: The test suite distributed with MySQL Group: Applications/Databases Requires: mysql%{product_suffix} = %{version}-%{release} Requires: mysql-server%{product_suffix} = %{version}-%{release} +Obsoletes: MySQL-test +Obsoletes: mysql-test < %{version}-%{release} +Obsoletes: mysql-test-advanced < %{version}-%{release} Provides: mysql-test -Conflicts: MySQL-test -Obsoletes: mysql-test mysql-test-advanced %description -n mysql-test%{product_suffix} MySQL is a multi-user, multi-threaded SQL database server. This diff --git a/support-files/MySQL-shared-compat.spec.sh b/support-files/MySQL-shared-compat.spec.sh index afda068b335d3e70116d8d13ab5d4a9ee4ecc496..a8d5dd7c8c9dd13f624c71c82482d750cccb9fc4 100644 --- a/support-files/MySQL-shared-compat.spec.sh +++ b/support-files/MySQL-shared-compat.spec.sh @@ -42,7 +42,7 @@ Autoreqprov: on Version: %{version_cur} Release: 1 BuildRoot: %{_tmppath}/%{name}-%{version}-build -Obsoletes: MySQL-shared, mysql-shared +Obsoletes: mysql-shared Provides: MySQL-shared Summary: MySQL shared client libraries for MySQL %{version}, %{version41}, %{version40} and %{version3} # We simply use the "MySQL-shared" subpackages as input sources instead of diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index bac22fc96a9b872ec2c55f9e5b3f76e10cd88f64..b439d2c1956e43ea5a55ec1bdcdc47e26feb64a3 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -247,9 +247,9 @@ Distribution: %{distro_description} License: Copyright (c) 2000, @MYSQL_COPYRIGHT_YEAR@, %{mysql_vendor}. All rights reserved. Under %{license_type} license as shown in the Description field. Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/%{src_dir}.tar.gz URL: http://www.mysql.com/ -Packager: MySQL Release Engineering <mysql-build@oss.oracle.com> +Packager: MySQL Release Engineering <mysql-build@oss.oracle.com> Vendor: %{mysql_vendor} -Provides: msqlormysql MySQL-server mysql +Provides: msqlormysql MySQL-server BuildRequires: %{distro_buildreq} # Regression tests may take a long time, override the default to skip them @@ -283,14 +283,25 @@ documentation and the manual for more information. ############################################################################## %package -n MySQL-server%{product_suffix} -Summary: MySQL: a very fast and reliable SQL database server -Group: Applications/Databases -Requires: %{distro_requires} -Provides: msqlormysql MySQL MySQL-server -Conflicts: mysql mysql-server mysql-advanced mysql-server-advanced -Obsoletes: MySQL MySQL-server -Obsoletes: MySQL-server-classic MySQL-server-community MySQL-server-enterprise -Obsoletes: MySQL-server-advanced MySQL-server-advanced-gpl MySQL-server-enterprise-gpl +Summary: MySQL: a very fast and reliable SQL database server +Group: Applications/Databases +Requires: %{distro_requires} +%if %{defined susever} +Provides: msqlormysql MySQL MySQL-server +Conflicts: mysql mysql-server mysql-advanced mysql-server-advanced +Obsoletes: MySQL MySQL-server +Obsoletes: MySQL-server-classic MySQL-server-community MySQL-server-enterprise +Obsoletes: MySQL-server-advanced MySQL-server-advanced-gpl MySQL-server-enterprise-gpl +%else +Obsoletes: MySQL < %{version}-%{release} +Obsoletes: MySQL-server < %{version}-%{release} +Obsoletes: MySQL-server-advanced < %{version}-%{release} +Obsoletes: mysql mysql-server mysql-advanced mysql-server-advanced +Obsoletes: MySQL-server-classic MySQL-server-community MySQL-server-enterprise +Obsoletes: MySQL-server-advanced-gpl MySQL-server-enterprise-gpl +Provides: msqlormysql MySQL MySQL-server MySQL-server-advanced +Provides: mysql +%endif %description -n MySQL-server%{product_suffix} The MySQL(TM) software delivers a very fast, multi-threaded, multi-user, @@ -318,13 +329,23 @@ package "MySQL-client%{product_suffix}" as well! # ---------------------------------------------------------------------------- %package -n MySQL-client%{product_suffix} -Summary: MySQL - Client -Group: Applications/Databases -Provides: MySQL-client -Conflicts: mysql mysql-advanced -Obsoletes: MySQL-client -Obsoletes: MySQL-client-classic MySQL-client-community MySQL-client-enterprise -Obsoletes: MySQL-client-advanced MySQL-client-advanced-gpl MySQL-client-enterprise-gpl +Summary: MySQL - Client +Group: Applications/Databases +%if %{defined susever} +Provides: MySQL-client +Conflicts: mysql mysql-advanced +Obsoletes: MySQL-client +Obsoletes: MySQL-client-classic MySQL-client-community MySQL-client-enterprise +Obsoletes: MySQL-client-advanced MySQL-client-advanced-gpl MySQL-client-enterprise-gpl +%else +Obsoletes: mysql mysql-advanced +Obsoletes: MySQL-client < %{version}-%{release} +Obsoletes: MySQL-client-advanced < %{version}-%{release} +Obsoletes: MySQL-client-classic MySQL-client-community MySQL-client-enterprise +Obsoletes: MySQL-client-advanced-gpl MySQL-client-enterprise-gpl +Provides: MySQL-client MySQL-client-advanced +Provides: mysql +%endif %description -n MySQL-client%{product_suffix} This package contains the standard MySQL clients and administration tools. @@ -333,16 +354,28 @@ For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ # ---------------------------------------------------------------------------- %package -n MySQL-test%{product_suffix} -Summary: MySQL - Test suite -Group: Applications/Databases -Requires: MySQL-client perl -Provides: MySQL-test -Conflicts: mysql-test mysql-test-advanced -Obsoletes: 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 +Summary: MySQL - Test suite +Group: Applications/Databases +%if %{defined susever} +Requires: MySQL-client perl +Provides: MySQL-test +Conflicts: mysql-test mysql-test-advanced +Obsoletes: 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 +%else +Requires: MySQL-client perl +Conflicts: mysql-test mysql-test-advanced +Obsoletes: mysql-bench MySQL-bench +Obsoletes: MySQL-test < %{version}-%{release} +Obsoletes: MySQL-test-advanced < %{version}-%{release} +Obsoletes: MySQL-test-classic MySQL-test-community MySQL-test-enterprise +Obsoletes: MySQL-test-advanced-gpl MySQL-test-enterprise-gpl +Provides: MySQL-test MySQL-test-advanced +AutoReqProv: no +%endif %description -n MySQL-test%{product_suffix} This package contains the MySQL regression test suite. @@ -351,13 +384,22 @@ For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ # ---------------------------------------------------------------------------- %package -n MySQL-devel%{product_suffix} -Summary: MySQL - Development header files and libraries -Group: Applications/Databases -Provides: MySQL-devel -Conflicts: mysql-devel mysql-embedded-devel mysql-devel-advanced mysql-embedded-devel-advanced -Obsoletes: MySQL-devel -Obsoletes: MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise -Obsoletes: MySQL-devel-advanced MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl +Summary: MySQL - Development header files and libraries +Group: Applications/Databases +%if %{defined susever} +Provides: MySQL-devel +Conflicts: mysql-devel mysql-embedded-devel mysql-devel-advanced mysql-embedded-devel-advanced +Obsoletes: MySQL-devel +Obsoletes: MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise +Obsoletes: MySQL-devel-advanced MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl +%else +Conflicts: mysql-devel mysql-embedded-devel mysql-devel-advanced mysql-embedded-devel-advanced +Obsoletes: MySQL-devel < %{version}-%{release} +Obsoletes: MySQL-devel-advanced < %{version}-%{release} +Obsoletes: MySQL-devel-classic MySQL-devel-community MySQL-devel-enterprise +Obsoletes: MySQL-devel-advanced-gpl MySQL-devel-enterprise-gpl +Provides: MySQL-devel MySQL-devel-advanced +%endif %description -n MySQL-devel%{product_suffix} This package contains the development header files and libraries necessary @@ -367,14 +409,25 @@ For a description of MySQL see the base MySQL RPM or http://www.mysql.com/ # ---------------------------------------------------------------------------- %package -n MySQL-shared%{product_suffix} -Summary: MySQL - Shared libraries -Group: Applications/Databases -Provides: MySQL-shared -Obsoletes: 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 +Summary: MySQL - Shared libraries +Group: Applications/Databases +%if %{defined susever} +Provides: MySQL-shared +Obsoletes: 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 +%else +Obsoletes: MySQL-shared-standard MySQL-shared-pro +Obsoletes: MySQL-shared-pro-cert MySQL-shared-pro-gpl +Obsoletes: MySQL-shared < %{version}-%{release} +Obsoletes: MySQL-shared-advanced < %{version}-%{release} +Obsoletes: MySQL-shared-pro-gpl-cert +Obsoletes: MySQL-shared-classic MySQL-shared-community MySQL-shared-enterprise +Obsoletes: MySQL-shared-advanced-gpl MySQL-shared-enterprise-gpl +Provides: MySQL-shared MySQL-shared-advanced +%endif %description -n MySQL-shared%{product_suffix} This package contains the shared libraries (*.so*) which certain languages @@ -382,15 +435,26 @@ and applications need to dynamically load and use MySQL. # ---------------------------------------------------------------------------- %package -n MySQL-embedded%{product_suffix} -Summary: MySQL - Embedded library -Group: Applications/Databases -Requires: MySQL-devel -Provides: MySQL-embedded -Conflicts: mysql-embedded mysql-embedded-advanced -Obsoletes: 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 +Summary: MySQL - Embedded library +Group: Applications/Databases +%if %{defined susever} +Requires: MySQL-devel +Provides: MySQL-embedded +Conflicts: mysql-embedded mysql-embedded-advanced +Obsoletes: 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 +%else +Requires: MySQL-devel +Conflicts: mysql-embedded mysql-embedded-advanced +Obsoletes: MySQL-embedded-pro +Obsoletes: MySQL-embedded < %{version}-%{release} +Obsoletes: MySQL-embedded-advanced < %{version}-%{release} +Obsoletes: MySQL-embedded-classic MySQL-embedded-community MySQL-embedded-enterprise +Obsoletes: MySQL-embedded-advanced-gpl MySQL-embedded-enterprise-gpl +Provides: MySQL-embedded MySQL-embedded-advanced +%endif %description -n MySQL-embedded%{product_suffix} This package contains the MySQL server as an embedded library. @@ -719,13 +783,16 @@ if [ -d $mysql_datadir ] ; then echo "MySQL RPM upgrade to version $NEW_VERSION" > $STATUS_FILE echo "'pre' step running at `date`" >> $STATUS_FILE echo >> $STATUS_FILE - echo "ERR file(s):" >> $STATUS_FILE - ls -ltr $mysql_datadir/*.err >> $STATUS_FILE - echo >> $STATUS_FILE - echo "Latest 'Version' line in latest file:" >> $STATUS_FILE - grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \ + fcount=`ls -ltr $mysql_datadir/*.err 2>/dev/null | wc -l` + if [ $fcount -gt 0 ] ; then + echo "ERR file(s):" >> $STATUS_FILE + ls -ltr $mysql_datadir/*.err >> $STATUS_FILE + echo >> $STATUS_FILE + echo "Latest 'Version' line in latest file:" >> $STATUS_FILE + grep '^Version' `ls -tr $mysql_datadir/*.err | tail -1` | \ tail -1 >> $STATUS_FILE - echo >> $STATUS_FILE + echo >> $STATUS_FILE + fi if [ -n "$SERVER_TO_START" ] ; then # There is only one PID file, race possibility ignored