Subject: RPM installer (was Re: SETUP WIZARD FOR CYGWIN?XFREE86)
From: Dario Alcocer <[email-masked]>
To: [email-masked]
Cc: egor duda <[email-masked]>
Date: Wed, 25 Jul 2001 08:20:28 -0700

>>>>> "egor" == egor duda <[email-masked]> writes:

    egor> Hi!  Tuesday, 24 July, 2001 Charles Wilson
    egor> [email-masked] wrote:

    CW> Port rpm to win32.  Not cygwin.

    egor> i can't see why "not cygwin". bootstrapping *is* a problem,
    egor> but honestly, it seems easier to me than mingw port of rpm.

    egor> cygwin1.dll is reasonably self-sufficient nowadays. i'm
    egor> using "minimalistic ssh client" which consists of 3 files:
    egor> cygwin1.dll, ssh.exe (from openssh) and small bat file which
    egor> sets %HOME% before staring ssh. everything's working
    egor> perfectly either on wnt or w9x.  sure, rpm is more
    egor> "system-dependent" than ssh, but anyway, i don't see a big
    egor> problem to create mounts (the only (?) cygwinism rpm really
    egor> needs) on the early stages of bootstrap.

    egor> if you're concerned about different versions of cygwin1.dll,
    egor> take a look at cygwin testsuite. there're no problems with
    egor> testing new build of cygwin1.dll while several programs
    egor> based on the old one are running in the same time on the
    egor> same machine.

Egor, it's very interesting that you mention this approach to
bootstrapping RPM.  I've in fact built an initial working version of a
Tcl/Tk GUI installer using the *exact* approach you mention, using a
small Cygwin bootstrap environment (rpm.exe, sh.exe, mount.exe
cygwin1.dll, and other necessary programs.)

The installation is performed in two steps:

1. Create the necessary directories and mounts, unpack rpm binary tar,
   then run 'rpm --initdb'

2. Run rpm to install RPM files.

All the install related tasks (cygwin.bat creation, installing bash
short-cut, running mkpasswd and mkgroup, etc.) are performed by RPM
post-install scripts.

Best part is, it actually *works*.  I've not completed all the work on
it (I've been too busy with several consulting gigs to spend more than
3-5 hours per week on it.)  However, I now have a staff member that's
tying up the loose ends and getting it ready for actual use (I plan on
using the Tcl/Tk installer in my consulting work.)  The main
limitation now is that there isn't a self-extracting mechanism worked
out yet that would create the bootstrap environment before launching
the Tcl/Tk GUI installer.  For my purposes, I was planning on creating
CDs with the necessary bootstrap environment pre-unpacked, so this
would only be an issue for trying to support a self-contained
network-based installer like the current setup.exe.  This is not an
insurmountable problem, so I expect to have something implemented for
this feature eventually.

Anyway, at some point I'd like to be able to offer it to the Cygwin
project.  Unfortunately, it's still very immature to be widely
released, which is why I had not suggested or mentioned it before.
Nevertheless, if any of you are interested in playing around with the
installer, I could put a CD-ROM .iso image (~13MB) up on my web site
eventually when the work is done (I hope to have a very rough first
release by the middle of August.)

-- 
Dario Alcocer -- Sr. Software Developer, Helix Digital Inc.
Cygwin Ghostscript maintainer
[email-masked] -- http://www.helixdigital.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/