This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: new setup md5 check


> Gerrit P. Haase wrote:
> > Hallo,
> >
> > why is the MD5 check performed every time?
>
> A good question.
>
> > Because in the five minutes from now on, my packages
> > may be corrupted?
> >
> > How can I get rid of it?
>
> There is a command line option to disable: -5
>
But what about starting setup directly from http://www.cygwin.com/setup.exe or
refering through a link from another website like the kde-cygwin project does ?
This does not work.

There may be a possibility (1) to use an url like
http://www.cygwin.com/setup.exe?option=... but this require, that some cgi or
other server based scripting language does some tricks in choosing different
setup.exe's online or patching the delivered delivered setup.exe online. A
simpler way (2) would be using different setup.exe's with prefined options[1]
like http://www.cygwin.com/setup-5.exe or
http://www.cygwin.com/setup-<other_option>.exe but this require patched
setup.exe versions on the server.

In the last week I had send a prelimary patch to Robert Collins privat for
checking if this is usable , which allow exactly [1], but until now I haven't
heard anything about the useness of this.
Anyway, I have added this patch to this mail. Perhaps someone find is useful. A
short howto (for details see the appended mail):

	1. export the configuration from setup.exe
		./setup-config.exe -r setup.exe >setup.config

	2. edit the configuration file
		Example:

		CustomConfig (Structure version: 2) {
			mirror_url=http://xyz/mirrors.lst
			root_dir=\test
			show_splash_screen=0
			show_chooser_screen=0
			....
		}

	3a. import the configuration into setup.exe
		./setup-config.exe -w setup.exe <setup.config

or

	3a. create a different setup.exe with this configuration
		cp setup.exe setup-<option>.exe
		./setup-config.exe -w setup-<option>.exe <setup.config

Cheers
Ralf

--- Begin Message ---
Hi Robert,

for a special use of the cygwin setup tool, there is the need for several
project related customized setup.exe.

Some examples for this are the default 'root_dir', the default location of the
mirrors.lst files and some unwanted setting pages like the splash screen,
network setting page and so one. I does not like to recompile the setup.exe
every time the configuration is changed, so I've implemented a feature called
"custom configuration", which allows patching a already compiled setup.exe to
customized some major settings.

I'm sending this proposal to you personal before sending it to the cygwin
mailing list because I like to hear, if such a feature would be nice or not.
I would be glad to hear your comments and suggestions. Some notes of the
implementation are mentioned below.

Thanks

Ralf

from customconfig.h
" setup customisation support allows generating a partially customized version
of
  setup.exe through a special helper application named 'setup-config.exe', which
  reads the activated customizable parameters or patches the setup.exe binary to
  change the customizable parameters.

  Customizable parameters could be added to an application through the
  CUSTOM_CONFIG_PARAMS(instance_name) macro, which defines an object named
  'instance_name' of the  CustomConfigParams structure.

	Refering to customizable settings is done by referening the object members of
global object.
	For example:

	#ifdef CUSTOM_CONFIG_SUPPORT
     	extern CustomConfigParams ccParams;
			set_root_dir (String (windir) + ccParams.root_dir);
	#else
      set_root_dir (String (windir) + "\\cygwin");
	#endif


	Adding additional parameters is done by adding/patching some lines to the file
'customconfig.h'.

	1. Add a member to the 'CustomConfigParams' structure
	2. Add a default value to the 'CUSTOM_CONFIG_PARAMS' macro
	3. Add a printing statement to the 'CUSTOM_CONFIG_PRINT_ITEMS' macro
	4. Add a parsing statement to the 'CUSTOM_CONFIG_SCAN_ITEMS' macro
	5. Increment the value of the CCP_VERSION macro to reflect the structure
changes
	6. Recompile setup.exe and setup-config.exe

	configuring setup.exe
	=====================
	Configuring setup.exe is done via the helper tool setup-config.exe.

	1. export the configuration from setup.exe
		./setup-config.exe -r >setup.config

	2. edit the configuration file
		Example:

		CustomConfig (Structure version: 2) {
			mirror_url=http://w2kserver01/fm
			root_dir=\test
			show_splash_screen=0
			show_chooser_screen=0
		}

	3. import the configuration into setup.exe
		./setup-config.exe -w <setup.config

Attachment: patch_custom_config.dif
Description: Binary data


--- End Message ---
--
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/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]