[Rubyinstaller-devel] DevKit stuff

Alexey Borzenkov snaury at gmail.com
Fri Jan 22 16:32:13 EST 2010

I was reading discussions in Greg Hazel's bugs, and would like to
point some things that might make DevKit easier to use (as in, before
dsl is around) when it's an archive:

1) /etc/fstab doesn't even need to be there if you install mingw under
msys (e.g. msys\mingw), because then you don't need to mount /mingw
directory, it's already part of root. Same thing about /usr/local:
msys/local will pose itself as /usr/local. This directory shuffling
can be done automatically after unpacking official tarballs.

2) gcc.bat/make.bat/sh.bat have issues: use of --login when it's not
needed (just changing PATH and launching target is sufficient, there's
nothing fancy in /etc/profile and I'm using it that way all the time,
msys is smart about choosing correct defaults on its own), as a result
there may be problems with double quotes, etc. Some solutions:

- Require users to launch a batch file to enter dev mode: I use this
myself. There are way too many things in my PATH and I don't want
gcc/msys in there interfering with other things, so I wrote a simple
df-ruby-devel.bat that launches devel window for me with msys/mingw in
PATH. It's especially important when I might want ruby in my PATH, but
not msys/mingw or anything named sh/make/gcc.

- Use executables instead of batch files. I have experience in doing
these, I use them extensively for cygwin (see
http://git.kitsu.ru/mine/shell-wrapper.git, which has many
complexities that are not needed for msys/mingw). I can write simpler
versions for devkit if you need them. Using executables will ensure
that cmd.exe does not: interfer with arguments parsing, show
"Terminate batch file" warning when you press Ctrl+C, making error
code always 0 impossible to spot.

3) what about dependencies? E.g. openssl (for eventmachine), zlib,
iconv? They are already built/unpacked as a byproduct of building
rubyinstaller, could they be included in DevKit?

Sorry if I'm repeating myself.

More information about the Rubyinstaller-devel mailing list