Re: Minor issues in mpfr and mpc
- From: "Patrick 'P. J.' McDermott" <pjm АТ nac DОТ net>
- To: Warren McDonald <wmickeyd АТ gmail DОТ com>
- Cc: proteanos-dev АТ lists DОТ proteanos DОТ com
- Date: Tue, 11 Mar 2014 17:17:25 -0400
- Message-id: <531F7D65 DОТ 7020806 АТ nac DОТ net>
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