- Package:
- emacsen-common
- Source:
- emacsen-common
- Submitter:
- Peter S Galbraith
- Date:
- 2014-07-23 14:18:04 UTC
- Severity:
- minor
[Sorry for the long bug report] After recents discussions on debian-emacsen, I see that a package that provides an elisp file to be byte-compiled on installation should at least depend on emacsen-common. This will be the case for the gri package that provides a major-mode for Emacs; the package is quite usable without Emacs, so doesn't depend on any flavor of Emacs being installed. When I install a package that depends on emacsen-common, the script /usr/lib/emacsen-common/emacs-package-install byte-compiles not only my elisp files, but also those of emacsen-common. The problem is that that process is way too noisy for emacsen-common, in large part because it loads all of the /etc/emacs/site-start.d sequence, e.g.: emacsen-common: byte-compiling for emacs20 Loading 00debian-vars (source)... Loading 20apel (source)... Loading 35elib-startup (source)... Loading 50auctex (source)... Loading 50debbugs-el (source)... Loading 50debview (source)... Loading 50dpkg-dev-el (source)... Loading 50ess (source)... Loading 50flim (source)... Loading 50gnuserv (source)... Loading 50gre (source)... Loading 50gri (source)... Loading 50gri-html-doc (source)... Loading 50mailcrypt (source)... Loading 50mgp (source)... Loading 50mh-e (source)... Loading 50octave (source)... Loading 50psgml-init (source)... Loading 50python-mode (source)... Loading 51semi (source)... Error while loading 51semi Loading 52select-xface (source)... Loading 65x-face-el (source)... I don't think the loading of all this is required for batch byte-compilation of 00debian-vars.el and debian-startup.el. In fact, it's probably not desired since one of those files could change your byte-compiling environment. After I change the byte_compile_options variable in /usr/lib/emacsen-common/packages/install/emacsen-common to: byte_compile_options="-q --no-site-file -no-site-file -batch -f batch-byte-compile" then the byte-compilation reduces to: $ sudo /usr/lib/emacsen-common/emacs-package-install emacsen-common emacsen-common: Handling install of emacsen flavor emacs emacsen-common: Handling install of emacsen flavor emacs19 emacsen-common: byte-compiling for emacs19 Wrote /etc/emacs19/site-start.d/00debian-vars.elc While compiling debian-pkg-add-load-path-item in file /usr/share/emacs19/site-lisp/debian-startup.el: ** reference to free variable elt While compiling the end of the data: ** the function dolist is not known to be defined. Wrote /usr/share/emacs19/site-lisp/debian-startup.elc Done emacsen-common: Handling install of emacsen flavor emacs20 emacsen-common: byte-compiling for emacs20 Wrote /etc/emacs20/site-start.d/00debian-vars.elc While compiling debian-pkg-add-load-path-item in file /usr/share/emacs20/site-lisp/debian-startup.el: ** reference to free variable elt While compiling the end of the data: ** the function dolist is not known to be defined. Wrote /usr/share/emacs20/site-lisp/debian-startup.elc Done emacsen-common: Handling install of emacsen flavor emacs21 emacsen-common: byte-compiling for emacs21 Wrote /etc/emacs21/site-start.d/00debian-vars.elc Wrote /usr/share/emacs21/site-lisp/debian-startup.elc Done emacsen-common: Handling install of emacsen flavor xemacs21 emacsen-common: byte-compiling for xemacs21 Compiling /etc/xemacs21/site-start.d/00debian-vars.el... Wrote /etc/xemacs21/site-start.d/00debian-vars.elc Compiling /usr/share/xemacs21/site-lisp/debian-startup.el... Wrote /usr/share/xemacs21/site-lisp/debian-startup.elc Done It would be shorter without the 'dolist' not defined on emacs19 and emacs20 errors. When that is also patched, installing gri results in: $ sudo dpkg -i gri_2.8.6-1_i386.deb (Reading database ... 116410 files and directories currently installed.) Preparing to replace gri 2.8.6-1 (using gri_2.8.6-1_i386.deb) ... remove/gri: Ignoring emacsen flavour emacs remove/gri: Purging byte-compiled files for flavour emacs19 remove/gri: Purging byte-compiled files for flavour emacs20 remove/gri: Purging byte-compiled files for flavour emacs21 remove/gri: Purging byte-compiled files for flavour xemacs21 Unpacking replacement gri ... Setting up gri (2.8.6-1) ... emacsen-common: Handling install of emacsen flavor emacs install/gri: Ignoring emacsen flavour emacs emacsen-common: Handling install of emacsen flavor emacs19 emacsen-common: byte-compiling for emacs19 Wrote /etc/emacs19/site-start.d/00debian-vars.elc Loading cl-macs... Wrote /usr/share/emacs19/site-lisp/debian-startup.elc Done emacsen-common: Handling install of emacsen flavor emacs20 emacsen-common: byte-compiling for emacs20 Wrote /etc/emacs20/site-start.d/00debian-vars.elc Loading cl-macs... Wrote /usr/share/emacs20/site-lisp/debian-startup.elc Done emacsen-common: Handling install of emacsen flavor emacs21 emacsen-common: byte-compiling for emacs21 Wrote /etc/emacs21/site-start.d/00debian-vars.elc Loading cl-macs... Wrote /usr/share/emacs21/site-lisp/debian-startup.elc Done emacsen-common: Handling install of emacsen flavor xemacs21 emacsen-common: byte-compiling for xemacs21 Compiling /etc/xemacs21/site-start.d/00debian-vars.el... Wrote /etc/xemacs21/site-start.d/00debian-vars.elc Compiling /usr/share/xemacs21/site-lisp/debian-startup.el... Loading cl-macs... Wrote /usr/share/xemacs21/site-lisp/debian-startup.elc Done install/gri: Byte-compiling for emacsen flavour emacs19 install/gri: Byte-compiling for emacsen flavour emacs20 install/gri: Byte-compiling for emacsen flavour emacs21 install/gri: Byte-compiling for emacsen flavour xemacs21 As you can see, most of the output is still associated with emacsen-common and not gri. You might consider piping it's output to a file. Thanks, Peter
package emacsen-common tag 117564 +pending +patch tag 122444 +pending +patch tag 124221 +pending +patch tag 132355 +pending +patch tag 136779 +pending +patch tag 157123 +pending +patch tag 193575 +pending +patch tag 208414 +pending +patch tag 222518 +pending +patch tag 269155 +pending +patch tag 278008 +pending +patch tag 329030 +pending +patch tag 361200 +pending +patch tag 381516 +pending +patch tag 387021 +pending +patch tag 424940 +pending +patch tag 491129 +pending +patch tag 503483 +pending +patch thanks I am tagging all these bugreports +pending +patch, since they will be dealt with by the NMU I am preparing. I am currently waiting for news on the lenny release before actually upload, but since is taking longer than expected I will probably upload really soon. Changes go much further than an usual NMU, but since I received no reply on this during some long time I will proceed with it. Changes can be tracked at the git repo git://git.debian.org/git/users/agmartin/my-emacsen-common.git (browseable through http://git.debian.org/?p=users/agmartin/my-emacsen-common.git;a=summary) NMU candidate is available at http://people.debian.org/~agmartin/debian-store/misc/
We believe that the bug you reported is fixed in the latest version of
emacsen-common, which is due to be installed in the Debian FTP archive:
emacsen-common_1.4.18.dsc
to pool/main/e/emacsen-common/emacsen-common_1.4.18.dsc
emacsen-common_1.4.18.tar.gz
to pool/main/e/emacsen-common/emacsen-common_1.4.18.tar.gz
emacsen-common_1.4.18_all.deb
to pool/main/e/emacsen-common/emacsen-common_1.4.18_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 132355@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Rob Browning <rlb@defaultvalue.org> (supplier of updated emacsen-common package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
Format: 1.8
Date: Sun, 10 May 2009 20:52:52 -0700
Source: emacsen-common
Binary: emacsen-common
Architecture: source all
Version: 1.4.18
Distribution: unstable
Urgency: low
Maintainer: Rob Browning <rlb@defaultvalue.org>
Changed-By: Rob Browning <rlb@defaultvalue.org>
Description:
emacsen-common - Common facilities for all emacsen
Closes: 132355 208414 329030
Changes:
emacsen-common (1.4.18) unstable; urgency=low
.
* Add --no-site-file and --no-init-file for the compilation of
emacsen-common's .elc files. Those options should be fine for
emacsen-common itself right now. Thanks to Peter S Galbraith
<psg@debian.org>. (closes: 132355)
.
* Fix minor documentation bug. Thanks to Roland Stigge
<stigge@antcom.de>. (closes: 208414)
.
* Print the error message when debian-run-directories encounters an
error while loading a file. Thanks to Kevin Ryde <user42@zip.com.au>.
(closes: 329030)
Checksums-Sha1:
32d8e7570d2da73dc7e8c908f76fa1fc26a84d93 704 emacsen-common_1.4.18.dsc
5a3ec26193d1ce0d34050dd75166558309c8b86a 142124 emacsen-common_1.4.18.tar.gz
02a7a42f15b8958c20ed7904175c72b83ee6ae9a 17908 emacsen-common_1.4.18_all.deb
Checksums-Sha256:
932c2de03d58b843a1183046d450a1009b30655f3879a7c161a424fa87800d09 704 emacsen-common_1.4.18.dsc
f349e02b1f3c15e917c51419c6dc9a1e5abafef7cfce462f4c3f78d46f1d5386 142124 emacsen-common_1.4.18.tar.gz
6e62b77a25e23c9f6b4171efa5a7f829f802879335dd050162348c9d60b63e63 17908 emacsen-common_1.4.18_all.deb
Files:
10a10e962bce1c8e7f2391ea7777e51d 704 editors optional emacsen-common_1.4.18.dsc
9881098db797a4b61654fcfff5f46b8f 142124 editors optional emacsen-common_1.4.18.tar.gz
fe659de65ec6154b2ac03ce69b63ddb9 17908 editors optional emacsen-common_1.4.18_all.deb
iEYEARECAAYFAkoHoiAACgkQJcjTd4x+c6TouwCeK/Qv9KbGRFDEfEGo0miPSWY5
CBQAoN3Wjd7AbZnllYMBdW3y9smRheyH
=0kdp
-----END PGP SIGNATURE-----
Hi, Rob, I am unarchiving and reopening this bug report because '--no-site-file' is not supported by XEmacs (although it does not complain), so verbosity problem is still present for it. Please use single dash '-no-site-file', which is supported by both XEmacs and (although undocumented) FSF Emacs. Cheers,
upgrade. As a matter of fact I have found http://bugs.debian.org/619367 [xemacs21: installing elisp packages fails: Symbol's function definition is void: batch-byte-compile] which has some common elements, Setting up ocaml-mode (3.11.2-4) ... install/ocaml-mode: Handling install for emacsen flavor xemacs21 WARNING: Couldn't find obvious defaults for: data-directory mule-lisp-directory lisp-directory Perhaps some directories don't exist, or the XEmacs executable, /usr/bin/xemacs21 is in a strange place?Symbol's function definition is void: batch-byte-compile xemacs exiting Note that I could not reproduce this in a system that is upgraded frequently. May be this is a problem with upgrades from a particular version to a much more recent version. Apart from this, this problem looks triggered during install by the persistence of http://bugs.debian.org/132355 [emacsen-common: Byte-compiling too verbose]. Not loading site files during byte-compile may work around this in the install phase. Do not know if there is any additional problem. As pointed out in #132355, using single dashed -no-site-file should work for both XEmacs and (although undocumented) FSF Emacs. If maintainer wants to be in the safe side and use only documented features I expect something like attached patch to work for emacsen-common. Regards,
Agustin Martin <agmartin@debian.org> writes: So it sounds like you think this bit is an xemacs bug? OK, I either hadn't seen this before, or just forgot. It looks an update to emacsen-common would be in order, right? Thanks for the help.
I am not completely sure, but is strange that I could not reproduce it in my
frequently updated sid box. I am using pristine emacsen-common, so if it
were due to emacsen-comon I guess I should have reproduced it.
I have even manually tried
# /usr/lib/emacsen-common/emacs-remove xemacs21
# /usr/lib/emacsen-common/emacs-install xemacs21
with no problem.
Looking at #619367, happening with ocaml installation is what makes me think
about the possibility that the fact that this bug happens with emacsen-common
is just accidental.
As a blind guess I think about two other possibilities, a buggy xemacs21
version that has problems upgrading to a way more recent version or a buggy
emacsen add-on package that is messing up with paths and definitions. Or a
local problem.
Andreas, does manually running emacs-{remove,install} as above show anything
strange?
Agreed. Even if only to look what happens, although I do not expect this bug
to suddenly dissapear just because of that, the ocaml bug seems to happen in
a "quiet" install.
Regards,
Hi, (Meta: I was going to express my intent to NMU emacsen-common to fix the #676424 RC bug, when I discovered that the package had another one (#677191) => trying to understand what can be done with that one first.) Rob Browning wrote (26 Jun 2012 02:08:56 GMT) : Reading these bugs log, it's not clear to me whether the single-dashed option idea: 1. has any chance to fix #677191 and friends 2. was tried in the context of the Squeeze -> Wheezy dist-upgrade Could anyone please enlighten me? Cheers, -- intrigeri | GnuPG key @ https://gaffer.ptitcanardnoir.org/intrigeri/intrigeri.asc | OTR fingerprint @ https://gaffer.ptitcanardnoir.org/intrigeri/otr.asc
#132355 is about decreasing verbosity when byte-compiling emacsen-common. When I mentioned it in #677191 I did not yet know what was causing the #677191 problem and thought that some of the files loaded at init might be related, but few messages below in #677191 that was discarded and the real reason for this problem become more evident. The -no-site-file changes now seems mostly a cosmetic issue for XEmacs with no relation at all to #677191. Regards,
Agustin Martin <agmartin@debian.org> writes: OK, so I think maybe this can be closed now, but if not, feel free to re-open it. Thanks
unarchive 132355 reopen 132355 thanks [re-sending, was not unarchived fast enough to receive previous message] Hi, Rob I am unarchiving and reopening this bug report, this problem is still present for XEmacs, double dash prefixed "--no-site-file" is only supported by FSF Emacs. And XEmacs is back in the archive. See attached patch for a fix proposal Regards,