From 03ce7afaba3f29c65766c6922d6c276b28b4bf1c Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Wed, 16 Jul 2008 13:39:32 -0400 Subject: [PATCH] Add more intelligent handling of the mke2fs.conf installation process For people who are compiling mke2fs for their own use outside of a package manager, we need to make sure the system /etc/mke2fs.conf is sufficiently up-to-date that it won't cause problems, but at the same time we don't want to blow away any user-specific customizations. So if /etc/mk2fs.conf exists, but does not mention ext4dev, we will move it aside to /etc/mke2fs.conf.e2fsprogs-old and then install the new mke2fs.conf. If the /etc/mke2fs.conf file exists but does mention ext4dev, we install the new mke2fs.conf file as /etc/mke2fs.conf.e2fsprogs-new. In both cases we print a warning mesage to the user so they can manually update /etc/mke2fs.conf with any changes if they so desire. Signed-off-by: "Theodore Ts'o" --- misc/Makefile.in | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/misc/Makefile.in b/misc/Makefile.in index a8d10184..a81df8a6 100644 --- a/misc/Makefile.in +++ b/misc/Makefile.in @@ -343,7 +343,30 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs echo " INSTALL_DATA $(man5dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \ done - @if ! test -f $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; then \ + @if test -f $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; then \ + if cmp -s $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \ + $(srcdir)/mke2fs.conf; then \ + true; \ + else \ + if grep -q ext4dev $(DESTDIR)$(root_sysconfdir)/mke2fs.conf ; then \ + echo " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ + $(INSTALL_DATA) $(srcdir)/mke2fs.conf \ + $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new; \ + echo "Warning: installing mke2fs.conf in $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ + echo "Check to see if you need to update your $(root_sysconfdir)/mke2fs.conf"; \ + else \ + echo " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ + mv $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \ + $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old; \ + $(INSTALL_DATA) $(srcdir)/mke2fs.conf \ + $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \ + echo "Your mke2fs.conf is too old. Backing up old version in"; \ + echo "$(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old. Please check to see"; \ + echo "if you have any local customizations that you wish to preserve."; \ + fi; \ + echo " "; \ + fi; \ + else \ echo " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ $(INSTALL_DATA) $(srcdir)/mke2fs.conf \ $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \