From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5FCEB158041 for ; Mon, 19 Feb 2024 21:01:03 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4F55EE2ADE; Mon, 19 Feb 2024 21:01:02 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 26724E2ADC for ; Mon, 19 Feb 2024 21:01:02 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0A5AA335D72 for ; Mon, 19 Feb 2024 21:01:01 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 372C0134E for ; Mon, 19 Feb 2024 21:00:59 +0000 (UTC) From: "Robin H. Johnson" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Robin H. Johnson" Message-ID: <1708376455.b0152d3ed507c45608377046bc2f65a48b47ec10.robbat2@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/mdadm/files/, sys-fs/mdadm/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch sys-fs/mdadm/mdadm-4.2-r3.ebuild X-VCS-Directories: sys-fs/mdadm/ sys-fs/mdadm/files/ X-VCS-Committer: robbat2 X-VCS-Committer-Name: Robin H. Johnson X-VCS-Revision: b0152d3ed507c45608377046bc2f65a48b47ec10 X-VCS-Branch: master Date: Mon, 19 Feb 2024 21:00:59 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 1a00fc1b-3486-4677-b5f2-780704bda2fa X-Archives-Hash: 3aaf72b4d7c338b0ad4d922ca4a58976 commit: b0152d3ed507c45608377046bc2f65a48b47ec10 Author: Robin H. Johnson gentoo org> AuthorDate: Mon Feb 19 20:32:53 2024 +0000 Commit: Robin H. Johnson gentoo org> CommitDate: Mon Feb 19 21:00:55 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0152d3e sys-fs/mdadm: improve mdmonitor on systemd Signed-off-by: Robin H. Johnson gentoo.org> Closes: https://bugs.gentoo.org/628968 sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch | 36 ++++++++++ sys-fs/mdadm/mdadm-4.2-r3.ebuild | 104 +++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) diff --git a/sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch b/sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch new file mode 100644 index 000000000000..bd09da553820 --- /dev/null +++ b/sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch @@ -0,0 +1,36 @@ +--- mdadm-4.2/systemd/SUSE-mdadm_env.sh 2021-12-30 11:43:35.000000000 -0800 ++++ mdadm-4.2/systemd/SUSE-mdadm_env.sh 2024-02-19 12:20:56.509632098 -0800 +@@ -6,6 +7,12 @@ + + MDADM_SCAN="yes" + ++# Gentoo: source conf.d ++mdadmd_CONFIG=/etc/conf.d/mdadm ++if test -r $mdadmd_CONFIG; then ++ . $mdadmd_CONFIG ++fi ++ + # Following adapted from /etc/init.d/mdadmd on openSUSE + + mdadmd_CONFIG=/etc/sysconfig/mdadm +@@ -42,7 +49,8 @@ + fi + + mkdir -p /run/sysconfig +-echo "MDADM_MONITOR_ARGS=$MDADM_RAIDDEVICES $MDADM_DELAY $MDADM_MAIL $MDADM_PROGRAM $MDADM_SCAN $MDADM_SEND_MAIL $MDADM_CONFIG" > /run/sysconfig/mdadm ++# Gentoo: added $MDADM_OPTS to the end. ++echo "MDADM_MONITOR_ARGS=$MDADM_RAIDDEVICES $MDADM_DELAY $MDADM_MAIL $MDADM_PROGRAM $MDADM_SCAN $MDADM_SEND_MAIL $MDADM_CONFIG $MDADM_OPTS" > /run/sysconfig/mdadm + if [ -n "$MDADM_CHECK_DURATION" ]; then + echo "MDADM_CHECK_DURATION=$MDADM_CHECK_DURATION" >> /run/sysconfig/mdadm + fi +--- mdadm-4.2.orig/Makefile 2024-02-19 12:27:19.512400849 -0800 ++++ mdadm-4.2/Makefile 2024-02-19 12:27:39.517338433 -0800 +@@ -298,7 +298,7 @@ + $(INSTALL) -D -m 755 .install.tmp.3 $(DESTDIR)$(SYSTEMD_DIR)-shutdown/$$file ; \ + rm -f .install.tmp.3; \ + done +- if [ -f /etc/SuSE-release -o -n "$(SUSE)" ] ;then $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(LIB_DIR)/mdadm_env.sh ;fi ++ $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(LIB_DIR)/mdadm_env.sh + + install-bin: mdadm mdmon + $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm diff --git a/sys-fs/mdadm/mdadm-4.2-r3.ebuild b/sys-fs/mdadm/mdadm-4.2-r3.ebuild new file mode 100644 index 000000000000..0b2549330957 --- /dev/null +++ b/sys-fs/mdadm/mdadm-4.2-r3.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic systemd toolchain-funcs udev + +DESCRIPTION="Tool for running RAID systems - replacement for the raidtools" +HOMEPAGE="https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/" +DEB_PF="4.2~rc2-7" +SRC_URI="https://www.kernel.org/pub/linux/utils/raid/mdadm/${P/_/-}.tar.xz + mirror://debian/pool/main/m/mdadm/${PN}_${DEB_PF}.debian.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" = *_rc* ]] || \ +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="static systemd +udev" + +REQUIRED_USE="static? ( !udev )" + +BDEPEND="app-arch/xz-utils + virtual/pkgconfig" +DEPEND="udev? ( virtual/libudev:= )" +RDEPEND="${DEPEND} + >=sys-apps/util-linux-2.16" + +# The tests edit values in /proc and run tests on software raid devices. +# Thus, they shouldn't be run on systems with active software RAID devices. +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}"-3.4-sysmacros.patch #580188 + "${FILESDIR}/${PN}"-4.2-in_initrd-collision.patch #830461 + "${FILESDIR}/${PN}"-4.2-mdadm_env.patch #628968 +) + +mdadm_emake() { + # We should probably make corosync & libdlm into USE flags. #573782 + local args=( + PKG_CONFIG="$(tc-getPKG_CONFIG)" + CC="$(tc-getCC)" + CWFLAGS="-Wall" + CXFLAGS="${CFLAGS}" + UDEVDIR="$(get_udevdir)" + SYSTEMD_DIR="$(systemd_get_systemunitdir)" + COROSYNC="-DNO_COROSYNC" + DLM="-DNO_DLM" + + # https://bugs.gentoo.org/732276 + STRIP= + + "$@" + ) + emake "${args[@]}" +} + +src_compile() { + use static && append-ldflags -static + + # CPPFLAGS won't work for this + use udev || append-cflags -DNO_LIBUDEV + + mdadm_emake all +} + +src_test() { + mdadm_emake test + + sh ./test || die +} + +src_install() { + mdadm_emake DESTDIR="${D}" install install-systemd + dodoc ChangeLog INSTALL TODO README* ANNOUNCE-* + + insinto /etc + newins mdadm.conf-example mdadm.conf + newinitd "${FILESDIR}"/mdadm.rc mdadm + newconfd "${FILESDIR}"/mdadm.confd mdadm + newinitd "${FILESDIR}"/mdraid.rc mdraid + newconfd "${FILESDIR}"/mdraid.confd mdraid + + # From the Debian patchset + into /usr + dodoc "${WORKDIR}"/debian/README.checkarray + dosbin "${WORKDIR}"/debian/checkarray + insinto /etc/default + newins "${FILESDIR}"/etc-default-mdadm mdadm + + exeinto /etc/cron.weekly + newexe "${FILESDIR}"/mdadm.weekly mdadm +} + +pkg_postinst() { + if ! systemd_is_booted; then + if [[ -z ${REPLACING_VERSIONS} ]] ; then + # Only inform people the first time they install. + elog "If you're not relying on kernel auto-detect of your RAID" + elog "devices, you need to add 'mdraid' to your 'boot' runlevel:" + elog " rc-update add mdraid boot" + fi + fi +}