diff options
author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2017-03-16 15:19:07 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-17 11:55:24 +0000 |
commit | 456c4a8ffc9a292d7a3e036d92baf4a8f14d1f45 (patch) | |
tree | 33ee8e5106f159466659f45c296a0adaef6bdebb | |
parent | e53b93181ea1723ddeeb75c4195e9412e64721c0 (diff) | |
download | openembedded-core-456c4a8ffc9a292d7a3e036d92baf4a8f14d1f45.tar.gz openembedded-core-456c4a8ffc9a292d7a3e036d92baf4a8f14d1f45.tar.bz2 openembedded-core-456c4a8ffc9a292d7a3e036d92baf4a8f14d1f45.zip |
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.
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.py | 2 | ||||
-rw-r--r-- | meta/lib/oeqa/runtime/cases/dnf.py | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/dnf/dnf_git.bb | 10 |
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): def _invoke_dnf(self, dnf_args, fatal = True, print_output = True ): os.environ['RPM_ETCCONFIGDIR'] = self.target_rootfs - dnf_cmd = bb.utils.which(os.getenv('PATH'), "dnf-2") + dnf_cmd = bb.utils.which(os.getenv('PATH'), "dnf") standard_dnf_args = (["-v", "--rpmverbosity=debug"] if self.d.getVar('ROOTFS_RPM_DEBUG') else []) + ["-y", "-c", oe.path.join(self.target_rootfs, "etc/dnf/dnf.conf"), "--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 class DnfTest(OERuntimeTestCase): def dnf(self, command, expected = 0): - command = 'dnf-2 %s' % command + command = 'dnf %s' % command status, output = self.target.run(command, 1500) message = os.linesep.join([command, output]) 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}" BBCLASSEXTEND = "native nativesdk" RDEPENDS_${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" +# 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() { + ln -s -r ${D}/${bindir}/dnf-2 ${D}/${bindir}/dnf + ln -s -r ${D}/${bindir}/dnf-automatic-2 ${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-2 \ + create_wrapper ${D}/${bindir}/dnf \ RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ RPM_NO_CHROOT_FOR_SCRIPTS=1 } |