Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RPM] Add rubygem-gssapi and rubygem-net-ssh-krb #1665

Merged
merged 9 commits into from Sep 25, 2017

Conversation

adamruzicka
Copy link

For plugin updates, please indicate which repos this should be built into:

  • Nightly
  • 1.15
  • 1.14
  • 1.13

See Foreman's plugin maintainer documentation for more information.


The rubygem-gssapi spec was taken and modified from Fedora

Copy link
Member

@dLobatog dLobatog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adamruzicka The packages are added to comps and tito.props for both plugins and non-plugins, is there any reason for that? It looks like these only belong on the plugins comps/props.

Which plugin is using this?

@adamruzicka
Copy link
Author

The packages are added to comps and tito.props for both plugins and non-plugins, is there any reason for that?

I must have messed that up somehow...

It will be used by rubygem-foreman_remote_execution_core after theforeman/foreman_remote_execution#250 gets in

@ehelms
Copy link
Member

ehelms commented Jul 12, 2017

Looks like this needs a rebase @adamruzicka

@adamruzicka
Copy link
Author

@ehelms rebased

@adamruzicka
Copy link
Author

@ehelms &| @dLobatog could any of you please take a look at this again?


%files doc
%doc %{gem_docdir}
%{gem_instdir}/Gemfile
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure this makes sense in the -doc package

%doc %{gem_docdir}
%{gem_instdir}/Gemfile
%doc %{gem_instdir}/README.md
%{gem_instdir}/Rakefile
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure this makes sense in the -doc package

%{gem_instdir}/Gemfile
%doc %{gem_instdir}/README.md
%{gem_instdir}/Rakefile
%{gem_instdir}/spec
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a test directory and can/should be excluded.

mkdir -p %{buildroot}%{smart_proxy_dynflow_bundlerd_dir}
cat <<EOF > %{buildroot}%{smart_proxy_dynflow_bundlerd_dir}/%{gem_name}.rb
gem '%{gem_name}'
EOF
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part seems a bit strange tieing this so closely to smart_proxy_dynflow. This seems like something that maybe it should be doing and let this be a stand alone gem?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you suggest generating this file using the installer? It would definitely be cleaner

%exclude %{gem_instdir}/net-ssh-kerberos.gemspec
%exclude %{gem_cache}
%{gem_spec}
%{smart_proxy_dynflow_bundlerd_dir}/%{gem_name}.rb
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part seems a bit strange tieing this so closely to smart_proxy_dynflow. This seems like something that maybe it should be doing and let this be a stand alone gem?

%{gem_libdir}
%exclude %{gem_cache}
%{gem_spec}
%doc %{gem_instdir}/COPYING
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is in the -doc package

%doc %{gem_instdir}/COPYING
%doc %{gem_instdir}/Changelog.md
%doc %{gem_instdir}/Gemfile
%{gem_instdir}/VERSION
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like something that should be in the base %files section

%doc %{gem_instdir}/Gemfile
%{gem_instdir}/VERSION
%{gem_instdir}/examples
%{gem_instdir}/test
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd omit this given they are tests.

%{gem_instdir}/VERSION
%{gem_instdir}/examples
%{gem_instdir}/test
%{gem_instdir}/Rakefile
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be in the %files section? This does not seem like documentation.


Name: %{?scl_prefix}rubygem-%{gem_name}
Version: 1.2.0
Release: 4%{?dist}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Start release at 1

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because this was taken from fedora I wasn't sure if we want to start the numbering over or not. Will do

@ehelms
Copy link
Member

ehelms commented Aug 24, 2017

Sorry I didn't catch those comments earlier.

mkdir -p %{buildroot}%{gem_dir}
cp -pa .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
mkdir -p %{buildroot}%{smart_proxy_dynflow_bundlerd_dir}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still coupled to smart_proxy_dynflow

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, missed that one

%exclude %{gem_instdir}/net-ssh-kerberos.gemspec
%exclude %{gem_cache}
%{gem_spec}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like you need to add %exclude %{gem_instdir}/spec

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

error: Installed (but unpackaged) file(s) found:
   /opt/theforeman/tfm/root/usr/share/gems/gems/net-ssh-krb-0.4.0/Gemfile
   /opt/theforeman/tfm/root/usr/share/gems/gems/net-ssh-krb-0.4.0/Rakefile
   /opt/theforeman/tfm/root/usr/share/gems/gems/net-ssh-krb-0.4.0/spec/integration_spec.rb
   /opt/theforeman/tfm/root/usr/share/gems/gems/net-ssh-krb-0.4.0/spec/spec_helper.rb

Also looks like Gemfile and Rakefile need to be included or excluded.

%{gem_spec}
%{gem_instdir}/Rakefile
%{gem_instdir}/VERSION

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like you need to add %exclude %{gem_instdir}/spec

@ehelms
Copy link
Member

ehelms commented Aug 30, 2017

LGTM -- @dLobatog you had outstanding change requests here

@iNecas
Copy link
Member

iNecas commented Sep 6, 2017

Don't we need this rather in scl, rather than non-scl, as the smart_proxy_dynflow_core is in scl as well.

@adamruzicka
Copy link
Author

adamruzicka commented Sep 6, 2017

@iNecas but it is in scl, or am I missing something?

EDIT: Oh, do you mean it should be named like tfm-rubygem-gssapi in the comps?

@iNecas
Copy link
Member

iNecas commented Sep 6, 2017

That's it

@iNecas
Copy link
Member

iNecas commented Sep 6, 2017

That's better :)

@adamruzicka
Copy link
Author

@dLobatog anything else to change here?

Copy link
Member

@dLobatog dLobatog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, @adamruzicka @iNecas is this meant for 1.16 too?

Also what are these dependencies for?

@dLobatog dLobatog merged commit 44d28f1 into theforeman:rpm/develop Sep 25, 2017
@dLobatog
Copy link
Member

Built for nightly for the moment

@iNecas
Copy link
Member

iNecas commented Sep 25, 2017

1.16 (we're even targeting 1.15 with rex 1.3.4)

Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
Requires: %{?scl_prefix_ruby}ruby(release)
Requires: %{?scl_prefix_ruby}ruby(rubygems)
Requires: %{?scl_prefix_ruby}rubygem(ffi) >= 1.0.1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this package is actually from the rh-ror42 SCL rather than rh-ruby22 breaking repoclosure.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe #1835 should fix it.

@adamruzicka adamruzicka deleted the rpm/net-ssh-krb branch October 16, 2017 15:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants