opensaml2, pkg-config on wheezy and PKG_CHECK_VAR macro

Etienne Dysli-Metref etienne.dysli-metref at switch.ch
Wed Oct 19 11:37:52 UTC 2016


On 19/10/16 10:21, Ferenc Wágner wrote:
>> That seems the easiest and fastest solution and would save a bunch a
>> patching/reverting.
> 
> Yes, provided it actually works.  Its serial seems neglected, and I'm
> unsure about its compatibility with older pkg-config binaries.  Also,
> just copying it into m4/ may not work, because the system copy in
> /usr/share/aclocal takes precedence.  So it may be safer to just copy
> the missing macro definitions (PKG_INSTALLDIR and PKG_CHECK_VAR) into
> m4/pkg-new.m4 or similar.

I tried this with a patch that adds m4/pkg.m4 containing a copy of my
local /usr/share/aclocal/pkg.m4 (from pkg-config 0.29.1-0ubuntu1, ugly
but that's just to try) and it worked. :) I'll try again taking from
jessie's pkg-config and trimming it down to the two missing macros.

> We could ask its maintainer (Tollef Fog Heen) for one.  But let's try to
> find an upstreamable option first.

ok

> No, but they look like data/binding/ExampleMetadataProvider.xml or
> example-metadata.xml is not found or empty.  Maybe they are being looked
> for on the wrong path.  You might try strace -eopen to find out.

Good catch! Some test data files have wrong paths:

Running 311 tests
strace: Process 14756 attached
[pid 14731] open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK) =
3</var/cache/pbuilder/build/cow.24455/dev/urandom>
........
[pid 14731] open("../../../samltest/data/signature/SAML2Assertion.xml",
O_RDONLY) = -1 ENOENT (No such file or directory)
1476866789 ERROR XMLTooling.ParserPool : fatal error on line 1, column
1, message: invalid document structure
In EncryptedAssertionTest::testEncryptedAssertion:
encryption/EncryptedAssertionTest.h:66: Error: Test failed: XML error(s)
during parsing, check log for specifics
encryption/EncryptedAssertionTest.h:66: Error: Test failed: Exception
thrown from setUp()
encryption/EncryptedAssertionTest.h:66: Error: Expected
(suite()->setUp(); ok=true) not to throw, but it did

and so on for a few other files:

[pid 14731] open("../../../samltest/data/signature/SAML1Assertion.xml",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 14731] open("../../../samltest/data/signature/SAML1Request.xml",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 14731] open("../../../samltest/data/signature/SAML1Response.xml",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 14731] open("../../../samltest/data/signature/SAML2Assertion.xml",
O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 14731]
open("../../../samltest/data/security/XMLMetadataProvider.xml",
O_RDONLY) = -1 ENOENT (No such file or directory)

In seems you've already tried to fix this (in
Derive-correct-test-data-paths-from-srcdir.patch), but it's as if the
environment variable SAMLTEST_DATA wasn't set for me under wheezy...

AM_TESTS_ENVIRONMENT = export SAMLTEST_DATA=$(srcdir)/data;

If I change data_path directly in samltest.h, the tests run fine.

diff --git a/samltest/samltest.h b/samltest/samltest.h
index 70f05c5..687e2f0 100644
--- a/samltest/samltest.h
+++ b/samltest/samltest.h
@@ -30,7 +30,7 @@ using namespace opensaml;

 //#define SAML_LEAKCHECK

-std::string data_path = "../../../samltest/data/";
+std::string data_path = "../samltest/data/";

 class SAMLFixture : public CxxTest::GlobalFixture
 {

Unless it's wrong to fix it this way, I'll introduce a patch like above.

  Etienne

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-shibboleth-devel/attachments/20161019/c9d7a64e/attachment-0001.sig>


More information about the Pkg-shibboleth-devel mailing list