Bug 873853 - Update puppet to latest in rawhide
Summary: Update puppet to latest in rawhide
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: puppet
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Jeroen van Meeuwen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-11-06 20:14 UTC by Moses Mendoza
Modified: 2013-08-30 08:38 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-08-30 08:38:57 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Patch to spec file etc (20.88 KB, application/octet-stream)
2012-11-06 20:14 UTC, Moses Mendoza
no flags Details

Description Moses Mendoza 2012-11-06 20:14:34 UTC
Created attachment 639599 [details]
Patch to spec file etc

Description of problem:
Puppet is behind upstream.

Version-Release number of selected component (if applicable):
2.7.18 appears to be the last build for rawhide, and upstream is at 3.0.1. Note 3.0.1 is not a fully compatible update from 2.7.18.

How reproducible:
Download puppet, notice it is out of date.


Additional info:
Happy to assist with this in any way I can. I've attached a patch to the spec etc that updates Puppet to 3.0.1. When working through it, one thing that I was uncertain of was how best to handle hiera-puppet. Puppet >= 3.0.0 absorbed the source of the hiera-puppet 1.0.0 release, so I added..

Obsoletes:      hiera-puppet
Provides:       hiera-puppet >= 1.0.0

..which generates rpmlint warnings due to self-obsoletion and non-explicit Obsoletes version, but these versions/comparisons are a gray area. It's possible that in the future, bug fixes on hiera-puppet will be released as a new hiera-puppet package to be consumed by the 2.7.x branch of puppet. However any such bug-fixes to hiera-puppet that also apply to the "previously hiera-puppet" code currently in puppet 3.x.x will be cherry-picked over into puppet. Thus, puppet 3.x.x will theoretically never need/use anything from a hiera-puppet package > 1.0.0. However, in order to keep the upgrade path open from puppet 2.7.x to 3.x.x, the obsoletes & provides of hiera-puppet in 3.x.x need to take into account that newer versions of hiera-puppet may have been released (maybe containing code also in puppet 3.x.x), and obsolete & provide those newer versions as well. Referencing the guidelines here: http://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages, this turns out to be strange and unideal territory..

Comment 1 Michael Stahnke 2012-12-26 23:31:31 UTC
I am 100% in favor of getting Puppet updated to 3.0.1. (or 3.0.2) which will release today or tomorrow.

If I don't get any comments in the next week or so, I will merge this patch in and make it so for F18 (zero day) and rawhide. 

Note that in F17 (and F18 currently) Puppet is pretty broken with 1.9.3 because Puppet 3 is the one that supports Ruby 1.9.3.

Comment 2 Todd Zullinger 2012-12-27 01:05:59 UTC
Sounds good to me.

The unversioned obsolete shouldn't be used though.  If hiera-puppet was ever in fedora, then the last version available is what must be obsoleted.  If it wasn't in fedora, then I'm not sure we really need to obsolete it.  But to be nice to folks that had the puppetlabs repos, we can obsolete whatever version was the last version there before hiera was merged into puppet.  This allows a future version of hiera-puppet to return if needed.  If the plan is that only 2.7 will continue with hiera-puppet but it will always be less than 3.0, then an obsoletes of < 3.0 would probably work.

I think the provides should be hiera-puppet = %{version}-%{release}.  A >= there doesn't make sense.

Thanks for the help guys.  I've had too little time to work on this stuff.  

Someday, hopefully, more backwards compatibility will emerge and updates won't be such a pain to roll out to both Fedora and EPEL at the same time.  This is a huge pain for folks that want to use Puppet and don't have the time or inclination to closely follow the upstream mailing lists or fiddle with things after each update.

Worth noting is that ruby is planned to be updated again in F19 to 2.0¹.  I have no idea how compatible it will be or how much of the guidelines will be rewritten (again).  :/

¹ http://lists.fedoraproject.org/pipermail/devel/2012-December/175485.html

Comment 3 Moses Mendoza 2012-12-28 01:09:19 UTC
I updated the hiera-puppet obsoletes/provides per your recommendations, e.g.

obsoletes hiera-puppet <= 1.0
provides hiera-puppet = %{version}-%{release}

I also rebased to Puppet 3.0.2, which was released yesterday.

Patch:
https://s3.amazonaws.com/puppet-3-0-rawhide/0001-Update-puppet-spec-to-3.0.2.patch

resulting spec:
https://s3.amazonaws.com/puppet-3-0-rawhide/puppet.spec

resulting SRPM:
https://s3.amazonaws.com/puppet-3-0-rawhide/puppet-3.0.2-1.fc19.src.rpm

Comment 4 Todd Zullinger 2012-12-28 14:55:27 UTC
Thanks Moses,

I see that hiera-puppet-1.0.0-1.fc17 is the latest in the puppetlabs repos.  The Obsoletes: hiera-puppet <= 1.0.0 means this will not be obsoleted, AFAIK.

Maybe I'm missing the point, but I think you want to ensure that folks updating from the yum.puppetlabs.com repos or who have otherwise installed hiera-puppet in Fedora will have the standalone hiera-puppet replaced with the puppet package.  To achieve that we need a version in the Obsoletes that has a greater NVR than what's been released, e.g. < 1.0.0-2 would be sufficient (if you never intended to release another hiera-puppet that you wanted installed alongside of puppet >= 3.x).

http://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages discusses the obsoletes/provides a little more for replacing packages.

Comment 5 Moses Mendoza 2012-12-28 18:20:08 UTC
I see what you're saying, and it is also perhaps cleaner and more explicitly readable to do a bumped release for the Obsoletes. 

I could definitely be missing something also, but I think Obsoletes: hiera-puppet <= 1.0.0 actually works as expected though- I tested with hiera-puppet 1.0.0 installed from the Puppet yum repo, and it was indeed removed and replaced cleanly when I installed the Puppet 3.0.2 rpm that obsoletes hiera-puppet <= 1.0.0. Either way, I bumped the Obsoletes to hiera-puppet <= 1.0.0-2, which certainly works, and does seem to align better with common practices per the guidelines. Updated:

Patch:
https://s3.amazonaws.com/puppet-3-0-rawhide/0001-Update-puppet-spec-to-3.0.2.patch
Spec:
https://s3.amazonaws.com/puppet-3-0-rawhide/puppet.spec
SRPM:
https://s3.amazonaws.com/puppet-3-0-rawhide/puppet-3.0.2-1.fc19.src.rpm

Comment 6 Todd Zullinger 2012-12-28 18:33:27 UTC
I think the Provides: hiera-puppet = %{version}-%{release} sort of masks the Obsoletes.  Without it, I don't think the < 1.0.0 would work.  But either way it works. :)

Many thanks for the spec updates.  Unless I come into a bunch of free time, I'll leave it to Mike to push this out.

Comment 7 Moses Mendoza 2012-12-28 18:39:13 UTC
Ahh, I see what you're saying. Excellent.

Comment 8 Fedora Update System 2012-12-28 21:17:12 UTC
puppet-3.0.2-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/puppet-3.0.2-1.fc18

Comment 9 Fedora Update System 2012-12-29 20:39:08 UTC
Package puppet-3.0.2-1.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing puppet-3.0.2-1.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-21082/puppet-3.0.2-1.fc18
then log in and leave karma (feedback).

Comment 10 Orion Poplawski 2013-02-04 22:07:34 UTC
Couple items:

- 3.1.0 is out (and should fix an selinux issue I'm seeing with 3.0.2)
- The Fedora 18 update moves from sysv init to systemd within a release, which as I recall is forbidden.  I've noted that in the update comments, but no response so far.

Comment 11 Michael Stahnke 2013-02-11 20:54:16 UTC
Orion, thanks for the note. This is back on my radar, but I likely won't get to it today.

Comment 12 Fedora Update System 2013-03-08 02:07:51 UTC
puppet-3.1.0-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/puppet-3.1.0-4.fc18

Comment 13 Michael Stahnke 2013-03-08 02:09:13 UTC
Updated with proper handling of systemd. Also is at 3.1.0.

Comment 14 Fedora Update System 2013-03-14 20:47:24 UTC
puppet-3.1.1-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/puppet-3.1.1-1.fc18

Comment 15 Fedora End Of Life 2013-04-03 20:36:34 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 16 Fedora Update System 2013-08-02 03:25:02 UTC
puppet-3.1.1-1.fc18 has been pushed to the Fedora 18 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.