From 34a37c41d718a3611f6c80323c35ddc12cf7389af2efd331126ee79c2b7b6edb Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Thu, 26 Jun 2014 02:37:12 +0000 Subject: [PATCH] - add mkinitrd scripts back in. They are needed by "guestfs" See bnc#883873 (bnc#883876) OBS-URL: https://build.opensuse.org/package/show/Base:System/nfs-utils?expand=0&rev=128 --- mkinitrd-boot.sh | 70 +++++++++++++++++++++++++++++++++++++++++++++++ mkinitrd-setup.sh | 9 ++++++ nfs-utils.changes | 7 +++++ nfs-utils.spec | 9 ++++++ 4 files changed, 95 insertions(+) create mode 100644 mkinitrd-boot.sh create mode 100644 mkinitrd-setup.sh diff --git a/mkinitrd-boot.sh b/mkinitrd-boot.sh new file mode 100644 index 0000000..145f928 --- /dev/null +++ b/mkinitrd-boot.sh @@ -0,0 +1,70 @@ +#!/bin/bash +#%stage: block +#%modules: nfs nfsv2 nfsv3 nfsv4 +#%programs: mount.nfs mount.nfs4 +#%if: "$rootfstype" = "nfs" -o "$need_nfs" +# +##### Network FileSystem +## +## This is where NFS gets mounted. +## If no root= option was given, the root device will be taken from the DHCP-server. +## +## Command line parameters +## ----------------------- +## +## root=:/ the nfs root path +## + +# Prefer NFS root setting via DHCP the fallback provided in config/*. +# So at first, consider the command line (that's why we check for "$cmd_root" +# being empty here. Then consider the DHCP setting. And finally consider the +# fallback via config/*. + +if [ -n "$ROOTPATH" -a -z "$cmd_root" ] ; then + case "$ROOTPATH" in + iscsi:*) + ;; + *:*) + rootfstype="nfs" + rootdev="$ROOTPATH" ;; + *) + if [ -n "$DHCPSIADDR" ]; then + rootdev="$DHCPSIADDR:$ROOTPATH" + rootfstype="nfs" + elif [ -n "$DHCPSNAME" ]; then + rootdev="$DHCPSNAME:$ROOTPATH" + rootfstype="nfs" + fi ;; + esac + + if [ -n "$rootdev" ] ; then + echo >&2 "Using root device ($rootdev) provided via DHCP" + fi +fi + +if [ "$rootfstype" = "nfs" ]; then + # load the nfs module before using it + load_modules + + if [ -z "$rootdev" ]; then + echo "no local root= kernel option given and no root server set by the dhcp server." + echo "exiting to /bin/sh" + cd / + PATH=$PATH PS1='$ ' /bin/sh -i + fi + + rootfsmod= + if [ -n "$rootflags" ] ; then + rootflags="${rootflags},nolock" + else + rootflags="nolock" + fi + # tell boot.rootfsck to skip warning + ROOTFS_FSCK=0 + export ROOTFS_FSCK +else + dont_load_modules +fi + +# Absolutely required for networking to function +ip link set dev lo up diff --git a/mkinitrd-setup.sh b/mkinitrd-setup.sh new file mode 100644 index 0000000..f496e6e --- /dev/null +++ b/mkinitrd-setup.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +#%stage: device +# + +if [ "$rootfstype" = "nfs" ]; then + interface=${interface:-default} + save_var rootfstype +fi diff --git a/nfs-utils.changes b/nfs-utils.changes index 8ac2ca7..5810b12 100644 --- a/nfs-utils.changes +++ b/nfs-utils.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Jun 26 02:35:31 UTC 2014 - nfbrown@suse.com + +- add mkinitrd scripts back in. They are needed by + "guestfs" See bnc#883873 + (bnc#883876) + ------------------------------------------------------------------- Tue Jun 10 07:19:06 UTC 2014 - nfbrown@suse.com diff --git a/nfs-utils.spec b/nfs-utils.spec index fb3a740..d6b1aab 100644 --- a/nfs-utils.spec +++ b/nfs-utils.spec @@ -58,6 +58,8 @@ Source5: nfs-kernel-server.xml Source6: README.NFSv4 Source7: fw-client Source8: fw-server +Source9: mkinitrd-setup.sh +Source10: mkinitrd-boot.sh Source11: idmapd.conf Source13: nfs-utils.rpmlintrc Patch0: nfs-utils-1.0.7-bind-syntax.patch @@ -167,6 +169,9 @@ touch $RPM_BUILD_ROOT/var/lib/nfs/state mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services install -m 0644 %{SOURCE7} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/nfs-client install -m 0644 %{SOURCE8} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/nfs-kernel-server +install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts +install -m 755 %{S:9} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-nfs.sh +install -m 755 %{S:10} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-nfs.sh install -m 644 utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc/nfsmount.conf # # hack to avoid automatic python dependency @@ -239,6 +244,10 @@ fi %config /etc/init.d/nfs %config /etc/idmapd.conf %config /etc/nfsmount.conf +%dir /lib/mkinitrd +%dir /lib/mkinitrd/scripts +/lib/mkinitrd/scripts/setup-nfs.sh +/lib/mkinitrd/scripts/boot-nfs.sh %verify(not mode) %attr(0755,root,root) /sbin/mount.nfs /sbin/mount.nfs4 /sbin/umount.nfs