emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

installing Emacs touches all files under $(DESTDIR)${datadir}/emacs


From: Chris Moore
Subject: installing Emacs touches all files under $(DESTDIR)${datadir}/emacs
Date: Thu, 23 Nov 2006 16:20:13 +0100

I package Emacs into a .deb archive using the "checkinstall" tool.

"checkinstall" runs "make install" and watches which files get modified as a result, then packages those files up into a .deb file.

Recently, when the Emacs version number went up from 22.0.90 to 22.0.91 I noticed that the size of the .deb package which checkinstall was producing approximately doubled in size.

I looked into this, to see why it was so much bigger, and found that the package included 2 complete copies of the 'etc' and 'lisp' files - one copy installed to /usr/local/share/emacs/22.0.90/ and one copy installed to /usr/local/share/emacs/22.0.91/

It turns out that the Emacs Makefile is running a "chmod -R a+r" on the whole $(DESTDIR)${datadir}/emacs directory, rather than restricting the chmod to just $(DESTDIR)${datadir}/emacs/${version}.  This causes checkinstall to think that both the old 22.0.90 and the new 22.0.91 files are part of the new install.

Changing the 'chmod' command like this fixes it for me:

--- Backup/Makefile.in.~4~    2006-11-06 10:22:04.000000000 +0100
+++ Makefile.in    2006-11-23 16:04:33.000000000 +0100
@@ -518,7 +518,7 @@
          ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
       done; \
     else true; fi
-    -chmod -R a+r $(DESTDIR)${datadir}/emacs ${COPYDESTS} $(DESTDIR)${infodir}
+    -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} $(DESTDIR)${datadir}/emacs/site-lisp ${COPYDESTS} $(DESTDIR)${infodir}
     thisdir=`/bin/pwd`; \
     cd ${srcdir}/etc; \
     for page in emacs emacsclient etags ctags ; do \

I'm guessing that the .../emacs/site-lisp/ should be included in the list of places to chmod, but files belonging to different versions of Emacs shouldn't be.

Chris.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]