Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Subject: setup vs dpkg/rpm food for thought From: Robert Collins To: cygwin-developers AT cygwin DOT com Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Evolution/0.15 (Preview Release) Date: 01 Nov 2001 22:24:35 +1100 Message-Id: <1004613876.2407.84.camel@lifelesswks> Mime-Version: 1.0 X-OriginalArrivalTime: 01 Nov 2001 11:28:50.0632 (UTC) FILETIME=[612BB480:01C162C8] Setup.exe today has several neat capabilities: 1) change the root install on the fly. (how well does that actually work??) 2) small, self contained. However, 2) is a downside, because as we get smarter, better, we also get bigger, and because we can't use external tools easily, we can't change that. Idea: split setup.exe, via #defines and two makefile targets. setup-bootstrap.exe will 1) grab mirrors.lst 2) go through the standard install process - but skip the package selection screen and only install the packages in 'Required' (which can be called 'base'). 3) launch setup.exe at the end of that. 4) setup-bootstrap.exe is never needed again. How does this aid anything? By tightly constrainined the requirements for setup-bootstrap we can have an initial installer that will not get larger and bulkier as we add features to support various packages. Any constraints we put on ourselves will only be applicable to those base packages. Setup.exe then has a known starting point for it's environment. It's also _able_ to expand into things like a) being linked to cygwin to be able to find out it's parent process pid, and from there kill that process to allow replacing bash.exe & cygwin1.dll. Anyway, this is just a conceptual thing. Food for thought :}. Rob