Commit graph

153 commits

Author SHA1 Message Date
David Rodríguez
3b55394b07 Ensure all default gems have an gem folder
Even if they don't ship with any executables. This makes rbinstall
behaviour consistent with rubygems `gem install --default` command.
2019-08-23 18:20:46 +10:00
Nobuyoshi Nakada
ff3704031a
Insert a newline before =end
For a certain editor which cannot handle here-document properly.
2019-07-15 09:28:44 +09:00
Jeremy Evans
51361272f9 Respect --dest-dir when removing old default gems
Before this, tool/rbinstall would try to remove a gem file that
it may not have access too.

Fixes issue introduced in f550da512c.
2019-06-25 19:02:48 -07:00
hsbt
c52ca1f2ff Revert r58345 and r58371.
These changes break the behavior of default gems. Bug #13428 says
  r58345 is reasonable because gemspec file is installed by `to_ruby_for_cache`
  method. But I revert `to_ruby_for_cache` in rbinstall.rb at r58403.
  There is no reason that we apply r58345 now.

  But I'm not sure about gemspec of default gems affects standalone gems.
  I'm going to investigate it on rubygems/rubygems.

  [Bug #15500][ruby-core:90867]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-19 03:36:22 +00:00
nobu
92c6072ef4 rbinstall.rb: add --exclude option for install-nodoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-17 23:23:14 +00:00
hsbt
f550da512c Removed old gemspecs of default gems for the Ruby committers.
[Bug #12764][ruby-core:77284]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-17 13:45:48 +00:00
nobu
5a846eb657 rbinstall.rb: purge %x[git ls-files] too
[Bug #13423]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20 04:03:07 +00:00
nobu
4df4b48455 rbinstall.rb: syntax error in gemspec
* tool/rbinstall.rb (load_gemspec): do not hide syntax errors in
  a gemspec file.  check if the result instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20 03:51:15 +00:00
usa
adc32fd30c Install script of default gems as is to its libexec dir
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-13 10:51:59 +00:00
hsbt
a943328194 Use stub executables generated by RubyGems istead of original executables.
It resolved the conflict issues when invoking `gem i rdoc` and the binstub
issues with Bundler and Rails.

  [Bug #5060][ruby-core:38257][Fix GH-2023]

  * https://github.com/rubygems/rubygems/pull/2338
  * https://github.com/heroku/heroku-buildpack-ruby/issues/829

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-25 01:20:00 +00:00
nobu
a3b92a5d92 rbinstall.rb: do not install rdoc flag files [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-16 00:37:48 +00:00
k0kubun
0fd5f063aa win32/Makefile.sub: generate MJIT header pdb
in the MJIT-header-specific path, not default path like vc140.pdb.

mjit_worker.c: specify the MJIT-header-specific pdb path.

tool/rbinstall.rb: install MJIT header pdb as well.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 16:28:04 +00:00
k0kubun
34ade9a4b7 win32/Makefile.sub: install MJIT header and object
to prefix. This is a retry of r64947. So this doesn't still make mswin MJIT
on install directory succeed. One more step required.

tool/rbinstall.rb: This change is needed to install headers correctly since
the extensions are .obj and .pch, not .h


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-11 15:01:56 +00:00
nobu
92b469e7da Install HTML docs if produced
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-02 01:56:43 +00:00
nobu
a0ff2a6aaf Expand gemspec path to the real path
`make install` has loaded forwardable.rb twice, from
forwardable.gemspec and prime.gemspec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-29 07:04:29 +00:00
hsbt
8a9996493a Fixed installation failure with mswin environment.
[ruby-core:88699][Bug #15035]
  This patch was provided by MSP-Greg.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-28 13:42:39 +00:00
knu
6251615c12 Skip colliding filenames in LIBRUBY_ALIASES
This allows user to specify any name in `--with-so-name` that might
cause a name clash with LIBRUBY_ALIASES on the platform.

Without this, for example, configuring with `--with-soname=ruby
--enable-shared` on macOS would end up running `ln -sf libruby.dylib
libruby.dylib` only to fail with the following error in installation:

```
make[2]: stat: libruby.dylib: Too many levels of symbolic links
```

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-01 07:13:38 +00:00
nobu
ecedebab2c tool: fixed shadowing variables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18 00:40:06 +00:00
nobu
36bc8c0b28 tool: removed unused variables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-18 00:38:00 +00:00
nobu
9ce0a84640 rbinstall.rb: fix timing to read stub
* tool/rbinstall.rb ($script_installer.stub): read stub file on
  demand.  as `$cmdtype` is set to "exe" in parse_args, it is not
  set yet when `$script_installer` is defined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-27 01:58:29 +00:00
normal
6c721bd44f tool/rbinstall.rb: allow owner to have write permissions
Denying write permissions to the owner seems wrong.

Oddly, this problem only manifests in the "ruby_2_4" branch when
installing bundled gems (rake and friends).  It does not happen
with "ruby_2_3", or "trunk", so it might be related to RubyGems
changes.

* tool/rbinstall.rb: set umask to 022
  [ruby-core:84420] [Bug #14227]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-05 09:41:21 +00:00
nobu
e24e33c134 rbinstall.rb: show categories of default gems
* tool/rbinstall.rb (#install_default_gem): show categories of
  default gems, pure ruby libraries and libraries with extensions.
  [ruby-core:83600] [Bug #14065]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-30 05:45:20 +00:00
nobu
6a16d03365 rbinstall.rb: fix for --cmd-type=cmd
* tool/rbinstall.rb (PROLOG_SCRIPT): fix wrapper code for cmd
  script.  [Bug#13997]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-13 01:26:51 +00:00
nobu
e22f35ef2a rbinstall.rb: shell code as comments
* tool/rbinstall.rb (PROLOG_SCRIPT): wrap shell code by
  =begin/=end as comments.  [ruby-core:83202] [Bug#13997]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-12 07:27:16 +00:00
hsbt
5b3d137b1f Fixed broken bundle gem command.
This patch is provided by @gyugyu (Yusuke Yagyu)

  * Remove README* entry from no_install that there is no README* files except README.md.tt
  * Rename .travis.yml.tt to travis.yml.tt like gitignore.tt

  [Bug #13975][ruby-dev:50278][fix GH-1710]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-05 08:32:01 +00:00
hsbt
08c1dde4cc fix a label for bundled gems.
"bundle gems" is a wrong name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-08 05:18:18 +00:00
hsbt
cd8f990442 Rervert r58304. Because Rubygems have specialized finder for default gems.
We need to list library entries for default gems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-19 11:50:03 +00:00
nobu
e326045afc rbinstall.rb: ignore skipped exts
* tool/rbinstall.rb (default-gems): skip gemspec if corresponding
  Makefile does not exist.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-16 14:54:59 +00:00
nobu
5bca8051af rbinstall.rb: no file list for default gems
* tool/rbinstall.rb (default-gems): no file list is used now.
  all files should be installed as standard libraries.
  [ruby-core:80667] [Bug #13428]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-14 00:45:49 +00:00
nobu
796e995007 rbinstall.rb: purge git ls-files
* tool/rbinstall.rb (load_gemspec): purge `git ls-files` generated
  by bundle.  it is not available always everywhere everytime.
  [ruby-dev:50068] [Bug #13423]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-12 08:39:19 +00:00
nobu
7965327d13 Install only files explicitly referenced by bundled gems.
[Bug #13417]
[Fix GH-1580]
Author:    Vít Ondruch <vondruch@redhat.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-11 12:20:21 +00:00
nobu
8913e2946e Spec#files are not used anymore.
[Fix GH-1579]
Author:    Vít Ondruch <vondruch@redhat.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-11 12:20:18 +00:00
nobu
83ea401747 Make .gemspec slimmer.
This is the same code that RubyGems are using:

a1a5ab55cb

[ci skip]
[Fix GH-1578]
Author:    Vít Ondruch <vondruch@redhat.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-10 15:26:49 +00:00
nobu
8ebdec34ae rbinstall.rb: umask hack
* tool/rbinstall.rb (Gem::Installer#install): moved umask hack.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 02:49:02 +00:00
nobu
fa20fd8469 rbinstall.rb: Gem::Installer lacks dir_mode option
* tool/rbinstall.rb (bundle-gems): Gem::Installer does not support
  directory permission option, set umask to owner writable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 23:52:49 +00:00
nobu
b9eb70634e rbinstall.rb: rename tags
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 23:52:48 +00:00
nobu
604df3e22d tool/rbinstall.rb: add new tags
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 16:23:12 +00:00
nobu
00742d2ca5 rbinstall.rb: default umask
* tool/rbinstall.rb: revert r49841 and default umask to just
  prohibit all from writing.  symlink(2) has no argument to set
  permissions but is affected by umask.
  [ruby-dev:49975] [Bug #13194]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 16:23:11 +00:00
hsbt
8395d5a7c3 Prepare to make CSV module to default gem.
* lib/csv.gemspec: initial gemspec for csv gem.
  * tool/rbinstall.rb: support gemspec located under lib direcotry like `lib/foo.gemspec`

  [Feature #13177]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 09:12:53 +00:00
nobu
1d36a09d81 rbinstall.rb: mimic rubygems wrapper script
* tool/rbinstall.rb (app_script_text): move shell script part
  after comments generated by RubyGems. '#'-lines are comments in
  both of ruby and shell script.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-15 05:50:41 +00:00
nobu
37a8a2a26e rbinstall.rb: do nothing if bin script is same
* tool/rbinstall.rb (check_executable_overwrite): do nothing if
  the existing file equals to the wrapper script to be generated.

* tool/rbinstall.rb (generate_bin_script): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-15 00:45:10 +00:00
nobu
c850c4ad37 fix up r57322
* tool/rbinstall.rb: ruby_install_name is used too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-14 06:13:23 +00:00
nobu
bc388526ba fix prolog in gem wrapper scripts
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-13 14:15:00 +00:00
nobu
0f78a6a1b9 rbinstall.rb: LIBRUBY_RELATIVE
* tool/rbinstall.rb: see LIBRUBY_RELATIVE in CONFIG instead of
  reading config.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-13 05:58:44 +00:00
nobu
9bd2490785 install-static-library option [ci skip]
* configure.in (install-static-library): add option to enable/
  disable to install static ruby library.  defaulted to "no" if
  enable-shared.  [Feature #12845]
* tool/rbinstall.rb (local-arch-lib): respect the option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-17 07:17:07 +00:00
rhe
d1dbeebebf rbinstall.rb: don't install gemspec for skipped libraries
* tool/rbinstall.rb (gem): Don't install gemspec if no files will be
  installed for the gem. This happens when the extension library is not
  compiled.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-26 02:50:31 +00:00
nobu
97a016ac8a install extra libraries
* ext/extmk.rb (extract_makefile, extmake, configuration): store
  extra libraries to be installed.
* tool/rbinstall.rb (ext-arch): install extra libraries.
* ext/zlib/extconf.rb: install zlib if built.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-24 13:26:21 +00:00
nobu
19f624541f rbinstall.rb: gem bindir
* tool/rbinstall.rb (gem): use the bindir of each gemspec instead
  of hardcoded 'bin', since rdoc 5.0.0 overrides it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-08 08:40:16 +00:00
nobu
b08a45521e rbinstall.rb: install just one gemspec [ci skip]
* tool/rbinstall.rb (gem): install gemspec match with the
  directory only.  some gems, (e.g., json) have multiple gemspec
  files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-05 00:58:23 +00:00
nobu
2f4f44352c rbinstall.rb: install iff expected platforms [ci skip]
* tool/rbinstall.rb (gem): install only gemspecs for expected
  platforms.  e.g., ignore json-java.gemspec in json gem.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-04 06:25:38 +00:00