emacs-devel
[Top][All Lists]
Advanced

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

address@hidden: installing Emacs touches all files under $(DESTDIR)${dat


From: Richard Stallman
Subject: address@hidden: installing Emacs touches all files under $(DESTDIR)${datadir}/emacs]
Date: Mon, 27 Nov 2006 10:39:05 -0500

Would someone please DTRT about this, then ack?

------- Start of forwarded message -------
Date: Thu, 23 Nov 2006 16:20:13 +0100
From: "Chris Moore" <address@hidden>
To: address@hidden
MIME-Version: 1.0
Subject: installing Emacs touches all files under $(DESTDIR)${datadir}/emacs
Content-Type: multipart/mixed; boundary="===============0469024747=="
X-Spam-Status: No, score=0.3 required=5.0 tests=HTML_10_20,HTML_MESSAGE,
        RCVD_BY_IP autolearn=no version=3.0.4

- --===============0469024747==
Content-Type: multipart/alternative; 
        boundary="----=_Part_23225_6068480.1164295213627"

- ------=_Part_23225_6068480.1164295213627
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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.

- ------=_Part_23225_6068480.1164295213627
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I package Emacs into a .deb archive using the &quot;checkinstall&quot; 
tool.<br><br>&quot;checkinstall&quot; runs &quot;make install&quot; and watches 
which files get modified as a result, then packages those files up into a .deb 
file.
<br><br>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.<br><br>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/
<br><br>It turns out that the Emacs Makefile is running a &quot;chmod -R 
a+r&quot; on the whole $(DESTDIR)${datadir}/emacs directory, rather than 
restricting the chmod to just $(DESTDIR)${datadir}/emacs/${version}.&nbsp; 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.<br><br>Changing 
the 'chmod' command like this fixes it for me:<br><br>--- 
Backup/Makefile.in.~4~&nbsp;&nbsp;&nbsp; 2006-11-06 10:22:04.000000000 
+0100<br>+++ <a href="http://Makefile.in";>
Makefile.in</a>&nbsp;&nbsp;&nbsp; 2006-11-23 16:04:33.000000000 +0100<br>@@ 
-518,7 +518,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 
${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); 
\<br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; done; \<br>&nbsp;&nbsp;&nbsp;&nbsp; else 
true; fi<br>-&nbsp;&nbsp;&nbsp; -chmod -R a+r $(DESTDIR)${datadir}/emacs 
${COPYDESTS} $(DESTDIR)${infodir}
<br>+&nbsp;&nbsp;&nbsp; -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} 
$(DESTDIR)${datadir}/emacs/site-lisp ${COPYDESTS} 
$(DESTDIR)${infodir}<br>&nbsp;&nbsp;&nbsp;&nbsp; thisdir=`/bin/pwd`; 
\<br>&nbsp;&nbsp;&nbsp;&nbsp; cd ${srcdir}/etc; \<br>&nbsp;&nbsp;&nbsp;&nbsp; 
for page in emacs emacsclient etags ctags ; do \
<br><br>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.<br><br>Chris.<br>

- ------=_Part_23225_6068480.1164295213627--



- --===============0469024747==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
emacs-pretest-bug mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

- --===============0469024747==--
------- End of forwarded message -------




reply via email to

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