Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com From: Dario Alcocer MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15198.58300.305187.207197@coyote.priv.helixdigital.com> Date: Wed, 25 Jul 2001 08:20:28 -0700 To: cygwin AT cygwin DOT com Cc: egor duda Subject: RPM installer (was Re: SETUP WIZARD FOR CYGWIN?XFREE86) In-Reply-To: <13435078840.20010724210651@logos-m.ru> References: <001201c11440$f5acf5a0$806410ac AT local> <20010724112652 DOT G9776 AT redhat DOT com> <3B5DA52D DOT 2020304 AT ece DOT gatech DOT edu> <13435078840 DOT 20010724210651 AT logos-m DOT ru> X-Mailer: VM 6.76 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid >>>>> "egor" == egor duda writes: egor> Hi! Tuesday, 24 July, 2001 Charles Wilson egor> cwilson AT ece DOT gatech DOT edu 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 alcocer AT helixdigital DOT com -- 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/