summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2017-03-16 15:19:07 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-17 16:53:04 +0000
commitaa66e8782ed9b869480e4a1aac12923dfee10368 (patch)
tree0cd0175b6b3e6ddef847f42ec69b07baa7eea054
parentfd04d165684963b066333e1ac442e92584a534b7 (diff)
downloadpoky-aa66e8782ed9b869480e4a1aac12923dfee10368.tar.gz
dnf: add /usr/bin/dnf symlink that points to /usr/bin/dnf-2
All documentation refers to dnf binary as 'dnf' yet make install does not create one - it's done by Fedora's spec file when building the rpm. Let's replicate this behavior. (From OE-Core rev: 456c4a8ffc9a292d7a3e036d92baf4a8f14d1f45) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oe/package_manager.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/dnf.py2
-rw-r--r--meta/recipes-devtools/dnf/dnf_git.bb10
3 files changed, 11 insertions, 3 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index eeb4c76071..ae6849bce3 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -677,7 +677,7 @@ class RpmPM(PackageManager):
677 def _invoke_dnf(self, dnf_args, fatal = True, print_output = True ): 677 def _invoke_dnf(self, dnf_args, fatal = True, print_output = True ):
678 os.environ['RPM_ETCCONFIGDIR'] = self.target_rootfs 678 os.environ['RPM_ETCCONFIGDIR'] = self.target_rootfs
679 679
680 dnf_cmd = bb.utils.which(os.getenv('PATH'), "dnf-2") 680 dnf_cmd = bb.utils.which(os.getenv('PATH'), "dnf")
681 standard_dnf_args = (["-v", "--rpmverbosity=debug"] if self.d.getVar('ROOTFS_RPM_DEBUG') else []) + ["-y", 681 standard_dnf_args = (["-v", "--rpmverbosity=debug"] if self.d.getVar('ROOTFS_RPM_DEBUG') else []) + ["-y",
682 "-c", oe.path.join(self.target_rootfs, "etc/dnf/dnf.conf"), 682 "-c", oe.path.join(self.target_rootfs, "etc/dnf/dnf.conf"),
683 "--setopt=reposdir=%s" %(oe.path.join(self.target_rootfs, "etc/yum.repos.d")), 683 "--setopt=reposdir=%s" %(oe.path.join(self.target_rootfs, "etc/yum.repos.d")),
diff --git a/meta/lib/oeqa/runtime/cases/dnf.py b/meta/lib/oeqa/runtime/cases/dnf.py
index 77e7eb9450..59a263dc63 100644
--- a/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/meta/lib/oeqa/runtime/cases/dnf.py
@@ -12,7 +12,7 @@ from oeqa.runtime.decorator.package import OEHasPackage
12class DnfTest(OERuntimeTestCase): 12class DnfTest(OERuntimeTestCase):
13 13
14 def dnf(self, command, expected = 0): 14 def dnf(self, command, expected = 0):
15 command = 'dnf-2 %s' % command 15 command = 'dnf %s' % command
16 status, output = self.target.run(command, 1500) 16 status, output = self.target.run(command, 1500)
17 message = os.linesep.join([command, output]) 17 message = os.linesep.join([command, output])
18 self.assertEqual(status, expected, message) 18 self.assertEqual(status, expected, message)
diff --git a/meta/recipes-devtools/dnf/dnf_git.bb b/meta/recipes-devtools/dnf/dnf_git.bb
index 018352a6c9..3a2cb635e4 100644
--- a/meta/recipes-devtools/dnf/dnf_git.bb
+++ b/meta/recipes-devtools/dnf/dnf_git.bb
@@ -30,9 +30,17 @@ EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR}"
30BBCLASSEXTEND = "native nativesdk" 30BBCLASSEXTEND = "native nativesdk"
31RDEPENDS_${PN}_class-target += "python-core python-codecs python-netclient python-email python-threading python-distutils librepo python-shell python-subprocess libcomps libdnf python-sqlite3 python-compression python-pygpgme python-backports-lzma python-rpm python-iniparse python-json python-importlib python-curses python-argparse" 31RDEPENDS_${PN}_class-target += "python-core python-codecs python-netclient python-email python-threading python-distutils librepo python-shell python-subprocess libcomps libdnf python-sqlite3 python-compression python-pygpgme python-backports-lzma python-rpm python-iniparse python-json python-importlib python-curses python-argparse"
32 32
33# Create a symlink called 'dnf' as 'make install' does not do it, but
34# .spec file in dnf source tree does (and then Fedora and dnf documentation
35# says that dnf binary is plain 'dnf').
36do_install_append() {
37 ln -s -r ${D}/${bindir}/dnf-2 ${D}/${bindir}/dnf
38 ln -s -r ${D}/${bindir}/dnf-automatic-2 ${D}/${bindir}/dnf-automatic
39}
40
33# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in 41# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
34do_install_append_class-native() { 42do_install_append_class-native() {
35 create_wrapper ${D}/${bindir}/dnf-2 \ 43 create_wrapper ${D}/${bindir}/dnf \
36 RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ 44 RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
37 RPM_NO_CHROOT_FOR_SCRIPTS=1 45 RPM_NO_CHROOT_FOR_SCRIPTS=1
38} 46}