File busybox-Newer-versions-of-glibc-do-not-ship-rpc-functions-any-more-130.patch of Package warewulf
From: John Jolly <john.jolly@gmail.com>
Date: Fri Sep 14 10:42:38 2018 -0600
Subject: busybox: Newer versions of glibc do not ship rpc functions any more (#130)
Patch-mainline: Upstream
Git-repo: https://github.com/warewulf/warewulf3
Git-commit: cbc8498eeaf30e5f884277b3f941b956b105b9c6
References:
Use tirpc even on older versions of glibc - it is capable of handling IPv6.
Use pkg-config to find out the correct include path and library to add.
Signed-off-by: Egbert Eich <eich@suse.com>
Signed-off-by: John L. Jolly <jjolly@suse.com>
Signed-off-by: Egbert Eich <eich@suse.de>
---
.circleci/config.yml | 2 +-
provision/configure.ac | 11 +++++++++++
provision/initramfs/{busybox.config => busybox.config.in} | 4 ++--
provision/warewulf-provision.spec.in | 1 +
4 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 6dd5b9e..5ed4a27 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -13,7 +13,7 @@ jobs:
set -o xtrace
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpmkeys --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*
- yum -y --exclude=systemtap --exclude=subversion install @development binutils-aarch64-linux-gnu device-mapper-devel gcc-aarch64-linux-gnu libacl-devel libattr-devel libuuid-devel openssl-devel perl-CGI perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-DBD-MySQL perl-DBI perl-Digest perl-Digest-MD5 perl-IO-Compress perl-Net-Daemon perl-PlRPC perl-Sys-Syslog perl-Test-Simple xz-devel
+ yum -y --exclude=systemtap --exclude=subversion install @development binutils-aarch64-linux-gnu device-mapper-devel gcc-aarch64-linux-gnu libacl-devel libattr-devel libuuid-devel openssl-devel perl-CGI perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-DBD-MySQL perl-DBI perl-Digest perl-Digest-MD5 perl-IO-Compress perl-Net-Daemon perl-PlRPC perl-Sys-Syslog perl-Test-Simple xz-devel libtirpc-devel
- run:
name: Build Common
command: |
diff --git a/provision/configure.ac b/provision/configure.ac
index 59d961f..4e950c4 100644
--- a/provision/configure.ac
+++ b/provision/configure.ac
@@ -163,6 +163,16 @@ AC_SUBST(fulldatadir)
initramfsdir="$localstatedir/warewulf/initramfs/";
AC_SUBST(initramfsdir)
+BUSYBOX_CONFIG_EXTRA_LDLIBS=
+PKG_CHECK_MODULES([TIRPC], [libtirpc], [
+ AS_IF([test -n "$TIRPC_LIBS"], [
+ m4_foreach_w([libopt], [$TIRPC_LIBS], [
+ opt="libopt"
+ BUSYBOX_CONFIG_EXTRA_LDLIBS="$BUSYBOX_CONFIG_EXTRA_LDLIBS ${opt#-l}"
+ ])
+ ])
+])
+AC_SUBST(BUSYBOX_CONFIG_EXTRA_LDLIBS)
AC_SUBST(PERLBIN)
@@ -215,6 +225,7 @@ AC_OUTPUT(
etc/filesystem/examples/Makefile
etc/warewulf-httpd.conf
initramfs/Makefile
+ initramfs/busybox.config
initramfs/capabilities/Makefile
initramfs/capabilities/provision-adhoc/Makefile
initramfs/capabilities/provision-files/Makefile
diff --git a/provision/initramfs/busybox.config b/provision/initramfs/busybox.config.in
similarity index 99%
rename from provision/initramfs/busybox.config
rename to provision/initramfs/busybox.config.in
index 74d67bb..f8cc778 100644
--- a/provision/initramfs/busybox.config
+++ b/provision/initramfs/busybox.config.in
@@ -48,9 +48,9 @@ CONFIG_FEATURE_HAVE_RPC=y
CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
-CONFIG_EXTRA_CFLAGS=""
+CONFIG_EXTRA_CFLAGS="@TIRPC_CFLAGS@"
CONFIG_EXTRA_LDFLAGS=""
-CONFIG_EXTRA_LDLIBS=""
+CONFIG_EXTRA_LDLIBS="@BUSYBOX_CONFIG_EXTRA_LDLIBS@"
#
# Installation Options ("make install" behavior)
diff --git a/provision/warewulf-provision.spec.in b/provision/warewulf-provision.spec.in
index 3e1bc73..51b364a 100644
--- a/provision/warewulf-provision.spec.in
+++ b/provision/warewulf-provision.spec.in
@@ -13,6 +13,7 @@ Source: %{name}-%{version}.tar.gz
ExclusiveOS: linux
Requires: warewulf-common
BuildRequires: warewulf-common libselinux-devel libacl-devel libattr-devel libuuid-devel device-mapper-devel xz-devel
+BuildRequires: libtirpc-devel
%if 0%{?_cross_compile}