Received: by 2002:a05:7412:d008:b0:f9:6acb:47ec with SMTP id bd8csp158467rdb; Tue, 19 Dec 2023 12:17:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IGlrSHY6rAEZeJOEHbSANccaNjW1hqFfgEvghqi02OHxrh06S1JN8dBBDvZUKX3gYclQKm8 X-Received: by 2002:a05:6358:8a4:b0:172:aebe:698d with SMTP id m36-20020a05635808a400b00172aebe698dmr4247664rwj.61.1703017060044; Tue, 19 Dec 2023 12:17:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703017060; cv=none; d=google.com; s=arc-20160816; b=B0fr1U1IzGE0w/JR95iGbjNUP6Nys4BP3XreRFA+Gmc1Qg+5bXR735yneukUo1uPq1 jtcwrLDrUgn33WbNlQVIsO/jO9hRLDFFwsx1qo6eDMrh9cgXXGswxn3qQHM4QDq4Holf Gkk1/6CekFZWQgeP6IG78ov1lFnoCi19CfKuzQZXWTRiHmn0E3L9kIkYbsX0KJIr5Rvz kXal1zcLf51VRjy+gAfsoMezM9k592fGCVAWiqKo5UH+sc4rr720DWNnEn7nFia639m9 s3177+Bic9Y+3JFyiPejGTun4w4Aq5UXwoLP/OzUb1FUZ5V1MADtDcKrEesjQTJ12eE9 djSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=01FhvVCGrz9P2bb0tXUNI0bFaaBVoUDAD7MiFwv5MeQ=; fh=UtjiNYbYZwpSkQBvFYcjoqZCLQVWRkcJXV3l/BIBQoQ=; b=Y3jiD1d0cEVchD7u68vFBkyLRdlQFtIxVlOmwzKOnIl4/pk+2osPr0kCrfmrwk1rSQ MvQxZLtHd9EYkBQsNQhPCL4LqyM+cYWM3C3+KlD9kI2BGwg6EPI9rWmHKvRm7/yCthcv dDiZ+jOjdwmFBugA5m5CA5gEnkkTJu1abQkK7zfeVs3agPgfEP05tnNfy8z/pzT4AjSK mrvRmQDuU2HFtrYY0/8RgEIUCNQBZgJJNyx2Yy6LFa92d9PTIs4sYhZtQZpuli8zQZzE uKWPzjeni1i/0fiUbX2SG9/WAqTN5g3uZk67RtiMAtbFxFtvgrSCUCkMsN0sp/FpTS5S a2zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=givioK5u; spf=pass (google.com: domain of linux-kernel+bounces-5897-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-5897-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id j13-20020aa78dcd000000b006d8d886434esi2645125pfr.91.2023.12.19.12.17.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Dec 2023 12:17:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-5897-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=givioK5u; spf=pass (google.com: domain of linux-kernel+bounces-5897-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-5897-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id A7D9A287D82 for ; Tue, 19 Dec 2023 20:17:39 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9D20F39AC6; Tue, 19 Dec 2023 20:17:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="givioK5u" X-Original-To: linux-kernel@vger.kernel.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F57215494 for ; Tue, 19 Dec 2023 20:17:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1703017051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=01FhvVCGrz9P2bb0tXUNI0bFaaBVoUDAD7MiFwv5MeQ=; b=givioK5umKbqDOIGdzqTWalPiunz9Nw1WQmfB/pK+aSRQvWDM7LMBg1HD8ehn+wfTTjeSi 2YO49VYBAi3TtEsoRJRqidjNgk3zy0qeHWdNwCDZhki8A38VTXIv8j6oKJNEVwLeF5eXmV a2TAiOOpFltyjgA62u0YZdRKk1Ef7ws= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-558-zR7GIT9iP0SKCMMmAjc2xw-1; Tue, 19 Dec 2023 15:17:27 -0500 X-MC-Unique: zR7GIT9iP0SKCMMmAjc2xw-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A7B7D3C025D2; Tue, 19 Dec 2023 20:17:25 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.39.192.165]) by smtp.corp.redhat.com (Postfix) with ESMTP id 67C6D1121306; Tue, 19 Dec 2023 20:17:23 +0000 (UTC) From: Jose Ignacio Tornos Martinez To: masahiroy@kernel.org Cc: dcavalca@meta.com, jtornosm@redhat.com, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, nathan@kernel.org, ndesaulniers@google.com, nicolas@fjasle.eu, stable@vger.kernel.org Subject: [PATCH v4] rpm-pkg: simplify installkernel %post Date: Tue, 19 Dec 2023 21:17:19 +0100 Message-ID: <20231219201719.1967948-1-jtornosm@redhat.com> In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 The new installkernel application that is now included in systemd-udev package allows installation although destination files are already present in the boot directory of the kernel package, but is failing with the implemented workaround for the old installkernel application from grubby package. For the new installkernel application, as Davide says: <> But we need to keep the old behavior as well, because the old installkernel application from grubby package, does not allow this simplification and we need to be backward compatible to avoid issues with the different packages. Mimic Fedora shipping process and store vmlinuz, config amd System.map in the module directory instead of the boot directory. In this way, we will avoid the commented problem for all the cases, because the new destination files are not going to exist in the boot directory of the kernel package. Replace installkernel tool with kernel-install tool, because the latter is more complete. Suitable manual actions are added as a default if tool is not present (unusual). cc: stable@vger.kernel.org Co-Developed-by: Davide Cavalca Signed-off-by: Jose Ignacio Tornos Martinez --- V1 -> V2: - Complete to be backward compatible with the previous installkernel application. V2 -> V3: - Follow the suggestions from Masahiro Yamada and change the installation V3 -> V4: - Make the patch applicable to linux-kbuild/for-next (ia64 support was already removed). scripts/package/kernel.spec | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/scripts/package/kernel.spec b/scripts/package/kernel.spec index 89298983a169..17e7196c9be1 100644 --- a/scripts/package/kernel.spec +++ b/scripts/package/kernel.spec @@ -55,12 +55,12 @@ patch -p1 < %{SOURCE2} %{make} %{makeflags} KERNELRELEASE=%{KERNELRELEASE} KBUILD_BUILD_VERSION=%{release} %install -mkdir -p %{buildroot}/boot -cp $(%{make} %{makeflags} -s image_name) %{buildroot}/boot/vmlinuz-%{KERNELRELEASE} +mkdir -p %{buildroot}/lib/modules/%{KERNELRELEASE} +cp $(%{make} %{makeflags} -s image_name) %{buildroot}/lib/modules/%{KERNELRELEASE}/vmlinuz %{make} %{makeflags} INSTALL_MOD_PATH=%{buildroot} modules_install %{make} %{makeflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install -cp System.map %{buildroot}/boot/System.map-%{KERNELRELEASE} -cp .config %{buildroot}/boot/config-%{KERNELRELEASE} +cp System.map %{buildroot}/lib/modules/%{KERNELRELEASE} +cp .config %{buildroot}/lib/modules/%{KERNELRELEASE}/config ln -fns /usr/src/kernels/%{KERNELRELEASE} %{buildroot}/lib/modules/%{KERNELRELEASE}/build %if %{with_devel} %{make} %{makeflags} run-command KBUILD_RUN_COMMAND='${srctree}/scripts/package/install-extmod-build %{buildroot}/usr/src/kernels/%{KERNELRELEASE}' @@ -70,12 +70,12 @@ ln -fns /usr/src/kernels/%{KERNELRELEASE} %{buildroot}/lib/modules/%{KERNELRELEA rm -rf %{buildroot} %post -if [ -x /sbin/installkernel -a -r /boot/vmlinuz-%{KERNELRELEASE} -a -r /boot/System.map-%{KERNELRELEASE} ]; then -cp /boot/vmlinuz-%{KERNELRELEASE} /boot/.vmlinuz-%{KERNELRELEASE}-rpm -cp /boot/System.map-%{KERNELRELEASE} /boot/.System.map-%{KERNELRELEASE}-rpm -rm -f /boot/vmlinuz-%{KERNELRELEASE} /boot/System.map-%{KERNELRELEASE} -/sbin/installkernel %{KERNELRELEASE} /boot/.vmlinuz-%{KERNELRELEASE}-rpm /boot/.System.map-%{KERNELRELEASE}-rpm -rm -f /boot/.vmlinuz-%{KERNELRELEASE}-rpm /boot/.System.map-%{KERNELRELEASE}-rpm +if [ -x /usr/bin/kernel-install ]; then +kernel-install add %{KERNELRELEASE} /lib/modules/%{KERNELRELEASE}/vmlinuz +else +cp /lib/modules/%{KERNELRELEASE}/vmlinuz /boot/vmlinuz-%{KERNELRELEASE} +cp /lib/modules/%{KERNELRELEASE}/System.map /boot/System.map-%{KERNELRELEASE} +cp /lib/modules/%{KERNELRELEASE}/config /boot/config-%{KERNELRELEASE} fi %preun @@ -94,7 +94,6 @@ fi %defattr (-, root, root) /lib/modules/%{KERNELRELEASE} %exclude /lib/modules/%{KERNELRELEASE}/build -/boot/* %files headers %defattr (-, root, root) -- 2.43.0