MariaDB 5.2.x server RPM fails on upgrades - error: scriptlet failed, exit status 1
This problem occurs on CentOS 5.5/5.6/6.0 32bit and 64bit from first time I used MariaDB 5.2.3 all the way to 5.2.9 upgrade. It happens
1) via manual RPM upgrade from RPM downloaded at http://downloads.askmonty.org/mariadb/5.2/#file_type=rpm
or
2) via ourdelta YUM REPO update http://ourdelta.org/centos (yum update MariaDB*).
Problem, MariaDB-server-5.2.x RPM updates fails and needs manually removing previous version MariaDB-server-5.2.x RPM before the new update installs.
error
error: %pre(MariaDB-server-5.2.9-102.el5.x86_64) scriptlet failed, exit status 1 error: install: %pre scriptlet failed (2), skipping MariaDB-server-5.2.9-102.el5
full details below
[root@centos6 ~]# yum update MariaDB* Loaded plugins: fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile * base: mirror.colocity.com * extras: mirror.colocity.com * rpmforge: apt.sw.be * updates: mirror.colocity.com Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package MariaDB-client.x86_64 0:5.2.9-102.el5 set to be updated ---> Package MariaDB-devel.x86_64 0:5.2.9-102.el5 set to be updated ---> Package MariaDB-server.x86_64 0:5.2.9-102.el5 set to be updated ---> Package MariaDB-shared.x86_64 0:5.2.9-102.el5 set to be updated ---> Package MariaDB-test.x86_64 0:5.2.9-102.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved =================================================================================================================================================== Package Arch Version Repository Size =================================================================================================================================================== Installing: MariaDB-client x86_64 5.2.9-102.el5 ourdelta-mariadb52 1.0 M replacing MariaDB-client.x86_64 5.2.7-101.el5 MariaDB-devel x86_64 5.2.9-102.el5 ourdelta-mariadb52 33 M replacing MariaDB-devel.x86_64 5.2.7-101.el5 MariaDB-server x86_64 5.2.9-102.el5 ourdelta-mariadb52 18 M replacing MariaDB-server.x86_64 5.2.7-101.el5 MariaDB-shared x86_64 5.2.9-102.el5 ourdelta-mariadb52 3.5 M replacing MariaDB-shared.x86_64 5.2.7-101.el5 MariaDB-test x86_64 5.2.9-102.el5 ourdelta-mariadb52 166 k replacing MariaDB-test.x86_64 5.2.7-101.el5 Transaction Summary =================================================================================================================================================== Install 5 Package(s) Upgrade 0 Package(s) Total download size: 56 M Is this ok [y/N]: y Downloading Packages: (1/5): MariaDB-client-5.2.9-102.el5.x86_64.rpm | 1.0 MB 00:02 (2/5): MariaDB-devel-5.2.9-102.el5.x86_64.rpm | 33 MB 00:58 (3/5): MariaDB-server-5.2.9-102.el5.x86_64.rpm | 18 MB 00:21 (4/5): MariaDB-shared-5.2.9-102.el5.x86_64.rpm | 3.5 MB 00:26 (5/5): MariaDB-test-5.2.9-102.el5.x86_64.rpm | 166 kB 00:02 --------------------------------------------------------------------------------------------------------------------------------------------------- Total 512 kB/s | 56 MB 01:52 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : MariaDB-shared-5.2.9-102.el5.x86_64 1/10 Installing : MariaDB-client-5.2.9-102.el5.x86_64 2/10 Error in PREIN scriptlet in rpm package MariaDB-server-5.2.9-102.el5.x86_64 ****************************************************************** A MySQL or MariaDB server package (MariaDB-server-5.2.7-101.el5.x86_64) is installed. The current MariaDB server package is provided by a different vendor (MariaDB (http://mariadb.com/)) than OurDelta - http://ourdelta.org/. Some files may be installed to different locations, including log files and the service startup script in /etc/init.d/. A manual upgrade is required. - Ensure that you have a complete, working backup of your data and my.cnf files - Shut down the MySQL server cleanly - Remove the existing MySQL packages. Usually this command will list the packages you should remove: rpm -qa | grep -i '^mysql-' You may choose to use 'rpm --nodeps -ev <package-name>' to remove the package which contains the mysqlclient shared library. The library will be reinstalled by the MariaDB-shared package. - Install the new MariaDB packages supplied by OurDelta - http://ourdelta.org/ - Ensure that the MariaDB server is started - Run the 'mysql_upgrade' program This is a brief description of the upgrade process. Important details can be found in the MariaDB manual, in the Upgrading section. ****************************************************************** error: %pre(MariaDB-server-5.2.9-102.el5.x86_64) scriptlet failed, exit status 1 error: install: %pre scriptlet failed (2), skipping MariaDB-server-5.2.9-102.el5 Installing : MariaDB-test-5.2.9-102.el5.x86_64 4/10 Installing : MariaDB-devel-5.2.9-102.el5.x86_64 5/10 Cleanup : MariaDB-test-5.2.7-101.el5.x86_64 6/10 Cleanup : MariaDB-client-5.2.7-101.el5.x86_64 7/10 Cleanup : MariaDB-shared-5.2.7-101.el5.x86_64 8/10 Cleanup : MariaDB-devel-5.2.7-101.el5.x86_64 9/10 MariaDB-server-5.2.7-101.el5.x86_64 was supposed to be removed but is not! Installed: MariaDB-client.x86_64 0:5.2.9-102.el5 MariaDB-devel.x86_64 0:5.2.9-102.el5 MariaDB-shared.x86_64 0:5.2.9-102.el5 MariaDB-test.x86_64 0:5.2.9-102.el5 Replaced: MariaDB-client.x86_64 0:5.2.7-101.el5 MariaDB-devel.x86_64 0:5.2.7-101.el5 MariaDB-server.x86_64 0:5.2.7-101.el5 MariaDB-shared.x86_64 0:5.2.7-101.el5 MariaDB-test.x86_64 0:5.2.7-101.el5 Failed: MariaDB-server.x86_64 0:5.2.9-102.el5
[root@centos6 ~]# rpm -qa | grep -i MariaDB MariaDB-test-5.2.9-102.el5.x86_64 MariaDB-client-5.2.9-102.el5.x86_64 MariaDB-shared-5.2.9-102.el5.x86_64 MariaDB-server-5.2.7-101.el5.x86_64 MariaDB-devel-5.2.9-102.el5.x86_64
Remove old server and then it works
[root@centos6 ~]# rpm -e MariaDB-server-5.2.7-101.el5.x86_64
[root@centos6 ~]# yum install MariaDB-server Loaded plugins: fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile * base: mirror.colocity.com * extras: mirror.colocity.com * rpmforge: apt.sw.be * updates: mirror.colocity.com Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package MariaDB-server.x86_64 0:5.2.9-102.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved =================================================================================================================================================== Package Arch Version Repository Size =================================================================================================================================================== Installing: MariaDB-server x86_64 5.2.9-102.el5 ourdelta-mariadb52 18 M Transaction Summary =================================================================================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 18 M Installed size: 45 M Is this ok [y/N]: y Downloading Packages: MariaDB-server-5.2.9-102.el5.x86_64.rpm | 18 MB 00:26 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : MariaDB-server-5.2.9-102.el5.x86_64 1/1 PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h centos6.localdomain password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the MariaDB knowledge or the MySQL manual for more instructions. Please report any problems with the /usr/bin/mysqlbug script! The latest information about MariaDB is available at http://www.askmonty.org/. You can find additional information about the MySQL part at: http://dev.mysql.com Support MariaDB development by buying support/new features from Monty Program Ab. You can contact us about this at sales@askmonty.org. Alternatively consider joining our community based development effort: http://askmonty.org/wiki/index.php/MariaDB#How_can_I_participate_in_the_development_of_MariaDB Starting MySQL.[ OK ] Giving mysqld 2 seconds to start Installed: MariaDB-server.x86_64 0:5.2.9-102.el5 Complete!
Answer Answered by C Manns in this comment.
I believe this is due to files not being removed properly, possibly between the RPM's.
I'll try to replicate this and figure out why.
Currently am working on MariaDB's RPM's, and trying to get them RH/Etc approved which requires everything working in upgrades and what not. Just got EL6 rpm's started, so this is next but the RPM system is fun :D
Also believe I noticed this on my own systems and I'd always run rpm -e MariaDB-Server, so this has priority.