mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-18 02:16:59 +02:00
sys-kernel/dracut: Sync with Gentoo upstream
Signed-off-by: Sayan Chowdhury <sayan@kinvolk.io>
This commit is contained in:
parent
3f857f9f2a
commit
2a19f3cd76
@ -1,3 +1,4 @@
|
||||
DIST dracut-048.tar.xz 308484 BLAKE2B b19c8122034a8b40cbc9d09245730900b59691c336f1d231e768786ad64068e0a8daf57ae9a4182ab50d9e1c683c9b7dcac354eb26d8a60f061db78121bc11c7 SHA512 97fcfd5d314ef40687c245d95d2f1d0f3f9ff0472e66b6e6324bf9bd6b98186104f9d71fd9af344126d6ea9fa47b744d52831a374225633225f6f17fb15c04e0
|
||||
DIST dracut-049.tar.gz 376857 BLAKE2B e50084164e26aae6de812345cc76782435ec84951b44eea454355d0c65fe84fdd0858733de534bdf018bdfd92922f0be30b74d74be329a918e55d96c5e4d4fb6 SHA512 51489570856538588868a66c7bcc8a3728574592529905484526c523398dc1b8f1416e6b264780303acd08d818417a9668b76f1d64d3194432b5af79dc15c9f7
|
||||
DIST dracut-050.tar.xz 333592 BLAKE2B cb0bfa5a8e7547260b8a80a3606eb284182c062926269c85b09e07d26ad177df0eeaa64b17005bff9290611f1c83fc8cd8e2216cfe14b5e66ec7f659d4c2fa7b SHA512 eba046cf1c8013369a398e585e0bff233daa8595d469ce9acc8bbc6a32d55c6a5429d4219db19abbf6001104be05b357f0961f9e66b7f926039a5d3ee7c2b850
|
||||
DIST dracut-051.tar.xz 346500 BLAKE2B 38129b6b713b3338bbb2554fffd611f80216969eebac9fca7fb72df2db2036d4fbe66ebd54e646e562e24801e61064e54b62f066bab9e77ca88814100ebdd8ff SHA512 f3533430e479bc91c538e0a198ca97450ec449a7d661d876ecd0ad3e417e22f7e4abf0a384fc676a63a4d3479f25d717c8acdcd1bdec7d0a5714298c5c4ea6b8
|
||||
DIST dracut-053.tar.xz 354668 BLAKE2B d20d0f1675e18cf44615a98255c8b1a73f23e9c665a771a1fe99716d3bf0b6082961ab20fe058bf31c106c4f521d9e8708e2ae98cff00f613197bbf9dd3abda3 SHA512 4736f84442bda208a38d3285ffeb8b845f06e52e3bf60d2aaea121240cf695e1369208c2d2cee1137a6c1d3f8f7794385675006beaf5cd86ade259d5f42d039a
|
||||
DIST dracut-055.tar.xz 361752 BLAKE2B 9fcb0bce9ead2e079c70a377ea53701e4634d3dc64ae163e0e157d7d85822a274813e05f6079768640e1807818fad7a8158626413d773686a8d52fcd95fb5680 SHA512 2d2ea2889d9013bc94245bd7d1a2154f24d02bd9c2f7dbb28e5968e17d918e6598c68d85b0f551f968218980a80b19361ca0c9e8e94997ba54f4c09afcd6d866
|
||||
|
@ -1,176 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 linux-info optfeature systemd toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/dracutdevs/dracut"
|
||||
else
|
||||
[[ "${PV}" = *_rc* ]] || \
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~sparc x86"
|
||||
SRC_URI="https://github.com/dracutdevs/dracut/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Generic initramfs generation tool"
|
||||
HOMEPAGE="https://dracut.wiki.kernel.org"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="selinux"
|
||||
|
||||
# Tests need root privileges, bug #298014
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/cpio
|
||||
>=app-shells/bash-4.0:0
|
||||
sys-apps/coreutils[xattr(-)]
|
||||
>=sys-apps/kmod-23[tools]
|
||||
|| (
|
||||
>=sys-apps/sysvinit-2.87-r3
|
||||
sys-apps/openrc[sysv-utils,selinux?]
|
||||
sys-apps/systemd[sysv-utils]
|
||||
)
|
||||
>=sys-apps/util-linux-2.21
|
||||
virtual/pkgconfig
|
||||
virtual/udev
|
||||
|
||||
elibc_musl? ( sys-libs/fts-standalone )
|
||||
selinux? (
|
||||
sec-policy/selinux-dracut
|
||||
sys-libs/libselinux
|
||||
sys-libs/libsepol
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
>=sys-apps/kmod-23
|
||||
elibc_musl? ( sys-libs/fts-standalone )
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
app-text/asciidoc
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
>=app-text/docbook-xsl-stylesheets-1.75.2
|
||||
>=dev-libs/libxslt-1.1.26
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
|
||||
README.testsuite TODO )
|
||||
|
||||
QA_MULTILIB_PATHS="usr/lib/dracut/.*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/048-dracut-install-simplify-ldd-parsing-logic.patch
|
||||
"${FILESDIR}"/049-40network-Don-t-include-40network-by-default.patch
|
||||
"${FILESDIR}"/049-remove-bashism-in-various-boot-scripts.patch
|
||||
"${FILESDIR}"/049-network-manager-call-the-online-hook-for-connected-d.patch
|
||||
"${FILESDIR}"/049-install-dracut-install.c-install-module-dependencies.patch
|
||||
"${FILESDIR}"/049-install-string_hash_func-should-not-be-fed-with-NULL.patch
|
||||
"${FILESDIR}"/049-dracut.sh-Fix-udevdir-detection.patch
|
||||
"${FILESDIR}"/049-rngd-new-module-running-early-during-boot-to-help-ge.patch
|
||||
"${FILESDIR}"/049-fs-lib-drop-a-bashism.patch
|
||||
"${FILESDIR}"/049-network-manager-remove-useless-use-of-basename.patch
|
||||
"${FILESDIR}"/049-move-setting-the-systemdutildir-variable-before-it-s.patch
|
||||
"${FILESDIR}"/049-dracut-install-Support-the-compressed-firmware-files.patch
|
||||
"${FILESDIR}"/049-crypt-create-locking-directory-run-cryptsetup.patch
|
||||
"${FILESDIR}"/049-network-manager-fix-getting-of-ifname-from-the-sysfs.patch
|
||||
"${FILESDIR}"/049-configure-find-cflags-and-libs-for-fts-on-musl.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${EPREFIX}/usr"
|
||||
--sysconfdir="${EPREFIX}/etc"
|
||||
--bashcompletiondir="$(get_bashcompdir)"
|
||||
--systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
tc-export CC PKG_CONFIG
|
||||
|
||||
echo ./configure "${myconf[@]}"
|
||||
./configure "${myconf[@]}" || die
|
||||
|
||||
if [[ ${PV} != 9999 ]] ; then
|
||||
# Source tarball from github doesn't include this file
|
||||
echo "DRACUT_VERSION=${PV}" > dracut-version.sh || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins dracut.logrotate dracut
|
||||
|
||||
docinto html
|
||||
dodoc dracut.html
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if linux-info_get_any_version && linux_config_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 ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" '
|
||||
ERROR_DEVTMPFS+='is missing and REQUIRED'
|
||||
local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk '
|
||||
ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED'
|
||||
|
||||
check_extra_config
|
||||
echo
|
||||
else
|
||||
ewarn ""
|
||||
ewarn "Your kernel configuration couldn't be checked."
|
||||
ewarn "Please check manually if following options are enabled:"
|
||||
ewarn ""
|
||||
ewarn " CONFIG_BLK_DEV_INITRD"
|
||||
ewarn " CONFIG_DEVTMPFS"
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
elog "To get additional features, a number of optional runtime"
|
||||
elog "dependencies may be installed:"
|
||||
elog ""
|
||||
optfeature "Networking support" net-misc/networkmanager
|
||||
optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \
|
||||
sys-apps/iproute2 "net-misc/iputils[arping]"
|
||||
optfeature \
|
||||
"Measure performance of the boot process for later visualisation" \
|
||||
app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
|
||||
optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
|
||||
optfeature "Load kernel modules and drop this privilege for real init" \
|
||||
sys-libs/libcap
|
||||
optfeature "Support CIFS" net-fs/cifs-utils
|
||||
optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
|
||||
"sys-fs/cryptsetup[-static-libs]"
|
||||
optfeature "Support for GPG-encrypted keys for crypt module" \
|
||||
app-crypt/gnupg
|
||||
optfeature \
|
||||
"Allows use of dash instead of default bash (on your own risk)" \
|
||||
app-shells/dash
|
||||
optfeature "Support iSCSI" sys-block/open-iscsi
|
||||
optfeature "Support Logical Volume Manager" sys-fs/lvm2
|
||||
optfeature "Support MD devices, also known as software RAID devices" \
|
||||
sys-fs/mdadm
|
||||
optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
|
||||
optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
|
||||
optfeature "Support network block devices" sys-block/nbd
|
||||
optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
|
||||
optfeature \
|
||||
"Install ssh and scp along with config files and specified keys" \
|
||||
net-misc/openssh
|
||||
optfeature "Enable logging with rsyslog" app-admin/rsyslog
|
||||
optfeature \
|
||||
"Enable rngd service to help generating entropy early during boot" \
|
||||
sys-apps/rng-tools
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -73,9 +73,7 @@ PATCHES=(
|
||||
"${FILESDIR}"/050-busybox-module-fix.patch
|
||||
"${FILESDIR}"/050-systemd-remove-obsolete-syslog-parameter.patch
|
||||
"${FILESDIR}"/050-lvm-fix-removal-of-pvscan-from-udev-rules.patch
|
||||
"${FILESDIR}"/050-gentoo-ldconfig-paths.patch
|
||||
# Flatcar: override iscsi network dependency
|
||||
"${FILESDIR}"/050-change-network-dep-iscsi.patch
|
||||
"${FILESDIR}"/gentoo-ldconfig-paths.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
@ -135,9 +133,6 @@ pkg_postinst() {
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
elog "To get additional features, a number of optional runtime"
|
||||
elog "dependencies may be installed:"
|
||||
elog ""
|
||||
optfeature "Networking support" net-misc/networkmanager
|
||||
optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \
|
||||
sys-apps/iproute2 "net-misc/iputils[arping]"
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -64,10 +64,8 @@ DOCS=( AUTHORS HACKING NEWS README.md README.generic README.kernel README.module
|
||||
QA_MULTILIB_PATHS="usr/lib/dracut/.*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/050-Makefile-merge-main-version-and-git-version-earlier.patch
|
||||
"${FILESDIR}"/050-dracut.sh-don-t-call-fsfreeze-on-subvol-of-root-file.patch
|
||||
"${FILESDIR}"/050-Makefile-fix-VERSION-again.patch
|
||||
"${FILESDIR}"/050-gentoo-ldconfig-paths.patch
|
||||
"${FILESDIR}"/051-dracut.sh-move-ldconfig.patch
|
||||
"${FILESDIR}"/gentoo-ldconfig-paths.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
@ -127,9 +125,6 @@ pkg_postinst() {
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
elog "To get additional features, a number of optional runtime"
|
||||
elog "dependencies may be installed:"
|
||||
elog ""
|
||||
optfeature "Networking support" net-misc/networkmanager
|
||||
optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \
|
||||
sys-apps/iproute2 "net-misc/iputils[arping]"
|
@ -1,57 +1,70 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 linux-info optfeature systemd toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/dracutdevs/dracut"
|
||||
else
|
||||
[[ "${PV}" = *_rc* ]] || \
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86"
|
||||
SRC_URI="https://www.kernel.org/pub/linux/utils/boot/${PN}/${P}.tar.xz"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Generic initramfs generation tool"
|
||||
HOMEPAGE="https://dracut.wiki.kernel.org"
|
||||
SRC_URI="https://www.kernel.org/pub/linux/utils/boot/${PN}/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ppc ~ppc64 sparc x86"
|
||||
IUSE="debug selinux"
|
||||
IUSE="selinux"
|
||||
|
||||
# Tests need root privileges, bug #298014
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND=">=sys-apps/kmod-23[tools]
|
||||
virtual/pkgconfig
|
||||
virtual/udev
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
RDEPEND="
|
||||
app-arch/cpio
|
||||
>=app-shells/bash-4.0:0
|
||||
sys-apps/coreutils[xattr(-)]
|
||||
>=sys-apps/kmod-23[tools]
|
||||
|| (
|
||||
>=sys-apps/sysvinit-2.87-r3
|
||||
sys-apps/openrc[sysv-utils(-),selinux?]
|
||||
sys-apps/systemd[sysv-utils]
|
||||
)
|
||||
>=sys-apps/util-linux-2.21
|
||||
virtual/pkgconfig
|
||||
virtual/udev
|
||||
|
||||
debug? ( dev-util/strace )
|
||||
elibc_musl? ( sys-libs/fts-standalone )
|
||||
selinux? (
|
||||
sec-policy/selinux-dracut
|
||||
sys-libs/libselinux
|
||||
sys-libs/libsepol
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
"
|
||||
DEPEND="
|
||||
>=sys-apps/kmod-23
|
||||
elibc_musl? ( sys-libs/fts-standalone )
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
app-text/asciidoc
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
>=app-text/docbook-xsl-stylesheets-1.75.2
|
||||
>=dev-libs/libxslt-1.1.26
|
||||
"
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
|
||||
README.testsuite TODO )
|
||||
DOCS=( AUTHORS README.md README.generic README.kernel )
|
||||
|
||||
QA_MULTILIB_PATHS="usr/lib/dracut/.*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/048-dracut-install-simplify-ldd-parsing-logic.patch
|
||||
"${FILESDIR}"/053-network-manager.patch
|
||||
"${FILESDIR}"/gentoo-ldconfig-paths.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
@ -66,25 +79,16 @@ src_configure() {
|
||||
|
||||
echo ./configure "${myconf[@]}"
|
||||
./configure "${myconf[@]}" || die
|
||||
|
||||
if [[ ${PV} != 9999 && ! -f dracut-version.sh ]] ; then
|
||||
# Source tarball from github doesn't include this file
|
||||
echo "DRACUT_VERSION=${PV}" > dracut-version.sh || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
local libdirs=( /$(get_libdir) /usr/$(get_libdir) )
|
||||
if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then
|
||||
# Preserve lib -> lib64 symlinks in initramfs
|
||||
libdirs+=( /lib /usr/lib )
|
||||
fi
|
||||
|
||||
einfo "Setting libdirs to \"${libdirs[*]}\" ..."
|
||||
echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die
|
||||
insinto "/usr/lib/dracut/dracut.conf.d"
|
||||
doins "${T}/gentoo.conf"
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins dracut.logrotate dracut
|
||||
|
||||
docinto html
|
||||
dodoc dracut.html
|
||||
}
|
||||
@ -117,10 +121,8 @@ pkg_postinst() {
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
elog "To get additional features, a number of optional runtime"
|
||||
elog "dependencies may be installed:"
|
||||
elog ""
|
||||
optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
|
||||
optfeature "Networking support" net-misc/networkmanager
|
||||
optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \
|
||||
sys-apps/iproute2 "net-misc/iputils[arping]"
|
||||
optfeature \
|
||||
"Measure performance of the boot process for later visualisation" \
|
||||
@ -147,6 +149,8 @@ pkg_postinst() {
|
||||
optfeature \
|
||||
"Install ssh and scp along with config files and specified keys" \
|
||||
net-misc/openssh
|
||||
optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
|
||||
app-admin/rsyslog
|
||||
optfeature "Enable logging with rsyslog" app-admin/rsyslog
|
||||
optfeature \
|
||||
"Enable rngd service to help generating entropy early during boot" \
|
||||
sys-apps/rng-tools
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -19,10 +19,9 @@ HOMEPAGE="https://dracut.wiki.kernel.org"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="selinux"
|
||||
IUSE="selinux test"
|
||||
|
||||
# Tests need root privileges, bug #298014
|
||||
RESTRICT="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/cpio
|
||||
@ -58,17 +57,10 @@ BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS HACKING NEWS README.md README.generic README.kernel README.modules
|
||||
README.testsuite TODO )
|
||||
|
||||
QA_MULTILIB_PATHS="usr/lib/dracut/.*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/050-Makefile-merge-main-version-and-git-version-earlier.patch
|
||||
"${FILESDIR}"/050-dracut.sh-don-t-call-fsfreeze-on-subvol-of-root-file.patch
|
||||
"${FILESDIR}"/050-Makefile-fix-VERSION-again.patch
|
||||
"${FILESDIR}"/050-busybox-module-fix.patch
|
||||
"${FILESDIR}"/050-gentoo-ldconfig-paths.patch
|
||||
"${FILESDIR}"/gentoo-ldconfig-paths-r1.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
@ -90,11 +82,29 @@ src_configure() {
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
src_test() {
|
||||
if [[ ${EUID} != 0 ]]; then
|
||||
# Tests need root privileges, bug #298014
|
||||
ewarn "Skipping tests: Not running as root."
|
||||
elif [[ ! -w /dev/kvm ]]; then
|
||||
ewarn "Skipping tests: Unable to access /dev/kvm."
|
||||
else
|
||||
emake -C test check
|
||||
fi
|
||||
}
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins dracut.logrotate dracut
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
NEWS.md
|
||||
README.md
|
||||
docs/README.cross
|
||||
docs/README.generic
|
||||
docs/README.kernel
|
||||
docs/SECURITY.md
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
docinto html
|
||||
dodoc dracut.html
|
||||
@ -128,9 +138,6 @@ pkg_postinst() {
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
elog "To get additional features, a number of optional runtime"
|
||||
elog "dependencies may be installed:"
|
||||
elog ""
|
||||
optfeature "Networking support" net-misc/networkmanager
|
||||
optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \
|
||||
sys-apps/iproute2 "net-misc/iputils[arping]"
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -19,10 +19,9 @@ HOMEPAGE="https://dracut.wiki.kernel.org"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="selinux"
|
||||
IUSE="selinux test"
|
||||
|
||||
# Tests need root privileges, bug #298014
|
||||
RESTRICT="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/cpio
|
||||
@ -58,13 +57,10 @@ BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS HACKING NEWS README.md README.generic README.kernel README.modules
|
||||
README.testsuite TODO )
|
||||
|
||||
QA_MULTILIB_PATHS="usr/lib/dracut/.*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/050-gentoo-ldconfig-paths.patch
|
||||
"${FILESDIR}"/gentoo-ldconfig-paths-r1.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
@ -86,11 +82,29 @@ src_configure() {
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
src_test() {
|
||||
if [[ ${EUID} != 0 ]]; then
|
||||
# Tests need root privileges, bug #298014
|
||||
ewarn "Skipping tests: Not running as root."
|
||||
elif [[ ! -w /dev/kvm ]]; then
|
||||
ewarn "Skipping tests: Unable to access /dev/kvm."
|
||||
else
|
||||
emake -C test check
|
||||
fi
|
||||
}
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins dracut.logrotate dracut
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
NEWS.md
|
||||
README.md
|
||||
docs/README.cross
|
||||
docs/README.generic
|
||||
docs/README.kernel
|
||||
docs/SECURITY.md
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
docinto html
|
||||
dodoc dracut.html
|
||||
@ -124,9 +138,6 @@ pkg_postinst() {
|
||||
ewarn ""
|
||||
fi
|
||||
|
||||
elog "To get additional features, a number of optional runtime"
|
||||
elog "dependencies may be installed:"
|
||||
elog ""
|
||||
optfeature "Networking support" net-misc/networkmanager
|
||||
optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \
|
||||
sys-apps/iproute2 "net-misc/iputils[arping]"
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 6d886bb74d1608e4565d926aa259ea5afc9df7b9 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Thu, 4 Oct 2018 16:45:47 -0400
|
||||
Subject: [PATCH] dracut-install: simplify ldd parsing logic
|
||||
|
||||
The previous logic would not handle absolute paths on the left side of
|
||||
the "=>" properly. For example, on Gentoo ARM64, ldd outputs this:
|
||||
|
||||
/lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1
|
||||
|
||||
At runtime, the kernel tries to load the file from /lib, and fails if we
|
||||
only provide it in /lib64.
|
||||
|
||||
Instead of looking for the first slash after the "=>", just look for the
|
||||
first slash, period. This would fail if we somehow had a relative path
|
||||
on the left side (foo/libbar.so), but I'm not aware of any binaries that
|
||||
would contain such an entry in DT_NEEDED.
|
||||
|
||||
Bug: https://bugs.gentoo.org/667752
|
||||
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
|
||||
---
|
||||
install/dracut-install.c | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/install/dracut-install.c b/install/dracut-install.c
|
||||
index 88bca1d44..5f352b360 100644
|
||||
--- a/install/dracut-install.c
|
||||
+++ b/install/dracut-install.c
|
||||
@@ -479,11 +479,7 @@ static int resolve_deps(const char *src)
|
||||
if (strstr(buf, destrootdir))
|
||||
break;
|
||||
|
||||
- p = strstr(buf, "=>");
|
||||
- if (!p)
|
||||
- p = buf;
|
||||
-
|
||||
- p = strchr(p, '/');
|
||||
+ p = strchr(buf, '/');
|
||||
if (p) {
|
||||
char *q;
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 83cbc06ab91288e2d931b4f36935bfdb79a99b0e Mon Sep 17 00:00:00 2001
|
||||
From: Kairui Song <kasong@redhat.com>
|
||||
Date: Fri, 12 Oct 2018 13:07:13 +0800
|
||||
Subject: [PATCH] 40network: Don't include 40network by default
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
commit 7347391 ('network-legacy: split off from network module')
|
||||
splitted network function to network-legacy and removed check() function
|
||||
of 40network. This caused 40network to be included even if network is
|
||||
not needed.
|
||||
|
||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
||||
---
|
||||
modules.d/40network/module-setup.sh | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
|
||||
index 57c0a45e..e8541636 100755
|
||||
--- a/modules.d/40network/module-setup.sh
|
||||
+++ b/modules.d/40network/module-setup.sh
|
||||
@@ -1,5 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
+# called by dracut
|
||||
+check() {
|
||||
+ return 255
|
||||
+}
|
||||
+
|
||||
# called by dracut
|
||||
depends() {
|
||||
echo -n "kernel-network-modules "
|
||||
--
|
||||
2.19.2
|
||||
|
@ -1,97 +0,0 @@
|
||||
From 62f27ee6f145b5f8ca571887602cd9b0715b9e9d Mon Sep 17 00:00:00 2001
|
||||
From: Doan Tran Cong Danh <congdanhqx@gmail.com>
|
||||
Date: Wed, 6 Nov 2019 18:35:12 +0700
|
||||
Subject: [PATCH] configure: find cflags and libs for fts on musl
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
Signed-off-by: Doan Tran Cong Danh <congdanhqx@gmail.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
configure | 44 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 45 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 31545899..f9b42b96 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -62,7 +62,7 @@ install/util.o: install/util.c install/util.h install/macro.h install/log.h
|
||||
install/strv.o: install/strv.c install/strv.h install/util.h install/macro.h install/log.h
|
||||
|
||||
install/dracut-install: $(DRACUT_INSTALL_OBJECTS)
|
||||
- $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(KMOD_LIBS)
|
||||
+ $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(FTS_LIBS) $(KMOD_LIBS)
|
||||
|
||||
logtee: logtee.c
|
||||
$(CC) $(LDFLAGS) -o $@ $<
|
||||
diff --git a/configure b/configure
|
||||
index b55fb609..3f724ef2 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -7,6 +7,7 @@ prefix=/usr
|
||||
|
||||
enable_documentation=yes
|
||||
|
||||
+CC="${CC:-cc}"
|
||||
PKG_CONFIG="${PKG_CONFIG:-pkg-config}"
|
||||
|
||||
# Little helper function for reading args from the commandline.
|
||||
@@ -57,6 +58,48 @@ if ! ${PKG_CONFIG} --exists --print-errors " libkmod >= 23 "; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
+cat <<EOF >conftest.c
|
||||
+#include <fts.h>
|
||||
+int main() {
|
||||
+ return 0;
|
||||
+}
|
||||
+EOF
|
||||
+
|
||||
+${CC} $CFLAGS $LDFLAGS conftest.c >/dev/null 2>&1
|
||||
+ret=$?
|
||||
+rm -f conftest.c a.out
|
||||
+
|
||||
+# musl doesn't have fts.h included
|
||||
+if test $ret -ne 0; then
|
||||
+ echo "dracut needs fts development files." >&2
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+cat <<EOF >conftest.c
|
||||
+#include <fts.h>
|
||||
+int main(void) {
|
||||
+ fts_open(0, 0, 0);
|
||||
+ return 0;
|
||||
+}
|
||||
+EOF
|
||||
+
|
||||
+found=no
|
||||
+for lib in "-lc" "-lfts"; do
|
||||
+ ${CC} $CFLAGS -Wl,$lib $LDFLAGS conftest.c >/dev/null 2>&1
|
||||
+ ret=$?
|
||||
+ if test $ret -eq 0; then
|
||||
+ FTS_LIBS="$lib"
|
||||
+ found=yes
|
||||
+ break;
|
||||
+ fi
|
||||
+done
|
||||
+rm -f conftest.c a.out
|
||||
+
|
||||
+if test $found = no; then
|
||||
+ echo "dracut couldn't find usable fts library" >&2
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
cat > Makefile.inc.$$ <<EOF
|
||||
prefix ?= ${prefix}
|
||||
libdir ?= ${libdir:-${prefix}/lib}
|
||||
@@ -68,6 +111,7 @@ enable_documentation ?= ${enable_documentation:-yes}
|
||||
bindir ?= ${bindir:-${prefix}/bin}
|
||||
KMOD_CFLAGS ?= $(${PKG_CONFIG} --cflags " libkmod >= 23 ")
|
||||
KMOD_LIBS ?= $(${PKG_CONFIG} --libs " libkmod >= 23 ")
|
||||
+FTS_LIBS ?= ${FTS_LIBS}
|
||||
EOF
|
||||
|
||||
{
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,32 +0,0 @@
|
||||
From f39aa529c59c533ce5e75e31be1b0cce4513b3d7 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Witschel <diabonas@gmx.de>
|
||||
Date: Sat, 31 Aug 2019 17:45:11 +0200
|
||||
Subject: [PATCH] crypt: create locking directory /run/cryptsetup
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
For LUKS2 partitions cryptsetup needs a locking directory. If it does
|
||||
not exist, cryptsetup will create it, but produce a warning
|
||||
|
||||
WARNING: Locking directory /run/cryptsetup is missing!
|
||||
|
||||
in the process that we do not want to see in the dracut output.
|
||||
---
|
||||
modules.d/90crypt/cryptroot-ask.sh | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh
|
||||
index 33a823c7..e1f17975 100755
|
||||
--- a/modules.d/90crypt/cryptroot-ask.sh
|
||||
+++ b/modules.d/90crypt/cryptroot-ask.sh
|
||||
@@ -8,6 +8,8 @@ NEWROOT=${NEWROOT:-"/sysroot"}
|
||||
|
||||
. /lib/dracut-lib.sh
|
||||
|
||||
+mkdir -m 0700 /run/cryptsetup
|
||||
+
|
||||
# if device name is /dev/dm-X, convert to /dev/mapper/name
|
||||
if [ "${1##/dev/dm-}" != "$1" ]; then
|
||||
device="/dev/mapper/$(dmsetup info -c --noheadings -o name "$1")"
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,63 +0,0 @@
|
||||
From 999cfa84582ab4ce4cc602242cb71d0af0b7d4ac Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Thu, 22 Aug 2019 12:37:56 +0200
|
||||
Subject: [PATCH] dracut-install: Support the compressed firmware files
|
||||
correctly
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
The compressed firmware support was supposed to be already
|
||||
implemented, but it didn't work as expected in the end, because dracut
|
||||
moved to use dracut-install binary. This patch adds the support of
|
||||
XZ-compressed firmware installation to dracut-install for fixing the
|
||||
missing piece.
|
||||
|
||||
At best the firmware files should be uncompressed in initrd, but this
|
||||
patch simply copies the compressed file as-is, as a quick workaround.
|
||||
|
||||
BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1146769
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
install/dracut-install.c | 17 ++++++++++++++---
|
||||
1 file changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/install/dracut-install.c b/install/dracut-install.c
|
||||
index 9e415b5e..7cda499d 100644
|
||||
--- a/install/dracut-install.c
|
||||
+++ b/install/dracut-install.c
|
||||
@@ -1151,6 +1151,8 @@ static int install_firmware(struct kmod_module *mod)
|
||||
ret = -1;
|
||||
STRV_FOREACH(q, firmwaredirs) {
|
||||
_cleanup_free_ char *fwpath = NULL;
|
||||
+ _cleanup_free_ char *fwpath_xz = NULL;
|
||||
+ const char *fw;
|
||||
struct stat sb;
|
||||
int r;
|
||||
|
||||
@@ -1160,12 +1162,21 @@ static int install_firmware(struct kmod_module *mod)
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
+ fw = fwpath;
|
||||
if (stat(fwpath, &sb) != 0) {
|
||||
- log_debug("stat(%s) != 0", fwpath);
|
||||
- continue;
|
||||
+ r = asprintf(&fwpath_xz, "%s.xz", fwpath);
|
||||
+ if (r < 0) {
|
||||
+ log_error("Out of memory!");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+ if (stat(fwpath_xz, &sb) != 0) {
|
||||
+ log_debug("stat(%s) != 0", fwpath);
|
||||
+ continue;
|
||||
+ }
|
||||
+ fw = fwpath_xz;
|
||||
}
|
||||
|
||||
- ret = dracut_install(fwpath, fwpath, false, false, true);
|
||||
+ ret = dracut_install(fw, fw, false, false, true);
|
||||
if (ret == 0)
|
||||
log_debug("dracut_install '%s' OK", fwpath);
|
||||
}
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,38 +0,0 @@
|
||||
From dddcb809459b7a75906d4b90cf7a5ac291dc74c1 Mon Sep 17 00:00:00 2001
|
||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
Date: Wed, 3 Apr 2019 15:24:47 +0800
|
||||
Subject: [PATCH] dracut.sh: Fix udevdir detection
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
In commit [9d1b81c dracut.sh: improve udevdir and systemdutildir
|
||||
fallback logic] , it checked a common binary `collect' to location
|
||||
udevdir.
|
||||
|
||||
But upstream systemd drop binary `collect' since systemd v240
|
||||
[https://github.com/systemd/systemd/commit/a168792c2d95695fd30c0371d4b3890a9df1eafb]
|
||||
|
||||
So check binary `ata_id' to instead.
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
dracut.sh | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index 9098571d..fd9903b6 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -1311,8 +1311,8 @@ done
|
||||
[[ -d $udevdir ]] \
|
||||
|| udevdir="$(pkg-config udev --variable=udevdir 2>/dev/null)"
|
||||
if ! [[ -d "$udevdir" ]]; then
|
||||
- [[ -e /lib/udev/collect ]] && udevdir=/lib/udev
|
||||
- [[ -e /usr/lib/udev/collect ]] && udevdir=/usr/lib/udev
|
||||
+ [[ -e /lib/udev/ata_id ]] && udevdir=/lib/udev
|
||||
+ [[ -e /usr/lib/udev/ata_id ]] && udevdir=/usr/lib/udev
|
||||
fi
|
||||
|
||||
[[ -d $systemdutildir ]] \
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,99 +0,0 @@
|
||||
From 43c8c4ce0471abbb8c0fc4b8be2515cebc636030 Mon Sep 17 00:00:00 2001
|
||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||
Date: Fri, 21 Jun 2019 18:39:48 +0200
|
||||
Subject: [PATCH] fs-lib: drop a bashism
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
Bash 5 apparently longer propagates variable assignments to local variables
|
||||
in front of function calls when in POSIX mode:
|
||||
|
||||
[lkundrak@demiurge ~]$ cat feh.sh
|
||||
print_VAR () {
|
||||
echo "$VAR";
|
||||
}
|
||||
|
||||
testfunc () {
|
||||
local VAR="OLD"
|
||||
VAR=NEW print_VAR
|
||||
}
|
||||
|
||||
testfunc
|
||||
[lkundrak@demiurge ~]$ bash4 --posix feh.sh
|
||||
NEW
|
||||
[lkundrak@demiurge ~]$ bash5 --posix feh.sh
|
||||
OLD
|
||||
[lkundrak@demiurge ~]$ bash5 feh.sh
|
||||
NEW
|
||||
[lkundrak@demiurge ~]$
|
||||
|
||||
It works the way it did in Bash 4 in non-POSIX mode, for external programs,
|
||||
or for non-local variables. Don't ask me why -- it's probably some
|
||||
compatibility thing for some sad old people.
|
||||
|
||||
However, this precisely happens when fsck_single() is calling into the
|
||||
fsck_drv_com(), assigned to _drv by fsck_able(). That ruins the
|
||||
TEST-70-BONDBRIDGETEAMVLAN test's server and probably more.
|
||||
|
||||
Let's pass the fsck driver binary via the function argument instead. It's
|
||||
less messy anyway.
|
||||
---
|
||||
modules.d/99fs-lib/fs-lib.sh | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
|
||||
index d39ca1b7..11e795d9 100755
|
||||
--- a/modules.d/99fs-lib/fs-lib.sh
|
||||
+++ b/modules.d/99fs-lib/fs-lib.sh
|
||||
@@ -44,22 +44,22 @@ fsck_able() {
|
||||
;;
|
||||
ext?)
|
||||
type e2fsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=e2fsck fsck_drv_com" &&
|
||||
+ _drv="fsck_drv_com e2fsck" &&
|
||||
return 0
|
||||
;;
|
||||
f2fs)
|
||||
type fsck.f2fs >/dev/null 2>&1 &&
|
||||
- _drv="_drv=fsck.f2fs fsck_drv_com" &&
|
||||
+ _drv="fsck_drv_com fsck.f2fs" &&
|
||||
return 0
|
||||
;;
|
||||
jfs)
|
||||
type jfs_fsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=jfs_fsck fsck_drv_com" &&
|
||||
+ _drv="fsck_drv_com jfs_fsck" &&
|
||||
return 0
|
||||
;;
|
||||
reiserfs)
|
||||
type reiserfsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=reiserfsck fsck_drv_com" &&
|
||||
+ _drv="fsck_drv_com reiserfsck" &&
|
||||
return 0
|
||||
;;
|
||||
btrfs)
|
||||
@@ -70,12 +70,12 @@ fsck_able() {
|
||||
;;
|
||||
nfs*)
|
||||
# nfs can be a nop, returning success
|
||||
- _drv="_drv=none :" &&
|
||||
+ _drv=":" &&
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
type fsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=fsck fsck_drv_std" &&
|
||||
+ _drv="fsck_drv_std fsck" &&
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
@@ -97,6 +97,7 @@ fsck_drv_btrfs() {
|
||||
|
||||
# common code for checkers that follow usual subset of options and return codes
|
||||
fsck_drv_com() {
|
||||
+ local _drv="$1"
|
||||
local _ret
|
||||
local _out
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,79 +0,0 @@
|
||||
From c38f9e980c1ee03151dd1c6602907c6228b78d30 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 4 Dec 2018 10:02:45 +0100
|
||||
Subject: [PATCH] install/dracut-install.c: install module dependencies of
|
||||
dependencies
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
---
|
||||
install/dracut-install.c | 28 +++++++++++++++++++++++++---
|
||||
1 file changed, 25 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/install/dracut-install.c b/install/dracut-install.c
|
||||
index 5f352b36..d64de545 100644
|
||||
--- a/install/dracut-install.c
|
||||
+++ b/install/dracut-install.c
|
||||
@@ -84,6 +84,11 @@ static bool arg_mod_filter_noname = false;
|
||||
static int dracut_install(const char *src, const char *dst, bool isdir, bool resolvedeps, bool hashdst);
|
||||
|
||||
|
||||
+static inline void kmod_module_unrefp(struct kmod_module **p) {
|
||||
+ if (*p)
|
||||
+ kmod_module_unref(*p);
|
||||
+}
|
||||
+#define _cleanup_kmod_module_unref_ _cleanup_(kmod_module_unrefp)
|
||||
|
||||
static inline void kmod_module_unref_listp(struct kmod_list **p) {
|
||||
if (*p)
|
||||
@@ -1230,28 +1235,45 @@ static bool check_module_path(const char *path)
|
||||
static int install_dependent_modules(struct kmod_list *modlist)
|
||||
{
|
||||
struct kmod_list *itr;
|
||||
- struct kmod_module *mod;
|
||||
const char *path = NULL;
|
||||
const char *name = NULL;
|
||||
int ret = 0;
|
||||
|
||||
kmod_list_foreach(itr, modlist) {
|
||||
+ _cleanup_kmod_module_unref_ struct kmod_module *mod = NULL;
|
||||
mod = kmod_module_get_module(itr);
|
||||
path = kmod_module_get_path(mod);
|
||||
|
||||
+ if (check_hashmap(items_failed, path))
|
||||
+ return -1;
|
||||
+
|
||||
+ if (check_hashmap(items, path)) {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
name = kmod_module_get_name(mod);
|
||||
+
|
||||
if ((path == NULL) || (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0))) {
|
||||
- kmod_module_unref(mod);
|
||||
continue;
|
||||
}
|
||||
+
|
||||
ret = dracut_install(path, &path[kerneldirlen], false, false, true);
|
||||
if (ret == 0) {
|
||||
+ _cleanup_kmod_module_unref_list_ struct kmod_list *modlist = NULL;
|
||||
+ _cleanup_kmod_module_unref_list_ struct kmod_list *modpre = NULL;
|
||||
+ _cleanup_kmod_module_unref_list_ struct kmod_list *modpost = NULL;
|
||||
log_debug("dracut_install '%s' '%s' OK", path, &path[kerneldirlen]);
|
||||
install_firmware(mod);
|
||||
+ modlist = kmod_module_get_dependencies(mod);
|
||||
+ ret = install_dependent_modules(modlist);
|
||||
+ if (ret == 0) {
|
||||
+ ret = kmod_module_get_softdeps(mod, &modpre, &modpost);
|
||||
+ if (ret == 0)
|
||||
+ ret = install_dependent_modules(modpre);
|
||||
+ }
|
||||
} else {
|
||||
log_error("dracut_install '%s' '%s' ERROR", path, &path[kerneldirlen]);
|
||||
}
|
||||
- kmod_module_unref(mod);
|
||||
}
|
||||
|
||||
return ret;
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,38 +0,0 @@
|
||||
From fc141f22869bad2e5409d1cc555c1a42ea738343 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Thu, 14 Feb 2019 20:18:04 +0100
|
||||
Subject: [PATCH] install: string_hash_func should not be fed with NULL
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
If kmod_module_get_path returns NULL, we should skip that entry,
|
||||
the hash function does not like NULL pointers.
|
||||
---
|
||||
install/dracut-install.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/install/dracut-install.c b/install/dracut-install.c
|
||||
index d64de545..9e415b5e 100644
|
||||
--- a/install/dracut-install.c
|
||||
+++ b/install/dracut-install.c
|
||||
@@ -1244,6 +1244,9 @@ static int install_dependent_modules(struct kmod_list *modlist)
|
||||
mod = kmod_module_get_module(itr);
|
||||
path = kmod_module_get_path(mod);
|
||||
|
||||
+ if (path == NULL)
|
||||
+ continue;
|
||||
+
|
||||
if (check_hashmap(items_failed, path))
|
||||
return -1;
|
||||
|
||||
@@ -1253,7 +1256,7 @@ static int install_dependent_modules(struct kmod_list *modlist)
|
||||
|
||||
name = kmod_module_get_name(mod);
|
||||
|
||||
- if ((path == NULL) || (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0))) {
|
||||
+ if (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,55 +0,0 @@
|
||||
From c8b35bf96af1859c0c254db34a16b9cc5a2aa46b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=D0=94=D0=B0=D0=BC=D1=98=D0=B0=D0=BD=20=D0=93=D0=B5=D0=BE?=
|
||||
=?UTF-8?q?=D1=80=D0=B3=D0=B8=D0=B5=D0=B2=D1=81=D0=BA=D0=B8?=
|
||||
<gdamjan@gmail.com>
|
||||
Date: Mon, 27 May 2019 18:22:14 +0200
|
||||
Subject: [PATCH] move setting the "systemdutildir" variable before it's used
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
on line 1086 it's used to check for the uefi_stub:
|
||||
"${systemdutildir}/boot/efi/linux${EFI_MACHINE_TYPE_NAME}.efi.stub"
|
||||
|
||||
so it needs to be defined before that
|
||||
---
|
||||
dracut.sh | 18 ++++++++++--------
|
||||
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index 183b892f..a3618f89 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -1009,6 +1009,16 @@ esac
|
||||
|
||||
abs_outfile=$(readlink -f "$outfile") && outfile="$abs_outfile"
|
||||
|
||||
+
|
||||
+[[ -d $systemdutildir ]] \
|
||||
+ || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
|
||||
+
|
||||
+if ! [[ -d "$systemdutildir" ]]; then
|
||||
+ [[ -e /lib/systemd/systemd-udevd ]] && systemdutildir=/lib/systemd
|
||||
+ [[ -e /usr/lib/systemd/systemd-udevd ]] && systemdutildir=/usr/lib/systemd
|
||||
+fi
|
||||
+
|
||||
+
|
||||
if [[ $no_kernel != yes ]] && [[ -d $srcmods ]]; then
|
||||
if ! [[ -f $srcmods/modules.dep ]]; then
|
||||
if [[ -n "$(find "$srcmods" -name '*.ko*')" ]]; then
|
||||
@@ -1325,14 +1335,6 @@ if ! [[ -d "$udevdir" ]]; then
|
||||
[[ -e /usr/lib/udev/ata_id ]] && udevdir=/usr/lib/udev
|
||||
fi
|
||||
|
||||
-[[ -d $systemdutildir ]] \
|
||||
- || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
|
||||
-
|
||||
-if ! [[ -d "$systemdutildir" ]]; then
|
||||
- [[ -e /lib/systemd/systemd-udevd ]] && systemdutildir=/lib/systemd
|
||||
- [[ -e /usr/lib/systemd/systemd-udevd ]] && systemdutildir=/usr/lib/systemd
|
||||
-fi
|
||||
-
|
||||
[[ -d $systemdsystemunitdir ]] \
|
||||
|| systemdsystemunitdir=$(pkg-config systemd --variable=systemdsystemunitdir 2>/dev/null)
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 79a17b0112995eb60c85c64d15070c52f213b28d Mon Sep 17 00:00:00 2001
|
||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||
Date: Tue, 27 Nov 2018 15:30:48 +0100
|
||||
Subject: [PATCH] network-manager: call the online hook for connected devices
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
Look for "connection-uuid" instead of "managed" to determine the devices
|
||||
that are actually activated with a connection and call the online hook.
|
||||
|
||||
This fixes the anaconda-net root mount, which utilizes the online hook.
|
||||
---
|
||||
modules.d/35network-manager/nm-run.sh | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
|
||||
index f6defa99..0f943631 100755
|
||||
--- a/modules.d/35network-manager/nm-run.sh
|
||||
+++ b/modules.d/35network-manager/nm-run.sh
|
||||
@@ -9,8 +9,9 @@ fi
|
||||
for _i in /sys/class/net/*/
|
||||
do
|
||||
state=/run/NetworkManager/devices/$(cat $_i/ifindex)
|
||||
- grep -q managed=true $state 2>/dev/null || continue
|
||||
+ grep -q connection-uuid= $state 2>/dev/null || continue
|
||||
ifname=$(basename $_i)
|
||||
sed -n 's/root-path/new_root_path/p' <$state >/tmp/dhclient.$ifname.dhcpopts
|
||||
+ source_hook initqueue/online $ifname
|
||||
/sbin/netroot $ifname
|
||||
done
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 687e17aa7f2f40d21717be9a04302c749e139d4a Mon Sep 17 00:00:00 2001
|
||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||
Date: Wed, 30 Oct 2019 19:25:51 +0100
|
||||
Subject: [PATCH] network-manager: fix getting of ifname from the sysfs path
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
commit 5e0f8c8a4ced ('network-manager: remove useless use of basename')
|
||||
somewhat carelessly didn't take into account that $_i has a slash at
|
||||
the end which made the result of the ## substitution be just an empty
|
||||
string.
|
||||
|
||||
The slash was put to the end of /sys/class/net/*/ to make sure we're only
|
||||
iterating directories, but it's not strictly necessary. In an unlikely case
|
||||
something else than a directory appears in /sys/class/net/, we'll already deal
|
||||
with it gracefully. Remove it.
|
||||
|
||||
This fixes the TEST-30-ISCSI test.
|
||||
---
|
||||
modules.d/35network-manager/nm-run.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
|
||||
index a539d5b2..b33e0992 100755
|
||||
--- a/modules.d/35network-manager/nm-run.sh
|
||||
+++ b/modules.d/35network-manager/nm-run.sh
|
||||
@@ -6,7 +6,7 @@ else
|
||||
/usr/sbin/NetworkManager --configure-and-quit=initrd --no-daemon
|
||||
fi
|
||||
|
||||
-for _i in /sys/class/net/*/
|
||||
+for _i in /sys/class/net/*
|
||||
do
|
||||
state=/run/NetworkManager/devices/$(cat $_i/ifindex)
|
||||
grep -q connection-uuid= $state 2>/dev/null || continue
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 5e0f8c8a4ced36268d0077acafa1db2402776fa6 Mon Sep 17 00:00:00 2001
|
||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||
Date: Mon, 17 Jun 2019 10:07:38 +0200
|
||||
Subject: [PATCH] network-manager: remove useless use of basename
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
---
|
||||
modules.d/35network-manager/nm-run.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
|
||||
index 0f943631..5f4b38ca 100755
|
||||
--- a/modules.d/35network-manager/nm-run.sh
|
||||
+++ b/modules.d/35network-manager/nm-run.sh
|
||||
@@ -10,7 +10,7 @@ for _i in /sys/class/net/*/
|
||||
do
|
||||
state=/run/NetworkManager/devices/$(cat $_i/ifindex)
|
||||
grep -q connection-uuid= $state 2>/dev/null || continue
|
||||
- ifname=$(basename $_i)
|
||||
+ ifname=${_i##*/}
|
||||
sed -n 's/root-path/new_root_path/p' <$state >/tmp/dhclient.$ifname.dhcpopts
|
||||
source_hook initqueue/online $ifname
|
||||
/sbin/netroot $ifname
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,89 +0,0 @@
|
||||
From 09d2a1605b1b2663e3c25f1d9950b23a2bf4ad89 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
|
||||
<congdanhqx@gmail.com>
|
||||
Date: Sun, 6 Jan 2019 11:48:02 +0700
|
||||
Subject: [PATCH] remove bashism in various boot scripts
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
When using dash as initramfs shell, the boot process is broken.
|
||||
|
||||
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
|
||||
---
|
||||
modules.d/90crypt/crypt-lib.sh | 2 +-
|
||||
modules.d/90crypt/parse-keydev.sh | 2 +-
|
||||
modules.d/91crypt-gpg/crypt-gpg-lib.sh | 2 +-
|
||||
modules.d/95dcssblk/parse-dcssblk.sh | 2 +-
|
||||
modules.d/98syslog/rsyslogd-start.sh | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/modules.d/90crypt/crypt-lib.sh b/modules.d/90crypt/crypt-lib.sh
|
||||
index bbf485e0..688ea251 100755
|
||||
--- a/modules.d/90crypt/crypt-lib.sh
|
||||
+++ b/modules.d/90crypt/crypt-lib.sh
|
||||
@@ -191,7 +191,7 @@ readkey() {
|
||||
local device="$3"
|
||||
|
||||
# No mounting needed if the keyfile resides inside the initrd
|
||||
- if [ "/" == "$keydev" ]; then
|
||||
+ if [ "/" = "$keydev" ]; then
|
||||
local mntp=/
|
||||
else
|
||||
# This creates a unique single mountpoint for *, or several for explicitly
|
||||
diff --git a/modules.d/90crypt/parse-keydev.sh b/modules.d/90crypt/parse-keydev.sh
|
||||
index a45b2fb5..04813414 100755
|
||||
--- a/modules.d/90crypt/parse-keydev.sh
|
||||
+++ b/modules.d/90crypt/parse-keydev.sh
|
||||
@@ -18,7 +18,7 @@ if getargbool 1 rd.luks -n rd_NO_LUKS && \
|
||||
fi
|
||||
|
||||
# A keydev of '/' is treated as the initrd itself
|
||||
- if [ "/" == "$keydev" ]; then
|
||||
+ if [ "/" = "$keydev" ]; then
|
||||
[ -z "$luksdev" ] && luksdev='*'
|
||||
echo "$luksdev:$keydev:$keypath" >> /tmp/luks.keys
|
||||
continue
|
||||
diff --git a/modules.d/91crypt-gpg/crypt-gpg-lib.sh b/modules.d/91crypt-gpg/crypt-gpg-lib.sh
|
||||
index b85ed2b8..c051b430 100755
|
||||
--- a/modules.d/91crypt-gpg/crypt-gpg-lib.sh
|
||||
+++ b/modules.d/91crypt-gpg/crypt-gpg-lib.sh
|
||||
@@ -53,7 +53,7 @@ gpg_decrypt() {
|
||||
--tries 3 --tty-echo-off
|
||||
|
||||
# Clean up the smartcard gpg-agent
|
||||
- if [ "${useSmartcard}" == "1" ]; then
|
||||
+ if [ "${useSmartcard}" = "1" ]; then
|
||||
GNUPGHOME="$gpghome" gpg-connect-agent 1>/dev/null killagent /bye
|
||||
fi
|
||||
|
||||
diff --git a/modules.d/95dcssblk/parse-dcssblk.sh b/modules.d/95dcssblk/parse-dcssblk.sh
|
||||
index 8f174408..27ac1d8d 100644
|
||||
--- a/modules.d/95dcssblk/parse-dcssblk.sh
|
||||
+++ b/modules.d/95dcssblk/parse-dcssblk.sh
|
||||
@@ -2,7 +2,7 @@
|
||||
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
||||
dcssblk_arg=$(getarg rd.dcssblk=)
|
||||
-if [ $? == 0 ];then
|
||||
+if [ $? = 0 ];then
|
||||
info "Loading dcssblk segments=$dcssblk_arg"
|
||||
modprobe dcssblk segments=$dcssblk_arg
|
||||
fi
|
||||
diff --git a/modules.d/98syslog/rsyslogd-start.sh b/modules.d/98syslog/rsyslogd-start.sh
|
||||
index c64f2121..86ad50ea 100755
|
||||
--- a/modules.d/98syslog/rsyslogd-start.sh
|
||||
+++ b/modules.d/98syslog/rsyslogd-start.sh
|
||||
@@ -38,7 +38,7 @@ rsyslog_config() {
|
||||
[ -f /tmp/syslog.conf ] && read conf < /tmp/syslog.conf
|
||||
[ -z "$conf" ] && conf="/etc/rsyslog.conf" && echo "$conf" > /tmp/syslog.conf
|
||||
|
||||
-if [ $type == "rsyslogd" ]; then
|
||||
+if [ $type = "rsyslogd" ]; then
|
||||
template=/etc/templates/rsyslog.conf
|
||||
if [ -n "$server" ]; then
|
||||
rsyslog_config "$server" "$template" "$filters" > $conf
|
||||
--
|
||||
2.19.2
|
||||
|
@ -1,88 +0,0 @@
|
||||
From adee5b97bc5418b6e357342bb3be20568668aa55 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
|
||||
Date: Thu, 11 Jul 2019 10:50:40 +0200
|
||||
Subject: [PATCH] rngd: new module running early during boot to help generating
|
||||
entropy when system's default entropy sources are poor (e.g. use of SSD disks
|
||||
or UEFI RNG not available)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
To: <initramfs@vger.kernel.org>
|
||||
|
||||
On systems with low entropy at boot, the boot can take up to several
|
||||
hours, specially when NBDE is used (e.g. clevis) which makes use of
|
||||
the random number generator.
|
||||
|
||||
Enabling rngd service at boot early, because dracut-initqueue runs,
|
||||
enables to initialize the random number generator in a couple of seconds
|
||||
instead of minutes or hours.
|
||||
|
||||
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
|
||||
---
|
||||
modules.d/06rngd/module-setup.sh | 39 ++++++++++++++++++++++++++++++++
|
||||
modules.d/06rngd/rngd.service | 7 ++++++
|
||||
2 files changed, 46 insertions(+)
|
||||
create mode 100644 modules.d/06rngd/module-setup.sh
|
||||
create mode 100644 modules.d/06rngd/rngd.service
|
||||
|
||||
diff --git a/modules.d/06rngd/module-setup.sh b/modules.d/06rngd/module-setup.sh
|
||||
new file mode 100644
|
||||
index 00000000..43d5c2d3
|
||||
--- /dev/null
|
||||
+++ b/modules.d/06rngd/module-setup.sh
|
||||
@@ -0,0 +1,39 @@
|
||||
+#!/bin/bash
|
||||
+# vim: set tabstop=8 shiftwidth=4 softtabstop=4 expandtab smarttab colorcolumn=80:
|
||||
+#
|
||||
+# Copyright (c) 2019 Red Hat, Inc.
|
||||
+# Author: Renaud Métrich <rmetrich@redhat.com>
|
||||
+#
|
||||
+# This program is free software: you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation, either version 3 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+#
|
||||
+
|
||||
+depends() {
|
||||
+ echo systemd
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+check() {
|
||||
+ # if there's no rngd binary, no go.
|
||||
+ require_binaries rngd || return 1
|
||||
+
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+install() {
|
||||
+ inst rngd
|
||||
+ inst_simple "${moddir}/rngd.service" "${systemdsystemunitdir}/rngd.service"
|
||||
+ mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants"
|
||||
+ ln -rfs "${initdir}${systemdsystemunitdir}/rngd.service" \
|
||||
+ "${initdir}${systemdsystemunitdir}/sysinit.target.wants/rngd.service"
|
||||
+}
|
||||
diff --git a/modules.d/06rngd/rngd.service b/modules.d/06rngd/rngd.service
|
||||
new file mode 100644
|
||||
index 00000000..570fbedb
|
||||
--- /dev/null
|
||||
+++ b/modules.d/06rngd/rngd.service
|
||||
@@ -0,0 +1,7 @@
|
||||
+[Unit]
|
||||
+Description=Hardware RNG Entropy Gatherer Daemon
|
||||
+DefaultDependencies=no
|
||||
+Before=systemd-udevd.service
|
||||
+
|
||||
+[Service]
|
||||
+ExecStart=/usr/sbin/rngd -f
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,12 +0,0 @@
|
||||
As Flatcar uses the flatcar-network module, we need to replace it in the iscsi
|
||||
module setup in order to enable iscsi support.
|
||||
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
|
||||
@@ -183,7 +183,7 @@
|
||||
|
||||
# called by dracut
|
||||
depends() {
|
||||
- echo network rootfs-block
|
||||
+ echo flatcar-network rootfs-block
|
||||
}
|
||||
|
||||
# called by dracut
|
@ -0,0 +1,60 @@
|
||||
From 48258fae9fa58046d7d1a246ea3d821530180643 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Tsoy <alexander@tsoy.me>
|
||||
Date: Fri, 18 Dec 2020 00:01:32 +0300
|
||||
Subject: [PATCH] dracut.sh: Move ldconfig after library workaround
|
||||
|
||||
This fixes boot failures when libgcc_s.so.1 is in a non-standard
|
||||
directory.
|
||||
|
||||
Bug: https://bugs.gentoo.org/760249
|
||||
Fixes: de3cb0e3214c (dracut.sh: Move the library workaround after squash)
|
||||
---
|
||||
dracut.sh | 28 ++++++++++++++--------------
|
||||
1 file changed, 14 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index 0f4648397..c6c361acc 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -1724,20 +1724,6 @@ for ((i=0; i < ${#include_src[@]}; i++)); do
|
||||
fi
|
||||
done
|
||||
|
||||
-if [[ $kernel_only != yes ]]; then
|
||||
- # make sure that library links are correct and up to date
|
||||
- for f in $dracutsysrootdir/etc/ld.so.conf $dracutsysrootdir/etc/ld.so.conf.d/*; do
|
||||
- [[ -f $f ]] && inst_simple "${f#$dracutsysrootdir}"
|
||||
- done
|
||||
- if ! $DRACUT_LDCONFIG -r "$initdir" -f /etc/ld.so.conf; then
|
||||
- if [[ $EUID = 0 ]]; then
|
||||
- derror "ldconfig exited ungracefully"
|
||||
- else
|
||||
- derror "ldconfig might need uid=0 (root) for chroot()"
|
||||
- fi
|
||||
- fi
|
||||
-fi
|
||||
-
|
||||
if [[ $do_hardlink = yes ]] && command -v hardlink >/dev/null; then
|
||||
dinfo "*** Hardlinking files ***"
|
||||
hardlink "$initdir" 2>&1
|
||||
@@ -1920,6 +1906,20 @@ if [[ $kernel_only != yes ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+if [[ $kernel_only != yes ]]; then
|
||||
+ # make sure that library links are correct and up to date
|
||||
+ for f in $dracutsysrootdir/etc/ld.so.conf $dracutsysrootdir/etc/ld.so.conf.d/*; do
|
||||
+ [[ -f $f ]] && inst_simple "${f#$dracutsysrootdir}"
|
||||
+ done
|
||||
+ if ! $DRACUT_LDCONFIG -r "$initdir" -f /etc/ld.so.conf; then
|
||||
+ if [[ $EUID = 0 ]]; then
|
||||
+ derror "ldconfig exited ungracefully"
|
||||
+ else
|
||||
+ derror "ldconfig might need uid=0 (root) for chroot()"
|
||||
+ fi
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then
|
||||
dinfo "*** Stripping files ***"
|
||||
find "$initdir" -type f \
|
24
sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/053-network-manager.patch
vendored
Normal file
24
sdk_container/src/third_party/coreos-overlay/sys-kernel/dracut/files/053-network-manager.patch
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
From ba4bcf5f4f11ad624c647ddf4f566997186135e7 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Wed, 31 Mar 2021 16:11:41 +0200
|
||||
Subject: [PATCH] fix(network-manager): no default deps for nm-run.service
|
||||
|
||||
Otherwise nm-run.service will run only in basic.target, which is too
|
||||
late in the initramfs.
|
||||
---
|
||||
modules.d/35network-manager/nm-run.service | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/modules.d/35network-manager/nm-run.service b/modules.d/35network-manager/nm-run.service
|
||||
index 63fe7564d0..f3493c41a3 100644
|
||||
--- a/modules.d/35network-manager/nm-run.service
|
||||
+++ b/modules.d/35network-manager/nm-run.service
|
||||
@@ -2,6 +2,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
[Unit]
|
||||
+DefaultDependencies=no
|
||||
+
|
||||
#make sure all devices showed up
|
||||
Wants=systemd-udev-settle.service
|
||||
After=systemd-udev-settle.service
|
@ -0,0 +1,39 @@
|
||||
From e6a5f02038954ede223cc75901386acf43ec4264 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Tsoy <alexander@tsoy.me>
|
||||
Date: Mon, 9 Mar 2020 02:47:07 +0300
|
||||
Subject: [PATCH] Remove redundant gcc paths in ldconfig_paths()
|
||||
|
||||
Bug: https://bugs.gentoo.org/705728
|
||||
---
|
||||
dracut-functions.sh | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||||
index 5206bd21..a119fb15 100755
|
||||
--- a/dracut-functions.sh
|
||||
+++ b/dracut-functions.sh
|
||||
@@ -81,7 +81,20 @@ find_binary() {
|
||||
}
|
||||
|
||||
ldconfig_paths() {
|
||||
- $DRACUT_LDCONFIG ${dracutsysrootdir:+-r ${dracutsysrootdir} -f /etc/ld.so.conf} -pN 2> /dev/null | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | sed -n 's,.* => \(.*\)/.*,\1,p' | sort | uniq
|
||||
+ local gccpath
|
||||
+
|
||||
+ if type -P gcc-config &>/dev/null; then
|
||||
+ gccpath=$(gcc-config -c)
|
||||
+ gccpath=/usr/lib/gcc/${gccpath%-*}/${gccpath##*-}
|
||||
+ fi
|
||||
+
|
||||
+ while read -r line; do
|
||||
+ if [[ ${line} != /usr/lib/gcc/* || -z ${gccpath} ]]; then
|
||||
+ echo ${line}
|
||||
+ elif [[ ${line} == ${gccpath} ]]; then
|
||||
+ echo ${line}
|
||||
+ fi
|
||||
+ done < <($DRACUT_LDCONFIG ${dracutsysrootdir:+-r ${dracutsysrootdir} -f /etc/ld.so.conf} -pN 2>/dev/null | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | sed -n 's,.* => \(.*\)/.*,\1,p' | sort | uniq)
|
||||
}
|
||||
|
||||
# Version comparision function. Assumes Linux style version scheme.
|
||||
--
|
||||
2.32.0
|
||||
|
@ -5,7 +5,7 @@
|
||||
<email>chutzpah@gentoo.org</email>
|
||||
<name>Patrick McLean</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>alexander@tsoy.me</email>
|
||||
<name>Alexander Tsoy</name>
|
||||
</maintainer>
|
||||
@ -13,8 +13,4 @@
|
||||
<email>floppym@gentoo.org</email>
|
||||
<name>Mike Gilbert</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="debug">Module installing additional tools like strace, file
|
||||
editor, ssh and more</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
Loading…
Reference in New Issue
Block a user