cygport: KEEPDIRS not working, doenv and tcsh
Corinna Vinschen
corinna-cygwin@cygwin.com
Sat Apr 28 09:44:00 GMT 2012
Hi Yaakov,
I'm just converting the OpenSSL package to cygport packaging. I
stumbled over two problems using cygport 0.10.10-1:
- Neither keepdir nor KEEPDIRS seem to do their job.
The OpenSSL package installs two empty dirs which are supposed to
be kept in the tar archive. So I tried
src_install() {
[...]
keepdir usr/ssl/certs
keepdir usr/ssl/private
}
as well as on the top level:
KEEPDIRS="usr/ssl/certs usr/ssl/private"
but to no avail:
cygport openssl-1.0.1b-1.cygport install
[...]
*** Info: Removing empty directory: /usr/ssl/certs
*** Info: Removing empty directory: /usr/ssl/private
Is there something else I have to do?
- Another problem I found is the way the `doenv' command works.
I like the idea, but it's not working well for tcsh scripts.
Assuming I want to extend the MANPATH variable, as for OpenSSL:
doenv MANPATH '${MANPATH}:/usr/ssl/man'
The result for tcsh looks like this:
setenv MANPATH "${MANPATH}:/usr/ssl/man"
The problem is this. If the MANPATH variable is not set at the time,
tcsh will choke on it:
$ setenv MANPATH "${MANPATH}:/usr/ssl/man"
MANPATH: Undefined variable.
A more generic solution, which takes potential self-referencing into
account should first set the variable to an empty string if it doesn't
exist:
if ( $?MANPATH ) setenv MANPATH ""
setenv MANPATH "${MANPATH}:/usr/ssl/man"
Thanks,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
More information about the Cygwin-apps
mailing list