dnf_4.2.2.bb 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver"
  2. DESCRIPTION = "Software package manager that installs, updates, and removes \
  3. packages on RPM-based Linux distributions. It automatically computes \
  4. dependencies and determines the actions required to install packages."
  5. LICENSE = "GPLv2"
  6. LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
  7. file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \
  8. "
  9. SRC_URI = "git://github.com/rpm-software-management/dnf.git \
  10. file://0001-Corretly-install-tmpfiles.d-configuration.patch \
  11. file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
  12. file://0005-Do-not-prepend-installroot-to-logdir.patch \
  13. file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
  14. file://0030-Run-python-scripts-using-env.patch \
  15. "
  16. SRCREV = "9947306a55271b8b7c9e2b6e3b7d582885b6045d"
  17. UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
  18. S = "${WORKDIR}/git"
  19. inherit cmake gettext bash-completion distutils3-base systemd
  20. DEPENDS += "libdnf librepo libcomps python3-iniparse"
  21. # manpages generation requires http://www.sphinx-doc.org/
  22. EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
  23. BBCLASSEXTEND = "native nativesdk"
  24. RDEPENDS_${PN} += " \
  25. python3-core \
  26. python3-codecs \
  27. python3-netclient \
  28. python3-email \
  29. python3-threading \
  30. python3-distutils \
  31. python3-logging \
  32. python3-fcntl \
  33. librepo \
  34. python3-shell \
  35. libcomps \
  36. libdnf \
  37. python3-sqlite3 \
  38. python3-compression \
  39. python3-rpm \
  40. python3-iniparse \
  41. python3-json \
  42. python3-curses \
  43. python3-misc \
  44. python3-gpg \
  45. "
  46. RDEPENDS_${PN}_class-native = ""
  47. RRECOMMENDS_${PN}_class-target += "gnupg"
  48. # Create a symlink called 'dnf' as 'make install' does not do it, but
  49. # .spec file in dnf source tree does (and then Fedora and dnf documentation
  50. # says that dnf binary is plain 'dnf').
  51. do_install_append() {
  52. lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
  53. lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
  54. }
  55. # Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
  56. do_install_append_class-native() {
  57. create_wrapper ${D}/${bindir}/dnf \
  58. RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
  59. RPM_NO_CHROOT_FOR_SCRIPTS=1
  60. }
  61. do_install_append_class-nativesdk() {
  62. create_wrapper ${D}/${bindir}/dnf \
  63. RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \
  64. RPM_NO_CHROOT_FOR_SCRIPTS=1
  65. }
  66. SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
  67. dnf-automatic.service dnf-automatic.timer \
  68. dnf-automatic-download.service dnf-automatic-download.timer \
  69. dnf-automatic-install.service dnf-automatic-install.timer \
  70. dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
  71. "
  72. SYSTEMD_AUTO_ENABLE ?= "disable"