This is the mail archive of the cygwin-apps 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]

cygport: KEEPDIRS not working, doenv and tcsh


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


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