Bug 1836083

Summary: Please consider downgrading some deps to recommends
Product: [Fedora] Fedora Reporter: Marc Dequènes (Duck) <duck>
Component: debconfAssignee: Oron Peled <oron>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: oron, redhat, sergio, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: debconf-1.5.74-4.fc31 debconf-1.5.74-4.fc32 debconf-1.5.74-4.el7 debconf-1.5.74-4.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-06-15 02:06:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marc Dequènes (Duck) 2020-05-15 06:02:39 UTC
Description of problem:
debconf is depending on big dependencies like GTK3 or LDAP but this is not necessary for most operations. In fact in Debian almost all of them are simply Suggests, not even Recommends. Morover enforcing GTK3 on servers really doe snot make sense. I'm the packager of needrestart who needs debconf for its common UI and that would really make the dependency tree way lighter.

It would be nice to have this change in EPEL too.

Comment 1 Sergio Basto 2020-05-29 07:50:50 UTC
we may split some components of defconf and re-add subpackages like debconf-gnome or debconf-gkt3 and debconf-ldap perhaps .

BTW debconf-gnome already existed, I'm checking why I merged it into the main package ...

Comment 2 Sergio Basto 2020-06-03 00:38:47 UTC
FTR

I think we need to revert this commit https://src.fedoraproject.org/rpms/debconf/c/2d4b714ac8d217e08ed5321786a7d807377ed39c

Comment 3 Marc Dequènes (Duck) 2020-06-03 03:59:53 UTC
This is an option indeed.

The new dependency on perl-Text-Iconv seems unrelated to the binary package removal, so I guess it would need to be re-added in a separate commit.

Comment 4 Sergio Basto 2020-06-03 04:09:45 UTC
I'm investigation this now .

As debconf-kde is now an different package (https://tracker.debian.org/pkg/debconf-kde) I decided remove the frontend sub-packages gnome and kde , but now I'm re-adding gnome sub-package 

But perl-CGI is need by another frontend (Debconf/FrontEnd/Web.pm) 

and perl-Net::LDAP is need by Debconf/DbDriver/LDAP.pm (/usr/share/doc/debconf-doc/README.LDAP)

have you any suggestion ? 

Thanks for the report.

Comment 5 Marc Dequènes (Duck) 2020-06-03 04:33:56 UTC
I see two solutions now:

1) use a dedicated binary package for each.

2) follow Debian's packaging: use Suggests
This is a bit inconsistent because debconf-kde is treated differently but each extensions (KDE, LDAP and CGI) only require one specific dependency, so it's trivial to know what to install.
I know that weak dependencies are somewhat new for RPM users but they are very useful and we should not be shy using them when needed.

In my opinion both are fine and easy to maintain. In either case it is a change for our users but most of them honestly do not use these specific extensions so we should be fine.

If you're hesitating then I would suggest mimicking Debian's packaging to simplify expectations when building rules working on multiple systems.

Comment 6 Sergio Basto 2020-06-04 07:44:18 UTC
IMO , rpm have a little different rules is not acceptable run one program from rpm and have missing perl packages , some user will open a bug with that occurrence .


on debconf-1.5.74-3.fc33 I re-added the sub-package gnome to avoid the big number of dependencies of perl-GTK3 , but LDAP and CGI not yet , I prefer the first option and add sub packages debconf-web and debconf-ldap , but I'm not sure it worth the work  ... 

IMHO opting by "%global __requires_exclude ^perl\\((CGI|Gtk3|Net::LDAP)" is going against rpm philosophy .

Weak dependencies are not available on EPEL7 and it is a problem , but they are available quite some time.

Comment 7 Marc Dequènes (Duck) 2020-06-04 18:46:28 UTC
Since weak dependencies have been coded into rpm, then it's part of the RPM world from now on. This means it's not a bug anymore. I don't know how you're suppose to put packager documentation (equivalent of README.Debian), but some documentation could help.

Of course this is only for Fedora and EPEL 8.

If you feel it's too early, then extra packages are fine too.

CGI is not so much of a problem but LDAP drags more dependencies.

Comment 8 Fedora Update System 2020-06-07 04:02:43 UTC
FEDORA-2020-7f1004a6d4 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-7f1004a6d4

Comment 9 Fedora Update System 2020-06-07 04:03:01 UTC
FEDORA-2020-14edf9347b has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-14edf9347b

Comment 10 Fedora Update System 2020-06-07 04:03:24 UTC
FEDORA-EPEL-2020-78f8c46f40 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-78f8c46f40

Comment 11 Fedora Update System 2020-06-07 18:05:21 UTC
FEDORA-EPEL-2020-e0f61f9bc5 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-e0f61f9bc5

Comment 12 Fedora Update System 2020-06-07 21:44:58 UTC
FEDORA-2020-14edf9347b has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-14edf9347b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-14edf9347b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2020-06-07 23:47:49 UTC
FEDORA-EPEL-2020-78f8c46f40 has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-78f8c46f40

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2020-06-08 01:47:42 UTC
FEDORA-2020-7f1004a6d4 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-7f1004a6d4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-7f1004a6d4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Marc Dequènes (Duck) 2020-06-08 05:23:19 UTC
I commented on the EL8 update.

I would not have mixed the build-dependency reduction in the same commits but it looks good. I was wondering how po-debconf and perl-libintl-perl could be removed but indeed they are not used during the build. I guess the Debian package just contains historical deps.

As a side note ,technically perl(Text::WrapI18N), perl(Text::CharWidth) and perl(Locale::gettext) could also be made recommends on systems that support it if you wished since the code test for their availability. But since it's basic dependencies and we wish proper translations then it's also fine as it is.

Thanks for you work :-).

Comment 16 Fedora Update System 2020-06-11 19:24:04 UTC
debconf-1.5.74-4.el8 has been pushed to the Fedora EPEL 8 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-e0f61f9bc5

Comment 17 Fedora Update System 2020-06-15 02:06:40 UTC
debconf-1.5.74-4.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2020-06-16 01:29:07 UTC
debconf-1.5.74-4.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2020-06-23 01:40:43 UTC
FEDORA-EPEL-2020-78f8c46f40 has been pushed to the Fedora EPEL 7 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 20 Fedora Update System 2020-06-26 01:51:57 UTC
FEDORA-EPEL-2020-e0f61f9bc5 has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.