puppet failed to build from source in Fedora rawhide/f34 https://koji.fedoraproject.org/koji/taskinfo?taskID=60913340 For details on the mass rebuild see: https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Please fix puppet at your earliest convenience and set the bug's status to ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks, puppet will be orphaned. Before branching of Fedora 35, puppet will be retired, if it still fails to build. For more details on the FTBFS policy, please visit: https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
Created attachment 1753852 [details] build.log
Created attachment 1753853 [details] root.log file root.log too big, will only attach last 32768 bytes
Created attachment 1753854 [details] state.log
This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle. Changing version to 34.
Dear Maintainer, your package has an open Fails To Build From Source bug for Fedora 34. Action is required from you. If you can fix your package to build, perform a build in koji, and either create an update in bodhi, or close this bug without creating an update, if updating is not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to acknowledge this. If you have already fixed this issue, please close this Bugzilla report. Following the policy for such packages [2], your package will be orphaned if this bug remains in NEW state more than 8 weeks (not sooner than 2021-03-29). A week before the mass branching of Fedora 35 according to the schedule [3], any packages not successfully rebuilt at least on Fedora 33 will be retired regardless of the status of this bug. [1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/ [2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ [3] https://fedorapeople.org/groups/schedule/f-35/f-35-key-tasks.html
I believe that https://bugzilla.redhat.com/show_bug.cgi?id=1728768 would be needed or at least the best way) to address this.
That's correct @Ewoud. However, puppet still doesn't support ruby 3. So we need to wait for the upstream, first [1, 2]. 1 https://tickets.puppetlabs.com/browse/PUP-9696 2 https://tickets.puppetlabs.com/browse/PUP-10247
3 https://tickets.puppetlabs.com/browse/PUP-10957
Puppet 7.7.0 is out and contains patches for Ruby 3 support. I've built packages for Fedora 34 that are available on https://ekohl.nl/repos/puppet/ It requires Facter 4 as a real Rubygem RPM that I've built from https://src.fedoraproject.org/rpms/facter/pull-request/7 with some trivial changes (that I left as reviews in the PR). Then I started to package puppet-resource_api as a new package. This is the result of gem2rpm and adding a lot of %exclude lines. This is all completed in an updated puppet.spec. I decided to drop a lot of legacy conditionals for EL7 and older since this spec will never work against the system Ruby in it. It also gets rid of puppet-server since the old puppetmaster implementation has been dropped in Puppet 6. Another is that it stops creating the puppet user since the service runs as root. Upstream puppet-agent has started doing so since Puppet 4. Lastly, an important change is that it stops creating the tmpfiles entry for the rundir. rundir is only used in Puppet for the pidfile, but that's only created for daemonizing code which systemd doesn't do. The bundled Puppet modules are still left as a TODO. I should see about becoming a Fedora packager so I can submit them as PRs.
Ewoud did you check the spec file we use on EPEL 8? It builts Puppet 6, and it should more or less work out of the box for puppet 7. The same applies for puppet-resource_api, and rubygem-semantic_puppet. See here some examples https://copr.fedorainfracloud.org/coprs/brandfbb/puppet-6-in-fedora/builds/.
I hadn't seen https://src.fedoraproject.org/rpms/rubygem-semantic_puppet/c/5eed60dcd808b85de7f01ca09b0561e1cf1250f0?branch=rawhide just yet. https://src.fedoraproject.org/rpms/rubygem-puppet-resource_api states that I should contact you if I wish to maintain it for Fedora. I'd like to become a co-maintainer on Puppet and dependent packages. This BZ feels like the wrong place, but what would be the right place?
Sure. You can submit PRs if you want. In order to be a co-maintainer or have privileges to commit/push yourself, you need to be in the packagers group first. Here [1] are some guidelines. I strongly recommend that you use the same spec file we are using for EPEL 8. So we keep the specs all the same, with minor differences (preferentially only the version). Here is one way to check the dependencies for puppet 7.7.0 [2]. 1 https://fedoraproject.org/wiki/Join_the_package_collection_maintainers 2 https://rubygems.org/gems/puppet/versions/7.7.0
> Sure. You can submit PRs if you want. Last I checked submitting PRs as a non-packager was very complex. > In order to be a co-maintainer or have privileges to commit/push yourself, > you need to be in the packagers group first. > Here [1] are some guidelines. I did follow that and introduced myself, but at the point of finding packages[1], those are already in the repo. Is sponsoring[2] something you could play a role in or should I try to find someone else? [1]: https://fedoraproject.org/wiki/Join_the_package_collection_maintainers#Find_software_you_wish_to_package.2Fmaintain_for_Fedora [2]: https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group#Become_a_co-maintainer(In reply to Breno from comment #18) > I strongly recommend that you use the same spec file we are using for EPEL 8. > So we keep the specs all the same, with minor differences (preferentially > only the version). I'm aware of this. The only changes I made were more file excludes of irrelevant files. I'd gladly submit those as PRs since they're also relevant for EPEL8 and I think we can use 100% identical spec files for both. > Here is one way to check the dependencies for puppet 7.7.0 [2]. I'm aware of this. > 1 https://fedoraproject.org/wiki/Join_the_package_collection_maintainers > 2 https://rubygems.org/gems/puppet/versions/7.7.0
Hi Ewoud, Submitting PRs should not be very hard. AFAIK it was a simple process as creating an account with fedora (src.fedoraproject.org), fork a project, make your changes and push a PR. Now regarding sponsorship, I can't help you this time. But I strongly suggest you logging to #fedora-devel or #epel @ irc.libera.chat. And ask for more information there.
(In reply to Breno from comment #20) > Submitting PRs should not be very hard. AFAIK it was a simple process as > creating an account with fedora (src.fedoraproject.org), fork a project, > make your changes and push a PR. As a non-packager I can't push over SSH so while I can fork, I can't find a way to push my code. That makes forks really kind of pointless IMHO. > Now regarding sponsorship, I can't help you this time. But I strongly > suggest you logging to #fedora-devel or #epel @ irc.libera.chat. > And ask for more information there. I'll reach out to some people.
Back in my time, when I was not a packager, I would be able to push my code, provided I had my keys configured in my fedora account. I talked to some guys in #fedora-devel, and they provided me this link, which seems to be updated. https://fedoraproject.org/wiki/Package_maintenance_guide
I've asked a colleague if he could sponsor me and I'm now in the packager group. As a start, I've opened two PRs: https://src.fedoraproject.org/rpms/rubygem-puppet-resource_api/pull-request/1 https://src.fedoraproject.org/rpms/rubygem-semantic_puppet/pull-request/2 I believe both should also be good updates for EPEL8. Please review them. I'll continue with Facter and Puppet.
Thanks, Ewoud. Both PRs are approved and merged. Now as per my understanding, we only need faster fixed on rawhide to have puppet 7 built. Please have a look here in this spec file[1] and this build[2]. This puppet spec seems to be ok. I could build and run it, target fedora 34. 1 https://download.copr.fedorainfracloud.org/results/brandfbb/puppet-6-in-fedora/fedora-33-x86_64/02254854-puppet/puppet.spec 2 https://copr.fedorainfracloud.org/coprs/brandfbb/puppet-6-in-fedora/build/2254851/
This is the ticket for the facter issue I found yesterday [1]. Here is the error building puppet with it [2]. 1 https://bugzilla.redhat.com/show_bug.cgi?id=1972698 2 https://download.copr.fedorainfracloud.org/results/brandfbb/puppet-6-in-fedora/fedora-rawhide-x86_64/02254851-puppet/builder-live.log.gz
This is very close to an ending. All required packages are pushed to fedora. Now it's just a matter of updating puppet's spec file (we already know what to do).
We've just pushed puppet to puppet 7 in fedora rawhide (f35) https://bodhi.fedoraproject.org/updates/FEDORA-2021-975952ea32. Thanks.
Are there any plans to push a build for F34? Puppet is completely broken on it right now, so the normal problems with a big version increment like this mid-release shouldn't apply...
Hey Ed, we just built it for fedora rawhide. I aim to identify and fix issues with the package before it reaches a stable release for fedora (Fedora 34). I'd rather wait and see the package sit that for a while there. If no tickets are raised and we feel confident it's stable, I'd build it for fedora 34. But, if any other puppet maintainer feels like moving forward and supporting it in fedora 34 now, please feel free to do it.
FWIW, I tossed puppet, facter, rubygem-puppet-resource_api, and rubygem-semantic_puppet from rawhide into a copr and did an unmodified build of them for F34, and have been using them on a couple of test instances here just to kick the tires. Aside from the expected Puppet 5.x -> 7.x migration headaches, it's been working out pretty well, with no problems that I can trace back to packaging issues thus far. Anyway, just a single-site anecdote from someone using this right now. :)
Thanks for your feedback, Ed. I guess if no tickets are filed within 15 days or so, I will be building it to fedora 34.
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days