Ruby 2.2
by Vít Ondruch
Hi everybody,
Since Ruby 2.2 is going to be released during Christmas and -preview1
release is imminent (this Wednesday?), it is probably time to start
looking into its packaging. So here is the updated .spec file [1] and
scratch build [2], which can be finally build on all platforms. Sorry,
no Copr for you, since Ruby's build fails there due to old RHEL kernel :/.
What has changed from packaging point of view? Luckily, not much, but
here are a few bullets which comes to my mind:
* RPM 4.12 introduces new %load function, which is used to load RPM
macros during RPM build. This allowed to drop my custom RPM macro [3].
On the other hand, you'll be able to build the Ruby only on F21+
(luckily, you should be able to build SRPM everywhere).
* The RubyGems filesystem was not explicit enough, so there might be
something accidentally packages. This is now more explicit, so we should
be safer.
* Ruby now ships with MiniTest and Test::Unit. The very good news is
that they are installed so far as a regular gems. This means that you
have to always specify them in your Gemfile, if you are using Bundler,
but this is generally step in good direction. I hope that upstream will
not change their mind :) Due to this change, we have new subpackages
rubygem-test-unit (and rubygem-power_assert, which is now Test::Unit's
dependency). No more %{_bindir}/testrb (but nobody is using it these
days anyway, right? ;)
* Some prevailing test failures were resolved, some others introduced,
but hopefully they'll get resolved prior stable release.
Generally, I'd say that not much has changed since 2.1, which is good news.
Please test the packaging if you can and let me know about any issues
you encountered.
Also, if you have any other suggestions about Ruby packaging in general,
what we could improve etc, this is probably good time to share. It seems
that OpenSUSE guys are improving their packaging, so you might want to
get some inspiration there [4, 5, 6] ;)
Vít
[1] http://pkgs.fedoraproject.org/cgit/ruby.git/log/?h=private-ruby-2.2
[2] http://koji.fedoraproject.org/koji/taskinfo?taskID=7578843
[3]
http://pkgs.fedoraproject.org/cgit/ruby.git/commit/?h=private-ruby-2.2&id...
[4] https://build.opensuse.org/package/show/home:darix:ruby/ruby-common
[5] https://build.opensuse.org/package/show/home:darix:ruby/ruby2.2
[6] https://github.com/openSUSE/gem2rpm/commits/master
5 months, 4 weeks
Hey Ruby packagers: can you help with asciibinder and its
dependencies?
by Matthew Miller
We're using a new system for http://docs.fedoraproject.org. It's in Ruby, and as per tradition requires a number of ruby gems not packaged in Fedora.
The upstream is at https://github.com/redhataccess/ascii_binder, and it looks like we're missing diff_dirs, asciibinder-diagram, guard, guard-shell, guard-livereload, pandoc-ruby, sitemap_generator, and yajl-ruby. Plus something called "trollop" which needs to be a version in f27/rawhide but not yet in f26.
Can you help? Running asciibinder locally is very convenient while writing or converting docs, and having it a `dnf install` away would be really nice.
6 years, 1 month
Re: updating facter in rawhide
by James Hogarth
Thanks for the reply.
On 4 Sep 2017 1:38 pm, "Vít Ondruch" <vondruch(a)redhat.com> wrote:
Hi James,
Not an Puppet/Facter expert, so just a few comments ...
Dne 4.9.2017 v 13:34 James Hogarth napsal(a):
> Hi guys,
>
> I'm getting the infrastructure in place ready for the mass bug filing
> and package updates for the removal of dependencies on net-tools in Fedora
>
> https://pagure.io/fesco/issue/1711
>
> One of the more tricky packages is facter.
>
> Right now it's an old ruby package (2.4.3 when rubygems/github has it
> at 2.5.1 in the ruby variety).
>
> The ruby version has the dependency on net-tools for ifconfig, but
> this was removed in the 3.0+ releases when they ported it to c++11
>
> From the documentation it appears that ruby applications/libraries
> that use facter will still do so through the ruby binding just as they
> always have ... and looking at the puppet package it explicitly states
> that it works with facter greater than 2 and less than 4 ...
>
> The puppetlabs puppet-agent already uses facter 3.8.0 in the current
> release.
>
> The 2.5.1 tag in github is especially weird as it's not listed as a
> facter release here:
>
> https://docs.puppet.com/facter/
It seems that there was 2.4 release followed by 3.0 release and since
that point, the 2.x branch was not refreshed. Probably some tooling
issue on puppet side ...
It's rather odd. I plan on engaging with them directly to get an accurate
answer. They don't ship the 2.X facter in their current puppet repos but
there's clearly been releases since 2.4 on the 2.X line.
>
> That even says 2.4 is now EOL, and has been since December last year.
Where?
On the page I linked it states:
Note: Facter versions prior to 3.0 will go end of life December 31, 2016.
Please update if you haven’t already.
Also interestingly there's no reference to any facter 2.x after 2.4 in
facter documentation... release notes after 2.4 go to 3.0
https://docs.puppet.com/facter/3.8/release_notes.html
I'll definitely contact upstream to get a clear answer on this and include
it in the facter F28 change.
>
> The tricky bits for the facter update are that it now has dependencies
> on https://github.com/puppetlabs/leatherman
> and https://github.com/puppetlabs/cpp-hocon
>
> There's already a package review request for leatherman which I plan
> to take over, and I've got a shared library version of cpp-hocon ready
> for review (depends on leatherman) which facter3 is working with in my
> local testing.
>
> The key bits I wanted to liaise with the ruby SIG for was the F28
> change I'm putting together to get this update in place.
>
> Although the application moves from ruby to c++ the ruby bindings will
> still be important and relevant to the SIG.
So is there some "preview" package of updated Facter?
I'm literally in the middle of getting it clean etc.
There's some stuff we'll need to get aligned in the spec for leatherman for
instance.
Working on this stuff in my evenings, lunches and commutes so it's not fast
going but I think F28 is reasonable as a goal for the change.
I'm in two minds whether to suggest we leave facter as it is for F25-27 or
whether to at least update those to 2.5.1 which won't have the drastic 3.0
changes.
I expect an answer from upstream about the status of 2.x will help with
that.
I've also not looked fully into the EPEL situation but from an initial
cursory look of gemfiles I think the ruby versions there are out of their
support matrix.
I'll also include those factors in the change when I write it.
I'll try and get initial test packages into COPR this week for feedback.
James
6 years, 4 months
New Ruby packaging guidelines draft
by Vít Ondruch
Hi everybody,
As I promised, I drafted update to Ruby guidelines. You can see the
changes here [1]. This is the summary:
* Drop reference to EPEL5
* Use %setup macro to expand .gems since RPM 4.14
* Use %setup macro to expand the external test suite.
* Drop the note, which recommends not shipping test suite, since we
typically keep them despite this note
* Updated test framework section to meet the current state.
* Bundler and coverage frameworks usage discouraged.
* Reference %gemspec_{add,remove}_dep macros.
And although I promised, that this wont be breaking changes, there is
one exception :/
The issue is with %gemspec_{add,remove}_dep macros, which currently
expect the .gemspec file in the directory with the sources. However, the
%setup macro generates the .gemspec file directly in %{_builddir} (i.e.
one level above). I should probably update the macros to find the
.gemspec there by default. This might break some packages (who is
actually using the macros except me?), but it won't be worse then
RubyGems freezing the strings in patch release, right? In other case,
you would need always specify the path to the .gemspec ...
So what do you think? Anything I missed or something I got wrong? Please
let me know.
Vít
[1]
https://fedoraproject.org/w/index.php?title=User%3AVondruch%2FDraft_RubyG...
6 years, 6 months
updating facter in rawhide
by James Hogarth
Hi guys,
I'm getting the infrastructure in place ready for the mass bug filing and
package updates for the removal of dependencies on net-tools in Fedora
https://pagure.io/fesco/issue/1711
One of the more tricky packages is facter.
Right now it's an old ruby package (2.4.3 when rubygems/github has it at
2.5.1 in the ruby variety).
The ruby version has the dependency on net-tools for ifconfig, but this was
removed in the 3.0+ releases when they ported it to c++11
From the documentation it appears that ruby applications/libraries that use
facter will still do so through the ruby binding just as they always have
... and looking at the puppet package it explicitly states that it works
with facter greater than 2 and less than 4 ...
The puppetlabs puppet-agent already uses facter 3.8.0 in the current
release.
The 2.5.1 tag in github is especially weird as it's not listed as a facter
release here:
https://docs.puppet.com/facter/
That even says 2.4 is now EOL, and has been since December last year.
The tricky bits for the facter update are that it now has dependencies on
https://github.com/puppetlabs/leatherman and
https://github.com/puppetlabs/cpp-hocon
There's already a package review request for leatherman which I plan to
take over, and I've got a shared library version of cpp-hocon ready for
review (depends on leatherman) which facter3 is working with in my local
testing.
The key bits I wanted to liaise with the ruby SIG for was the F28 change
I'm putting together to get this update in place.
Although the application moves from ruby to c++ the ruby bindings will
still be important and relevant to the SIG.
Is there anything from the ruby SIG perspective I'm missing that I should
be aware of?
We'll want to make sure puppet etc all works fine naturally.
Kind regards,
James
6 years, 6 months