56 Commits

Author SHA256 Message Date
a87b82a902 - Some gems (especially rust based ones) start failing if
/usr/bin/ruby is not available. But they can take the desired
  ruby binary from the RUBY environment variable. Since we can not
  really set that properly via pre_install, set it within the loop
  to the current ruby binary before calling the ruby part of
  gem_install.sh.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=147
2026-01-08 15:07:00 +00:00
c09fd7ce55 - instead of always recommending the gem2rpm of the default ruby
version, lets recommend the version of ruby which we actually
  install

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=144
2025-12-25 12:48:46 +00:00
b2b55cf43c - Fix rubyX.Y-with(out)-yjit/jemalloc Requires. They failed when
using prerelease ruby packages. We introduce 2 new macros:
  %requires_on_provides_eq
  %requires_on_provides_ge
  Which then are used by the subpackage template.
  The macros are copies of the normal %requires_(eq|ge) with 2
  changes
  - only the first argument is used
  - rpm -q is called with --whatprovides

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=143
2025-12-02 17:02:13 +00:00
1d94372590 sync ruby-common and rubygem-gem2rpm
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=142
2025-12-02 14:51:11 +00:00
2562d46f44 Accepting request 1239482 from home:darix:apps
- do not generate unversioned conflicts

OBS-URL: https://build.opensuse.org/request/show/1239482
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=140
2025-01-22 10:29:11 +00:00
74d73c4537 - update gem_packages.spec.erb by syncing with gem2rpm
- drop group tag
  - only emit manual comments if we actually put out content
  - mark docs explicitely with the %doc tag
  - stop using deprecated PreReq for update-alternatives

- update suse.patch and sync in ruby-common/gem_packages.spec.erb

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=138
2024-10-08 00:30:02 +00:00
ceed75b745 - update gem_packages.spec.erb:
dont strip the newline at the end of main:filelist output

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=136
2024-09-28 00:01:22 +00:00
d3b2f5d26b handle yjit in provides and requires
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=134
2024-06-07 14:11:41 +00:00
34a5cb605f - gem_cleanup macro: yet another place which got hit by ruby 3.3
replace `gem env gemdir` with
  `ruby -r rubygems -e 'puts Gem.default_dir'`

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=132
2023-11-16 14:26:47 +00:00
9bcbcebde7 - Fix for the previous change. we need to set the GEM_HOME before
even wrapping into the re-exec with ruby.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=131
2023-11-14 10:29:57 +00:00
b86883c1ef Accepting request 1125725 from home:darix:apps
jemalloc locking + fix for ruby3.3~preview3 GEM_HOME breakage

OBS-URL: https://build.opensuse.org/request/show/1125725
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=130
2023-11-13 20:56:58 +00:00
Stephan Kulow
004b56a345 Accepting request 1085295 from home:jengelh:branches:devel:languages:ruby
- Remove old specfile constructs

OBS-URL: https://build.opensuse.org/request/show/1085295
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=128
2023-08-21 05:31:46 +00:00
8b3b52ffd4 - bump the version so we can require the new version to make it
easier to depend on the new functionality

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=126
2023-05-12 21:29:34 +00:00
9ac0f8e89f - Support runtime dependencies for the generated subpackages:
syntax:
  Requires: rubygem(gemname)
  Recommends: rubygem(gemname:x) >= x.y
  This will be transformed into
  Requires: rubygem(ruby:<rubyabi>:gemname)
  Recommends: rubygem(ruby:<rubyabi>:gemname:x) >= x.y
  That way we ensure that every package only requires rubygems for
  the current ruby version.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=125
2023-05-12 21:25:06 +00:00
996570b24a Accepting request 1085262 from home:darix:apps
- cleanup irp code
  - unify error handling using the exit_with_error function
  - ensure we add generated files
  - checkin the newly created package

- move new tools into a subpackage ruby-packaging-helpers to avoid
  dependency to /usr/bin/ruby

- Add 2 new utilities
  - irp aka initialize ruby package
    does exactly what the name says. does all the work to
    initialize a new ruby package
  - bundler-dumpdeps: script to generate BR/Requires based on a
    Gemfile.

OBS-URL: https://build.opensuse.org/request/show/1085262
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=123
2023-05-07 00:37:55 +00:00
9975e4f980 - do not rely on file dependencies for getopt
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=121
2023-02-09 16:51:04 +00:00
04377fa946 Accepting request 1045283 from home:darix:apps
- in the dependency generator for Gemfile.lock we now skip vendored
  deps

OBS-URL: https://build.opensuse.org/request/show/1045283
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=120
2022-12-25 12:07:00 +00:00
3b41fcbebb - actually bump the version so we can require the newer version for
ruby3.2

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=118
2022-11-17 12:01:52 +00:00
890d4a3c96 - replace File.exists? with File.exist? as the File.exists?
is no longer supported in 3.2

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=117
2022-11-17 12:00:45 +00:00
2c27d98c49 Accepting request 982449 from home:darix:apps
- make %gem_unpack and %gem_build work when the default system ruby
  is not installed:
  both macros now use the %{gem_binary} define and we have a common
  macro %{set_gem_binary} to set this variable. the set macro will
  use the ruby-find-versioned to find a versioned version of gem.

OBS-URL: https://build.opensuse.org/request/show/982449
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=115
2022-06-13 12:53:59 +00:00
Stephan Kulow
20bf0b78b6 Accepting request 957161 from home:dirkmueller:Factory
- avoid bashism in gem_build_cleanup

OBS-URL: https://build.opensuse.org/request/show/957161
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=114
2022-02-25 06:39:18 +00:00
0445454912 Accepting request 913938 from home:coolo:branches:devel:languages:ruby
- Do not create links in /etc/alternatives at all - they are ghosts
  and rpm database will only be confused if we have some wrong
  information about them (the link target is defined at runtime)
 
  This aligns with ruby2.7 package to avoid file conflicts about
  bundler and other built in gems

OBS-URL: https://build.opensuse.org/request/show/913938
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=113
2021-08-24 07:21:08 +00:00
Stephan Kulow
220aa26aba - Fix the links in /etc/alternatives not to point to themselves
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=112
2021-07-08 12:10:56 +00:00
db693fc8b7 Accepting request 866991 from home:darix:apps
- cleanup the .gem.* dirs that rubygems creates on 3.0
  (boo#1180528)

OBS-URL: https://build.opensuse.org/request/show/866991
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=110
2021-01-26 19:18:16 +00:00
Stephan Kulow
6d3ada995d Accepting request 866671 from home:darix:apps
- add support to package rubygems plugin dirs 
  as the file is conflicting you can only have one version of the
  same gem installed if it provides a rubygems plugin. at least for
  now

- disable docs and testsuite packaging by default
- support --no-document option

OBS-URL: https://build.opensuse.org/request/show/866671
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=109
2021-01-26 14:22:17 +00:00
78d172c255 Accepting request 729438 from home:computersalat:devel:ruby
fix build for SLE 12 / Leap 42

OBS-URL: https://build.opensuse.org/request/show/729438
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=107
2019-10-08 09:29:17 +00:00
3fcde39a69 Accepting request 701957 from home:dimstar:Factory
Move RPM macros to %_rpmmacrodir.

OBS-URL: https://build.opensuse.org/request/show/701957
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=105
2019-06-24 10:52:16 +00:00
d867adcd64 Accepting request 679061 from home:darix:apps
- rails.macros: add macro to fix ruby shebang line

- rails.macros: always use ./bin/* stubs for calling binaries

- do not try to delete git files in the rails macros

OBS-URL: https://build.opensuse.org/request/show/679061
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=103
2019-02-25 20:42:46 +00:00
887f36f5d7 Accepting request 660610 from home:darix:apps
- --no-rdoc/--no-ri are obsolete in, if we get it passed in convert
  them to --no-document

OBS-URL: https://build.opensuse.org/request/show/660610
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=102
2018-12-21 23:36:25 +00:00
180ada4df2 Accepting request 617126 from home:darix:ruby
- rename the gem_packages template from opensuse.spec.erb to
  gem_packages.spec.erb
- add support for binary_map flag in gem2rpm.yml
  - This can be used to rename the _unversioned_ symlink of the
    binaries in /usr/bin/ to avoid conflicts with other packages
- gem_packages.spec.erb: sync with file in gem2rpm

OBS-URL: https://build.opensuse.org/request/show/617126
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=99
2018-06-15 17:02:44 +00:00
Stephan Kulow
52395857cc Accepting request 569569 from home:lnussel:branches:devel:languages:ruby
- generate bundled(rubygem($name)) = $version provides for bundled
  gems in the vendor directory.

OBS-URL: https://build.opensuse.org/request/show/569569
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=97
2018-02-08 06:32:02 +00:00
94e1c5c07d Accepting request 556491 from home:darix:apps
- switch requires of the autogenerated subpackages from
  rb_suffix-rubygem-gemname = version to
  rubygem(rb_abi:gemname) = version

- split our the rails part

- we need bundler now. given ruby 2.5 will have it intree anyway,
  this soon wont be a big burden.

- add support to generate requires from Gemfile.lock

- package the buildinfo dir
- allow passing options to extconf.rb

OBS-URL: https://build.opensuse.org/request/show/556491
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=95
2017-12-18 14:59:30 +00:00
e8648deefd Accepting request 503510 from home:bmwiedemann:reproducible
Call fdupes -o name to make sure we always create symlinks in the same direction to make builds reproducible

OBS-URL: https://build.opensuse.org/request/show/503510
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=93
2017-06-14 13:35:48 +00:00
b6693771c3 - Since rubygems 2.5.0 the default version in the gem bin stub
changed from '>= 0' to '>= 0.a'. This was done to allow
  prerelease versions. Our patching script didn't take the '.a'
  into account and generated version fields like '= 0.10.1.a'
  instead of the expected '= 0.10.1'. This fix accounts for the
  '.a'.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=91
2016-03-01 01:05:13 +00:00
47c9e45a5e Accepting request 311641 from home:lnussel
- help the solver to pick the right gem2rpm for the default ruby
  version (bnc#934328)

OBS-URL: https://build.opensuse.org/request/show/311641
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=89
2015-06-11 14:36:38 +00:00
172bea652c Accepting request 305056 from home:darix:ruby
- Fix patching of the shebang line

OBS-URL: https://build.opensuse.org/request/show/305056
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=87
2015-05-02 12:05:54 +00:00
Stephan Kulow
b1b68558bd Accepting request 297509 from home:darix:ruby
- The script sometimes returned from gem install already although
  the install wasn't finished yet. This broke e.g. the binary
  rename part.

OBS-URL: https://build.opensuse.org/request/show/297509
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=86
2015-04-17 11:51:10 +00:00
Stephan Kulow
d9537e822c Accepting request 290792 from home:darix:ruby
- Fail early if gem install fails
  This avoids confusing error messages at the end of the build.

- More fixes for ruby 1.8

- Ruby 1.8 insists on the () for the parameter

- Cleaner solution for the extensions doc dir
  The other solution was also failing on 1.8

- Forgot another option for forwarding

- Do not overwrite options.otheropts

- Fixed forwarding of options to gem install

- Only use the extensions doc dir on MRI 2.1.x

- Fix the ruby suffix for distributions before 13.2
- Do not fail with --gem-binary

- switch to ruby version of gem_install.sh
- added ruby-find-versioned to make it easier to find versioned
  binaries.
  - all for loops in the shell scripts and macros are now using
    this script

OBS-URL: https://build.opensuse.org/request/show/290792
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=85
2015-03-14 16:46:00 +00:00
e0411979bd - call ruby with -x from shell wrappers otherwise we run into an
endless loop

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=84
2015-03-12 16:17:39 +00:00
cdff9fb767 - rubygemsdeps.rb: add shell-launcher to avoid dependency on
a fixed ruby version

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=83
2015-03-11 17:11:16 +00:00
6458117152 Accepting request 281049 from home:dirkmueller:branches:devel:languages:ruby
- gem_install.sh: fix ruby shebang patching

OBS-URL: https://build.opensuse.org/request/show/281049
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=81
2015-01-14 10:41:22 +00:00
Stephan Kulow
e2f6da658d Accepting request 261861 from home:Ledest:bashisms
fix bashisms in generate_buildrequires.sh script

OBS-URL: https://build.opensuse.org/request/show/261861
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=79
2014-12-22 07:37:56 +00:00
8818e864a7 - ignore any files we find in */.gem/*. in some versions of
rubygems, gems that are installed are also copied to ~/.gem/.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=77
2014-10-21 15:58:26 +00:00
9630de74d3 Accepting request 257887 from devel:languages:ruby:backports
- restore changes lost by the previous change
  - load rbconfigpackagingsupport if available and fail gracefully
    if not.
  - dont use not() it breaks the build on 1.8
  - remove requires onto the ruby version

OBS-URL: https://build.opensuse.org/request/show/257887
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=76
2014-10-21 15:56:21 +00:00
Stephan Kulow
ea9824c3b2 - update gem_packages template from git
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=74
2014-10-18 05:37:34 +00:00
9d10d0fae6 Accepting request 253103 from home:darix:ruby
- we dont always have /usr/bin/ruby, use perl for patching the
  version in the bin wrapper. also replaced the sed for patching
  the shebang line.
- fixed a bad bug in the shebang line. we had an additional "."
  there.

- install gemrc on all distros

- dont delete .a files. there are actually gems where we need them
  like rubygem-libv8 for rubygem-therubyracer

- fix the case where we dont symlink the binaries. 

- gem_cleanup macro was missed when updating for old ruby versions.

- switch from "ruby -rrubygems -e 
  'print Gem::Specification.new.base_dir'"
  to "gem env gemdir"
 

- gem_build_cleanup: also delete static library files

- ruby 1.8 support:
  - gem_packages.sh: change to /usr/src/packages when
    /home/abuild/rpmbuild doesn't exist.
  - gem_packages template:
    - require rbconfigpackagingsupport to fix the ruby_install_name
      dependent variables. we do that for all distros but catch the
      LoadError and continue.
    - and dont use not(), we need to use "!" instead.

OBS-URL: https://build.opensuse.org/request/show/253103
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=73
2014-09-29 13:29:35 +00:00
Stephan Kulow
b9be4e4925 Accepting request 249617 from home:darix:ruby
- the ruby(abi) = $interpreter:$abiversion was not a good idea. rpm
  treats the $interpreter part as epoch. instead we use now:
  $interpreter(abi) = $abiversion
  For MRI it means we are basically back to ruby(abi).
  Examples for alternative ruby interpreters are rubinius(abi) and
  jruby(abi) (bnc#896658)

OBS-URL: https://build.opensuse.org/request/show/249617
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=71
2014-09-16 17:50:15 +00:00
Stephan Kulow
b730789ff4 Accepting request 248313 from devel:languages:ruby:factory
- disable extensions doc dir on rubinius

- workaround https://github.com/rubinius/rubinius/issues/2732
  for UTF8 locale in gem_packages.sh

- we actually need the splitted version in any case. uncomment it
  again

- pass the ruby abi as hash containing :interpreter, :version,
  :abi as keys. that way we have the full new string but also the
  version for the 1.8 support

- rubygemsdeps.rb:
  - make the provides/requires also include the ruby interpreter
  - no longer emit the old package name style provides
- rubygems.attr:
  - make the path a bit more relaxed so we can match other ruby
    interpreter too

- added ruby-common.macros:
  Holds the common macros for the rpm macro based buildrequires.
- merged ruby.macros into ruby.rpm-macros:
  the later file now carries the rb_* and gem_* macros

- ruby.macros: drop the duplicate gem macros

- fix small typo in opensuse.spec.erb which broke the formatting.

- no longer require ruby(-devel). ruby-common is required by
  rubyX.Y so we should always be installed and this breaks a small

OBS-URL: https://build.opensuse.org/request/show/248313
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=69
2014-09-10 11:32:21 +00:00
Stephan Kulow
1167a997d7 Accepting request 232110 from home:aspiers:branches:devel:languages:ruby
- eliminate "useless-provides rubygem-foo" rpmlint warning for
  every gem: "Provides: rubygem-foo = 1.2.3" is not required
  because rpm implicitly adds "Provides: rubygem-foo = 1.2.3-4"

OBS-URL: https://build.opensuse.org/request/show/232110
OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=68
2014-04-30 05:08:37 +00:00
Klaus Kämpf
b368ec7bf1 OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/ruby-common?expand=0&rev=67 2014-02-13 15:13:27 +00:00