mirror of
https://git.yoctoproject.org/poky
synced 2026-02-24 10:29:40 +01:00
dnf depends on libsolv, and libsolv does not have and easy way to jusr enable rpmdb support, it either has full rpm or nothing, perhaps it could be improved in libsolv and we can use that but from now we have no other option dnf support only rpm backend and wont work with opkg or dpkg/apt anyway (From OE-Core rev: aa56c5dcdea152bee62bb480ccaae177f6c69b9b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
89 lines
3.2 KiB
BlitzBasic
89 lines
3.2 KiB
BlitzBasic
SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver"
|
|
DESCRIPTION = "Software package manager that installs, updates, and removes \
|
|
packages on RPM-based Linux distributions. It automatically computes \
|
|
dependencies and determines the actions required to install packages."
|
|
LICENSE = "GPLv2"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
|
file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \
|
|
"
|
|
|
|
SRC_URI = "git://github.com/rpm-software-management/dnf.git \
|
|
file://0001-Corretly-install-tmpfiles.d-configuration.patch \
|
|
file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
|
|
file://0005-Do-not-prepend-installroot-to-logdir.patch \
|
|
file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
|
|
file://0030-Run-python-scripts-using-env.patch \
|
|
"
|
|
|
|
SRCREV = "9947306a55271b8b7c9e2b6e3b7d582885b6045d"
|
|
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
|
|
|
|
S = "${WORKDIR}/git"
|
|
|
|
inherit cmake gettext bash-completion distutils3-base systemd
|
|
|
|
DEPENDS += "libdnf librepo libcomps python3-iniparse"
|
|
|
|
# manpages generation requires http://www.sphinx-doc.org/
|
|
EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
|
|
|
|
BBCLASSEXTEND = "native nativesdk"
|
|
|
|
RDEPENDS_${PN} += " \
|
|
python3-core \
|
|
python3-codecs \
|
|
python3-netclient \
|
|
python3-email \
|
|
python3-threading \
|
|
python3-distutils \
|
|
python3-logging \
|
|
python3-fcntl \
|
|
librepo \
|
|
python3-shell \
|
|
libcomps \
|
|
libdnf \
|
|
python3-sqlite3 \
|
|
python3-compression \
|
|
python3-rpm \
|
|
python3-iniparse \
|
|
python3-json \
|
|
python3-curses \
|
|
python3-misc \
|
|
python3-gpg \
|
|
"
|
|
|
|
RDEPENDS_${PN}_class-native = ""
|
|
|
|
RRECOMMENDS_${PN}_class-target += "gnupg"
|
|
|
|
# Create a symlink called 'dnf' as 'make install' does not do it, but
|
|
# .spec file in dnf source tree does (and then Fedora and dnf documentation
|
|
# says that dnf binary is plain 'dnf').
|
|
do_install_append() {
|
|
lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
|
|
lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
|
|
}
|
|
|
|
# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
|
|
do_install_append_class-native() {
|
|
create_wrapper ${D}/${bindir}/dnf \
|
|
RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
|
|
RPM_NO_CHROOT_FOR_SCRIPTS=1
|
|
}
|
|
|
|
do_install_append_class-nativesdk() {
|
|
create_wrapper ${D}/${bindir}/dnf \
|
|
RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
|
|
RPM_NO_CHROOT_FOR_SCRIPTS=1
|
|
}
|
|
|
|
SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
|
|
dnf-automatic.service dnf-automatic.timer \
|
|
dnf-automatic-download.service dnf-automatic-download.timer \
|
|
dnf-automatic-install.service dnf-automatic-install.timer \
|
|
dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
|
|
"
|
|
SYSTEMD_AUTO_ENABLE ?= "disable"
|
|
|
|
PNBLACKLIST[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
|