sudo: fix multilib conflict

It fails to install sudo and lib32-sudo at same time:

| Error: Transaction test error:
|  file /usr/libexec/sudo/audit_json.so conflicts between attempted
     installs of lib32-sudo-1.9.3p1-r0.core2_32 and sudo-1.9.3p1-r0.core2_64
|  file /usr/libexec/sudo/group_file.so conflicts between attempted
     installs of lib32-sudo-1.9.3p1-r0.core2_32 and sudo-1.9.3p1-r0.core2_64

Pass ${libdir} to configure option --libexecdir of sudo that it installs
plugin libraries to /usr/lib{,64} rather than /usr/libexec/. Then add a
patch to fix multilib conflict of sudo.conf.

[RP: Add missing Upstream-Status]
(From OE-Core rev: c9b6974cfcac370c6848d28400e0546ac85512e9)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Kai Kang
2020-11-17 11:13:40 +08:00
committed by Richard Purdie
parent 37b51ed076
commit 8c28435258
2 changed files with 56 additions and 2 deletions

View File

@@ -0,0 +1,52 @@
sudo.conf.in: fix conflict with multilib
When pass ${libdir} to --libexecdir of sudo, it fails to install sudo
and lib32-sudo at same time:
| Error: Transaction test error:
| file /etc/sudo.conf conflicts between attempted installs of
sudo-1.9.3p1-r0.core2_64 and lib32-sudo-1.9.3p1-r0.core2_32
Update the comments in sudo.conf.in to avoid the conflict.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Upstream-Status: Inappropriate [OE configuration specific]
---
examples/sudo.conf.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in
index 19e33ff..af78235 100644
--- a/examples/sudo.conf.in
+++ b/examples/sudo.conf.in
@@ -4,7 +4,7 @@
# Sudo plugins:
# Plugin plugin_name plugin_path plugin_options ...
#
-# The plugin_path is relative to @plugindir@ unless
+# The plugin_path is relative to $plugindir such as /usr/lib/sudo unless
# fully qualified.
# The plugin_name corresponds to a global symbol in the plugin
# that contains the plugin interface structure.
@@ -50,7 +50,7 @@ Plugin sudoers_audit sudoers.so
# The compiled-in value is usually sufficient and should only be changed
# if you rename or move the sudo_noexec.so file.
#
-#Path noexec @plugindir@/sudo_noexec.so
+#Path noexec $plugindir/sudo_noexec.so
#
# Sudo plugin directory:
@@ -59,7 +59,7 @@ Plugin sudoers_audit sudoers.so
# The default directory to use when searching for plugins that are
# specified without a fully qualified path name.
#
-#Path plugin_dir @plugindir@
+#Path plugin_dir $plugindir
#
# Sudo developer mode:
--
2.17.1

View File

@@ -2,6 +2,7 @@ require sudo.inc
SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
"
PAM_SRC_URI = "file://sudo.pam"
@@ -24,6 +25,7 @@ EXTRA_OECONF += " \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
--with-rundir=/run/sudo \
--with-vardir=/var/lib/sudo \
--libexecdir=${libdir} \
"
do_install_append () {
@@ -43,5 +45,5 @@ do_install_append () {
}
FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"