yocto открыть встроенный рецепт, используя host perl install - PullRequest
0 голосов
/ 14 декабря 2018

Я нахожусь на yocto (версия morty), и я вижу проблему с рецептом, который я пытаюсь создать для heimdal (https://github.com/heimdal/heimdal).) Во время конфигурирования он завершается использованием установки perl на хосте, а независимость от сборки perl. Так что она будет работать на любой машине, на которой есть perl и установленные модули, но я не думаю, что именно так должен работать yocto (поправьте меня, если я ошибаюсь).

MyВозможно, это ошибка в файле configure.ac Хеймдаля или ошибка с автоинструментами. Я не очень разбираюсь в автоинструментах, задавался вопросом, может ли кто-нибудь это подтвердить? Вот прямая ссылка на их файл configure.ac

https://github.com/heimdal/heimdal/blob/master/configure.ac

Конечно, это также может быть ошибкой и в моем рецепте:

SUMMARY = "A Kerberos 6 Implementation"

SRC_URI = "\
  git://github.com/heimdal/heimdal.git;protocol=https;branch=master \
"
SRCREV = "e21866f7a29ab9d0fcf69efddaec6f758faf7494"
LICENSE = "BSD-3-Clause"
S = "${WORKDIR}/git"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2580e0b4d85feafcd5c339f5be3c8229"

DEPENDS = "perl json-perl"

inherit autotools

PACKAGECONFIG = "pk-init mmap"

# Features
PACKAGECONFIG[afs-support] = "--enable-afs-support,--disable-afs-support"
PACKAGECONFIG[kcm] = "--enable-kcm,--disable-kcm"
PACKAGECONFIG[otp] = "--enable-otp,--disable-otp"
PACKAGECONFIG[pk-init] = "--enable-pk-init,--disable-pk-init"
PACKAGECONFIG[heimdal-documentation] = "--enable-heimdal-documentation,--disable-heimdal-documentation"
PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
PACKAGECONFIG[sqlist-cache] = "--enable-sqlist-cache,--disable-sqlist-cache"
PACKAGECONFIG[ndmb-db] = "--enable-ndmb-db,--disable-ndmb-db"
PACKAGECONFIG[mdb-db] = "--enable-mdb-db,--disable-mdb-db"
PACKAGECONFIG[osfc2] = "--enable-osfc2,--disable-osfc2"

# Packages
PACKAGECONFIG[berkley-db] = "--with-berkley-db,--without-berkley-db"
PACKAGECONFIG[ipv6] = "--with-ipv6,--without-ipv6"

Также я использую рецепт perl с открытыми внедренными версиями по умолчанию, и этотJSON-Perl рецепт:

DESCRIPTION = "This module is a thin wrapper for JSON::XS-compatible modules with a few \
additional features. All the backend modules convert a Perl data structure \
to a JSON text as of RFC4627 (which we know is obsolete but we still stick \
to; see below for an option to support part of RFC7159) and vice versa. \
This module uses JSON::XS by default, and when JSON::XS is not available, \
this module falls back on JSON::PP, which is in the Perl core since 5.14. \
If JSON::PP is not available either, this module then falls back on \
JSON::backportPP (which is actually JSON::PP in a different .pm file) \
bundled in the same distribution as this module. You can also explicitly \
specify to use Cpanel::JSON::XS, a fork of JSON::XS by Reini Urban."

SECTION = "libs"
LICENSE = "Artisticv1 | GPLv1+"
PR = "r0"

MAINTAINER= "Poky <poky@yoctoproject.org>"
HOMEPAGE=   "https://metacpan.org/release/JSON"

LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \
file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d"

SRC_URI = "https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/JSON-2.97001.tar.gz"

SRC_URI[md5sum] = "693d6ff167496362f8ec6c3c5b8ba5ee"
SRC_URI[sha256sum] = "e277d9385633574923f48c297e1b8acad3170c69fa590e31fa466040fc6f8f5a"

S = "${WORKDIR}/JSON-${PV}"

inherit cpan allarch

BBCLASSEXTEND = "native"

1 Ответ

0 голосов
/ 16 декабря 2018

Perl, используя nativeperl в качестве бинарного файла perl, так что, я думаю, вам следует пропатчить проекты configure.ac , чтобы изменить значение переменной PERL с помощью AC_PATH_PROG, отметьте this

Также вам необходимо иметь

inherit perlnative 
...