Re: F31 System-Wide Change proposal: Automatic strict inter-package dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/18/2019 12:18 PM, Ben Cotton 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>
> 

Would there be some way to opt out of this?  In some cases, %{name}-devel
Requires only %{name}-libs and not %{name}.

-Tom

> 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.
> 
> 
> 
_______________________________________________
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux