Re: Minor issues in mpfr and mpc

Warren,

On 2013-10-15 21:25, Patrick 'P. J.' McDermott wrote:
> Hi Warren,
> 
> Following are a few minor issues I've found in the mpfr and mpc source
> packages.
> 
> Let me know (and send me a public SSH key) if you want Git repositories
> for these packages.  Otherwise, feel free to send me (off-list) updated
> source .opk files (generated with `opkbuild -S`) for me to upload to the
> temporary packages area of the files site [1][2].
> 
> [1]: http://files.proteanos.com/pub/pkg/
> [2]: ftp://files.proteanos.com/pub/pkg/
> 
> Build dependencies
> ------------------
> 
> The mpfr source package needs to build-depend on libgmp-dev (the
> upstream build system and source code try to find and include the header
> file that libgmp-dev provides).
> 
> Similarly, mpc needs to build-depend on libmpfr-dev and libgmp-dev.
> 
> Run-time dependencies
> ---------------------
> 
> The libmpfr.4 binary package needs to depend on libgmp.10, as noted in
> the library's DT_NEEDED entries:
> 
>     $ readelf -d tmp/dest/usr/lib/core-linux-eglibc/libmpfr.so.4.1.1 | grep -F NEEDED
>      0x0000000000000001 (NEEDED)             Shared library: [libgmp.so.10]
>      0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>      0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]
> 
> Similarly, libmpc.3 should needs to on libmpfr.4 and libgmp.10:
> 
>     $ readelf -d tmp/libmpc.3.data/usr/lib/core-linux-eglibc/libmpc.so.3.0.0 | grep -F NEEDED
>      0x0000000000000001 (NEEDED)             Shared library: [libmpfr.so.4]
>      0x0000000000000001 (NEEDED)             Shared library: [libgmp.so.10]
>      0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
>      0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> 
> Installed files
> ---------------
> 
> libmpfr-dev.pkg/files refers to /usr/lib/*/pkgconfig, but this doesn't
> match any files and isn't needed.  Similarly, libmpc-doc.pkg/files
> mentions /usr/share/man/man1, but this doesn't match any files.
> (Including these patterns doesn't cause any problems; they just has no
> effect.)
> 
> Likewise for libmpc-dev.pkg/files and libmpc-doc.pkg/files.
> 
> oh-installfiles warns that the file /usr/share/info/mpfr.info isn't
> installed into any package.  It should be provided by libmpfr-doc (which
> currently provides no files):
> 
>     $ opkbuild -b -c -T install
>     [...]
>     oh-installfiles
>     oh-installfiles: Installing files for package "libmpfr-dev"...
>     oh-installfiles: Installing files for package "libmpfr-doc"...
>     oh-installfiles: Installing files for package "libmpfr.4"...
>     oh-installfiles: Warning: Some files have not been installed into packages
>     $ find tmp/dest -type f -a -exec ls -Fd '{}' ';' | sed 's|^tmp/[^/]*||'
>     /usr/share/info/mpfr.info
>     /usr/share/info/dir
>     $ find tmp/libmpfr-doc.data -type f -a -exec ls -Fd '{}' ';' | sed 's|^tmp/[^/]*||'
>     [no output]
> 
> Likewise for /usr/share/info/mpc.info and libmpc-doc.
> 
> In both cases, /usr/share/info/dir should be removed.  See other
> packages for examples [3][4].
> 
> [3]: http://git.proteanos.com/pkg/libunistring.git/tree/build
> [4]: http://git.proteanos.com/pkg/m4.git/tree/build

I committed and pushed fixes for these and some other issues to the Git
repositories:

    http://git.proteanos.com/pkg/mpfr.git/commit/?id=e34f56d
    http://git.proteanos.com/pkg/mpc.git/commit/?id=f02584a

> Control fields
> --------------
> 
> mpfr has a substvars that consists only of two newline characters,
> defining no substitution variables.  ob-gencontrol and ob-genchanges
> warn about this:
> 
>     $ opkbuild -b -c
>     [...]
>     ob-gencontrol: Warning: /home/pj/distro/pkg/warren/mpfr_3.1.1-1/substvars(l1): empty line
>     ob-gencontrol: Warning: /home/pj/distro/pkg/warren/mpfr_3.1.1-1/substvars(l1): empty line
>     ob-gencontrol: Warning: /home/pj/distro/pkg/warren/mpfr_3.1.1-1/substvars(l1): empty line
>     ob-genchanges: Generating "mpfr_3.1.1-1_core-linux-eglibc_dev.changes"...
>     ob-genchanges: Warning: /home/pj/distro/pkg/warren/mpfr_3.1.1-1/substvars(l1): empty line
>     ob-genchanges: Warning: /home/pj/distro/pkg/warren/mpfr_3.1.1-1/substvars(l1): empty line
>     ob-genchanges: Warning: /home/pj/distro/pkg/warren/mpfr_3.1.1-1/substvars(l1): empty line
> 
> Also, the extended descriptions of mpfr's binary packages are empty (the
> Description fields in *.pkg/control have only the one-line summary).
> There should be at least a short paragraph or so here to describe the
> packages.
> 
> I suppose you meant to define a substitution variable like
> Common-Description and use it in *.pkg/control (as you did in mpc).
> 
> New upstream versions
> ---------------------
> 
> There is a new upstream version (3.1.2) of MPFR available [5]; you may
> want to update the ProteanOS package.  In particular, this release fixes
> a possible security vulnerability in the tar archive [6][7].
> 
> [5]: http://www.mpfr.org/mpfr-current/
> [6]: http://www.mpfr.org/mpfr-current/#changes
> [7]: https://lists.gnu.org/archive/html/automake/2012-07/msg00023.html

-- 
Patrick "P. J." McDermott
http://www.pehjota.net/
http://www.pehjota.net/contact.html