mirror of
https://git.yoctoproject.org/poky
synced 2026-02-25 19:09:41 +01:00
Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX
is set to match S from bitbake.conf (which itself is set to match typical tarball
releases).
A few recipes are setting S to a sub-directory of the git tree and need
to be adjusted accordingly.
bzip2 recipe is fetching a tarball and separately cloning tests;
adjust the recipe to put the latter into 'bzip2-tests', instead of 'git'.
devupstream.bbclass no longer needs to rewrite S, and is adjusted accordingly.
Adjust scripts/lib/recipetool/append.py to not hardcode 'git' as unpack
destination.
Adjust kernel-yocto.bbclass to use the git unpack variable instead
of hardcoding 'git' (there's also removal of repetition of
string constants and a correction of workdir/unpackdir mismatch in
one of the if-else branches).
Ensure build-appliance-image recipe does not use 'git' as checkout directory for
poky repo, but rather explicitly name it 'poky'.
Ensure reproducible.py code that looks for git repositories does not
hardcode 'git' but uses the destination set by BB_GIT_DEFAULT_DESTSUFFIX.
Ensure recipetool does not write out unneeded S settings into newly
created recipes that fetch from git.
Adjust selftest to not hardcode 'git' as unpack directory.
(From OE-Core rev: f80c07019ddadaf9c5fb890faabfda7920ecd15e)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
79 lines
3.2 KiB
BlitzBasic
79 lines
3.2 KiB
BlitzBasic
SUMMARY = "Helper tool used when compiling"
|
|
DESCRIPTION = "pkg-config is a helper tool used when compiling applications and libraries. It helps determined \
|
|
the correct compiler/link options. It is also language-agnostic."
|
|
HOMEPAGE = "http://pkg-config.freedesktop.org/wiki/"
|
|
BUGTRACKER = "http://bugs.freedesktop.org/buglist.cgi?product=pkg-config"
|
|
SECTION = "console/utils"
|
|
|
|
LICENSE = "GPL-2.0-or-later"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
|
|
|
SRCREV = "d97db4fae4c1cd099b506970b285dc2afd818ea2"
|
|
PV = "0.29.2+git"
|
|
|
|
SRC_URI = "git://gitlab.freedesktop.org/pkg-config/pkg-config.git;branch=master;protocol=https \
|
|
file://pkg-config-esdk.in \
|
|
file://pkg-config-native.in \
|
|
file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \
|
|
file://0001-Do-not-use-bool-as-a-field-name.patch \
|
|
"
|
|
|
|
|
|
inherit autotools
|
|
|
|
# Because of a faulty test, the current auto mode always evaluates to no,
|
|
# so just continue that behaviour.
|
|
#
|
|
EXTRA_OECONF += "--disable-indirect-deps"
|
|
|
|
PACKAGECONFIG ??= "glib"
|
|
PACKAGECONFIG:class-native = ""
|
|
|
|
PACKAGECONFIG[glib] = "--without-internal-glib,--with-internal-glib,glib-2.0 pkgconfig-native"
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|
|
|
|
# Set an empty dev package to ensure the base PN package gets
|
|
# the pkg.m4 macros, pkgconfig does not deliver any other -dev
|
|
# files.
|
|
FILES:${PN}-dev = ""
|
|
FILES:${PN} += "${datadir}/aclocal/pkg.m4"
|
|
|
|
# When using the RPM generated automatic package dependencies, some packages
|
|
# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by
|
|
# specifying an appropriate provide.
|
|
RPROVIDES:${PN} += "pkgconfig(pkg-config)"
|
|
|
|
do_install:append:class-native () {
|
|
# Install a pkg-config-native wrapper that will use the native sysroot instead
|
|
# of the MACHINE sysroot, for using pkg-config when building native tools.
|
|
sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
|
|
-e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
|
|
< ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native
|
|
install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
|
|
sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
|
|
-e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
|
|
< ${UNPACKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk
|
|
install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
|
|
}
|
|
|
|
do_install:append:class-nativesdk () {
|
|
# Install a pkg-config-native wrapper that will use the native sysroot instead
|
|
# of the MACHINE sysroot, for using pkg-config when building native tools.
|
|
sed -e "s|@PATH_NATIVE@|\$OECORE_NATIVE_SYSROOT|" \
|
|
-e "s|@LIBDIR_NATIVE@|\$OECORE_NATIVE_SYSROOT/usr/lib/pkgconfig|" \
|
|
< ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native
|
|
install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
|
|
}
|
|
|
|
pkgconfig_sstate_fixup_esdk () {
|
|
if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
|
|
pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
|
|
mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
|
|
ln -rs $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
|
|
sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
|
|
fi
|
|
}
|
|
|
|
SSTATEPOSTUNPACKFUNCS:append:class-native = " pkgconfig_sstate_fixup_esdk"
|