Skip to content

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

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions