[xmlsec] NSS changes corresponding to Roumen's changes

Roumen Petrov xmlsec at roumenpetrov.info
Wed Aug 6 02:33:17 PDT 2003

  Hi Aleksey,

Aleksey Sanin wrote:

> Roumen,
> I have some questions about this patch:
>    1) Why do you want to use "includedir" / "libdir" instead of
>    "pkgincludedir" / "pkglibdir"? I don't have a lot of knowledge
>    about pkg-config but the current stuff seems to be working.
>    Why do you want to change this?

Please find attached file pkg.sh,  save it in xmlsec ${top_builddir} and 
run. See output for xmlsec1-nss:
 -L at pkglibdir@ -lxmlsec1-nss -lxmlsec1 -lxslt -lxml2 -lz -lm
No one of scripts configure or config.status contain command to 
substitute @pkglibdir@ and @pkgincludedir at .
Other xmlsec1-*.pc files at moment are not affected, but proprosed patch 
try to fix future problems.

>    2) You have added some variables to xmlSecConf.sh.in
>    but I don't see who these variables are used. Do I miss something?

First configure script was run only with --prefix=/usr option and 
without --XXXdir options (especially without --libdir).

just run  "sh -x xmlsec1Conf.sh" without quotes and check the output:
+ XMLSEC_LIBS=-L/lib -lxmlsec1-openssl ....

No one of scripts configure or config.status contain command to 
substitute @XMLSEC_LIBDIR at .
We have two solutions:
- to define this in configure.{ac|in} as in proposed patch;
- to replease @XMLSEC_LIBDIR@ with @libdir@ in xmlsec1Conf.sh.in.

When xmlsec1Conf.sh.in template contain lines:
output is :
+ XMLSEC_LIBS=-L/usr/lib -lxmlsec1-openssl ....

Now let we comment exec_prefix in template and after "./config.status" 
and "sh -x xmlsec1Conf.sh" output is:
+ XMLSEC_LIBS=-L/lib -lxmlsec1-openssl ....

differece is -L/lib (incorrect) vs -L/usr/lib (from patch).

>    3) I am not sure I understand your comment about coping file.
>    Why do you need to put it in a different place?

Let builddir != srcdir
Command "ln -s $srcdir/Copyright COPYING" will create a link in 
builddir, but  good (default/standard) plase for file COPYING is 

I'm not sure that configure script should create that link.
$ cd /usr/local/src/.work/.builds/xmlsec1-1.1.0
$ /bin/ls -l COPYING
lrwxrwxrwx    .... COPYING -> 

When is necessary COPYING to be created my suggestion is (xmlsec with 
proposed patch):
$ cd /usr/local/src/.work/.sources/xmlsec1-current
$ /bin/ls -l COPYING
lrwxrwxrwx    .... COPYING -> Copyright

File COPYING exist in ${top_srcdir} (check tar archive) and I think that 
COPYING  should be replaced with a symbolic link (when OS support this) 
in same plase.

Proprosed patch contain replacement of "ln -s" with $LN_S. I don't have 
problems and I don't have OS without symbolic link support. In that case 
I cannot fix a bug :-) I can only suggest a enhancement. May be only in 
hypothetic situation when build dir is located in mounted vfat 
partition. In that case we can see difference between ln -s and $LN_S ;-).

> Thanks,
> Aleksey
> P.S. I guess I have these questions because everything works just
> fine on my system and you have some problems on yours :) It would bee

I think that everything works fine too, but suddenly ... :-)
Realy I don't use xmlsecConf.sh and I don't know how to use.
I don't know why to use "pkg-config ... xmlsec1" to get cflags,libs and 
etc. instead of  "xmlsec1-config ..." and my system use OpenSSL not NSS.
My filesystem support symbolic links, i.e. ln -s works fine.

> a good idea to describe these problems in a bug thus the patch would
> fix a bug rather than just do something :)

:-)  treat proposed patch as enhancement which fix potential problems ;-)

> <SNIP>

-------------- next part --------------

export PKG_CONFIG_PATH=`pwd`

PKG_CONFIG="pkg-config --silence-errors"

cat > mozilla-nss.pc <<EOF
Name: mozilla-nss
Version: 1.4
Description: dummy mozilla-nss package

for MODULE in \
  xmlsec1-openssl \
  xmlsec1-gnutls \
  xmlsec1-nss \
; do
  echo "=== ${MODULE} ==="
  ${PKG_CONFIG} --variable=prefix      ${MODULE}
  ${PKG_CONFIG} --variable=exec_prefix ${MODULE}
  ${PKG_CONFIG} --variable=libdir      ${MODULE}
  ${PKG_CONFIG} --variable=includedir  ${MODULE}
  ${PKG_CONFIG} --cflags               ${MODULE}
  ${PKG_CONFIG} --libs                 ${MODULE}

rm -f mozilla-nss.pc

More information about the xmlsec mailing list