This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
cygport: KEEPDIRS not working, doenv and tcsh
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-apps at cygwin dot com
- Date: Sat, 28 Apr 2012 11:44:14 +0200
- Subject: cygport: KEEPDIRS not working, doenv and tcsh
- Reply-to: cygwin-apps at cygwin dot com
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