[OE-core] [PATCH 07/10] man-db: replace the outdated man implementation

Andre McCurdy armccurdy at gmail.com
Wed Feb 21 20:22:35 UTC 2018


On Mon, Feb 12, 2018 at 3:05 AM, Alexander Kanavin
<alexander.kanavin at linux.intel.com> wrote:
> Until now oe-core has been using a well obsolete implementation of man.
>
> Man-db on the other hand is used by all modern Linux distros, is actively
> maintained, has a standard build system, and does not require 30 patches
> to build.
>
> Signed-off-by: Alexander Kanavin <alexander.kanavin at linux.intel.com>
> ---
>
> diff --git a/meta/recipes-extended/man-db/man-db_2.8.1.bb b/meta/recipes-extended/man-db/man-db_2.8.1.bb
> new file mode 100644
> index 00000000000..4e633acd09e
> --- /dev/null
> +++ b/meta/recipes-extended/man-db/man-db_2.8.1.bb
> @@ -0,0 +1,41 @@
> +SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
> +HOMEPAGE = "http://man-db.nongnu.org/"
> +LICENSE = "LGPLv2.1 & GPLv2"
> +LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
> +                    file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
> +
> +SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz"
> +SRC_URI[md5sum] = "51842978e06686286421f9498d1009b7"
> +SRC_URI[sha256sum] = "a6aec641ca3d9942b054cc0e9c3f05cb46a3a992bc0006795755e2fed1357f3e"
> +
> +DEPENDS = "libpipeline gdbm groff-native less"

less should be a runtime dependency, not build time.

> +# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
> +USE_NLS_libc-musl = "no"
> +
> +inherit gettext pkgconfig autotools
> +
> +EXTRA_OECONF = "--with-pager=less --disable-cache-owner"
> +
> +do_install_append_libc-musl() {
> +        rm -f ${D}${libdir}/charset.alias
> +}
> +
> +FILES_${PN} += "${libdir}/tmpfiles.d"
> +
> +FILES_${PN}-dev += "${libdir}/${PN}/libman.so ${libdir}/${PN}/libmandb.so"
> +
> +RPROVIDES_${PN} += " man"
> +
> +def compress_pkg(d):
> +    if "compress_doc" in (d.getVar("INHERIT") or "").split():
> +         compress = d.getVar("DOC_COMPRESS")
> +         if compress == "gz":
> +             return "gzip"
> +         elif compress == "bz2":
> +             return "bzip2"
> +         elif compress == "xz":
> +             return "xz"
> +    return ""
> +
> +RDEPENDS_${PN} += "${@compress_pkg(d)}"



More information about the Openembedded-core mailing list