Hi Pingfan,
On Tue, 25 Jul 2023 10:50:59 +0800
Pingfan Liu <piliu(a)redhat.com> wrote:
On Fri, Jul 21, 2023 at 10:24 PM Philipp Rudo
<prudo(a)redhat.com> wrote:
>
> The indirection seems to be a leftover from a time when there was no
> modeules.d directory to drop in the dracut modules. Remove this
Here I am not sure whether I catch your meaning. But the directory
'modules.d' seems to exist before this patch, otherwise how can it be
achieved for the statement 'mv
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/*
$RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/'.
Good point. My original thought was that modules.d was introduced with
005c06f ("Update kdump dracut module to use the latest dracut feature")
as that's the last commit that touched the line that moves everything
to modules.d. So I thought that modules.d was one of the new features.
But I've missed that the director already existed before. In fact it
was introduced with the move to dracut...
So yeah, not sure what the reason was to introduce the kdump-adv-conf
dir in the first place but the commit message as is is wrong.
So I think you try to directly operate on modules.d instead of a
temporary directory.
How rephrasing the commit message to this
Currently the dracut modules are first prepared in a temporary
directory before they are moved to modules.d. All the preparation work
can be done by a single call to 'install' per file. Thus get rid off
the indirection and install the dracut modules directly to modules.d.
While at it merge the three macros to remove the prefix into one.
For the rest.
Reviewed-by: Pingfan Liu <piliu(a)redhat.com>
Thanks!
Philipp
> indirection and combine the three macros to remove the prefix
into one.
>
> Signed-off-by: Philipp Rudo <prudo(a)redhat.com>
> ---
> kexec-tools.spec | 47 ++++++++++++++++++-----------------------------
> 1 file changed, 18 insertions(+), 29 deletions(-)
>
> diff --git a/kexec-tools.spec b/kexec-tools.spec
> index 5a6648e..a477c8e 100644
> --- a/kexec-tools.spec
> +++ b/kexec-tools.spec
> @@ -228,39 +228,28 @@ mkdir -p
$RPM_BUILD_ROOT/usr/share/makedumpfile/eppic_scripts/
> install -m 644 makedumpfile-%{mkdf_ver}/eppic_scripts/*
$RPM_BUILD_ROOT/usr/share/makedumpfile/eppic_scripts/
> %endif
>
> -%define remove_dracut_prefix() %(echo -n %1|sed 's/.*dracut-//g')
> -%define remove_dracut_early_kdump_prefix() %(echo -n %1|sed
's/.*dracut-early-kdump-//g')
> -%define remove_dracut_fadump_prefix() %(echo -n %1|sed
's/.*dracut-fadump-//g')
> +%define dracutdir %{_prefix}/lib/dracut/modules.d
> +%define remove_prefix() %(echo -n %2|sed 's/.*%1-//g')
>
> # deal with dracut modules
> -mkdir -p -m755 $RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase
> -cp %{SOURCE100}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE100}}
> -cp %{SOURCE101}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE101}}
> -cp %{SOURCE102}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE102}}
> -cp %{SOURCE104}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE104}}
> -cp %{SOURCE106}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE106}}
> -cp %{SOURCE107}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE107}}
> -chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE100}}
> -chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99kdumpbase/%{remove_dracut_prefix
%{SOURCE101}}
> -mkdir -p -m755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump
> -cp %{SOURCE108}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_prefix
%{SOURCE108}}
> -cp %{SOURCE109}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_early_kdump_prefix
%{SOURCE109}}
> -chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_prefix
%{SOURCE108}}
> -chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99earlykdump/%{remove_dracut_early_kdump_prefix
%{SOURCE109}}
> +mkdir -p -m755 $RPM_BUILD_ROOT/%{dracutdir}/99kdumpbase
> +install -m 755 %{SOURCE100}
$RPM_BUILD_ROOT/%{dracutdir}/99kdumpbase/%{remove_prefix dracut %{SOURCE100}}
> +install -m 755 %{SOURCE101}
$RPM_BUILD_ROOT/%{dracutdir}/99kdumpbase/%{remove_prefix dracut %{SOURCE101}}
> +install -m 644 %{SOURCE102}
$RPM_BUILD_ROOT/%{dracutdir}/99kdumpbase/%{remove_prefix dracut %{SOURCE102}}
> +install -m 644 %{SOURCE104}
$RPM_BUILD_ROOT/%{dracutdir}/99kdumpbase/%{remove_prefix dracut %{SOURCE104}}
> +install -m 644 %{SOURCE106}
$RPM_BUILD_ROOT/%{dracutdir}/99kdumpbase/%{remove_prefix dracut %{SOURCE106}}
> +install -m 644 %{SOURCE107}
$RPM_BUILD_ROOT/%{dracutdir}/99kdumpbase/%{remove_prefix dracut %{SOURCE107}}
> +
> +mkdir -p -m755 $RPM_BUILD_ROOT/%{dracutdir}/99earlykdump
> +install -m 755 %{SOURCE108}
$RPM_BUILD_ROOT/%{dracutdir}/99earlykdump/%{remove_prefix dracut %{SOURCE108}}
> +install -m 755 %{SOURCE109}
$RPM_BUILD_ROOT/%{dracutdir}/99earlykdump/%{remove_prefix dracut-early-kdump
%{SOURCE109}}
> +
> %ifarch ppc64 ppc64le
> -mkdir -p -m755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99zz-fadumpinit
> -cp %{SOURCE200}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99zz-fadumpinit/%{remove_dracut_fadump_prefix
%{SOURCE200}}
> -cp %{SOURCE201}
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99zz-fadumpinit/%{remove_dracut_fadump_prefix
%{SOURCE201}}
> -chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99zz-fadumpinit/%{remove_dracut_fadump_prefix
%{SOURCE200}}
> -chmod 755
$RPM_BUILD_ROOT/etc/kdump-adv-conf/kdump_dracut_modules/99zz-fadumpinit/%{remove_dracut_fadump_prefix
%{SOURCE201}}
> +mkdir -p -m755 $RPM_BUILD_ROOT/%{dracutdir}/99zz-fadumpinit
> +install -m 755 %{SOURCE200}
$RPM_BUILD_ROOT/%{dracutdir}/99zz-fadumpinit/%{remove_prefix dracut-fadump %{SOURCE200}}
> +install -m 755 %{SOURCE201}
$RPM_BUILD_ROOT/%{dracutdir}/99zz-fadumpinit/%{remove_prefix dracut-fadump %{SOURCE201}}
> %endif
>
> -
> -%define dracutlibdir %{_prefix}/lib/dracut
> -#and move the custom dracut modules to the dracut directory
> -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
> # Initial installation
> %systemd_post kdump.service
> @@ -363,7 +352,7 @@ fi
> %config %{_udevrulesdir}
> %{_udevrulesdir}/../kdump-udev-throttler
> %endif
> -%{dracutlibdir}/modules.d/*
> +%{dracutdir}/*
> %dir %{_localstatedir}/crash
> %dir %{_sysconfdir}/kdump
> %dir %{_sysconfdir}/kdump/pre.d
> --
> 2.40.0
>