aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-core
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-08-14 11:37:30 +0100
committerRoss Burton <ross.burton@intel.com>2018-08-14 12:24:24 +0100
commit4df61a34f13e9745f05a30506e9a34cdbfe0c252 (patch)
treebb2fa138ba4fed387ba655d6bd538f3a3a0c046a /recipes-core
parentf038b824192526a0d561ef977bba7c3fb1ed3fab (diff)
downloadmeta-gplv2-4df61a34f13e9745f05a30506e9a34cdbfe0c252.tar.gz
meta-gplv2-4df61a34f13e9745f05a30506e9a34cdbfe0c252.tar.bz2
meta-gplv2-4df61a34f13e9745f05a30506e9a34cdbfe0c252.zip
coreutils: don't build su
Previously we built su but didn't package it because util-linux is the preferred provider. However with glibc 2.28 libcrypt has been removed so su doesn't build. Instead of depending on virtual/crypt, lets just not build su at all. Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'recipes-core')
-rw-r--r--recipes-core/coreutils/coreutils-6.9/no-su.patch56
-rw-r--r--recipes-core/coreutils/coreutils_6.9.bb5
2 files changed, 57 insertions, 4 deletions
diff --git a/recipes-core/coreutils/coreutils-6.9/no-su.patch b/recipes-core/coreutils/coreutils-6.9/no-su.patch
new file mode 100644
index 0000000..47339e5
--- /dev/null
+++ b/recipes-core/coreutils/coreutils-6.9/no-su.patch
@@ -0,0 +1,56 @@
+Newer versions of su don't provide su as util-linux is the preferred provider,
+so don't build it.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 863a32b5a..28c060898 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -16,7 +16,7 @@
+ ## along with this program; if not, write to the Free Software Foundation,
+ ## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+-EXTRA_PROGRAMS = chroot df hostid nice pinky stty su uname uptime users who
++EXTRA_PROGRAMS = chroot df hostid nice pinky stty uname uptime users who
+
+ bin_SCRIPTS = groups
+ bin_PROGRAMS = [ chgrp chown chmod cp dd dircolors du \
+@@ -131,8 +131,6 @@ RELEASE_YEAR = \
+ chmod +x $@-t
+ mv $@-t $@
+
+-all-local: su$(EXEEXT)
+-
+ installed_su = $(DESTDIR)$(bindir)/`echo su|sed '$(transform)'`
+
+ setuid_root_mode = a=rx,u+s
+@@ -146,27 +144,6 @@ INSTALL_SU = \
+ echo " chmod $(setuid_root_mode) $(installed_su)"; \
+ chmod $(setuid_root_mode) $(installed_su)
+
+-install-root: su$(EXEEXT)
+- @$(INSTALL_SU)
+-
+-install-exec-local: su$(EXEEXT)
+- @TMPFILE=$(DESTDIR)$(bindir)/.su-$$$$; \
+- rm -f $$TMPFILE; \
+- echo > $$TMPFILE; \
+-## See if we can create a setuid root executable in $(bindir).
+-## If not, then don't even try to install su.
+- can_create_suid_root_executable=no; \
+- chown root $$TMPFILE > /dev/null 2>&1 \
+- && chmod $(setuid_root_mode) $$TMPFILE > /dev/null 2>&1 \
+- && can_create_suid_root_executable=yes; \
+- rm -f $$TMPFILE; \
+- if test $$can_create_suid_root_executable = yes; then \
+- $(INSTALL_SU); \
+- else \
+- echo "WARNING: insufficient access; not installing su"; \
+- echo "NOTE: to install su, run 'make install-root' as root"; \
+- fi
+-
+ uninstall-local:
+ # Remove su only if it's one we installed.
+ @if grep '$(GNU_PACKAGE)' $(installed_su) > /dev/null 2>&1; then \
diff --git a/recipes-core/coreutils/coreutils_6.9.bb b/recipes-core/coreutils/coreutils_6.9.bb
index 0d236b2..ae941fd 100644
--- a/recipes-core/coreutils/coreutils_6.9.bb
+++ b/recipes-core/coreutils/coreutils_6.9.bb
@@ -28,6 +28,7 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.bz2 \
file://loadavg.patch \
file://no-man.patch \
file://build-don-t-need-charset.alias-when-building-for-mus.patch \
+ file://no-su.patch \
"
SRC_URI[md5sum] = "c9607d8495f16e98906e7ed2d9751a06"
@@ -78,10 +79,6 @@ do_install() {
# in update-alternatives to fail, therefore use lbracket - the name used
# for the actual source file.
mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${BPN}
-
- # Newer versions of coreutils do not include su, to mimic this behavior
- # we simply remove it.
- rm -f ${D}${bindir}/su
}
inherit update-alternatives