[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFS: ustr (updated package)



Bernd Zeimetz <bernd@bzed.de> writes:

> V.ANaclav OvsNmk wrote:
>> Dear mentors,
>> 
>> I am looking for a sponsor for the new version 1.0.2-1
>> of my package "ustr".
>
> I neither checked your package very carefully, nor am I a DD - but here
> are my comments:

 Well I'm not trying to package it, just the upstream, but these look
like upstream issues so...

> - read http://www.debian.org/doc/debian-policy/ch-files.html#s-libraries
> again. On the first look it seems the library is not being build with
> -fPIC everywhere, also the static library (which is part of the -dev
> package) is using -fPIC on some places. You need to clean up after
> building the shared lib and build the static one (or the other way round...)

 Hmm, I doubt Vaclav changed the Makefile and I'm pretty sure that
isn't the case in the upstream Makefile.
 Note that it builds 4 versions of each file by default that look like:

 *-so-dbg.o
 *-so-opt.o
 *-a-dbg.o
 *-a-opt.o

...the first two are put into the shared libraries (and all should be
compiled with -FPIC), and the later two the static libraries.
 If the debian build also does the make check phase, it'll also be
compiling a bunch of stuff like tst_*.o ... which are test cases that
link against the library, and so don't have -fPIC.

> Also the following warning appears pretty often:
> ustr-main.h:859: warning: .FN!map_big_pow2N" is static but declared in
> inline function .FN!ustr_xi__pow2N" which is not static
> ustr-main.h:860: warning: .FN!map_pow2N" is static but declared in inline
> function .FN!ustr_xi__pow2N" which is not static
> ustr-main.h:863: warning: .FN!map_big_pow2N" is static but used in inline
> function .FN!ustr_xi__pow2N" which is not static
> ustr-main.h:865: warning: .FN!map_pow2N" is static but used in inline
> function .FN!ustr_xi__pow2N" which is not static
>
> That sounds fixable.

 That code is basically:

extern inline size_t ustr_xi__pow2(int use_big, unsigned char len)
{
  static const unsigned char map_big_pow2[4] = {2, 4, 8, 16};
  static const unsigned char map_pow2[4] = {0, 1, 2,  4};

...so I'm pretty sure it's correct as is, and the version of GCC
used is giving out false warnings.

-- 
James Antill -- james@and.org
"Please, no.  Let's not pull in a dependency for something as simple as a
string library." -- Kristian H.ANxgsberg <krh@redhat.com>



Reply to: