[PATCH] Makefile: Avoid installing files in /etc
HAGIO KAZUHITO(萩尾 一仁)
k-hagio-ab at nec.com
Tue May 10 18:50:58 PDT 2022
-----Original Message-----
> Some Linux distros rely on having files in /etc (Debian, et al.),
> others in *not* having them in such directory (like Arch Linux).
> Fact is that the former distros have no issues in installing files
> elsewhere, whereas Arch has issues in installing files on /etc,
> specially if such files are present there when user try to reinstall
> the packages - it fails. Arch packaging doesn't try to be smart as dpkg
> for example (that compares config files to determine if user changed that).
>
> With all of that said, this patch moves the sample conf file to
> /usr/share, a move that is well-tolerated in all distros and shouldn't
> cause regressions in packaging. Also, if some Linux distribution likes
> the idea of adding files in /etc, they can tune it in their packaging
> configuration scripts for makedumpfile, but we shouldn't have that
> as default in the Makefile.
Fair enough, and as far as I've checked:
- The makedumpfile.conf.sample file does not need to be in /etc, because
makedumpfile does not have any default path for it and reads a config
file only when specified with --config option.
(and IMO it's better to place such a sample config file, used rarely,
in /usr/share.)
- Fedora/RHEL kexec-tools packaging does not use "make install" and have
their own install command, at least this patch will not affect them:
https://src.fedoraproject.org/rpms/kexec-tools/blob/main/f/kexec-tools.spec#_225
- Debian/Ubuntu makedumpfile packages apparently do not have the file:
https://packages.debian.org/sid/amd64/makedumpfile/filelist
On the whole I will accept this.
> Notice that this patch intentionally skips
> the change for the .spec file, which aims specific distros, by creating
> RPM packages.
However, the .spec file depends on "make install", so I will add this:
diff --git a/makedumpfile.spec b/makedumpfile.spec
index ef619b8c8af9..fd9efa0639cc 100644
--- a/makedumpfile.spec
+++ b/makedumpfile.spec
@@ -25,7 +25,6 @@ make LINKTYPE=dynamic
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/usr/sbin
-mkdir -p %{buildroot}/etc
mkdir -p %{buildroot}/usr/share/man/man5
mkdir -p %{buildroot}/usr/share/man/man8
mkdir -p %{buildroot}/usr/share/%{name}-%{version}/eppic-scripts/
@@ -35,11 +34,11 @@ make install DESTDIR=%{buildroot}
rm -rf %{buildroot}
%files
-/etc/makedumpfile.conf.sample
/usr/sbin/makedumpfile
/usr/sbin/makedumpfile-R.pl
/usr/share/man/man5/makedumpfile.conf.5.gz
/usr/share/man/man8/makedumpfile.8.gz
+/usr/share/%{name}-%{version}/makedumpfile.conf.sample
/usr/share/%{name}-%{version}/eppic_scripts/
%changelog
>
> Cc: Coiby Xu <coxu at redhat.com>
> Cc: Kazuhito Hagio <k-hagio-ab at nec.com>
> Cc: Leonidas Spyropoulos <artafinde at archlinux.org>
> Signed-off-by: Guilherme G. Piccoli <gpiccoli at igalia.com>
> ---
> Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index cc6b0120aa7d..014be8110836 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -130,6 +130,6 @@ install:
> install -m 755 -t ${DESTDIR}/usr/sbin makedumpfile $(VPATH)makedumpfile-R.pl
> install -m 644 -t ${DESTDIR}/usr/share/man/man8 makedumpfile.8
> install -m 644 -t ${DESTDIR}/usr/share/man/man5 makedumpfile.conf.5
> - install -m 644 -D $(VPATH)makedumpfile.conf ${DESTDIR}/etc/makedumpfile.conf.sample
> mkdir -p ${DESTDIR}/usr/share/makedumpfile-${VERSION}/eppic_scripts
> + install -m 644 -D $(VPATH)makedumpfile.conf ${DESTDIR}/usr/share/makedumpfile-${VERSION}/makedumpfile.conf.sample
> install -m 644 -t ${DESTDIR}/usr/share/makedumpfile-${VERSION}/eppic_scripts/ $(VPATH)eppic_scripts/*
> --
> 2.36.0
The creation of ${DESTDIR}/etc is also not needed, will remove it and merge.
install:
- install -m 755 -d ${DESTDIR}/usr/sbin ${DESTDIR}/usr/share/man/man5 ${DESTDIR}/usr/share/man/man8 ${DESTDIR}/etc
+ install -m 755 -d ${DESTDIR}/usr/sbin ${DESTDIR}/usr/share/man/man5 ${DESTDIR}/usr/share/man/man8
install -m 755 -t ${DESTDIR}/usr/sbin makedumpfile $(VPATH)makedumpfile-R.pl
Please let me know if any problem.
Thanks,
Kazu
More information about the kexec
mailing list