On Tue, 2022-03-22 at 13:51 +0000, Martin Wilck wrote:
On Tue, 2022-03-22 at 11:14 +0100, Daniel Wagner wrote:
On Tue, Mar 22, 2022 at 11:01:51AM +0100, Jan Engelhardt wrote:
The spec files hasn't changed from rc6 to rc7 but I suspect it was wrong from the beginning as it doesn't list /bash-nvme-completion.sh
The %files section has no bearing. Changing a directory to a non- directory never works in rpm because doing so is not an atomic operation.
There is no workaround for this type of change?
Maybe rename the file to
%{_datadir}/bash-completion/completions/nvme-cli
The directory "nvme" will be removed and if you really need to, you can the file back in a later update. If you do that, there'll always be some risk that people skip the intermediate update step and run into the same error that you had.
Please no 'hoping that things work' We had plenty of such cases already and the common solution is a pre script in the form of (simplified) %pre if [ -d %{_datadir}/bash-completion/completions/nvme ]; then rm -rf %{_datadir}/bash-completion/completions/nvme fi This will eliminate the existing directory prior to installing the new package Cheers, Dominique