Bug 35629 - rpm при обновлении пакетов не удаляет некоторые директории
Summary: rpm при обновлении пакетов не удаляет некоторые директории
Status: NEW
Alias: None
Product: Branch p8
Classification: Distributions
Component: rpm (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-21 12:32 MSK by Aleksei Nikiforov
Modified: 2018-12-04 22:27 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksei Nikiforov 2018-11-21 12:32:36 MSK
В системе p8 x86_64 установлены следующие пакеты:

dotnet-2.0.5-alt1.M80P.2
dotnet-common-2.0.5-alt0.M80P.1
dotnet-coreclr-2.0.5-alt1.M80P.2
dotnet-corefx-2.0.5-alt0.M80P.1
dotnet-sdk-2.0.5-alt0.M80P.1

Пакету dotnet-common-2.0.5-alt0.M80P.1 принадлежат директории /usr/lib64/dotnet/shared/Microsoft.NETCore.App и /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.0.5, другие файлы и директории не интересны для данной проблемы. У других пакетов есть файлы и директории в директории /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.0.5.

Производится попытка обновиться до новых версий пакетов, пересобранных из Сизифа (на текущий момент это задание #215437):
dotnet-2.1.5-alt1
dotnet-common-2.1.5-alt1
dotnet-coreclr-2.1.5-alt1
dotnet-corefx-2.1.5-alt2
dotnet-sdk-2.1.5-alt1

Новой версии пакета dotnet-common принадлежат директории /usr/lib64/dotnet/shared/Microsoft.NETCore.App и /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.1.5, у других пакетов есть соответственно файлы и директории в директории /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.1.5.

Однако при обновлении директория /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.0.5 не удаляется и остаётся в системе, при этом она не содержит других файлов или директорий.

Для воспроизведения нужны текущие rpm указанных пакетов и пересобранные из Сизифа для p8 версии (в данный момент можно взять из указанного задания).

Шаги воспроизведения проблемы следующие:
1) # rpm --nodeps -i -U -v ./dotnet*-2.0.5-*.rpm
2) # rpm --nodeps -i -U -v ./dotnet*-2.1.5-*.rpm

В результате на p8 получается:
$ LC_ALL=C ls /usr/lib64/dotnet/shared/Microsoft.NETCore.App/
2.0.5  2.1.5
$ LC_ALL=C rpm -qf /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.0.5
warning: file /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.0.5 is not owned by any package
$ LC_ALL=C rpm -qf /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.1.5
dotnet-common-2.1.5-alt1

На Сизифе и на Fedora 29 данная проблема не воспроизводится, всё работает корректно и получается следующий результат:
$ LC_ALL=C ls /usr/lib64/dotnet/shared/Microsoft.NETCore.App/
2.1.5
$ LC_ALL=C rpm -qf /usr/lib64/dotnet/shared/Microsoft.NETCore.App/2.1.5/
dotnet-common-2.1.5-alt1.x86_64