Hi,

Just found that on some minimal system it is not possible to remove some rpm subpackages.

* Current state

# rpm -qa | grep rpm
rpm-libs-4.14.2.1-4.fc30.1.x86_64
rpm-4.14.2.1-4.fc30.1.x86_64
python3-rpm-4.14.2.1-4.fc30.1.x86_64
rpm-build-libs-4.14.2.1-4.fc30.1.x86_64
rpm-sign-libs-4.14.2.1-4.fc30.1.x86_64

python3-rpm is required by dnf so it is really hard to have manageable system without that part (however in extreme cases it is still possible to drop completely dnf).

Problem is that on minimal system rpm-sign-libs and rpm-build-libs theoretically should be not needed, however because python module in current form combines in single package all its three DSOs:

# rpm -ql python3-rpm | grep so$
/usr/lib64/python3.7/site-packages/rpm/_rpm.cpython-37m-x86_64-linux-gnu.so
/usr/lib64/python3.7/site-packages/rpm/_rpmb.cpython-37m-x86_64-linux-gnu.so
/usr/lib64/python3.7/site-packages/rpm/_rpms.cpython-37m-x86_64-linux-gnu.so

it causes that it is not possible to use only core rpm package management on minimal system.
I think that it would be good to split python3-rpm into python3-rpm{,b,s}.

* Proposal

In current form keeping separated rpm-plugin-selinux is a bit pointless so that part IMO should be joined with rpm-build.
As well probably rpm-plugin-ima could be merged with rpm-sign.

With that changes total number of generated packages will be the same and will make IMO much more sense in case of non-devel/build systems and systems which are used for signing packages.

Comments?

kloczek
-- 
Tomasz Kłoczko | LinkedIn: http://lnkd.in/FXPWxH