reopen 736498
thanks
On Sun, Jan 26, 2014 at 09:37:36PM +0100, Markus Koschany wrote:
> Hi Jose!
>
> (I'm not subscribed to this bug report, please CC me or use
> [email protected])
>
> > Before
> > split and conversion to format version 3 the source didn't build the
> > simple test suite (dh_auto_test) as it does now. Moreover, it never
> > built successfully on s390x and hurd-i386[0].
>
> The reason why Osmo can't migrate to testing is that libgringotts2 built
> successfully in src:gringotts for all architectures before the package
> split. Now the system assumes that the new package introduces a
> regression and blocks all reverse dependencies from reentering testing.
>
> In my opinion the best way forward is to contact the developers of
> libgringotts and fix the test suite upstream.
>
> You can also choose to revert your change to enable the test suite or
> you can choose to disable it only on s390x.
>
> Something like that in debian/rules:
>
> DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
>
> override_dh_auto_test:
> ifneq (s390x,$(DEB_HOST_ARCH))
> dh_auto_test
> endif
>
> You might possibly want to contact your sponsor and ask him, if he can
> test your patch/fixes on a s390x porter box.
>
> I would probably disable the test suite on s390x, if that's the only
> reason for the current FTBFS, upload a new and fixed revision and close
> this bug report. Then I would open a new bug report with a lower
> severity and look into the issue again and try to fix it permanently.
>
> As far as we know there were never complains about libgringotts on s390x
> thus I think just disabling the suite on s390x should suffice for the
> moment.
The problem reported by the testsuite is real, and ignoring it means
that bzip2 compression support is broken on s390x (and other 64-bit
big-endian architectures).
The problem is that some pointers are casted from long to unsigned int,
while they do not have the same size. The patch below fixes that using
a temporary variable as the pointer. There might be better solutions
like changing the variable type, but I leave that for the upstream.
--- libgringotts-1.2.1.orig/src/libgrg_crypt.c
+++ libgringotts-1.2.1/src/libgrg_crypt.c
@@ -347,10 +347,14 @@ decrypt_mem (const GRG_CTX gctx, const G
}
if (gctx->comp_algo) //bz2
+ {
+ unsigned int uint_oDim = oDim;
err = BZ2_bzBuffToBuffDecompress ((unsigned char *)
- tmpData, (unsigned
int *) &oDim,
+ tmpData, &uint_oDim,
(unsigned char *)
curdata, curlen,
USE_BZ2_SMALL_MEM, 0);
+ oDim = uint_oDim;
+ }
else //zlib
err = uncompress (tmpData, &oDim, curdata, curlen);
@@ -411,13 +415,16 @@ grg_encrypt_mem (const GRG_CTX gctx, con
//compress the data
if (gctx->comp_algo) //bz2
+ {
+ unsigned int uint_compDim = &compDim;
err = BZ2_bzBuffToBuffCompress (compData,
- (unsigned int *)
- &compDim,
+ &uint_compDim,
(unsigned char *)
origData, uncDim,
gctx->comp_lvl * 3, 0,
0);
+ compDim = uint_compDim;
+ }
else
err = compress2 (compData, &compDim, origData, uncDim,
gctx->comp_lvl * 3);
--
Aurelien Jarno GPG: 1024D/F1BCDB73
[email protected] http://www.aurel32.net
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]