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


* Wed 2003-06-18 Gerrit Haase <gp@familiehaase.de> list.cygwin-apps
* Message-Id: <114245699156.20030618075226@familiehaase.de>
>
>> -rw-r--r-- root/None       212 2003-06-18 01:00:38 etc/postinstall/grepmail.sh
> [...]
>> -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.

http://tierra.dyndns.org:81/cygwin/cygbuild/

> 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 postinstall.sh 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. postinstall.sh 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
postinstall.

> 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.

SUGGESTION TO INSTALL PROCEDURE - Many postinstall.sh files

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/
    then
        chdir to it
        sort postinstall*.sh            (like 01, 02, 03 ...)
        Run each postinstall*.sh file
    else
        run  /etc/postinstall/package.sh

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

Jari


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