mirror of
https://github.com/flatcar/scripts.git
synced 2025-10-09 22:41:14 +02:00
bump(sys-kernel/bootengine): Updates for new dracut version
Dracut is now in portage-stable and DRACUT_MODULES is unused. Update bootengine dependencies so we can use btrfs and mdadm in the initrd. Drop kbd because I'm excluding out the terminfo module now.
This commit is contained in:
parent
17ef058245
commit
457233148c
@ -1,3 +1,2 @@
|
|||||||
USE="systemd"
|
USE="systemd"
|
||||||
BOOTSTRAP_USE="$BOOTSTRAP_USE udev"
|
BOOTSTRAP_USE="$BOOTSTRAP_USE udev"
|
||||||
DRACUT_MODULES="systemd"
|
|
||||||
|
@ -10,7 +10,7 @@ CROS_WORKON_REPO="git://github.com"
|
|||||||
if [[ "${PV}" == 9999 ]]; then
|
if [[ "${PV}" == 9999 ]]; then
|
||||||
KEYWORDS="~amd64 ~arm ~x86"
|
KEYWORDS="~amd64 ~arm ~x86"
|
||||||
else
|
else
|
||||||
CROS_WORKON_COMMIT="35f6c11e54dc161cfab9c01f5a165933f796f2d1"
|
CROS_WORKON_COMMIT="79d407f7164a38a7dc12fee85a7fbab4a9534ce2"
|
||||||
KEYWORDS="amd64 arm x86"
|
KEYWORDS="amd64 arm x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -29,13 +29,14 @@ DEPEND="
|
|||||||
sys-apps/coreutils
|
sys-apps/coreutils
|
||||||
sys-apps/findutils
|
sys-apps/findutils
|
||||||
sys-apps/grep
|
sys-apps/grep
|
||||||
sys-apps/kbd
|
|
||||||
sys-apps/kexec-tools
|
sys-apps/kexec-tools
|
||||||
sys-apps/less
|
sys-apps/less
|
||||||
sys-apps/sed
|
sys-apps/sed
|
||||||
sys-apps/systemd
|
sys-apps/systemd
|
||||||
sys-apps/systemd-sysv-utils
|
sys-apps/systemd-sysv-utils
|
||||||
sys-apps/util-linux
|
sys-apps/util-linux
|
||||||
|
sys-fs/btrfs-progs
|
||||||
|
sys-fs/mdadm
|
||||||
sys-kernel/dracut
|
sys-kernel/dracut
|
||||||
virtual/udev
|
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