mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-18 21:11:08 +02:00
Merge pull request #606 from marineam/dracut
bump(sys-kernel/bootengine): Updates for new dracut version
This commit is contained in:
commit
32e1c7f306
@ -1,3 +1,2 @@
|
||||
USE="systemd"
|
||||
BOOTSTRAP_USE="$BOOTSTRAP_USE udev"
|
||||
DRACUT_MODULES="systemd"
|
||||
|
@ -10,7 +10,7 @@ CROS_WORKON_REPO="git://github.com"
|
||||
if [[ "${PV}" == 9999 ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
else
|
||||
CROS_WORKON_COMMIT="35f6c11e54dc161cfab9c01f5a165933f796f2d1"
|
||||
CROS_WORKON_COMMIT="79d407f7164a38a7dc12fee85a7fbab4a9534ce2"
|
||||
KEYWORDS="amd64 arm x86"
|
||||
fi
|
||||
|
||||
@ -29,13 +29,14 @@ DEPEND="
|
||||
sys-apps/coreutils
|
||||
sys-apps/findutils
|
||||
sys-apps/grep
|
||||
sys-apps/kbd
|
||||
sys-apps/kexec-tools
|
||||
sys-apps/less
|
||||
sys-apps/sed
|
||||
sys-apps/systemd
|
||||
sys-apps/systemd-sysv-utils
|
||||
sys-apps/util-linux
|
||||
sys-fs/btrfs-progs
|
||||
sys-fs/mdadm
|
||||
sys-kernel/dracut
|
||||
virtual/udev
|
||||
"
|
||||
|
@ -1,2 +0,0 @@
|
||||
DIST dracut-031.tar.bz2 260601 SHA256 a62fd3d22600adc0f370d2eff474f9aec51bc3dfb2be619647f258a9805bbb77 SHA512 ddde1279cff61b6fd8567f5e21b5f8d95e935e42520a342960432749c6a085637a5e049e6fd121d491727aea3b35af59e86c8b80e55180f3b5e496aff2b6eb23 WHIRLPOOL 46c9d2a3717fd8c36aac269a213a433f6534b2a547e0b23a31ffca9a4101c69c7253358fccb8a55a0ab9b19d4c4218eb902c49a6cc0fc08c48e3cd70c40eebc2
|
||||
DIST dracut-034.tar.bz2 277692 SHA256 48c7fd57e287d4f34dfff5b5ead14a4511926858f1e2ffaa40b762f257516d7f SHA512 ae06510668e63550d4d6b509b314c7668880387cfe696fc7f21cf04cc488be743440871dbd1fcf4e8314f9aa9e61ee3e78a42a75631123c420767677c6744e34 WHIRLPOOL 0412dea239fbd82d79e873869211ea31b7495dac74d7079e8aa52dd8d2484986fd0a0831aefffe29cfe5acfbf64fa01a9a1fa742192a28276a8671b663a69e13
|
@ -1,298 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-031.ebuild,v 1.1 2013/08/03 21:07:51 aidecoe Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit bash-completion-r1 eutils linux-info systemd
|
||||
|
||||
add_req_use_for() {
|
||||
local dep="$1"; shift
|
||||
local f
|
||||
|
||||
for f in "$@"; do
|
||||
REQUIRED_USE+="${f}? ( ${dep} )
|
||||
"
|
||||
done
|
||||
}
|
||||
|
||||
DESCRIPTION="Generic initramfs generation tool"
|
||||
HOMEPAGE="http://dracut.wiki.kernel.org"
|
||||
SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.bz2"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
REQUIRED_USE="
|
||||
dracut_modules_bootchart? ( !dracut_modules_systemd )
|
||||
dracut_modules_crypt-gpg? ( dracut_modules_crypt )
|
||||
dracut_modules_crypt-loop? ( dracut_modules_crypt )
|
||||
dracut_modules_livenet? ( dracut_modules_dmsquash-live )
|
||||
"
|
||||
COMMON_MODULES="
|
||||
dracut_modules_biosdevname
|
||||
dracut_modules_bootchart
|
||||
dracut_modules_btrfs
|
||||
dracut_modules_caps
|
||||
dracut_modules_crypt-gpg
|
||||
dracut_modules_crypt-loop
|
||||
dracut_modules_gensplash
|
||||
dracut_modules_mdraid
|
||||
dracut_modules_multipath
|
||||
dracut_modules_plymouth
|
||||
dracut_modules_syslog
|
||||
dracut_modules_systemd
|
||||
"
|
||||
DM_MODULES="
|
||||
dracut_modules_crypt
|
||||
dracut_modules_dmraid
|
||||
dracut_modules_dmsquash-live
|
||||
dracut_modules_livenet
|
||||
dracut_modules_lvm
|
||||
"
|
||||
NETWORK_MODULES="
|
||||
dracut_modules_cifs
|
||||
dracut_modules_iscsi
|
||||
dracut_modules_livenet
|
||||
dracut_modules_nbd
|
||||
dracut_modules_nfs
|
||||
dracut_modules_ssh-client
|
||||
"
|
||||
add_req_use_for device-mapper ${DM_MODULES}
|
||||
add_req_use_for net ${NETWORK_MODULES}
|
||||
IUSE_DRACUT_MODULES="${COMMON_MODULES} ${DM_MODULES} ${NETWORK_MODULES}"
|
||||
IUSE="debug device-mapper optimization net selinux ${IUSE_DRACUT_MODULES}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
CDEPEND="virtual/udev
|
||||
dracut_modules_systemd? ( >=sys-apps/systemd-199 )
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
>=app-shells/bash-4.0
|
||||
>=sys-apps/baselayout-1.12.14-r1
|
||||
>sys-apps/kmod-5[tools]
|
||||
>=sys-apps/util-linux-2.21
|
||||
virtual/pkgconfig
|
||||
|
||||
debug? ( dev-util/strace )
|
||||
device-mapper? ( >=sys-fs/lvm2-2.02.33 )
|
||||
net? ( net-misc/curl >=net-misc/dhcp-4.2.4_p2-r1[client] sys-apps/iproute2 )
|
||||
selinux? ( sys-libs/libselinux sys-libs/libsepol )
|
||||
dracut_modules_biosdevname? ( sys-apps/biosdevname )
|
||||
dracut_modules_bootchart? ( app-benchmarks/bootchart2 sys-apps/usleep
|
||||
sys-process/acct )
|
||||
dracut_modules_btrfs? ( sys-fs/btrfs-progs )
|
||||
dracut_modules_caps? ( sys-libs/libcap )
|
||||
dracut_modules_cifs? ( net-fs/cifs-utils )
|
||||
dracut_modules_crypt? ( sys-fs/cryptsetup )
|
||||
dracut_modules_crypt-gpg? ( app-crypt/gnupg )
|
||||
dracut_modules_dmraid? ( sys-fs/dmraid sys-fs/multipath-tools )
|
||||
dracut_modules_gensplash? ( media-gfx/splashutils )
|
||||
dracut_modules_iscsi? ( >=sys-block/open-iscsi-2.0.871.3 )
|
||||
dracut_modules_lvm? ( >=sys-fs/lvm2-2.02.33 )
|
||||
dracut_modules_mdraid? ( sys-fs/mdadm )
|
||||
dracut_modules_multipath? ( sys-fs/multipath-tools )
|
||||
dracut_modules_nbd? ( sys-block/nbd )
|
||||
dracut_modules_nfs? ( net-fs/nfs-utils net-nds/rpcbind )
|
||||
dracut_modules_plymouth? ( >=sys-boot/plymouth-0.8.3-r1 )
|
||||
dracut_modules_ssh-client? ( dev-libs/openssl )
|
||||
dracut_modules_syslog? ( || ( app-admin/syslog-ng app-admin/rsyslog ) )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
app-text/asciidoc
|
||||
>=dev-libs/libxslt-1.1.26
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
>=app-text/docbook-xsl-stylesheets-1.75.2
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
|
||||
README.testsuite TODO )
|
||||
MY_LIBDIR="/usr/lib"
|
||||
|
||||
#
|
||||
# Helper functions
|
||||
#
|
||||
|
||||
# Returns true if any of specified modules is enabled by USE flag and false
|
||||
# otherwise.
|
||||
# $1 = list of modules (which have corresponding USE flags of the same name)
|
||||
any_module() {
|
||||
local m modules=" $@ "
|
||||
|
||||
for m in ${modules}; do
|
||||
! use $m && modules=${modules/ $m / }
|
||||
done
|
||||
|
||||
shopt -s extglob
|
||||
modules=${modules%%+( )}
|
||||
shopt -u extglob
|
||||
|
||||
[[ ${modules} ]]
|
||||
}
|
||||
|
||||
# Removes module from modules.d.
|
||||
# $1 = module name
|
||||
# Module name can be specified without number prefix.
|
||||
rm_module() {
|
||||
local force m
|
||||
[[ $1 = -f ]] && force=-f
|
||||
|
||||
for m in $@; do
|
||||
if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
|
||||
rm ${force} --interactive=never -r "${modules_dir}"/$m
|
||||
else
|
||||
rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# ebuild functions
|
||||
#
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PV}-0001-dracut-functions.sh-support-for-altern.patch"
|
||||
epatch "${FILESDIR}/${PV}-0002-gentoo.conf-let-udevdir-be-handled-by-.patch"
|
||||
|
||||
if use dracut_modules_systemd; then
|
||||
local systemdutildir="$(systemd_get_utildir)"
|
||||
local systemdsystemunitdir="$(systemd_get_unitdir)"
|
||||
einfo "Setting systemdutildir to ${systemdutildir} and ..."
|
||||
sed -e "4asystemdutildir=\"${systemdutildir}\"" \
|
||||
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
|
||||
einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir}..."
|
||||
sed -e "5asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
|
||||
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--libdir='${MY_LIBDIR}'"
|
||||
myconf+=" --bashcompletiondir=$(get_bashcompdir)"
|
||||
|
||||
if use dracut_modules_systemd; then
|
||||
myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
|
||||
fi
|
||||
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use optimization; then
|
||||
ewarn "Enabling experimental optimization!"
|
||||
tc-export CC
|
||||
emake install/dracut-install
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
local dracutlibdir="${MY_LIBDIR#/}/dracut"
|
||||
|
||||
echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
|
||||
|
||||
insinto "${dracutlibdir}/dracut.conf.d/"
|
||||
newins dracut.conf.d/gentoo.conf.example gentoo.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins dracut.logrotate dracut
|
||||
|
||||
dodir /var/lib/dracut/overlay
|
||||
|
||||
dohtml dracut.html
|
||||
|
||||
#
|
||||
# Modules
|
||||
#
|
||||
local module
|
||||
modules_dir="${D%/}/${dracutlibdir}/modules.d"
|
||||
|
||||
# Remove modules not enabled by USE flags
|
||||
for module in ${IUSE_DRACUT_MODULES} ; do
|
||||
! use ${module} && rm_module -f ${module#dracut_modules_}
|
||||
done
|
||||
|
||||
# Those flags are specific, and even are corresponding to modules, they need
|
||||
# to be declared as regular USE flags.
|
||||
use debug || rm_module 95debug
|
||||
use selinux || rm_module 98selinux
|
||||
|
||||
# Following flags define set of helper modules which are base dependencies
|
||||
# for others and as so have no practical use, so remove these modules.
|
||||
use device-mapper || rm_module 90dm
|
||||
use net || rm_module 40network 45ifcfg 45url-lib
|
||||
|
||||
if use dracut_modules_systemd; then
|
||||
# With systemd following modules do not make sense
|
||||
rm_module 96securityfs 98selinux
|
||||
else
|
||||
# Without systemd following modules do not make sense
|
||||
rm_module 00systemd-bootchart
|
||||
fi
|
||||
|
||||
# Remove S/390 modules which are not tested at all
|
||||
rm_module 80cms 95dasd 95dasd_mod 95zfcp 95znet
|
||||
|
||||
# Remove modules which won't work for sure
|
||||
rm_module 95fcoe # no tools
|
||||
# fips module depends on masked app-crypt/hmaccalc
|
||||
rm_module 01fips 02fips-aesni
|
||||
|
||||
# Remove extra modules which go to future dracut-extras
|
||||
rm_module 05busybox 97masterkey 98ecryptfs 98integrity
|
||||
|
||||
# dash module is no longer supported
|
||||
rm_module 00dash
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if linux-info_get_any_version && linux_config_src_exists; then
|
||||
ewarn ""
|
||||
ewarn "If the following test report contains a missing kernel"
|
||||
ewarn "configuration option, you should reconfigure and rebuild your"
|
||||
ewarn "kernel before booting image generated with this Dracut version."
|
||||
ewarn ""
|
||||
|
||||
local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
|
||||
|
||||
# Kernel configuration options descriptions:
|
||||
local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
|
||||
local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
|
||||
"(initramfs/initrd) support"
|
||||
|
||||
local opt desc
|
||||
|
||||
# Generate ERROR_* variables for check_extra_config.
|
||||
for opt in ${CONFIG_CHECK}; do
|
||||
opt=${opt#\~}
|
||||
desc=desc_${opt}
|
||||
eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
|
||||
"is missing and REQUIRED'"
|
||||
done
|
||||
|
||||
check_extra_config
|
||||
echo
|
||||
else
|
||||
ewarn ""
|
||||
ewarn "Your kernel configuration couldn't be checked. Do you have"
|
||||
ewarn "/usr/src/linux/.config file there? Please check manually if"
|
||||
ewarn "following options are enabled:"
|
||||
ewarn ""
|
||||
ewarn " CONFIG_BLK_DEV_INITRD"
|
||||
ewarn " CONFIG_DEVTMPFS"
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
if use dracut_modules_crypt || use dracut_modules_dmraid || use \
|
||||
dracut_modules_mdraid || use dracut_modules_lvm; then
|
||||
|
||||
if ! [[ $(</proc/cmdline) =~ rd.auto[\ =] ]]; then
|
||||
ewarn "Autoassembly of special devices like cryptoLUKS, dmraid, "
|
||||
ewarn "mdraid or lvm is off for default as of >=dracut-024."
|
||||
ewarn "Use rd.auto option to turn it on."
|
||||
fi
|
||||
fi
|
||||
}
|
@ -1,320 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-034-r1.ebuild,v 1.3 2013/11/18 19:10:48 aidecoe Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit bash-completion-r1 eutils linux-info multilib systemd
|
||||
|
||||
add_req_use_for() {
|
||||
local dep="$1"; shift
|
||||
local f
|
||||
|
||||
for f in "$@"; do
|
||||
REQUIRED_USE+="${f}? ( ${dep} )
|
||||
"
|
||||
done
|
||||
}
|
||||
|
||||
DESCRIPTION="Generic initramfs generation tool"
|
||||
HOMEPAGE="http://dracut.wiki.kernel.org"
|
||||
SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.bz2"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
REQUIRED_USE="
|
||||
dracut_modules_bootchart? ( !dracut_modules_systemd )
|
||||
dracut_modules_crypt-gpg? ( dracut_modules_crypt )
|
||||
dracut_modules_crypt-loop? ( dracut_modules_crypt )
|
||||
dracut_modules_livenet? ( dracut_modules_dmsquash-live )
|
||||
"
|
||||
COMMON_MODULES="
|
||||
dracut_modules_biosdevname
|
||||
dracut_modules_bootchart
|
||||
dracut_modules_btrfs
|
||||
dracut_modules_caps
|
||||
dracut_modules_crypt-gpg
|
||||
dracut_modules_crypt-loop
|
||||
dracut_modules_dash
|
||||
dracut_modules_gensplash
|
||||
dracut_modules_mdraid
|
||||
dracut_modules_multipath
|
||||
dracut_modules_plymouth
|
||||
dracut_modules_syslog
|
||||
dracut_modules_systemd
|
||||
"
|
||||
DM_MODULES="
|
||||
dracut_modules_crypt
|
||||
dracut_modules_dmraid
|
||||
dracut_modules_dmsquash-live
|
||||
dracut_modules_livenet
|
||||
dracut_modules_lvm
|
||||
"
|
||||
NETWORK_MODULES="
|
||||
dracut_modules_cifs
|
||||
dracut_modules_iscsi
|
||||
dracut_modules_livenet
|
||||
dracut_modules_nbd
|
||||
dracut_modules_nfs
|
||||
dracut_modules_ssh-client
|
||||
"
|
||||
add_req_use_for device-mapper ${DM_MODULES}
|
||||
add_req_use_for net ${NETWORK_MODULES}
|
||||
IUSE_DRACUT_MODULES="${COMMON_MODULES} ${DM_MODULES} ${NETWORK_MODULES}"
|
||||
IUSE="debug device-mapper net selinux ${IUSE_DRACUT_MODULES}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
CDEPEND="virtual/udev
|
||||
dracut_modules_systemd? ( >=sys-apps/systemd-199 )
|
||||
selinux? ( sec-policy/selinux-dracut )
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
>=app-shells/bash-4.0
|
||||
>=sys-apps/baselayout-1.12.14-r1
|
||||
>sys-apps/kmod-5[tools]
|
||||
>=sys-apps/util-linux-2.21
|
||||
virtual/pkgconfig
|
||||
|
||||
debug? ( dev-util/strace )
|
||||
device-mapper? ( >=sys-fs/lvm2-2.02.33 )
|
||||
net? ( net-misc/curl >=net-misc/dhcp-4.2.4_p2-r1[client] sys-apps/iproute2 )
|
||||
selinux? ( sys-libs/libselinux sys-libs/libsepol )
|
||||
dracut_modules_biosdevname? ( sys-apps/biosdevname )
|
||||
dracut_modules_bootchart? ( app-benchmarks/bootchart2 sys-apps/usleep
|
||||
sys-process/acct )
|
||||
dracut_modules_btrfs? ( sys-fs/btrfs-progs )
|
||||
dracut_modules_caps? ( sys-libs/libcap )
|
||||
dracut_modules_cifs? ( net-fs/cifs-utils )
|
||||
dracut_modules_crypt? ( sys-fs/cryptsetup )
|
||||
dracut_modules_crypt-gpg? ( app-crypt/gnupg )
|
||||
dracut_modules_dash? ( >=app-shells/dash-0.5.4.11 )
|
||||
dracut_modules_dmraid? ( sys-fs/dmraid sys-fs/multipath-tools )
|
||||
dracut_modules_gensplash? ( media-gfx/splashutils )
|
||||
dracut_modules_iscsi? ( >=sys-block/open-iscsi-2.0.871.3 )
|
||||
dracut_modules_lvm? ( >=sys-fs/lvm2-2.02.33 )
|
||||
dracut_modules_mdraid? ( >=sys-fs/mdadm-3.2.6-r1 )
|
||||
dracut_modules_multipath? ( sys-fs/multipath-tools )
|
||||
dracut_modules_nbd? ( sys-block/nbd )
|
||||
dracut_modules_nfs? ( net-fs/nfs-utils net-nds/rpcbind )
|
||||
dracut_modules_plymouth? ( >=sys-boot/plymouth-0.8.3-r1 )
|
||||
dracut_modules_ssh-client? ( dev-libs/openssl )
|
||||
dracut_modules_syslog? ( || ( app-admin/syslog-ng app-admin/rsyslog ) )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
app-text/asciidoc
|
||||
>=dev-libs/libxslt-1.1.26
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
>=app-text/docbook-xsl-stylesheets-1.75.2
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
|
||||
README.testsuite TODO )
|
||||
MY_LIBDIR=/usr/lib
|
||||
|
||||
#
|
||||
# Helper functions
|
||||
#
|
||||
|
||||
# Returns true if any of specified modules is enabled by USE flag and false
|
||||
# otherwise.
|
||||
# $1 = list of modules (which have corresponding USE flags of the same name)
|
||||
any_module() {
|
||||
local m modules=" $@ "
|
||||
|
||||
for m in ${modules}; do
|
||||
! use $m && modules=${modules/ $m / }
|
||||
done
|
||||
|
||||
shopt -s extglob
|
||||
modules=${modules%%+( )}
|
||||
shopt -u extglob
|
||||
|
||||
[[ ${modules} ]]
|
||||
}
|
||||
|
||||
# Removes module from modules.d.
|
||||
# $1 = module name
|
||||
# Module name can be specified without number prefix.
|
||||
rm_module() {
|
||||
local force m
|
||||
[[ $1 = -f ]] && force=-f
|
||||
|
||||
for m in $@; do
|
||||
if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
|
||||
rm ${force} --interactive=never -r "${modules_dir}"/$m
|
||||
else
|
||||
rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# ebuild functions
|
||||
#
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PV}-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch"
|
||||
epatch "${FILESDIR}/${PV}-0002-dracut-functions.sh-support-for-altern.patch"
|
||||
epatch "${FILESDIR}/${PV}-0003-gentoo.conf-let-udevdir-be-handled-by-.patch"
|
||||
epatch "${FILESDIR}/${PV}-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch"
|
||||
epatch "${FILESDIR}/${PV}-0005-Install-dracut-install-into-libexec-di.patch"
|
||||
epatch "${FILESDIR}/${PV}-0006-resume-fix-swap-detection-in-hostonly.patch"
|
||||
epatch "${FILESDIR}/${PV}-0007-dracut.sh-also-mkdir-run-lock-which-is.patch"
|
||||
epatch "${FILESDIR}/${PV}-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch"
|
||||
epatch "${FILESDIR}/${PV}-0009-lvm-install-thin-utils-for-non-hostonl.patch"
|
||||
epatch "${FILESDIR}/${PV}-0010-module-setup.sh-add-comments-for-dracu.patch"
|
||||
epatch "${FILESDIR}/${PV}-0011-lvm-fix-thin-recognition.patch"
|
||||
epatch "${FILESDIR}/${PV}-0012-lvm-always-install-thin-utils-for-lvm.patch"
|
||||
|
||||
local libdirs
|
||||
|
||||
#local ldir
|
||||
#for ldir in $(get_all_libdirs); do
|
||||
# libdirs+=" /$ldir /usr/$ldir"
|
||||
#done
|
||||
#libdirs="${libdirs# }"
|
||||
|
||||
libdirs="/$(get_libdir) /usr/$(get_libdir)"
|
||||
[[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
|
||||
einfo "Setting libdirs to \"${libdirs}\" ..."
|
||||
sed -e "3alibdirs=\"${libdirs}\"" \
|
||||
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
|
||||
|
||||
if use dracut_modules_systemd; then
|
||||
local systemdutildir="$(systemd_get_utildir)"
|
||||
local systemdsystemunitdir="$(systemd_get_unitdir)"
|
||||
einfo "Setting systemdutildir to ${systemdutildir} and ..."
|
||||
sed -e "5asystemdutildir=\"${systemdutildir}\"" \
|
||||
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
|
||||
einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir}..."
|
||||
sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
|
||||
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--libdir=${MY_LIBDIR}"
|
||||
myconf+=" --bashcompletiondir=$(get_bashcompdir)"
|
||||
|
||||
if use dracut_modules_systemd; then
|
||||
myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
|
||||
fi
|
||||
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC
|
||||
emake doc install/dracut-install
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
local my_libdir="${MY_LIBDIR}"
|
||||
local dracutlibdir="${my_libdir#/}/dracut"
|
||||
|
||||
echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
|
||||
|
||||
insinto "${dracutlibdir}/dracut.conf.d/"
|
||||
newins dracut.conf.d/gentoo.conf.example gentoo.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins dracut.logrotate dracut
|
||||
|
||||
dodir /var/lib/dracut/overlay
|
||||
|
||||
dohtml dracut.html
|
||||
|
||||
#
|
||||
# Modules
|
||||
#
|
||||
local module
|
||||
modules_dir="${D%/}/${dracutlibdir}/modules.d"
|
||||
|
||||
# Remove modules not enabled by USE flags
|
||||
for module in ${IUSE_DRACUT_MODULES} ; do
|
||||
! use ${module} && rm_module -f ${module#dracut_modules_}
|
||||
done
|
||||
|
||||
# Those flags are specific, and even are corresponding to modules, they need
|
||||
# to be declared as regular USE flags.
|
||||
use debug || rm_module 95debug
|
||||
use selinux || rm_module 98selinux
|
||||
|
||||
# Following flags define set of helper modules which are base dependencies
|
||||
# for others and as so have no practical use, so remove these modules.
|
||||
use device-mapper || rm_module 90dm
|
||||
use net || rm_module 40network 45ifcfg 45url-lib
|
||||
|
||||
if use dracut_modules_systemd; then
|
||||
# With systemd following modules do not make sense
|
||||
rm_module 96securityfs 98selinux
|
||||
else
|
||||
# Without systemd following modules do not make sense
|
||||
rm_module 00systemd-bootchart
|
||||
fi
|
||||
|
||||
# Remove S/390 modules which are not tested at all
|
||||
rm_module 80cms 95dasd 95dasd_mod 95zfcp 95znet
|
||||
|
||||
# Remove modules which won't work for sure
|
||||
rm_module 95fcoe # no tools
|
||||
# fips module depends on masked app-crypt/hmaccalc
|
||||
rm_module 01fips 02fips-aesni
|
||||
|
||||
# Remove extra modules which go to future dracut-extras
|
||||
rm_module 05busybox 97masterkey 98ecryptfs 98integrity
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if linux-info_get_any_version && linux_config_src_exists; then
|
||||
ewarn ""
|
||||
ewarn "If the following test report contains a missing kernel"
|
||||
ewarn "configuration option, you should reconfigure and rebuild your"
|
||||
ewarn "kernel before booting image generated with this Dracut version."
|
||||
ewarn ""
|
||||
|
||||
local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
|
||||
|
||||
# Kernel configuration options descriptions:
|
||||
local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
|
||||
local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
|
||||
"(initramfs/initrd) support"
|
||||
|
||||
local opt desc
|
||||
|
||||
# Generate ERROR_* variables for check_extra_config.
|
||||
for opt in ${CONFIG_CHECK}; do
|
||||
opt=${opt#\~}
|
||||
desc=desc_${opt}
|
||||
eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
|
||||
"is missing and REQUIRED'"
|
||||
done
|
||||
|
||||
check_extra_config
|
||||
echo
|
||||
else
|
||||
ewarn ""
|
||||
ewarn "Your kernel configuration couldn't be checked. Do you have"
|
||||
ewarn "/usr/src/linux/.config file there? Please check manually if"
|
||||
ewarn "following options are enabled:"
|
||||
ewarn ""
|
||||
ewarn " CONFIG_BLK_DEV_INITRD"
|
||||
ewarn " CONFIG_DEVTMPFS"
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
if use dracut_modules_crypt || use dracut_modules_dmraid || use \
|
||||
dracut_modules_mdraid || use dracut_modules_lvm; then
|
||||
|
||||
if ! [[ $(</proc/cmdline) =~ rd.auto[\ =] ]]; then
|
||||
ewarn "Autoassembly of special devices like cryptoLUKS, dmraid, "
|
||||
ewarn "mdraid or lvm is off for default as of >=dracut-024."
|
||||
ewarn "Use rd.auto option to turn it on."
|
||||
fi
|
||||
fi
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
From 9a45dcf7c92d7e7b4ee7b0ff6ab61ae1a90f03f3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
|
||||
Date: Sun, 6 Jan 2013 13:35:01 +0100
|
||||
Subject: [PATCH 1/2] dracut-functions.sh: support for alternative udev dirs -
|
||||
udevaltdirs
|
||||
|
||||
It is required for Gentoo which moves udev from / to /usr and supports
|
||||
both /lib/udev and /usr/lib/udev for compatibility with other packages.
|
||||
|
||||
Credits go to Alexander Tsoy <alexander@tsoy.me>.
|
||||
---
|
||||
dracut-functions.sh | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||||
index eb1278e..eaa023c 100755
|
||||
--- a/dracut-functions.sh
|
||||
+++ b/dracut-functions.sh
|
||||
@@ -960,6 +960,15 @@ inst_rules() {
|
||||
inst_dir "$_target"
|
||||
for _rule in "$@"; do
|
||||
if [ "${_rule#/}" = "$_rule" ]; then
|
||||
+ for r in ${udevaltdirs}; do
|
||||
+ [[ "$r" = "${udevdir}" ]] && continue
|
||||
+ if [[ -f $r/rules.d/$_rule ]]; then
|
||||
+ _found="$r/rules.d/$_rule"
|
||||
+ inst_rule_programs "$_found"
|
||||
+ inst_rule_group_owner "$_found"
|
||||
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
|
||||
+ fi
|
||||
+ done
|
||||
for r in ${udevdir}/rules.d /etc/udev/rules.d; do
|
||||
if [[ -f $r/$_rule ]]; then
|
||||
_found="$r/$_rule"
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,30 +0,0 @@
|
||||
From fc2bb603bc17e67c66ffcf53a282aa6fb6a6261c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
|
||||
Date: Sun, 16 Dec 2012 20:02:48 +0100
|
||||
Subject: [PATCH 2/2] gentoo.conf: let udevdir= be handled by pkg-config and
|
||||
use udevaltdirs
|
||||
|
||||
To avoid need of rebuild after udev update/downgrade let udevdir= be set
|
||||
dynamically with pkg-config. Use udevaltdirs to search for rules both
|
||||
in old and new locations.
|
||||
---
|
||||
dracut.conf.d/gentoo.conf.example | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
|
||||
index 26e7314..f9617f0 100644
|
||||
--- a/dracut.conf.d/gentoo.conf.example
|
||||
+++ b/dracut.conf.d/gentoo.conf.example
|
||||
@@ -1,7 +1,8 @@
|
||||
# /etc/dracut.conf.d/gentoo.conf
|
||||
# dracut config file customized for Gentoo Base System release 2
|
||||
|
||||
-udevdir=/lib/udev
|
||||
+udevdir=
|
||||
+udevaltdirs="/lib/udev /usr/lib/udev"
|
||||
ro_mnt=yes
|
||||
|
||||
#
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 45e5079d4be0ac1a977bc41dcda423fcfa3280fc Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 8 Oct 2013 15:03:40 +0200
|
||||
Subject: [PATCH 1/5] dracut.sh: do not bail out, if kernel modules dir is
|
||||
missing
|
||||
|
||||
and only print a warning message
|
||||
---
|
||||
dracut.sh | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index e135dfc..d9533dd 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -496,17 +496,18 @@ if [[ $regenerate_all == "yes" ]]; then
|
||||
((ret+=$?))
|
||||
done
|
||||
exit $ret
|
||||
-elif [[ $kernel ]]; then
|
||||
- if ! [[ -d /lib/modules/$kernel ]] && [[ $no_kernel != yes ]]; then
|
||||
- printf -- "Kernel version $kernel has no modules in /lib/modules/$kernel\n" >&2
|
||||
- exit 1
|
||||
- fi
|
||||
fi
|
||||
|
||||
if ! [[ $kernel ]]; then
|
||||
kernel=$(uname -r)
|
||||
fi
|
||||
|
||||
+if [[ $kernel ]]; then
|
||||
+ if ! [[ -d /lib/modules/$kernel ]] && [[ $no_kernel != yes ]]; then
|
||||
+ printf -- "Kernel version $kernel has no module directory /lib/modules/$kernel\n" >&2
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
if ! [[ $outfile ]]; then
|
||||
[[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,41 +0,0 @@
|
||||
From c5a2f35eb2a90d8787d127b44cb6b5e0536d16ce Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
|
||||
Date: Sun, 6 Jan 2013 13:35:01 +0100
|
||||
Subject: [PATCH 2/5] dracut-functions.sh: support for alternative udev dirs -
|
||||
udevaltdirs
|
||||
|
||||
It is required for Gentoo which moves udev from / to /usr and supports
|
||||
both /lib/udev and /usr/lib/udev for compatibility with other packages.
|
||||
|
||||
Credits go to Alexander Tsoy <alexander@tsoy.me>.
|
||||
|
||||
Conflicts:
|
||||
dracut-functions.sh
|
||||
---
|
||||
dracut-functions.sh | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||||
index 45e0911..c1cbdeb 100755
|
||||
--- a/dracut-functions.sh
|
||||
+++ b/dracut-functions.sh
|
||||
@@ -872,6 +872,16 @@ inst_rules() {
|
||||
inst_dir "$_target"
|
||||
for _rule in "$@"; do
|
||||
if [ "${_rule#/}" = "$_rule" ]; then
|
||||
+ for r in ${udevaltdirs}; do
|
||||
+ [[ "$r" = "${udevdir}" ]] && continue
|
||||
+ if [[ -e $r/rules.d/$_rule ]]; then
|
||||
+ _found="$r/rules.d/$_rule"
|
||||
+ inst_rule_programs "$_found"
|
||||
+ inst_rule_group_owner "$_found"
|
||||
+ inst_rule_initqueue "$_found"
|
||||
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
|
||||
+ fi
|
||||
+ done
|
||||
for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do
|
||||
if [[ -e $r/$_rule ]]; then
|
||||
_found="$r/$_rule"
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 29ade4d78b7609877659aa5938b3fba2954ce415 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
|
||||
Date: Sun, 16 Dec 2012 20:02:48 +0100
|
||||
Subject: [PATCH 3/5] gentoo.conf: let udevdir= be handled by pkg-config and
|
||||
use udevaltdirs
|
||||
|
||||
To avoid need of rebuild after udev update/downgrade let udevdir= be set
|
||||
dynamically with pkg-config. Use udevaltdirs to search for rules both
|
||||
in old and new locations.
|
||||
---
|
||||
dracut.conf.d/gentoo.conf.example | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
|
||||
index 26e7314..f9617f0 100644
|
||||
--- a/dracut.conf.d/gentoo.conf.example
|
||||
+++ b/dracut.conf.d/gentoo.conf.example
|
||||
@@ -1,7 +1,8 @@
|
||||
# /etc/dracut.conf.d/gentoo.conf
|
||||
# dracut config file customized for Gentoo Base System release 2
|
||||
|
||||
-udevdir=/lib/udev
|
||||
+udevdir=
|
||||
+udevaltdirs="/lib/udev /usr/lib/udev"
|
||||
ro_mnt=yes
|
||||
|
||||
#
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,74 +0,0 @@
|
||||
From 6660721bd34b7a25026ffc6a6df4cdfdc8742ed3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
|
||||
Date: Wed, 2 Oct 2013 22:37:09 +0200
|
||||
Subject: [PATCH 4/5] Use the same paths in dracut.sh as those set with
|
||||
configure script
|
||||
|
||||
Makefile alters destination main dracut script and sets dracutbasedir to
|
||||
the value of pkglibdir set in configure.
|
||||
---
|
||||
Makefile | 3 +++
|
||||
dracut.sh | 9 ++++-----
|
||||
2 files changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 124a41b..ea504f5 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -91,6 +91,9 @@ install: dracut-version.sh
|
||||
mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
|
||||
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
|
||||
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
|
||||
+ sed -r \
|
||||
+ -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
|
||||
+ -i $(DESTDIR)$(bindir)/dracut
|
||||
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
|
||||
install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
|
||||
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index d9533dd..cf18c81 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -26,10 +26,13 @@
|
||||
# store for logging
|
||||
dracut_args=( "$@" )
|
||||
|
||||
+# base dirs
|
||||
+pkglibdir=/usr/lib/dracut
|
||||
+dracutbasedir="$pkglibdir"
|
||||
+
|
||||
set -o pipefail
|
||||
|
||||
usage() {
|
||||
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
|
||||
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
|
||||
. $dracutbasedir/dracut-version.sh
|
||||
fi
|
||||
@@ -54,7 +57,6 @@ EOF
|
||||
}
|
||||
|
||||
long_usage() {
|
||||
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
|
||||
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
|
||||
. $dracutbasedir/dracut-version.sh
|
||||
fi
|
||||
@@ -549,8 +551,6 @@ export DRACUT_LOG_LEVEL=warning
|
||||
debug=yes
|
||||
}
|
||||
|
||||
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
|
||||
-
|
||||
# if we were not passed a config file, try the default one
|
||||
if [[ ! -f $conffile ]]; then
|
||||
if [[ $allowlocal ]]; then
|
||||
@@ -669,7 +669,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
|
||||
[[ $use_fstab_l ]] && use_fstab=$use_fstab_l
|
||||
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
|
||||
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l
|
||||
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
|
||||
[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
|
||||
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
|
||||
[[ $tmpdir ]] || tmpdir=/var/tmp
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,81 +0,0 @@
|
||||
From 80dbe6dfbdb2cd3475006e210fe057dceb81ddf2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
|
||||
Date: Wed, 2 Oct 2013 22:40:43 +0200
|
||||
Subject: [PATCH 5/5] Install dracut-install into libexec dir instead of lib
|
||||
dir
|
||||
|
||||
dracut-install script is the only thing ABI specific atm.
|
||||
|
||||
See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the
|
||||
problem.
|
||||
---
|
||||
Makefile | 4 +++-
|
||||
configure | 1 +
|
||||
dracut-functions.sh | 4 ++++
|
||||
dracut.sh | 1 +
|
||||
4 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index ea504f5..e004a79 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -92,6 +92,7 @@ install: dracut-version.sh
|
||||
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
|
||||
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
|
||||
sed -r \
|
||||
+ -e "s|^(libexecdir)=.*|\1=$(libexecdir)|" \
|
||||
-e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
|
||||
-i $(DESTDIR)$(bindir)/dracut
|
||||
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
|
||||
@@ -135,7 +136,8 @@ endif
|
||||
done \
|
||||
fi
|
||||
if [ -f install/dracut-install ]; then \
|
||||
- install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \
|
||||
+ mkdir -p $(DESTDIR)$(libexecdir); \
|
||||
+ install -m 0755 install/dracut-install $(DESTDIR)$(libexecdir)/dracut-install; \
|
||||
fi
|
||||
mkdir -p $(DESTDIR)${prefix}/lib/kernel/install.d
|
||||
install -m 0755 50-dracut.install $(DESTDIR)${prefix}/lib/kernel/install.d/50-dracut.install
|
||||
diff --git a/configure b/configure
|
||||
index 19b5e1f..d2ffc2c 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -61,6 +61,7 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
|
||||
mandir ?= ${mandir:-${prefix}/share/man}
|
||||
enable_documentation ?= ${enable_documentation:-yes}
|
||||
bindir ?= ${bindir:-${prefix}/bin}
|
||||
+libexecdir ?= ${libexecdir:-${prefix}/libexec}
|
||||
EOF
|
||||
|
||||
{
|
||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||||
index c1cbdeb..72b7f1b 100755
|
||||
--- a/dracut-functions.sh
|
||||
+++ b/dracut-functions.sh
|
||||
@@ -694,6 +694,10 @@ if ! [[ $DRACUT_INSTALL ]]; then
|
||||
DRACUT_INSTALL=$(find_binary dracut-install)
|
||||
fi
|
||||
|
||||
+if ! [[ $DRACUT_INSTALL ]] && [[ -x $libexecdir/dracut-install ]]; then
|
||||
+ DRACUT_INSTALL=$libexecdir/dracut-install
|
||||
+fi
|
||||
+
|
||||
if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then
|
||||
DRACUT_INSTALL=$dracutbasedir/dracut-install
|
||||
fi
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index cf18c81..e28b929 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -27,6 +27,7 @@
|
||||
dracut_args=( "$@" )
|
||||
|
||||
# base dirs
|
||||
+libexecdir=/usr/libexec
|
||||
pkglibdir=/usr/lib/dracut
|
||||
dracutbasedir="$pkglibdir"
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 0c89bcc27516803d68444488ede3d513ba982039 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Tsoy <alexander@tsoy.me>
|
||||
Date: Wed, 9 Oct 2013 06:39:46 +0400
|
||||
Subject: [PATCH 6/6] resume: fix swap detection in hostonly
|
||||
|
||||
Check for other possible fs types. This fixes swap detection when using
|
||||
TuxOnIce kernel.
|
||||
|
||||
Note that parse-resume.sh generate udev rules with support for
|
||||
ID_FS_TYPE=suspend, but we do not include it here, because it is
|
||||
libvolume_id thing and host_fs_types is populated using blkid.
|
||||
---
|
||||
modules.d/95resume/module-setup.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
|
||||
index 518ebf0..a1ddb46 100755
|
||||
--- a/modules.d/95resume/module-setup.sh
|
||||
+++ b/modules.d/95resume/module-setup.sh
|
||||
@@ -6,7 +6,7 @@ check() {
|
||||
# No point trying to support resume, if no swap partition exist
|
||||
[[ $hostonly ]] || [[ $mount_needs ]] && {
|
||||
for fs in "${host_fs_types[@]}"; do
|
||||
- [[ $fs = swap ]] && return 0
|
||||
+ [[ $fs =~ ^(swap|swsuspend|swsupend)$ ]] && return 0
|
||||
done
|
||||
return 255
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,25 +0,0 @@
|
||||
From be723725cd6ea1c41b52c1bff5a569eb8cd0c76d Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Wed, 16 Oct 2013 11:31:54 +0200
|
||||
Subject: [PATCH 07/12] dracut.sh: also mkdir /run/lock, which is copied to
|
||||
|
||||
---
|
||||
dracut.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index e28b929..309aa7d 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -1081,7 +1081,7 @@ if [[ $kernel_only != yes ]]; then
|
||||
fi
|
||||
done
|
||||
|
||||
- for d in dev proc sys sysroot root run run/lock run/initramfs; do
|
||||
+ for d in dev proc sys sysroot root run run/log run/lock run/initramfs; do
|
||||
if [ -L "/$d" ]; then
|
||||
inst_symlink "/$d"
|
||||
else
|
||||
--
|
||||
1.8.4.3
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 34712f015f13221b653a1ed2ee75804f06a22357 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Wed, 16 Oct 2013 11:39:17 +0200
|
||||
Subject: [PATCH 08/12] dracut.sh: no need to make subdirs in run
|
||||
|
||||
---
|
||||
dracut.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index 309aa7d..4f58eed 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -1081,7 +1081,7 @@ if [[ $kernel_only != yes ]]; then
|
||||
fi
|
||||
done
|
||||
|
||||
- for d in dev proc sys sysroot root run run/log run/lock run/initramfs; do
|
||||
+ for d in dev proc sys sysroot root run; do
|
||||
if [ -L "/$d" ]; then
|
||||
inst_symlink "/$d"
|
||||
else
|
||||
--
|
||||
1.8.4.3
|
||||
|
@ -1,41 +0,0 @@
|
||||
From bd3303000b32cb500b2d769c6852784a807cee47 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 8 Oct 2013 10:30:00 +0200
|
||||
Subject: [PATCH 09/12] lvm: install thin utils for non-hostonly
|
||||
|
||||
---
|
||||
modules.d/90lvm/module-setup.sh | 18 +++++++++++-------
|
||||
1 file changed, 11 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
|
||||
index f98ffff..514addc 100755
|
||||
--- a/modules.d/90lvm/module-setup.sh
|
||||
+++ b/modules.d/90lvm/module-setup.sh
|
||||
@@ -52,13 +52,17 @@ install() {
|
||||
|
||||
inst lvm
|
||||
|
||||
- get_host_lvs | while read line; do
|
||||
- printf "%s" " rd.lvm.lv=$line"
|
||||
- if ! [[ $_needthin ]]; then
|
||||
- [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
|
||||
- fi
|
||||
- done >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
- echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
+ if [[ $hostonly ]]; then
|
||||
+ get_host_lvs | while read line; do
|
||||
+ printf "%s" " rd.lvm.lv=$line"
|
||||
+ if ! [[ $_needthin ]]; then
|
||||
+ [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
|
||||
+ fi
|
||||
+ done >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
+ echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
+ else
|
||||
+ _needthin=1
|
||||
+ fi
|
||||
|
||||
inst_rules "$moddir/64-lvm.rules"
|
||||
|
||||
--
|
||||
1.8.4.3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,40 +0,0 @@
|
||||
From a70dff7f103b27d5b7016e13a64c7710c61dc96e Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Wed, 16 Oct 2013 11:30:08 +0200
|
||||
Subject: [PATCH 11/12] lvm: fix thin recognition
|
||||
|
||||
The global var setting was happening in a pipe and did not have an
|
||||
effect.
|
||||
|
||||
Use <<<$() instead.
|
||||
|
||||
< <() cannot be used, because dracut is called in chroot's environments,
|
||||
where /dev/fd does not point to /proc/self/fd, but bash wants
|
||||
/dev/fd/<num> for this construct.
|
||||
---
|
||||
modules.d/90lvm/module-setup.sh | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
|
||||
index f8b598d..cbdf4a2 100755
|
||||
--- a/modules.d/90lvm/module-setup.sh
|
||||
+++ b/modules.d/90lvm/module-setup.sh
|
||||
@@ -57,12 +57,13 @@ install() {
|
||||
inst lvm
|
||||
|
||||
if [[ $hostonly ]]; then
|
||||
- get_host_lvs | while read line; do
|
||||
+ while read line; do
|
||||
+ [[ -n "$line" ]] || continue
|
||||
printf "%s" " rd.lvm.lv=$line"
|
||||
if ! [[ $_needthin ]]; then
|
||||
[[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
|
||||
fi
|
||||
- done >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
+ done <<<$(get_host_lvs) >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
else
|
||||
_needthin=1
|
||||
--
|
||||
1.8.4.3
|
||||
|
@ -1,79 +0,0 @@
|
||||
From 615071016ecfa223b2744fc17e137de780167115 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Mon, 21 Oct 2013 09:09:26 +0200
|
||||
Subject: [PATCH 12/12] lvm: always install thin utils for lvm
|
||||
|
||||
---
|
||||
modules.d/90lvm/module-setup.sh | 33 +++++++--------------------------
|
||||
1 file changed, 7 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
|
||||
index cbdf4a2..87374da 100755
|
||||
--- a/modules.d/90lvm/module-setup.sh
|
||||
+++ b/modules.d/90lvm/module-setup.sh
|
||||
@@ -24,7 +24,8 @@ depends() {
|
||||
return 0
|
||||
}
|
||||
|
||||
-get_host_lvs() {
|
||||
+# called by dracut
|
||||
+cmdline() {
|
||||
local _activated
|
||||
declare -A _activated
|
||||
|
||||
@@ -37,37 +38,20 @@ get_host_lvs() {
|
||||
eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2>/dev/null)
|
||||
[[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1
|
||||
if ! [[ ${_activated[${DM_VG_NAME}/${DM_LV_NAME}]} ]]; then
|
||||
- printf "%s\n" "${DM_VG_NAME}/${DM_LV_NAME} "
|
||||
+ printf " rd.lvm.lv=%s\n" "${DM_VG_NAME}/${DM_LV_NAME} "
|
||||
_activated["${DM_VG_NAME}/${DM_LV_NAME}"]=1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# called by dracut
|
||||
-cmdline() {
|
||||
- get_host_lvs | while read line; do
|
||||
- printf " rd.lvm.lv=$line"
|
||||
- done
|
||||
-}
|
||||
-
|
||||
-# called by dracut
|
||||
install() {
|
||||
- local _i _needthin
|
||||
+ local _i
|
||||
|
||||
inst lvm
|
||||
|
||||
- if [[ $hostonly ]]; then
|
||||
- while read line; do
|
||||
- [[ -n "$line" ]] || continue
|
||||
- printf "%s" " rd.lvm.lv=$line"
|
||||
- if ! [[ $_needthin ]]; then
|
||||
- [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
|
||||
- fi
|
||||
- done <<<$(get_host_lvs) >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
- echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
- else
|
||||
- _needthin=1
|
||||
- fi
|
||||
+ cmdline >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
+ echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
|
||||
|
||||
inst_rules "$moddir/64-lvm.rules"
|
||||
|
||||
@@ -103,9 +87,6 @@ install() {
|
||||
|
||||
inst_libdir_file "libdevmapper-event-lvm*.so"
|
||||
|
||||
- if [[ $_needthin ]]; then
|
||||
- inst_multiple -o thin_dump thin_restore thin_check thin_repair
|
||||
- fi
|
||||
-
|
||||
+ inst_multiple -o thin_dump thin_restore thin_check thin_repair
|
||||
}
|
||||
|
||||
--
|
||||
1.8.4.3
|
||||
|
Loading…
x
Reference in New Issue
Block a user