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" <tytso@mit.edu>
bitmap-optimize
Theodore Ts'o 2008-07-16 13:39:32 -04:00
parent 929424f4f8
commit 03ce7afaba
1 changed files with 24 additions and 1 deletions

View File

@ -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; \