This is the mail archive of the 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: grepmail-4.91 - a new package for review

* Wed 2003-06-18 Gerrit Haase <> list.cygwin-apps
* Message-Id: <>
>> -rw-r--r-- root/None       212 2003-06-18 01:00:38 etc/postinstall/
> [...]
>> -rw-r--r-- root/None       265 2003-06-18 01:00:36 usr/lib/perl5/5.8.0/cygwin-multi-64int/perllocal.pod.postinstall_append

This one is part of the logic in my porting tool. In addition Debian
support is also maturing soon.

> Can you explain the technique you used to manage the postinstall task,
> because we need some way to do this in future for separate perl
> modules and programs.  

For perl, the logic goes like this:

    1. Detect if this package is perl (Makefile.PL is there)
    2. Automatically tweak and configure and generate Makefile
    3. Run make install
    4. See if it installed perllocal.pod
       => If it it, move the file to .postinstall_append
       => Write automatic part

> E.g. what happens if the next module comes and
> uses the same perllocal.pod.postinstall_append file?  Shouldn't it be
> entirely included in the postinstall script?

    ... time passes, user installs the package

    1. kicks in, if finds *.postinstall_append
    2. It appends it as instructed
    3. It removes  *.postinstall_append

The temporary .postinstall_append file is no longer there after

> How to get this working without creating the
> perllocal.pod.postinstall_append file manually?

I dind't find any other way to get clean perl package installation,
but at the postinstall phase.


If Cygwin Net installer was able to ran several postinstall scripts,
more features could be added by automatic build tool. Like this:

    if there is directory /etc/postinstall/package/
        chdir to it
        sort postinstall*.sh            (like 01, 02, 03 ...)
        Run each postinstall*.sh file
        run  /etc/postinstall/

With this it would be possible to chain specific postinstall things
automatically. Say Manually made and other scritps
made by automatic postinstall generators for type of package (Perl,
Python, libraries, Debian sources, etc.)


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