Hi Coiby, On Mon, 19 Jun 2023 15:31:27 +0800 Coiby Xu <coxu@xxxxxxxxxx> wrote: > Related: https://bugzilla.redhat.com/show_bug.cgi?id=2121912 > > Now there is a growing user base to use the kexec reboot and it's > desirable to make the kexec-tools package more modular. > > This patch splits current kexec-tools into two sub-packages kexec-tools > and kdump-tools. Now kexec-tools merely provides /usr/sbin/kexec and the > remaining features go into kdump-tools. all in all I'm in favor for this change. But for me simply splitting kexec-tools in a separate sub package is just a half-baked solution. When you look at the current kexec-tools you see that it consists of four different projects. There's upstream kexec-tools, makedumpfile and eppic as well as our Fedora tooling. The 'clean' solution would be to move each project into it's own package. Ideally each having it's own repo which would allow us to move to a source-git based work flow. Anyway, just my 2 ct's. > "dnf repoquery --whatrequires kexec-tools" shows the following packages > requires kexec-tools, > - abrt-addon-vmcore > - anaconda-install-env-deps > - cockpit-kdump > - dracut-kiwi-oem-dump > - realtime-setup > - retrace-server > > For those packages that need kdump, the dependency needs to point to > the new kdump-tools package instead. > > Cc: fedora-devel@xxxxxxxxxxxxxxxxxxxxxx > Cc: Dusty Mabe <dustymabe@xxxxxxxxxx> > Cc: crash-catcher-owner@xxxxxxxxxxxxxxxxxxxxxx > CC: anaconda-devel@xxxxxxxxxxxxxxxxxxxxxxx > Cc: Martin Pitt <mpitt@xxxxxxxxxx> > Cc: kiwi-images@xxxxxxxxxxxxxxxx > Cc: Clark Williams <williams@xxxxxxxxxx> > Cc: Matěj Grabovský <mgrabovs@xxxxxxxxxx> > Suggested-by: Zbigniew Jędrzejewski-Szmek <zbyszek@xxxxxxxxx> > Signed-off-by: Coiby Xu <coxu@xxxxxxxxxx> > --- > kexec-tools.spec | 80 +++++++++++++++++++++++++++++------------------- > 1 file changed, 48 insertions(+), 32 deletions(-) > > diff --git a/kexec-tools.spec b/kexec-tools.spec > index 360b6c5d..6e78f6d3 100644 > --- a/kexec-tools.spec > +++ b/kexec-tools.spec > @@ -5,9 +5,10 @@ > > Name: kexec-tools > Version: 2.0.26 > -Release: 7%{?dist} > +Release: 8%{?dist} > License: GPLv2 > Summary: The kexec/kdump userspace component > +Obsoletes: kexec-tools < 2.0.26-8 > > Source0: http://kernel.org/pub/linux/utils/kernel/kexec/%{name}-%{version}.tar.xz > Source1: kdumpctl > @@ -56,33 +57,6 @@ Source109: dracut-early-kdump-module-setup.sh > Source200: dracut-fadump-init-fadump.sh > Source201: dracut-fadump-module-setup.sh > > -%ifarch ppc64 ppc64le > -Requires(post): servicelog > -Recommends: keyutils > -%endif > -Requires(pre): coreutils sed zlib > -Requires: dracut >= 058 > -Requires: dracut-network >= 058 > -Requires: dracut-squash >= 058 > -Requires: ethtool > -Requires: util-linux > -# Needed for UKI support > -Recommends: binutils > -Recommends: grubby > -Recommends: hostname > -BuildRequires: make > -BuildRequires: zlib-devel elfutils-devel glib2-devel bzip2-devel ncurses-devel bison flex lzo-devel snappy-devel libzstd-devel > -BuildRequires: pkgconfig intltool gettext > -BuildRequires: systemd-rpm-macros > -BuildRequires: automake autoconf libtool You cannot simply remove all build requirements from kexec-tools. You'll need to keep at least make, autoconf, automake(?) and gcc (which is already missing today). > -%ifarch %{ix86} x86_64 ppc64 ppc s390x ppc64le > -Obsoletes: diskdumputils netdump kexec-tools-eppic > -%endif > - > -%ifnarch s390x > -Requires: systemd-udev%{?_isa} > -%endif > - > #START INSERT > > # > @@ -117,6 +91,42 @@ normal or a panic reboot. This package contains the /sbin/kexec > binary and ancillary utilities that together form the userspace > component of the kernel's kexec feature. > > +%package -n kdump-tools > +Summary: Kernel crash dump collection tools > +Obsoletes: kexec-tools < 2.0.26-8 > +%ifarch ppc64 ppc64le > +Requires(post): servicelog > +Recommends: keyutils > +%endif > +Requires(pre): coreutils sed zlib > +Requires: kexec-tools >= 2.0.26-8 > +Requires: dracut >= 058 > +Requires: dracut-network >= 058 > +Requires: dracut-squash >= 058 > +Requires: ethtool > +Requires: util-linux > +Requires: binutils > +Obsoletes: kexec-tools = 2.0.26-8 ^ Is '=' correct here? Shouldn't it be '<' just like for kexec-tools? > +Recommends: grubby > +Recommends: hostname > +BuildRequires: make > +BuildRequires: zlib-devel elfutils-devel glib2-devel bzip2-devel ncurses-devel bison flex lzo-devel snappy-devel libzstd-devel > +BuildRequires: pkgconfig intltool gettext > +BuildRequires: systemd-rpm-macros > +BuildRequires: automake autoconf libtool > +%ifarch %{ix86} x86_64 ppc64 ppc s390x ppc64le > +Obsoletes: diskdumputils netdump kexec-tools-eppic diskdumputils and netdump were last used with RHEL4 and according to git kexec-tools-eppic was removed with Fedora 22. I think it is safe to simply drop this line. Thanks Philipp > +%endif > + > +%ifnarch s390x > +Requires: systemd-udev%{?_isa} > +%endif > +%description -n kdump-tools > +kdump-tools is reponsible for collecting the crash kernel dump. It builds and > +load the kdump initramfs so when a kernel crashes, the system will boot the > +kdump kernel and initramfs to save the colletecd crash kernel dump to specified > +target. > + > %prep > %setup -q > > @@ -261,7 +271,7 @@ chmod 755 $RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99zz-fadumpini > mkdir -p $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/ > mv $RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/* $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/ > > -%post > +%post -n kdump-tools > # Initial installation > %systemd_post kdump.service > > @@ -295,10 +305,10 @@ then > fi > > > -%postun > +%postun -n kdump-tools > %systemd_postun_with_restart kdump.service > > -%preun > +%preun -n kdump-tools > %ifarch ppc64 ppc64le > servicelog_notify --remove --command=/usr/lib/kdump/kdump-migrate-action.sh > %endif > @@ -326,7 +336,7 @@ do > fi > done > > -%posttrans > +%posttrans -n kdump-tools > # Try to reset kernel crashkernel value to new default value or set up > # crasherkernel value for new install > # > @@ -342,6 +352,9 @@ fi > > %files > /usr/sbin/kexec > +%{_mandir}/man8/kexec.8.gz > + > +%files -n kdump-tools > %ifarch %{ix86} x86_64 ppc64 s390x ppc64le aarch64 > /usr/sbin/makedumpfile > %endif > @@ -396,6 +409,9 @@ fi > %endif > > %changelog > +* Wed Jun 14 2023 Coiby <coxu@xxxxxxxxxx> - 2.0.26-8 > +- split kexec-tools into kexec-tools and kdump-tools > + > * Wed Jun 14 2023 Coiby <coxu@xxxxxxxxxx> - 2.0.26-7 > - kdumpctl: Fix the matching of plus symbol by grep's EREs > - kdump-lib: Evaluate the memory consumption by smmu and mlx5 separately _______________________________________________ Anaconda-devel mailing list -- anaconda-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to anaconda-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/anaconda-devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue