Skip to content

tarball: building without pandoc fails after make clean; configure #284

@barsnick

Description

@barsnick

When using the source tarball, and building without pandoc, builds fail after make clean with a subsequent re-configure.

This is what happens when building multiple times in a Yocto workspace, e.g. using this recipe in the meta-security layer:
https://git.yoctoproject.org/meta-security/tree/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb?h=kirkstone&id=353078bc06c8b471736daab6ed193e30d533d1f1

When re-using the workspace, Yocto will issue a make clean before running autoreconf, ./configure and compiling.

Since the tarball includes the pre-processed man pages under man/man{1,3}/, and make clean erases the man page files (but not the directory), the subsequent ./configure picks up HAVE_MAN_PAGES:

AM_CONDITIONAL([HAVE_MAN_PAGES],[test -d "${srcdir}/man/man1" -o -n "$PANDOC"])

and tries to build them, even when pandoc is not available. This results in a build failure:

  GEN      man/man1/tpm2tss-genkey.1
/bin/sh: line 1: -s: command not found

from this Makefile line:

tpm2-tss-engine/Makefile.am

Lines 205 to 206 in 766505b

man/man1/%.1: man/%.1.md
$(AM_V_GEN)mkdir -p man/man1 && cat $< | $(PANDOC) -s -t man >$@

The question is whether the pre-processed man pages just should not be deleted if they cannot be built, or whether the HAVE_MAN_PAGES condition should be determined differently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions