On Mon, Feb 18, 2019 at 9:21 PM Ben Cotton <bcotton@xxxxxxxxxx> wrote: > > https://fedoraproject.org/wiki/Changes/Automatic_strict_inter-package_dependencies > > = Automatic strict inter-package dependencies = > > == Summary == > Implement feature in RPM which will enforce strict dependencies > between subpackages automatically (right now packagers have to do it > themselves). > > == Owner == > * Name: [[User:ignatenkobrain|Igor Gnatenko]] > * Email: ignatenkobrain@xxxxxxxxxxxxxxxxx > > == Detailed Description == > Let's take graphene as an example. > > Spec file contains: > <pre> > %package devel > Requires: %{name}%{?_isa} = %{version}-%{release} > %package tests > Requires: %{name}%{?_isa} = %{version}-%{release} > </pre> This seems like a nice change. I almost forget to add these lines sometimes, and I always have to look up the correct way to do them. Doing this automatically would definitely reduce .spec noise. Fabio > What we see when we build RPMs is: > * <code>graphene-devel</code> requires <code>graphene(x86-64) = > 1.8.2-3.fc30</code> AND <code>libgraphene-1.0.so.0()(64bit)</code> AND > <code>pkgconfig(graphene-1.0)</code> > * <code>graphene-tests</code> requires <code>graphene(x86-64) = > 1.8.2-3.fc30</code> AND <code>libgraphene-1.0.so.0()(64bit)</code> > > What can we do? > * <code>Requires: libgraphene-1.0.so.0()(64bit)</code> is actually > provided by <code>graphene</code> (coming from same package), so it > can be dropped in favor of <code>Requires: graphene(x86-64) = > 1.8.2-3.fc30</code> > * <code>Requires: pkgconfig(graphene-1.0)</code> is provided by > <code>graphene-devel</code> (coming from the same subpackage), so it > can be dropped entirely > > == Benefit to Fedora == > Package dependencies (between subpackages) will be more strict, more > automated ([https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package > this section from guidelines] can be dropped entirely). Metadata size > will decrease as well. > > == Scope == > * Proposal owners: Implement required feature in RPM, backport it to Fedora. > * Other developers: Drop unneeded dependencies to keep spec file simpler. > * Release engineering: [https://pagure.io/releng/issue/8128 #8128] > * Policies and guidelines: Drop yet another Packaging Guidelines > section because it will be automated. > * Trademark approval: N/A (not needed for this Change) > > == Upgrade/compatibility impact == > Everything will keep working. > > == How To Test == > TBD. > > == User Experience == > User's won't see packaging errors (wrt. inter-package dependencies) anymore. > > == Dependencies == > RPM changes are needed. Will be handled by Proposal Owners. > > == Contingency Plan == > * Contingency mechanism: (What to do? Who will do it?) Proposal > Owners will try to fix problems ASAP or move Change to the next > release (and revert changes). > * Contingency deadline: Beta Freeze. > * Blocks release? No. > * Blocks product? No. > > == Documentation == > TBD. > > > > -- > Ben Cotton > Fedora Program Manager > TZ=America/Indiana/Indianapolis > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx