[MCOL-5011] Wrong capitalisation in Columnstore cmapi rpm preuninstall script Created: 2022-03-09  Updated: 2022-03-29

Status: Open
Project: MariaDB ColumnStore
Component/s: cmapi
Affects Version/s: cmapi-1.5
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Alasdair Haswell Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

The preuninstall script for CentOS7 MariaDB-columnstore-cmapi-1.5.x86_64.rpm has a typo that stops the package from being removed. The service name in the preuninstall script doesn't exist:

Failed to stop MariaDB-columnstore-cmapi.service: Unit MariaDB-columnstore-cmapi.service not loaded.
Failed to execute operation: No such file or directory
error: %preun(MariaDB-columnstore-cmapi-1.5-1.x86_64) scriptlet failed, exit status 1
Error in PREUN scriptlet in rpm package MariaDB-columnstore-cmapi-1.5-1.x86_64

The servicename should be "mariadb-columnstore-cmapi" not "MariaDB-columnstore-cmapi" (note capitalisation):

rpm -qp --scripts MariaDB-columnstore-cmapi-1.5.x86_64.rpm
pretrans program: /bin/sh
preinstall program: /bin/sh
postinstall scriptlet (using /bin/sh):
 
#!/usr/bin/env bash
 
systemctl enable mariadb-columnstore-cmapi
 
systemctl start mariadb-columnstore-cmapi
preuninstall scriptlet (using /bin/sh):
#!/usr/bin/env bash
 
systemctl stop MariaDB-columnstore-cmapi
 
find /usr/share/columnstore/cmapi -type d -name __pycache__ -print0 | xargs --null --no-run-if-empty rm -rf
 
systemctl disable MariaDB-columnstore-cmapi

Copying the service to the name it's looking for and then attempting a yum remove works:

cp /usr/lib/systemd/system/mariadb-columnstore-cmapi.service /usr/lib/systemd/system/MariaDB-columnstore-cmapi.service
yum remove MariaDB-columnstore-cmapi
rm /usr/lib/systemd/system/MariaDB-columnstore-cmapi.service


Generated at Thu Feb 08 02:54:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.