|
Warning: this is an htmlized version!
The original is across this link, and the conversion rules are here. |
This file:
(find-eev "debian/README.Debian")
(find-udfile "eev/README.Debian")
http://angg.twu.net/eev-current/debian/README.Debian.html
http://angg.twu.net/eev-current/debian/README.Debian
http://angg.twu.net/eev-current/debian/
Author: Eduardo Ochs <eduardoochs@gmail.com>
Version: 2009sep21
This is a *very preliminary* debianization of eev.
It was built - from the current eev source tree - with:
(find-es "eev" "dh-make-2")
http://angg.twu.net/e/eev.e.html#dh-make-2
Introduction
============
http://angg.twu.net/emacs.html#short-eev-tutorial
(find-TH "emacs" "short-eev-tutorial")
http://angg.twu.net/eev-article.html
(find-TH "eev-article")
Eev-mode is a minor mode for Emacs that, when activated, changes the
bindings for many keys that the Emacs Lisp Manual says that minor
modes shouldn't touch:
(find-elnode "Keymaps and Minor Modes")
So, eev-mode is quite invasive... Even worse, its documentation is
very incomplete...
The problem. How can we build a Debian package for eev that:
1) makes it very easy to start Emacs with eev-mode turned on
(for beginners, and people in workshops about Emacs+eev, etc),
2) makes it very easy to start Emacs with eev-mode turned off
(for "normal" users, who can't be bothered),
3) does not interfere at all with the setups of advanced eev users
who have their own copy of the upstream eev - maybe with their
own patches - on ~/eev-current/ or at wherever else?...
It took me *many* years to find this solution! And it is as trivial as
only those solutions which take years to be found can be... 8-\
(find-es "fortho" "chuck-quote")
Exploring the .deb (without installing it)
==========================================
This package is so trivial at this moment that it would be pointless -
and misleading - to create a source debian package for it. The best
way to inspect the .deb, then, is to unpack it directly:
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/eev-deb/
mkdir ~/usrc/eev-deb/
cd ~/usrc/eev-deb/
cp -v ~/usrc/eev/eev_0.1_all.deb .
ar t eev_0.1_all.deb
ar p eev_0.1_all.deb debian-binary
ar p eev_0.1_all.deb control.tar.gz | tar -tvzf -
ar p eev_0.1_all.deb data.tar.gz | tar -tvzf -
mkdir DEBIAN/
ar p eev_0.1_all.deb control.tar.gz | tar -C DEBIAN/ -xvzf -
ar p eev_0.1_all.deb data.tar.gz | tar -xvzf -
#
# (find-sh "cd ~/usrc/eev-deb/ && find | sort")
# (find-fline "~/usrc/eev-deb/")
What the .deb does
==================
In short: nothing! 8-)
Well, not exactly, but the .deb is incredibly non-invasive: the
"find-sh ... find | sort" above reports these files:
./DEBIAN
./DEBIAN/conffiles
./DEBIAN/control
./DEBIAN/md5sums
./eev_0.1_all.deb
./etc
./etc/emacs
./etc/emacs/site-start.d
./etc/emacs/site-start.d/90eev.el
./usr
./usr/bin
./usr/bin/emacs-eev
./usr/bin/eev-rctool
./usr/sbin
./usr/share
./usr/share/doc
./usr/share/doc/eev
./usr/share/doc/eev/README.Debian
./usr/share/doc/eev/changelog.gz
./usr/share/doc/eev/copyright
./usr/share/emacs
./usr/share/emacs/site-lisp
./usr/share/emacs/site-lisp/eev
./usr/share/emacs/site-lisp/eev/eev-all.el
./usr/share/emacs/site-lisp/eev/eev-bounded.el
./usr/share/emacs/site-lisp/eev/eev-browse-url.el
./usr/share/emacs/site-lisp/eev/eev-compose.el
./usr/share/emacs/site-lisp/eev/eev-glyphs.el
./usr/share/emacs/site-lisp/eev/eev-insert.el
./usr/share/emacs/site-lisp/eev/eev-langs.el
./usr/share/emacs/site-lisp/eev/eev-math-glyphs.el
./usr/share/emacs/site-lisp/eev/eev-mini-steps.el
./usr/share/emacs/site-lisp/eev/eev-mini.el
./usr/share/emacs/site-lisp/eev/eev-sshot.el
./usr/share/emacs/site-lisp/eev/eev-steps.el
./usr/share/emacs/site-lisp/eev/eev.el
There are no installation scripts - no eev.{pre,post}{inst,rm} files in:
(find-fline "/var/lib/dpkg/info/" "eev")
and the only thing that runs automatically in some sense is this file,
(find-eev "debian/90eev.el")
/etc/emacs/site-start.d/90eev.el
that only contains one definition, for `eev-activate-initial' (see below).
If you start Emacs with
(find-eev "debian/emacs-eev")
/usr/bin/emacs-eev
rather than with "emacs", the "--funcall=eev-activate-initial"
argument in the emacs-eev script runs the `eev-activate-initial'
function in 90eev.el, which is:
(defun eev-activate-initial ()
(interactive)
(add-to-list 'load-path "/usr/share/emacs/site-lisp/eev")
(setq eev-lighter " eev")
(require 'eev-all) ; (find-eev "eev-all.el")
(eev-mode 1))
it is that function that adds the /usr/share/emacs/site-lisp/eev/
directory to the load-path, loads the eev modules and turns on
eev-mode. So: if you invoke Emacs using the `emacs-eev' script you get
an Emacs with eev loaded - from /usr/share/emacs/site-lisp/eev/ - and
turned on; if you invoke the standard `emacs' there are no changes at
all - not even in the load-path!
(find-debemacspoltext)
How the .deb is built
=====================
Currently, by this script:
(find-es "eev" "dh-make-2")
Upstream
========
The correct way to obtain the *most current* eev source tree is to
fetch this tarball:
http://angg.twu.net/edrx.tgz
It contains the sources that are used to generate the pages at
<http://angg.twu.net/>. That tarball is updated at least twice a week.
The "official" eev-current tarball, at
http://angg.twu.net/eev-current.tar.gz
is updated less often.
The .deb package is very alpha-ish now, and it is changing very often.
The repository
==============
It should be possible to install the .deb in your machine with apt by
adding this line to your /etc/apt/sources.list file,
deb http://angg.twu.net/debian . main
and then doing the usual "apt-get update; apt-get install eev"
sequence.
The repository is generated with these commands:
(find-es "eev" "eev-repository.tar")
actually they generate a tarball that you can install anywhere - e.g.,
on a local server (this is what I plan to do for the local undergrad
lab at my university). See:
(find-es "eev" "sources.list")
(find-fline "/etc/apt/sources.list")
To do
=====
Add an icon and a menu entry to run /usr/bin/emacs-eev:
(find-angg "elisp/myxpm.el")
(find-angg "elisp/myxpm.el" "eev-icon")
(find-eevfile "eev-icon.png")