Bug 1086274 - RPM-4.12
Summary: RPM-4.12
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Changes Tracking
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Reznik
QA Contact:
Petr Bokoc
URL:
Whiteboard: ChangeAcceptedF21 SystemWideChange
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-10 13:55 UTC by Jaroslav Reznik
Modified: 2014-12-08 15:22 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
<title>RPM 4.12</title> <para> The <application>RPM</application> package manager has been updated to version 4.12, which brings Fedora in line with the latest upstream version. </para> <para> This update brings a number of improvements, including: </para> <itemizedlist> <listitem> <para> Ability to package files larger than 4 GB. </para> </listitem> <listitem> <para> Support for weak dependencies. (Note that this does not automatically mean Fedora packages and other tools support this feature.) </para> </listitem> <listitem> <para> API users are now able to access file data more cleanly. </para> </listitem> <listitem> <para> Payload data is now accessible over the API. </para> </listitem> <listitem> <para> A new tool, <command>rpm2archive</command>, will allow converting rpm packages to tar files instead of the outdated cpio format. The new tool will work with files larger than 4 GB, while cpio (and <command>rpm2cpio</command>) does not. </para> </listitem> </itemizedlist> <para> See the <ulink url="http://rpm.org/wiki/Releases/4.12.0">RPM 4.12 Release Notes</ulink> for a full list of changes. </para> <important> <para> Using some of the new features will break forward compatibility. Packages using these features will not be able be built or be installed on older Fedora versions. Backward compatibility is expected to be maintained. </para> </important>
Clone Of:
Environment:
Last Closed: 2014-12-08 15:22:26 UTC
pbokoc: fedora_requires_release_note+


Attachments (Terms of Use)

Description Jaroslav Reznik 2014-04-10 13:55:27 UTC
This is a tracking bug for Change: RPM-4.12
For more details, see: http://fedoraproject.org//wiki/Changes/RPM-4.12

Update RPM to the upcoming 4.12 release.

Comment 1 Panu Matilainen 2014-06-30 09:19:18 UTC
RPM 4.12 released, built for rawhide and active in rawhide buildroots now.

Comment 2 Petr Bokoc 2014-08-14 18:36:07 UTC
Hi Panu,

I wrote a draft description of this change for the Fedora 21 Alpha release notes. Please take a look at https://fedoraproject.org/wiki/Documentation_Development_Beat#RPM_4.12 and let me know if you would like to change or add anything. Most of the text was taken directly from the wiki page.

Thanks,
Petr

Comment 3 Panu Matilainen 2014-08-18 10:15:13 UTC
Hi, overall looks okay, but I'd change

- Support for weak dependencies. (Note that this does not automatically mean Fedora 21 packages all support this feature.) 
+ Support for weak dependencies. (Note that this does not automatically mean Fedora packages and other tools support this feature.)

...to give a more realistic view of the situation: in Fedora 21, the weak requires in rpm do *absolutely nothing at all*, they're just an enabler for future progress.

Comment 4 Petr Bokoc 2014-08-18 12:33:47 UTC
All right, I'll update that. Thanks, Panu!

Comment 5 Kevin Fenzi 2014-09-29 20:06:43 UTC
Are weak dependencies also set to do nothing in rawhide?

I see some people are starting to use "Suggests" at least. By 'nothing at all' rpm should just ignore that tag?

Comment 6 Raphael Groner 2014-10-04 16:15:23 UTC
Using conditional Suggests: in a spec file breaks 'fedpkg build --target=f21' on a F20 system. It could be a workaround to use --skip-nvr-check cause koji will do the spec validation regardless in the valid target system.

Comment 7 Panu Matilainen 2014-10-06 06:39:48 UTC
(In reply to Kevin Fenzi from comment #5)
> Are weak dependencies also set to do nothing in rawhide?

I sense a bad or at least misleading wording from myself in comment #3...
Rpm does record Suggests etc in spec into packages if they exist and supports querying them, but beyond that rpm itself does not, and will not, *do* anything at all with the weak dependencies. There is nothing turned off, thats just the way this is intended to be.

> 
> I see some people are starting to use "Suggests" at least. By 'nothing at
> all' rpm should just ignore that tag?

Rpm doesn't care if there are weak dependencies or not, that data is for depsolvers. Yum only supports them to the point of allowing createrepo to collect the data, ie they dont affect depsolving. Dnf, or more precisely libsolv, does consider weak dependencies if they exist. So yum and dnf will give very different results if weak deps are present.

I dont think use of weak dependencies has been sanctioned in Fedora...

Comment 8 Raphael Groner 2014-10-06 06:52:57 UTC
(In reply to Panu Matilainen from comment #7)
…
> I dont think use of weak dependencies has been sanctioned in Fedora...

+1

Comment 9 Kevin Fenzi 2014-10-06 19:18:00 UTC
It's not been, but also it's not been forbidden. There's several packages that are already using it. ;( 

I've filed: https://fedorahosted.org/fesco/ticket/1353 with fesco to see if they wish to forbid this use until guidelines/dnf is default. 

Thanks for all the info.

Comment 10 Raphael Groner 2014-10-06 19:31:01 UTC
(In reply to Kevin Fenzi from comment #9)
> It's not been, but also it's not been forbidden. There's several packages
> that are already using it. ;( 

The Changes wiki page (see initial comment of Jaroslav) clearly states the feature "Support for weak dependencies". So I expect an official support in F21. Do I misunderstand something?

Comment 11 Kevin Fenzi 2014-10-06 21:34:41 UTC
IMHO the change page needs to be adjusted to make clear that weak dependencies are simply being added to rpm as a first step to using them down the road when dnf is our default package manager and we have guidelines on them, but that they are not ready for use yet.

Comment 12 Panu Matilainen 2014-10-07 06:34:24 UTC
https://fedoraproject.org/wiki/Changes/RPM-4.12 already says:

In Detailed Description:
Some of these features require the new version to reach the builders. So actually introducing them in Fedora will take longer that the Fedora 21 release. Nevertheless updating RPM in F21 is the first step to make this happen. 

In Scope:
* Policies and guidelines: Packaging policies might need reconsidering in the light of the new options (F22 or even F23 time frame). 

Rpm updates have always come with "avoid using new features until FPC guidelines" clause somewhere, because rpm != Fedora, and rpm supporting something does not mean Fedora permits using it. Perhaps the clause is a little bit too much between the lines this time but then I would've expected Fedora packagers to realize they should wait for guidelines like with everything else, instead of having to explicitly list every single thing.

Comment 13 Raphael Groner 2014-10-07 08:10:46 UTC
(In reply to Panu Matilainen from comment #12)
…
> Perhaps the clause is a
> little bit too much between the lines this time but then I would've expected
> Fedora packagers to realize they should wait for guidelines like with
> everything else, instead of having to explicitly list every single thing.

IMHO fedpkg should then error (or at least warn) about unknown tag usage in spec files. That's not the cause for F21 and rawhide cause the NVR check is done via rpm help.

Should I file a RFE for that?

Comment 14 Raphael Groner 2014-10-07 08:21:32 UTC
(In reply to Raphael Groner from comment #13)
s|unknown|forbidden|

Comment 15 Panu Matilainen 2014-10-07 08:26:15 UTC
By that logic you should just delete all Fedora guidelines and file rpm RFE's for enforcing local policies.

Rpm is not your police, AutoQA, rpmlint etc are.

Comment 16 Panu Matilainen 2014-10-07 09:05:09 UTC
To clarify the above comment: not all packages built on Fedora systems end up in Fedora repositories, not by a long shot. 

That Fedora has packaging guidelines and policies for packages IN the Fedora repositories does not mean the rest of the world is bound by such policies or that we should cripple the software to prohibit taking advantage of new features in other circumstances such as with 3rd party repositories (including company/organization internal ones).

Comment 17 Jaroslav Reznik 2014-10-07 12:23:48 UTC
This message is a reminder that Fedora 21 Change Checkpoint: 100% Code Complete Deadline (Former Accepted Changes 100% Complete) is on 2014-10-14 [1].

All Accepted Changes has to be code complete and ready to be validated in the Beta release (optionally by Fedora QA). Required bug state at this point is ON_QA.

As for several System Wide Changes, Beta Change Deadline is a point of contingency plan. All incompleted Changes will be reported to FESCo on 2014-10-15 meeting. In case of any questions, don't hesitate to ask Wrangler (jreznik).

[1] https://fedoraproject.org/wiki/Releases/21/Schedule

Comment 18 Fedora Update System 2014-10-07 13:25:27 UTC
dreamchess-0.2.1-5.1.RC1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/dreamchess-0.2.1-5.1.RC1.fc21

Comment 19 Raphael Groner 2014-10-07 13:27:33 UTC
"temporarily, disable weak dependencies due to unclear policy"

https://admin.fedoraproject.org/updates/dreamchess-0.2.1-5.1.RC1.fc21

Comment 20 Jaroslav Reznik 2014-10-13 10:58:42 UTC
Panu,
can be this change considered as done? If yes, I'll move it to ON_QA and update the list of Changes.

Thanks.

Comment 21 Panu Matilainen 2014-10-13 11:01:56 UTC
Yes, its all done since mid-September when 4.12 final landed in F21.

Comment 22 Fedora Update System 2014-10-14 04:40:52 UTC
dreamchess-0.2.1-5.1.RC1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.