This is the mail archive of the
mailing list for the Cygwin project.
Re: grepmail-4.91 - a new package for review
* Wed 2003-06-18 Gerrit Haase <email@example.com> list.cygwin-apps
* Message-Id: <firstname.lastname@example.org>
>> -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.
> 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
> 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/
chdir to it
sort postinstall*.sh (like 01, 02, 03 ...)
Run each postinstall*.sh file
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.)