When I build the gemfile locally, convert to a deb file and then install on my server, I get the following error message:
support@server0142:~$ dpkg -i rubygem-foreman-expire-hosts_7.0.0_all.deb
dpkg: error: requested operation requires superuser privilege
support@server0142:~$ sudo dpkg -i rubygem-foreman-expire-hosts_7.0.0_all.deb
(Reading database ... 568861 files and directories currently installed.)
Preparing to unpack rubygem-foreman-expire-hosts_7.0.0_all.deb ...
Unpacking rubygem-foreman-expire-hosts (7.0.0) over (7.0.0) ...
dpkg: dependency problems prevent configuration of rubygem-foreman-expire-hosts:
rubygem-foreman-expire-hosts depends on rubygem-deface (>= 0); however:
Package rubygem-deface is not installed.
dpkg: error processing package rubygem-foreman-expire-hosts (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
rubygem-foreman-expire-hosts
However, I do have ruby 2.6.0 installed and selected as default using rvm:
support@server0142:~$ ruby -v
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]
So I tried to install the missing dependency manually:
ERROR: Error installing deface:
sprockets requires Ruby version >= 2.5.0.
support@server0142:~$ /usr/share/rvm/bin/rvm 2.6.0
No luck…
I built the gemfile like so:
\RubymineProjects\foreman_expire_hosts> gem build .\foreman_expire_hosts.gemspec
WARNING: open-ended dependency on deface (>= 0) is not recommended
if deface is semantically versioned, use:
add_runtime_dependency 'deface', '~> 0'
WARNING: open-ended dependency on rdoc (>= 0, development) is not recommended
if rdoc is semantically versioned, use:
add_development_dependency 'rdoc', '~> 0'
WARNING: open-ended dependency on rubocop-performance (>= 0, development) is not recommended
if rubocop-performance is semantically versioned, use:
add_development_dependency 'rubocop-performance', '~> 0'
WARNING: pessimistic dependency on rubocop-rails (~> 2.3.2, development) may be overly strict
if rubocop-rails is semantically versioned, use:
add_development_dependency 'rubocop-rails', '~> 2.3', '>= 2.3.2'
WARNING: See http://guides.rubygems.org/specification-reference/ for help
Successfully built RubyGem
Name: foreman_expire_hosts
Version: 7.0.0
File: foreman_expire_hosts-7.0.0.gem
Afterwards I used fpm to create a .deb file from the gem.
fpm -s gem -t deb foreman_expire_hosts
/var/lib/gems/2.5.0/gems/fpm-1.11.0/lib/fpm/util.rb:29: warning: Insecure world writable dir /mnt/c in PATH, mode 040777
Replacing 'provides' underscores with dashes in 'rubygem-foreman_expire_hosts = 7.0.0' because debs don't like underscores {:level=>:warn}
Debian packaging tools generally labels all files in /etc as config files, as mandated by policy, so fpm defaults to this behavior for deb packages. You can disable this default behavior with --deb-no-default-config-files flag {:level=>:warn}
Created package {:path=>"rubygem-foreman-expire-hosts_7.0.0_all.deb"}
Can someaone tell me if I ran into a known problem or if I made a mistake somewhere?