dracut-023-13.git20120821
- reintroduce rd.neednet, which reenables anaconda networking - fix some dracut-install corner cases - fix FIPS for /boot not on extra partition
This commit is contained in:
parent
7948b53a17
commit
7e00d97aa6
138
0001-COPYING-updated-to-recent-version-of-http-www.gnu.or.patch
Normal file
138
0001-COPYING-updated-to-recent-version-of-http-www.gnu.or.patch
Normal file
@ -0,0 +1,138 @@
|
||||
From aa11b710ce86190fbff9afeafedcbce85c7e9a7f Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Wed, 1 Aug 2012 15:53:25 +0200
|
||||
Subject: [PATCH] COPYING: updated to recent version of
|
||||
http://www.gnu.org/licenses/gpl-2.0.txt
|
||||
|
||||
---
|
||||
COPYING | 42 +++++++++++++++++++++---------------------
|
||||
1 file changed, 21 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/COPYING b/COPYING
|
||||
index a43ea21..d159169 100644
|
||||
--- a/COPYING
|
||||
+++ b/COPYING
|
||||
@@ -1,12 +1,12 @@
|
||||
- GNU GENERAL PUBLIC LICENSE
|
||||
- Version 2, June 1991
|
||||
+ GNU GENERAL PUBLIC LICENSE
|
||||
+ Version 2, June 1991
|
||||
|
||||
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
- 675 Mass Ave, Cambridge, MA 02139, USA
|
||||
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
- Preamble
|
||||
+ Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
-the GNU Library General Public License instead.) You can apply it to
|
||||
+the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
-
|
||||
- GNU GENERAL PUBLIC LICENSE
|
||||
+
|
||||
+ GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
-
|
||||
+
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
-
|
||||
+
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
@@ -225,7 +225,7 @@ impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
-
|
||||
+
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
- NO WARRANTY
|
||||
+ NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
- END OF TERMS AND CONDITIONS
|
||||
-
|
||||
- Appendix: How to Apply These Terms to Your New Programs
|
||||
+ END OF TERMS AND CONDITIONS
|
||||
+
|
||||
+ How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
- Copyright (C) 19yy <name of author>
|
||||
+ Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -303,16 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
- You should have received a copy of the GNU General Public License
|
||||
- along with this program; if not, write to the Free Software
|
||||
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+ You should have received a copy of the GNU General Public License along
|
||||
+ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
- Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
+ Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
@@ -335,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
-library. If this is what you want to do, use the GNU Library General
|
||||
+library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
19
0002-dracut.conf.d-gentoo.conf.example-fix-header.patch
Normal file
19
0002-dracut.conf.d-gentoo.conf.example-fix-header.patch
Normal file
@ -0,0 +1,19 @@
|
||||
From a41dc8f96903b750259e19fe724cd808b7570765 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
|
||||
Date: Wed, 1 Aug 2012 16:23:24 +0200
|
||||
Subject: [PATCH] dracut.conf.d/gentoo.conf.example: fix header
|
||||
|
||||
---
|
||||
dracut.conf.d/gentoo.conf.example | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
|
||||
index 6b74954..7b94cf5 100644
|
||||
--- a/dracut.conf.d/gentoo.conf.example
|
||||
+++ b/dracut.conf.d/gentoo.conf.example
|
||||
@@ -1,4 +1,4 @@
|
||||
-# /etc/dracut.conf.d/gentoo-openrc.conf
|
||||
+# /etc/dracut.conf.d/gentoo.conf
|
||||
# Dracut config file customized for Gentoo Base System release 2
|
||||
|
||||
udevdir=/lib/udev
|
24
0003-dracut.conf.5.asc-s-dracut-conf.d-dracut.conf.d-g.patch
Normal file
24
0003-dracut.conf.5.asc-s-dracut-conf.d-dracut.conf.d-g.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From dece5ee1f530335d2c2c10472733f838f6027434 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Wed, 1 Aug 2012 16:35:46 +0200
|
||||
Subject: [PATCH] dracut.conf.5.asc: s#dracut/conf.d#dracut.conf.d#g
|
||||
|
||||
---
|
||||
dracut.conf.5.asc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc
|
||||
index 89bbf61..f3a7de6 100644
|
||||
--- a/dracut.conf.5.asc
|
||||
+++ b/dracut.conf.5.asc
|
||||
@@ -127,8 +127,8 @@ _/etc/dracut.conf_::
|
||||
Old configuration file. You better use your own file in
|
||||
_/etc/dracut/conf.d/_.
|
||||
|
||||
-_/etc/dracut/conf.d/_::
|
||||
- Any _/etc/dracut/conf.d/*.conf_ file can overwrite the values in
|
||||
+_/etc/dracut.conf.d/_::
|
||||
+ Any _/etc/dracut.conf.d/*.conf_ file can overwrite the values in
|
||||
_/etc/dracut.conf_. The configuration files are read in alphanumerical
|
||||
order.
|
||||
|
22
0004-include-the-omap_hsmmc-module-on-arm.patch
Normal file
22
0004-include-the-omap_hsmmc-module-on-arm.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From ec6d8eab6963078bc472f7512cc1a1491dee98e6 Mon Sep 17 00:00:00 2001
|
||||
From: Dennis Gilmore <dennis@ausil.us>
|
||||
Date: Thu, 2 Aug 2012 05:12:54 -0500
|
||||
Subject: [PATCH] include the omap_hsmmc module on arm
|
||||
|
||||
---
|
||||
modules.d/90kernel-modules/module-setup.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
|
||||
index 4e75ef8..e58b257 100755
|
||||
--- a/modules.d/90kernel-modules/module-setup.sh
|
||||
+++ b/modules.d/90kernel-modules/module-setup.sh
|
||||
@@ -40,7 +40,7 @@ installkernel() {
|
||||
hostonly='' instmods usb_storage sdhci sdhci-pci
|
||||
|
||||
# arm specific modules
|
||||
- hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm sdhci_dove ahci_platform pata_imx sata_mv
|
||||
+ hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm omap_hsmmc sdhci_dove ahci_platform pata_imx sata_mv
|
||||
|
||||
# install keyboard support
|
||||
hostonly='' instmods atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech hid-logitech-dj hid-microsoft ehci-hcd ohci-hcd uhci-hcd xhci-hcd hid_generic
|
@ -0,0 +1,60 @@
|
||||
From e4297a66b1458329437e35bf7d99a4f20c1d824d Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 14 Aug 2012 17:44:46 +0200
|
||||
Subject: [PATCH] mdraid: always create need_shutdown, if we have assembled a
|
||||
raid
|
||||
|
||||
---
|
||||
modules.d/90mdraid/mdraid-cleanup.sh | 4 ++--
|
||||
modules.d/90mdraid/mdraid-needshutdown.sh | 11 +++++++++++
|
||||
modules.d/90mdraid/module-setup.sh | 1 +
|
||||
3 files changed, 14 insertions(+), 2 deletions(-)
|
||||
create mode 100755 modules.d/90mdraid/mdraid-needshutdown.sh
|
||||
|
||||
diff --git a/modules.d/90mdraid/mdraid-cleanup.sh b/modules.d/90mdraid/mdraid-cleanup.sh
|
||||
index 9c4bc18..da86d65 100755
|
||||
--- a/modules.d/90mdraid/mdraid-cleanup.sh
|
||||
+++ b/modules.d/90mdraid/mdraid-cleanup.sh
|
||||
@@ -14,11 +14,11 @@ for md in /dev/md[0-9_]*; do
|
||||
containers="$containers $md"
|
||||
continue
|
||||
fi
|
||||
- mdadm $_offroot -S "$md" >/dev/null 2>&1 || need_shutdown
|
||||
+ mdadm $_offroot -S "$md" >/dev/null 2>&1
|
||||
done
|
||||
|
||||
for md in $containers; do
|
||||
- mdadm $_offroot -S "$md" >/dev/null 2>&1 || need_shutdown
|
||||
+ mdadm $_offroot -S "$md" >/dev/null 2>&1
|
||||
done
|
||||
|
||||
unset containers udevinfo _offroot
|
||||
diff --git a/modules.d/90mdraid/mdraid-needshutdown.sh b/modules.d/90mdraid/mdraid-needshutdown.sh
|
||||
new file mode 100755
|
||||
index 0000000..79f9852
|
||||
--- /dev/null
|
||||
+++ b/modules.d/90mdraid/mdraid-needshutdown.sh
|
||||
@@ -0,0 +1,11 @@
|
||||
+#!/bin/sh
|
||||
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||
+# ex: ts=8 sw=4 sts=4 et filetype=sh
|
||||
+
|
||||
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
||||
+
|
||||
+for md in /dev/md[0-9_]*; do
|
||||
+ [ -b "$md" ] || continue
|
||||
+ need_shutdown
|
||||
+ break
|
||||
+done
|
||||
diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
|
||||
index 8522756..6119226 100755
|
||||
--- a/modules.d/90mdraid/module-setup.sh
|
||||
+++ b/modules.d/90mdraid/module-setup.sh
|
||||
@@ -84,6 +84,7 @@ install() {
|
||||
inst_hook pre-udev 30 "$moddir/mdmon-pre-udev.sh"
|
||||
inst_hook pre-trigger 30 "$moddir/parse-md.sh"
|
||||
inst_hook pre-mount 10 "$moddir/mdraid-waitclean.sh"
|
||||
+ inst_hook cleanup 99 "$moddir/mdraid-needshutdown.sh"
|
||||
inst_hook shutdown 30 "$moddir/md-shutdown.sh"
|
||||
inst_script "$moddir/mdraid-cleanup.sh" /sbin/mdraid-cleanup
|
||||
inst_script "$moddir/mdraid_start.sh" /sbin/mdraid_start
|
34
0006-add-back-scsi_wait_scan.patch
Normal file
34
0006-add-back-scsi_wait_scan.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From bdf1f472b461747d4cb9f32ae18bb2033e592970 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Fri, 17 Aug 2012 09:22:12 +0200
|
||||
Subject: [PATCH] add back scsi_wait_scan
|
||||
|
||||
---
|
||||
modules.d/98systemd/dracut-initqueue.sh | 1 +
|
||||
modules.d/99base/init.sh | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh
|
||||
index e9da432..773e4cd 100755
|
||||
--- a/modules.d/98systemd/dracut-initqueue.sh
|
||||
+++ b/modules.d/98systemd/dracut-initqueue.sh
|
||||
@@ -25,6 +25,7 @@ while :; do
|
||||
check_finished && break
|
||||
|
||||
udevsettle
|
||||
+ modprobe -q scsi_wait_scan && modprobe -q -r scsi_wait_scan
|
||||
|
||||
check_finished && break
|
||||
|
||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
||||
index 16c8958..4c5a2f8 100755
|
||||
--- a/modules.d/99base/init.sh
|
||||
+++ b/modules.d/99base/init.sh
|
||||
@@ -156,6 +156,7 @@ while :; do
|
||||
check_finished && break
|
||||
|
||||
udevsettle
|
||||
+ modprobe -q scsi_wait_scan && modprobe -q -r scsi_wait_scan
|
||||
|
||||
check_finished && break
|
||||
|
41
0007-network-reintroduce-rd.neednet.patch
Normal file
41
0007-network-reintroduce-rd.neednet.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From 48dba7f9ace186871528eb4d83cd96e92e853c6c Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 21 Aug 2012 14:47:14 +0200
|
||||
Subject: [PATCH] network: reintroduce rd.neednet
|
||||
|
||||
rd.neednet is used by anaconda and the network interfaces cannot
|
||||
be known in advance.
|
||||
---
|
||||
dracut.cmdline.7.asc | 3 +++
|
||||
modules.d/40network/net-genrules.sh | 4 +++-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
|
||||
index 71d02ca..c376d79 100644
|
||||
--- a/dracut.cmdline.7.asc
|
||||
+++ b/dracut.cmdline.7.asc
|
||||
@@ -384,6 +384,9 @@ interface name. Better name it "bootnet" or "bluesocket".
|
||||
**biosdevname=0**::
|
||||
boolean, turn off biosdevname network interface renaming
|
||||
|
||||
+**rd.neednet=1**::
|
||||
+ boolean, bring up network even without netroot set
|
||||
+
|
||||
**vlan=_<vlanname>_:_<phydevice>_**::
|
||||
Setup vlan device named <vlanname> on <phydeivce>.
|
||||
We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
|
||||
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
|
||||
index 8aeee2d..6a58ab5 100755
|
||||
--- a/modules.d/40network/net-genrules.sh
|
||||
+++ b/modules.d/40network/net-genrules.sh
|
||||
@@ -15,7 +15,9 @@ fix_bootif() {
|
||||
}
|
||||
|
||||
# Don't continue if we don't need network
|
||||
-[ -z "$netroot" ] && ! [ -e "/tmp/net.ifaces" ] && return;
|
||||
+if [ -z "$netroot" ] && [ ! -e "/tmp/net.ifaces" ] && ! getargbool 0 rd.neednet >/dev/null; then
|
||||
+ return
|
||||
+fi
|
||||
|
||||
# Write udev rules
|
||||
{
|
@ -0,0 +1,48 @@
|
||||
From c9a9968dfc7f8fb644909cbb52e27fe7312156a7 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 21 Aug 2012 15:01:08 +0200
|
||||
Subject: [PATCH] fips: set /boot as symlink to /sysroot/boot if no boot=
|
||||
parameter
|
||||
|
||||
otherwise sha512hmac will error out with:
|
||||
|
||||
sha512hmac -c /sysroot/boot/.vmlinuz-2.6.32-220.el6.x86_64.hmac
|
||||
Error opening "/boot/vmlinuz-2.6.32-220.el6.x86_64": No such file or directory.
|
||||
---
|
||||
modules.d/01fips/fips.sh | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh
|
||||
index 67eefb8..324e062 100755
|
||||
--- a/modules.d/01fips/fips.sh
|
||||
+++ b/modules.d/01fips/fips.sh
|
||||
@@ -45,23 +45,23 @@ mount_boot()
|
||||
mkdir /boot
|
||||
info "Mounting $boot as /boot"
|
||||
mount -oro "$boot" /boot || return 1
|
||||
+ elif [ -d "$NEWROOT/boot" ]; then
|
||||
+ rm -fr /boot
|
||||
+ ln -sf "$NEWROOT/boot" /boot
|
||||
fi
|
||||
}
|
||||
|
||||
do_fips()
|
||||
{
|
||||
info "Checking integrity of kernel"
|
||||
- newroot=$NEWROOT
|
||||
KERNEL=$(uname -r)
|
||||
|
||||
- [ -e "$newroot/boot/.vmlinuz-${KERNEL}.hmac" ] || unset newroot
|
||||
-
|
||||
- if ! [ -e "$newroot/boot/.vmlinuz-${KERNEL}.hmac" ]; then
|
||||
- warn "$newroot/boot/.vmlinuz-${KERNEL}.hmac does not exist"
|
||||
+ if ! [ -e "/boot/.vmlinuz-${KERNEL}.hmac" ]; then
|
||||
+ warn "/boot/.vmlinuz-${KERNEL}.hmac does not exist"
|
||||
return 1
|
||||
fi
|
||||
|
||||
- sha512hmac -c "$newroot/boot/.vmlinuz-${KERNEL}.hmac" || return 1
|
||||
+ sha512hmac -c "/boot/.vmlinuz-${KERNEL}.hmac" || return 1
|
||||
|
||||
FIPSMODULES=$(cat /etc/fipsmodules)
|
||||
|
@ -0,0 +1,45 @@
|
||||
From 68318328f1fc394ac043b939425715ba78dc6f57 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Guthrie <colin@mageia.org>
|
||||
Date: Tue, 14 Aug 2012 22:09:39 +0100
|
||||
Subject: [PATCH] install/dracut-install.c: Ensure deps are resolved when
|
||||
handling scripts
|
||||
|
||||
If we are doing lazy dep solving and happen to process a script with a
|
||||
shebang on e.g. /bin/bash before we encounter the actual binary itself
|
||||
we effectively ignore the fact that we've been asked to resolve the deps
|
||||
and put the item in the 'seen' hashmap. Thus when we later really do try
|
||||
and resolve deps, we short circuit and don't do anything.
|
||||
|
||||
Example test case:
|
||||
|
||||
$ cd
|
||||
$ mkdir -p foo/bin
|
||||
$ cp /bin/bash foo/bin
|
||||
$ echo '#!/bin/bash' >foo/bin/script
|
||||
$ dracut-install -D $HOME/foo -R $HOME/foo/bin/script $HOME/foo/bin/bash
|
||||
---
|
||||
install/dracut-install.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/install/dracut-install.c b/install/dracut-install.c
|
||||
index e79065d..9a244ba 100644
|
||||
--- a/install/dracut-install.c
|
||||
+++ b/install/dracut-install.c
|
||||
@@ -392,10 +392,15 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
|
||||
}
|
||||
|
||||
if (ret == 0) {
|
||||
- log_debug("'%s' already exists", fulldstpath);
|
||||
+ if (resolvedeps) {
|
||||
+ log_debug("'%s' already exists, but checking for any deps", fulldstpath);
|
||||
+ ret = resolve_deps(src);
|
||||
+ } else
|
||||
+ log_debug("'%s' already exists", fulldstpath);
|
||||
+
|
||||
free(fulldstpath);
|
||||
/* dst does already exist */
|
||||
- return 0;
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
/* check destination directory */
|
@ -0,0 +1,43 @@
|
||||
From f9c7788ba5bbb9785ba9946c7a6500fc0c782244 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Guthrie <colin@mageia.org>
|
||||
Date: Tue, 14 Aug 2012 22:32:00 +0100
|
||||
Subject: [PATCH] install/dracut-install.c: Deal gracefully with paths
|
||||
containing double /'s
|
||||
|
||||
While such paths should not be included internally, we cannot
|
||||
guarantee that external scripts with shebangs will not do this.
|
||||
|
||||
Some older versions of plymouth also resulted in double /'s
|
||||
in some paths, so best deal with this gracefully.
|
||||
---
|
||||
install/dracut-install.c | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/install/dracut-install.c b/install/dracut-install.c
|
||||
index 9a244ba..dfee259 100644
|
||||
--- a/install/dracut-install.c
|
||||
+++ b/install/dracut-install.c
|
||||
@@ -64,7 +64,7 @@ static size_t dir_len(char const *file)
|
||||
size_t length;
|
||||
/* Strip the basename and any redundant slashes before it. */
|
||||
for (length = strlen(file); 0 < length; length--)
|
||||
- if (file[length] == '/')
|
||||
+ if (file[length] == '/' && file[length-1] != '/')
|
||||
break;
|
||||
return length;
|
||||
}
|
||||
@@ -91,7 +91,13 @@ static char *convert_abs_rel(const char *from, const char *target)
|
||||
return strdup(from);
|
||||
}
|
||||
|
||||
- asprintf(&realtarget, "%s/%s", q, &p[dirlen + 1]);
|
||||
+ /* dir_len() skips double /'s e.g. //lib64, so we can't skip just one
|
||||
+ * character - need to skip all leading /'s */
|
||||
+ rl = strlen(target);
|
||||
+ for (i = dirlen+1; i < rl; ++i)
|
||||
+ if (p[i] != '/')
|
||||
+ break;
|
||||
+ asprintf(&realtarget, "%s/%s", q, &p[i]);
|
||||
free(p);
|
||||
free(q);
|
||||
|
@ -0,0 +1,23 @@
|
||||
From 68c49db95233d03a25b27e01709cd052d60cef7a Mon Sep 17 00:00:00 2001
|
||||
From: Colin Guthrie <colin@mageia.org>
|
||||
Date: Sat, 18 Aug 2012 11:38:02 +0100
|
||||
Subject: [PATCH] install/dracut-install.c: No need to compare the NULL byte
|
||||
each time.
|
||||
|
||||
---
|
||||
install/dracut-install.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/install/dracut-install.c b/install/dracut-install.c
|
||||
index dfee259..c95b7c2 100644
|
||||
--- a/install/dracut-install.c
|
||||
+++ b/install/dracut-install.c
|
||||
@@ -63,7 +63,7 @@ static size_t dir_len(char const *file)
|
||||
{
|
||||
size_t length;
|
||||
/* Strip the basename and any redundant slashes before it. */
|
||||
- for (length = strlen(file); 0 < length; length--)
|
||||
+ for (length = strlen(file)-1; 0 < length; length--)
|
||||
if (file[length] == '/' && file[length-1] != '/')
|
||||
break;
|
||||
return length;
|
@ -0,0 +1,41 @@
|
||||
From f9452c94c05e505d358329fbb228da7979770c4c Mon Sep 17 00:00:00 2001
|
||||
From: Colin Guthrie <colin@mageia.org>
|
||||
Date: Thu, 16 Aug 2012 14:27:22 +0100
|
||||
Subject: [PATCH] udev-rules: Pre usrmove systemd installs might not find
|
||||
udevd.
|
||||
|
||||
If users had switched to systemd-183+ but have not completed
|
||||
the usrmove, then the variable ${systemdutildir} will likely
|
||||
refer to /usr/lib/systemd NOT /lib/systemd and thus the
|
||||
systemd-udevd daemon may not be found.
|
||||
|
||||
So let's try a little harder and add another hard coded path
|
||||
and if we don't find it, then bail out hard.
|
||||
---
|
||||
modules.d/95udev-rules/module-setup.sh | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
|
||||
index 2e3c955..5e1cce5 100755
|
||||
--- a/modules.d/95udev-rules/module-setup.sh
|
||||
+++ b/modules.d/95udev-rules/module-setup.sh
|
||||
@@ -12,7 +12,7 @@ install() {
|
||||
/etc/udev/udev.conf /etc/group
|
||||
|
||||
[ -d ${initdir}/lib/systemd ] || mkdir -p ${initdir}/lib/systemd
|
||||
- for _i in ${systemdutildir}/systemd-udevd ${udevdir}/udevd /sbin/udevd; do
|
||||
+ for _i in ${systemdutildir}/systemd-udevd ${udevdir}/udevd /lib/systemd/systemd-udevd /sbin/udevd; do
|
||||
[ -x "$_i" ] || continue
|
||||
inst "$_i"
|
||||
|
||||
@@ -21,6 +21,10 @@ install() {
|
||||
fi
|
||||
break
|
||||
done
|
||||
+ if ! [[ -e ${initdir}/lib/systemd/systemd-udevd ]]; then
|
||||
+ derror "Cannot find [systemd-]udevd binary!"
|
||||
+ exit 1
|
||||
+ fi
|
||||
|
||||
inst_rules 50-udev-default.rules 60-persistent-storage.rules \
|
||||
61-persistent-storage-edd.rules 80-drivers.rules 95-udev-late.rules \
|
20
dracut.spec
20
dracut.spec
@ -10,7 +10,7 @@
|
||||
|
||||
Name: dracut
|
||||
Version: 023
|
||||
Release: 2%{?dist}
|
||||
Release: 13.git20120821%{?dist}
|
||||
|
||||
Summary: Initramfs generator using udev
|
||||
%if 0%{?fedora} || 0%{?rhel}
|
||||
@ -29,8 +29,19 @@ URL: https://dracut.wiki.kernel.org/
|
||||
# Source can be generated by
|
||||
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
|
||||
Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2
|
||||
Patch1: 0001-COPYING-updated-to-recent-version-of-http-www.gnu.or.patch
|
||||
Patch2: 0002-dracut.conf.d-gentoo.conf.example-fix-header.patch
|
||||
Patch3: 0003-dracut.conf.5.asc-s-dracut-conf.d-dracut.conf.d-g.patch
|
||||
Patch4: 0004-include-the-omap_hsmmc-module-on-arm.patch
|
||||
Patch5: 0005-mdraid-always-create-need_shutdown-if-we-have-assemb.patch
|
||||
Patch6: 0006-add-back-scsi_wait_scan.patch
|
||||
Patch7: 0007-network-reintroduce-rd.neednet.patch
|
||||
Patch8: 0008-fips-set-boot-as-symlink-to-sysroot-boot-if-no-boot-.patch
|
||||
Patch9: 0009-install-dracut-install.c-Ensure-deps-are-resolved-wh.patch
|
||||
Patch10: 0010-install-dracut-install.c-Deal-gracefully-with-paths-.patch
|
||||
Patch11: 0011-install-dracut-install.c-No-need-to-compare-the-NULL.patch
|
||||
Patch12: 0012-udev-rules-Pre-usrmove-systemd-installs-might-not-fi.patch
|
||||
|
||||
Patch1: 0001-include-the-omap_hsmmc-module-on-arm.patch
|
||||
|
||||
BuildRequires: dash bash git
|
||||
|
||||
@ -363,6 +374,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%dir /var/lib/dracut/overlay
|
||||
|
||||
%changelog
|
||||
* Tue Aug 21 2012 Harald Hoyer <harald@redhat.com> 023-13.git20120821
|
||||
- reintroduce rd.neednet, which reenables anaconda networking
|
||||
- fix some dracut-install corner cases
|
||||
- fix FIPS for /boot not on extra partition
|
||||
|
||||
* Wed Aug 01 2012 Dennis Gilmore <dennis@ausil.us> - 023-2
|
||||
- add patch to include omap_hsmmc for arm
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user