#132355 emacsen-common: Byte-compiling too verbose

#132355#5
Date:
2002-02-04 18:26:54 UTC
From:
To:
[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

#132355#12
Date:
2008-12-16 12:28:35 UTC
From:
To:
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/

#132355#19
Date:
2009-05-11 04:02:03 UTC
From:
To:
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-----

#132355#30
Date:
2010-06-29 14:43:06 UTC
From:
To:
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,

#132355#35
Date:
2012-06-25 12:56:49 UTC
From:
To:
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,

#132355#40
Date:
2012-06-26 02:08:56 UTC
From:
To:
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.

#132355#45
Date:
2012-06-26 09:54:45 UTC
From:
To:
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,

#132355#50
Date:
2012-11-20 16:28:23 UTC
From:
To:
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#55
Date:
2012-11-20 17:07:46 UTC
From:
To:
#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,

#132355#60
Date:
2013-12-09 22:52:00 UTC
From:
To:
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

#132355#71
Date:
2014-07-23 14:14:24 UTC
From:
To:
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,