|
Warning: this is an htmlized version!
The original is across this link, and the conversion rules are here. |
#######
#
# E-scripts on eev itself: demos, hints, packing, works in progress, etc.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/eev.e>
# or at <http://angg.twu.net/e/eev.e.html>.
# See also <http://angg.twu.net/emacs.html>,
# <http://angg.twu.net/.emacs[.html]>,
# <http://angg.twu.net/.zshrc[.html]>,
# <http://angg.twu.net/escripts.html>,
# and <http://angg.twu.net/>.
#
#######
# «.mailing-list» (to "mailing-list")
# «.byte-compilation-bug» (to "byte-compilation-bug")
# «.debian-package» (to "debian-package")
# «.cdbs» (to "cdbs")
# «.dh-make» (to "dh-make")
# «.dh-make-2» (to "dh-make-2")
# «.inspect-the-DEBIAN-dir» (to "inspect-the-DEBIAN-dir")
# «.eev-deb-unpacked» (to "eev-deb-unpacked")
# «.eev-repository.tar» (to "eev-repository.tar")
# «.upload-the-deb» (to "upload-the-deb")
# «.sources.list» (to "sources.list")
# «.dpkg-i» (to "dpkg-i")
# «.what-the-deb» (to "what-the-deb")
# «.backtick-eev-mode» (to "backtick-eev-mode")
# «.code-c-d-docs» (to "code-c-d-docs")
# «.README.Debian» (to "README.Debian")
# «.vnc2swf» (to "vnc2swf")
# «.byzanz» (to "byzanz")
# «.eev2.tgz» (to "eev2.tgz")
# «.eev2-video-1.sh» (to "eev2-video-1.sh")
# «.eev2-build-tgz» (to "eev2-build-tgz")
# «.eev2-test-unpack» (to "eev2-test-unpack")
# «.eev2-test» (to "eev2-test")
# «.eev2-hmtlize-intros» (to "eev2-hmtlize-intros")
# «.eev2-add-new-intro» (to "eev2-add-new-intro")
# «.eev2-add-new-file» (to "eev2-add-new-file")
# «.eev2-upload» (to "eev2-upload")
# «.eev2-video-2.sh» (to "eev2-video-2.sh")
# «.eev2-video3-eepitch» (to "eev2-video3-eepitch")
# «.eev2-announcements» (to "eev2-announcements")
# (find-angg "TEXINFO/eev-article.texi")
# (find-eevex "")
# (find-eevex "lua.e" "quick-presentation")
#####
#
# Mailing list
# 2012apr06
#
#####
# «mailing-list» (to ".mailing-list")
# http://lists.gnu.org/archive/html/eev/ archives
# http://lists.nongnu.org/mailman/listinfo/eev subscription
# http://dir.gmane.org/gmane.emacs.eev.devel gmane
# http://news.gmane.org/gmane.emacs.eev.devel
#####
#
# Michael Heerdegen's bug
# 2008sep04
#
#####
# «byte-compilation-bug» (to ".byte-compilation-bug")
Hi Michael!
Thanks a lot for your report - I've been able to reproduce the bug at
my machine... here's the e-script that I used, by the way:
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
rm -v /tmp/test.elc
cat > /tmp/test.el <<'%%%'
(setq y (+ 1 2))
%%%
cat > /tmp/loadeev.el <<'%%%'
(progn
(add-to-list 'load-path "~/eev-current/")
(require 'eev-all)
(eev-mode 1))
(eev-mode 0)
(byte-compile-file "/tmp/test.el")
%%%
~/bigsrc/emacs/src/emacs -Q loadeev.el
The "loadeev.el" file gives me an easy way to choose which sexps to
execute.
I know very little about byte-compilation too (really!), but I have
some ideas for what to do to track down this bug... I'll try them over
the next days. Anyway: strangely, if I run the sexp
(byte-compile-file "/tmp/test.el")
with M-5 M-e - this is a way to eval a sexp with debug-on-error
temporarily turned on - the byte-compiler does not stop when the "End
of file during parsing" error occurs...
Cheers, & thanks again,
Eduardo Ochs
eduardoochs@gmail.com
http://angg.twu.net/
P.S.: did you notice that byte-compiling test.el always gives a
warning?
Compiling file /tmp/test.el at Thu Sep 4 22:48:58 2008
test.el:1:7:Warning: assignment to free variable `y'
test.el:1:3:Error: End of file during parsing
Assignment to non-defvar'ed variables is frowned upon...
#####
#
# New ideas for a Debian package for eev
# 2009jul26
#
#####
# «debian-package» (to ".debian-package")
# «cdbs» (to ".cdbs")
# (find-angg ".emacs" "debian-devel-docs")
# (find-efile "progmodes/ps-mode.el" ":prefix \"ps-run-\"")
# (find-fline "/usr/share/doc/emacsen-common/debian-emacs-policy.gz")
# (find-fline "/usr/share/emacs/")
# (find-fline "/etc/emacs/site-start.d/")
# (find-sitelispfile "maxima/")
# (find-status "cdbs")
# (find-vldifile "cdbs.list")
# (find-udfile "cdbs/")
# (find-udw3m "cdbs/cdbs-doc.html")
# (find-udw3m "cdbs/cdbs-doc.html" "\nSwitching the Package to CDBS\n\n")
# (find-udw3m "cdbs/cdbs-doc.html" "DEB_DESTDIR")
# (find-udw3m "cdbs/cdbs-doc.html" "build/myprog::")
# (find-fline "/usr/share/cdbs/1/")
# (find-sh "grep -niH -e cdbs ~/usrc/*/*/debian/*")
# (find-fline "~/usrc/camlp5/camlp5-5.10/debian/rules")
#*
# (eev-bounded)
rm -Rv ~/usrc/eev/
mkdir ~/usrc/eev/
mkdir ~/usrc/eev/eev-0.1/
mkdir ~/usrc/eev/eev-0.1/debian/
cat > ~/usrc/eev/eev-0.1/debian/rules <<'%%%'
#!/usr/bin/make -f
include /usr/share/cdbs/1/class/makefile.mk
include /usr/share/cdbs/1/rules/debhelper.mk
DEB_PACKAGES = eev
PKGNAME = eev
configure/$(PKGNAME):: debian/configure-stamp
debian/configure-stamp:
./configure $(CONFIGURE_FLAGS)
touch debian/configure-stamp
clean::
rm -f debian/configure-stamp
build/$(PKGNAME)::
$(MAKE) -C doc/
echo foo > doc/foo
%%%
# (find-anggfile "mktclapp-3.9/debian/changelog")
# (find-fline "~/usrc/eev/eev-0.1/debian/changelog")
# (find-maintgtext "dh_make -e your.maintainer@address")
# (find-man "8 dh_make")
# (find-status "dh-make")
# (find-vldifile "dh-make.list")
# (find-udfile "dh-make/")
cat > ~/usrc/eev/eev-0.1/debian/changelog <<'%%%'
%%%
# (find-
cat > ~/usrc/eev/eev-0.1/debian/control <<'%%%'
Source: eev
Section: editors
Priority: optional
Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
Uploaders: Eduardo Ochs <eduardoochs@gmail.com>
Standards-Version: 3.7.3
Build-Depends:
Package: eev
Architecture: any
Depends: emacsen-common
Recommends: maxima
Suggests: bash
Description: Eev.
Long description.
%%%
cd ~/usrc/eev/eev-0.1/
dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb
#*
# (find-fline "~/usrc/eev/eev-0.1/")
# (find-fline "~/usrc/eev/eev-0.1/debian/")
#####
#
# dh-make (first attempt, obsolete)
# 2009aug03
#
#####
# «dh-make» (to ".dh-make")
# (find-eev "debian/control.sh")
# (find-eev "debian/90eev.el")
# (find-maintgtext "dh_make -e your.maintainer@address")
# (find-man "8 dh_make")
# (find-fline "/var/cache/apt/archives/")
# (find-fline "/var/cache/apt/archives/debian-el_29.3-2_all.deb")
#*
rm -Rv ~/usrc/eev/
mkdir ~/usrc/eev/
mkdir ~/usrc/eev/eev-0.1/
cd ~/usrc/eev/eev-0.1/
mkdir -p etc/emacs/site-start.d/
mkdir -p usr/share/emacs/site-lisp/eev/
cat > etc/emacs/site-start.d/90eev.el <<'%%%'
;; (find-angg ".emacs" "eev-block")
;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/eev")
;; (require 'eev-all) ; (find-eev "eev-all.el")
;; (eev-mode 1)
(message "The debianized eev package would be loaded.")
%%%
cat > usr/share/emacs/site-lisp/eev/foo.el <<'%%%'
(message "Foo!")
%%%
cat > Makefile <<'%%%'
clean:
%%%
# (find-udw3m "cdbs/cdbs-doc.html" "DEB_DESTDIR")
# (find-udw3m "cdbs/cdbs-doc.html" "build/myprog::")
# (find-udw3m "cdbs/cdbs-doc.html" "install/foo::")
# (find-maintgtext "")
# (find-maintgtext "4.4. `rules' file")
# (find-man "8 dh_make")
echo | \
DEBFULLNAME="Eduardo Ochs" \
dh_make --email eduardoochs@gmail.com \
--copyright=gpl \
--cdbs \
--native
rm -v debian/README.Debian debian/*.EX debian/*.ex
cat >> debian/rules <<'%%%'
build/eev::
install/eev::
echo "In install: $(DEB_DESTDIR)"
cp -Rv etc/ usr/ debian/eev/
%%%
mv -iv debian/control debian/control.orig
cat > debian/control <<'%%%'
Source: eev
Section: editors
Priority: extra
Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
Build-Depends: cdbs, debhelper (>= 7)
Standards-Version: 3.7.3
Homepage: http://angg.twu.net/
Package: eev
Architecture: all
Depends: emacs
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
%%%
dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb
#*
# (find-fline "~/usrc/eev/eev-0.1/")
# (find-fline "~/usrc/eev/eev-0.1/odb")
# (find-fline "~/usrc/eev/eev-0.1/debian/")
# (find-fline "~/usrc/eev/eev-0.1/debian/control")
# (find-sh "cd ~/usrc/eev/eev-0.1/debian/eev/ && find")
# (find-fline "~/usrc/eev/eev-0.1/debian/dirs")
# (find-fline "~/usrc/eev/eev_0.1_i386.deb")
# (find-sh "ar t ~/usrc/eev/eev_0.1_i386.deb")
# (find-sh "ar p ~/usrc/eev/eev_0.1_i386.deb control.tar.gz | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_i386.deb data.tar.gz | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_i386.deb debian-binary")
# (find-fline "~/usrc/eev/eev_0.1_all.deb")
# (find-sh "ar t ~/usrc/eev/eev_0.1_all.deb")
# (find-sh "ar p ~/usrc/eev/eev_0.1_all.deb control.tar.gz | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_all.deb data.tar.gz | tar -tvzf -")
# (find-sh "ar p ~/usrc/eev/eev_0.1_all.deb debian-binary")
# (find-man "1 ar")
# (find-maintgtext "5.4. dirs")
# cat > debian/dirs <<'%%%'
# /usr/share/emacs/site-lisp/eev
# etc/emacs/site-start.d
# %%%
#####
#
# Building a Debian package for eev with dh-make (attempt 2)
# 2009aug16 / 2009nov25
#
#####
# «dh-make-2» (to ".dh-make-2")
# (find-angg ".emacs" "eevbuild")
# (find-dhmake-links "eev" "eevbuild" "20110612")
# (find-eev "debian/README.Debian" nil "How the .deb is built")
# (find-eevsh "ls *.el")
# (find-eev "debian/")
# (find-eev "debian/emacs-eev")
# (find-eev "debian/90eev.el")
# (find-eev "debian/Makefile")
# (find-eev "debian/rules")
# (find-eev "debian/control.sh")
# (find-eev "debian/README.Debian")
# (find-maintgtext "5.1. README.Debian")
# (find-es "lenny" "apt-ftparchive")
# (find-angg ".emacs" "date")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
#*
rm -Rv ~/usrc/eev/
mkdir ~/usrc/eev/
mkdir ~/usrc/eev/eev-0.1.20110612/
ln -s eev-0.1.20110612 ~/usrc/eev/eev-0.1
cd ~/usrc/eev/eev-0.1.20110612/
# Copy the files from (find-eev "debian/")
# to their correct positions in the build dir of the deb package.
# Create the directories,
mkdir -p etc/emacs/site-start.d/
mkdir -p usr/share/emacs/site-lisp/eev/
mkdir -p usr/bin/
mkdir -p usr/share/eev/
# Copy the files.
cp -v ~/eev-current/debian/Makefile .
cp -v ~/eev-current/debian/emacs-eev usr/bin/
cp -v ~/eev-current/eev-rctool usr/bin/
cp -v ~/eev-current/debian/90eev.el etc/emacs/site-start.d/
cp -av ~/eev-current/eev*.el usr/share/emacs/site-lisp/eev/
cp -v ~/eev-current/debian/eev_16.xpm usr/share/eev/
cp -v ~/eev-current/debian/eev_32.xpm usr/share/eev/
# (find-udw3m "cdbs/cdbs-doc.html" "DEB_DESTDIR")
# (find-udw3m "cdbs/cdbs-doc.html" "build/myprog::")
# (find-udw3m "cdbs/cdbs-doc.html" "install/foo::")
# (find-man "1 dpkg-architecture" "linux-any")
# (find-maintgtext "")
# (find-maintgtext "4.4. `rules' file")
# (find-man "8 dh_make")
echo | \
DEBFULLNAME="Eduardo Ochs" \
dh_make --email eduardoochs@gmail.com \
--copyright=gpl \
--cdbs \
--native
rm -v debian/README.Debian
rm -v debian/*.EX
rm -v debian/*.ex
mv -iv debian/control debian/control.orig
# (find-eevbuilddfile "")
# (find-eevbuilddfile "rules")
~/eev-current/debian/control.sh > debian/control
cp -v ~/eev-current/debian/README.Debian debian/README.Debian
cat ~/eev-current/debian/rules >> debian/rules
cp -v ~/eev-current/debian/eev.menu debian/eev.menu
cp -v ~/eev-current/debian/eev.desktop debian/eev.desktop
# (find-eev "debian/control.sh")
# (find-eev "debian/README.Debian")
# (find-eev "debian/rules")
# (find-eevbuildfile "")
# (find-eevbuilddfile "")
# (find-eevbuilddfile "control")
# (find-man "1 dpkg-buildpackage")
# dpkg-buildpackage -us -uc -rfakeroot |& tee odb
dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb
# (find-eevbuildfile "odb")
# «eev-deb-unpacked» (to ".eev-deb-unpacked")
rm -Rv ~/usrc/eev/eev-unpacked/
mkdir ~/usrc/eev/eev-unpacked/
mkdir ~/usrc/eev/eev-unpacked/DEBIAN/
cd ~/usrc/eev/
ar p eev_*_all.deb control.tar.gz | tar -C eev-unpacked/DEBIAN/ -xvzf -
ar p eev_*_all.deb data.tar.gz | tar -C eev-unpacked/ -xvzf -
# (find-eevbuildufile "")
# (find-eevbuildufile "DEBIAN/")
# (find-eevbuildufile "DEBIAN/control")
# «inspect-the-DEBIAN-dir» (to ".inspect-the-DEBIAN-dir")
# (find-eevbuildddsh "find * | sort")
# (find-eevbuildush "find * | sort")
cd ~/usrc/eev/
sudo dpkg -i eev*.deb
sudo dselect update
# (find-status "eev")
# (find-vldifile "eev.list")
# (find-udfile "eev/")
# (find-eev "debian/README.Debian")
# (find-angg "debian/README")
#*
# «apt-ftparchive» (to ".apt-ftparchive")
# (find-es "lenny" "apt-ftparchive")
# (find-man "1 apt-ftparchive")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/eev/
mkdir -p dists/./main/binary-i386/
mkdir -p dists/./main/binary-amd64/
laf
apt-ftparchive packages .
apt-ftparchive packages . \
| tee dists/./main/binary-i386/Packages \
| gzip -c9 > dists/./main/binary-i386/Packages.gz
apt-ftparchive packages . \
| tee dists/./main/binary-amd64/Packages \
| gzip -c9 > dists/./main/binary-amd64/Packages.gz
find * | sort
# «eev-repository.tar» (to ".eev-repository.tar")
# (find-sh "cd ~/usrc/eev/; find eev_* dists")
# (find-sh "cd ~/usrc/eev/; find eev_* dists -type f")
# eev_0.1_all.deb
# eev_0.1_i386.changes
# dists/main/binary-i386/Packages.gz
# dists/main/binary-i386/Packages
# (find-twusfile "debian/dists/main/binary-i386/")
# (find-twusfile "debian/dists/main/binary-i386/Packages")
# (find-twusfile "debian/dists/main/binary-amd64/Packages")
#
# Make a tarball of the repository:
cd ~/usrc/eev/
tar -cvf eev-repository.tar eev_*_all.deb dists eev-unpacked/
# «upload-the-deb» (to ".upload-the-deb")
# Copy it to twu and unpack it there:
# (find-fline "~/usrc/eev/")
# (find-fline "~/usrc/eev/eev-repository.tar")
# (find-twufile "tmp/")
# (find-twusfile "debian/")
# (find-twusfile "debian/eev-repository.tar")
# (ee-cp "~/usrc/eev/eev-repository.tar" (ee-twufile "tmp/eev-repository.tar") 'over)
# (find-es "page" "makepagefromtar-at-twu")
* (fvwm-sloppy-focus)
* (eebgTWU)
* (fvwm-click-to-focus)
zsh
cd ~/slow_html/debian/
rm -Rv ~/slow_html/debian/eev-unpacked/
laf
tar -xvf ~/tmp/eev-repository.tar
laf
laf dists/
find dists/main/ | sort
find eev-unpacked/ | sort
#
cd; tar -xvf edrx.tar; rezshrc
{makepagefromtar; makepageindexhtmls} |& tee ~/ompft
# «sources.list» (to ".sources.list")
# Patch the /etc/apt/sources.list file (by hand):
# (find-fline "/etc/apt/sources.list")
# (find-man "5 sources.list")
# (find-es "eev" "sources.list")
# deb file:/home/edrx/usrc/eev . main
# deb http://angg.twu.net/debian . main
#
#
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# Install the eev deb in the clean way:
sudo apt-get update
sudo dselect update
# (find-available "eev")
aptrm eev
y
apti eev
y
# «dpkg-i» (to ".dpkg-i")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# The dirty way:
cd ~/usrc/eev/
sudo dpkg -i *.deb
# (find-sh "sudo dselect update")
# (find-available "eev")
# (find-status "eev")
# (find-vldifile "eev.list")
# (find-udfile "eev/")
# Test: log as aleph, run emacs-eev, type M-h M-e.
# (find-man "1 ssh" "-X" "Enables X11 forwarding.")
# (eev "ssh -X aleph@localhost xterm")
# To do: fix math glyphs,
# http://angg.twu.net/debian/
# http://angg.twu.net/debian/README
# .dsc package.
#####
#
# What the debian package should do
# 2009aug03
#
#####
# «what-the-deb» (to ".what-the-deb")
# (find-man "1 readlink")
# (find-node "(coreutils)")
# (find-node "(coreutils)readlink invocation")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
w emacs
laf /usr/bin/emacs
laf /etc/alternatives/emacs
laf /usr/bin/emacs22-x
laf /usr/bin/emacs22
# (find-angg ".zshrc" "ae")
cat > usr/bin/emacs-eev <<'%%%'
#!/bin/sh
exec emacs -fg bisque -bg black $*
%%%
# (find-enode "Action Arguments" "`--funcall=FUNCTION'")
# Mode: add "eev"
# (find-eevfile "eev.el" "define-minor-mode eev-mode")
# (find-elnode "Index" "* define-minor-mode:")
# (find-elnode "Defining Minor Modes" "`:lighter LIGHTER'")
Two packages: emacs-eev and emacs-eev-puro
emacs-eev should be minimal (sort of)
emacs-eev-puro should depend on maxima and such stuff
Icon pointing to /usr/bin/emacs-eev:
# (find-angg "elisp/myxpm.el")
# (find-eevfile "eev-icon.png")
#####
#
# Backticking the definition of eev-mode
# 2009aug18
#
#####
# «backtick-eev-mode» (to ".backtick-eev-mode")
# (find-es "emacs" "define-minor-mode")
# To be done. Big mess at the moment.
# (find-elnode "Defining Minor Modes")
# (find-elnode "Defining Minor Modes" "hungry-mode")
# (find-evardescr 'minor-mode-list)
# (find-eapropos "hung")
# (find-eapropos "hung")
# (find-eapropos "mode-line")
# (find-eapropos "mode-line-modes")
# (find-evardescr 'mode-line-modes)
# (find-evardescr 'minor-mode-alist)
# (find-evardescr 'minor-mode-alist "hungry-mode")
# (find-efunction 'hungry-mode)
# (find-efunctionpp 'hungry-mode)
(setq hungry-mode-lighter " Hungry")
(setq hungry-mode-lighter " Hung")
(setq hungry-mode-lighter nil)
(define-minor-mode hungry-mode
:init-value 0
:lighter hungry-mode-lighter
:group 'hunger)
(hungry-mode 1)
(hungry-mode 0)
# (find-eevfile "eev.el" "define-minor-mode eev-mode")
# (find-eevfile "debian/90eev.el")
#####
#
# Adding documentation to functions generated by code-c-d and friends
# 2010jul30
#
#####
# «code-c-d-docs» (to ".code-c-d-docs")
# (find-efunction 'find-code-c-d-new)
# (find-efunction 'code-c-d)
Just a vague idea at the moment...
#####
#
# Old stuff removed from the README.Debian
# 2010sep28
#
#####
# «README.Debian» (to ".README.Debian")
# (find-eev "debian/README.Debian")
# «.exploring-the-deb» (to "exploring-the-deb")
# «.what-the-deb-does» (to "what-the-deb-does")
# «.how-the-deb-is-built» (to "how-the-deb-is-built")
# «.upstream» (to "upstream")
# «.repository» (to "repository")
# «exploring-the-deb» (to ".exploring-the-deb")
# «what-the-deb-does» (to ".what-the-deb-does")
# «how-the-deb-is-built» (to ".how-the-deb-is-built")
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
==================
See:
In short: nothing! 8-)
Well, not exactly, but the .deb is incredibly non-invasive: the
"find-sh ... find | sort" above reports these files:
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» (to ".upstream")
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 about 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.
# «repository» (to ".repository")
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")
#####
#
# vnc2swf
# 2010nov14
#
#####
# «vnc2swf» (to ".vnc2swf")
# (find-es "vnc" "vnc2swf")
# (find-eev "anim/")
# (find-eev "examples/anim.e" "compile-vnc2swf")
#####
#
# byzanz
# 2010nov14
#
#####
# «byzanz» (to ".byzanz")
# (find-eev "examples/anim.e" "movie1_A0")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
apti byzanz
# (find-status "byzanz")
# (find-vldifile "byzanz.list")
# (find-udfile "byzanz/")
# (find-man "1 byzanz-record")
# (find-man "1 byzanz-record" "--display=DISPLAY")
# (find-man "1 byzanz-record" " byzanz ")
# (find-man "1 byzanz-playback")
# (find-sh "byzanz-record --help")
# (find-sh "byzanz-record --help-all")
# Kill the running vncserver
vncserver -kill :2
killall -9 Xrealvnc
rm -fv /tmp/.X2-lock
rm -fv /tmp/.X11-unix/X2
rm -Rv ~/.vnc/ ;# goodbye, old vnc password, goodbye
vncserver -geometry 600x400 -depth 16 :2
password
password
export DISPLAY=:0.0
my_vnc2swf -nostatus /tmp/channels.swf :2
password
#####
#
# eev2.tgz
# 2012nov03
#
#####
# «eev2.tgz» (to ".eev2.tgz")
# (find-angg ".zshrc" "eev2-files")
# (find-angg ".zshrc" "eev2-files" "eev2-test ()")
# (find-zsh "eev2-test")
# (find-eev "Makefile" "tarball" "VERSION")
# (find-eevsh "grep ^.require eev2-all.el")
# (find-eevsh "grep ^.require eev2-all.el | awk '{print $2}'")
# (find-eevsh "grep ^.require eev2-all.el | awk '{print substr($2, 2, length($2)-2)}'")
# (find-eevsh "grep ^.require eev2-all.el | awk '{print substr($2, 2, length($2)-2) \".el\"}'")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/eev-current/
(TZ=GMT date; date) > VERSION
A=( eepitch.el eev-wrap.el eev-flash.el eev-eval.el eev-multiwindow.el
eev-mode.el eev-blinks.el eev-plinks.el eev-elinks.el
eev-tlinks.el eev-code.el eev-env.el eev-brxxx.el eev-pdflike.el
eev-audiovideo.el eev-anchors.el eev-intro.el eev-edit.el
eejump.el eev-prepared.el eev-bounded.el eev-channels.el eev-rcirc.el )
tar -cvzf /tmp/eev2.tgz VERSION eev-readme.el eev2-all.el $A
laf /tmp/eev2.tgz
# Test:
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv /tmp/eev/
mkdir /tmp/eev/
cd /tmp/eev/
tar -xvzf ../eev2.tgz
FvwmCommand "CursorMove +0 +100" &&
emacs -Q -fn 6x13 -fg bisque -bg black eev-readme.el
#####
#
# eev2 videos: 1.sh
# 2012nov03
#
#####
# «eev2-video-1.sh» (to ".eev2-video-1.sh")
# (find-angg "eev-videos/1.sh")
* (find-sh0 "~/eev-videos/1.sh down xterm 80x30+0+0 ffmpeg 530x550+0+0")
# (find-fline "/tmp/" "out.mp4")
# (find-sh0 "killall ffmpeg")
# (find-sh0 "killall -9 ffmpeg")
* (find-mplayer0 "/tmp/out.mp4")
# (find-zsh "eev2-build-tgz")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
Scp -v /tmp/eev2.tgz edrx@angg.twu.net:slow_html/eev-current/
Scp -v /tmp/eev2.tgz edrx@angg.twu.net:public_html/eev-current/
* (eepitch-shell2)
* (eepitch-kill)
* (eepitch-shell2)
cd ~/eev-videos/
Scp -v 2* edrx@angg.twu.net:slow_html/eev-videos/
rm -Rv /tmp/eev/
mkdir /tmp/eev/
cd /tmp/eev/
wget http://angg.twu.net/eev-current/eev2.tgz && tar -xvzf eev2.tgz
# tar -C /tmp/eev/ -xvzf /tmp/eev2.tgz
emacs -Q -fn 6x13 -fg bisque -bg black eev-readme.el
# (find-fline "/tmp/eev/")
# (find-fline "/tmp/eev/eev-readme.el")
# (find-fline "/tmp/eev2-current.tar.gz")
# (find-eev "eev-readme.el")
# (find-eev-intro "\nInstalling eev\n")
# (find-efunction 'find-eev-intro "\nInstalling eev\n")
# (find-eevgrep "grep -nH -e ee-format *.el")
# (find-eevgrep "grep -nH -e find-function-read *.el")
# (find-eevgrep "grep -nH -e ee-buffer-name *.el")
# (find-eevgrep "grep -nH -e Info-goto-node *.el")
# (find-efunctiondescr 'Info-goto-node)
# (find-efunction 'Info-goto-node)
# (find-efunctiondescr 'info)
# (find-efunction 'info)
ee-buffer-name
(ee-no-properties (format-mode-line mode-line-format))
# (find-angg ".zshrc" "emacs-default")
cd /tmp/
cat > eev2-load.el <<'%%%'
(progn
(menu-bar-mode 0)
(tool-bar-mode 0)
(scroll-bar-mode -1)
(add-to-list 'load-path "~/eev-current/")
(require 'eev2-all)
(eev-mode 1)
)
%%%
emacs-default-X -geometry 80x37+10+10 -Q eev2-load.el
#####
#
# eev2: pack, unpack, test
# 2012nov08
#
#####
# (find-angg ".zshrc" "eev2-files")
# «eev2-build-tgz» (to ".eev2-build-tgz")
# «eev2-test-unpack» (to ".eev2-test-unpack")
# «eev2-test» (to ".eev2-test")
# (find-eev "eev-readme.el")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -v /tmp/eev2.tgz
eev2-build-tgz
laf /tmp/eev2.tgz
eev2-test
# (eek "M-h M-k C-x r l ;; bookmark-bmenu-list")
#####
#
# eev2: htmlize intros
# 2012nov03
#
#####
# «eev2-hmtlize-intros» (to ".eev2-hmtlize-intros")
# (find-angg "eev-intros/README")
# (load "~/eev-intros/README")
# file:///home/edrx/TH/L/eev-intros/
# file:///home/edrx/TH/L/eev-intros/find-eev-intro.html
# http://angg.twu.net/eev-intros/
# http://angg.twu.net/eev-intros/find-eev-intro.html
#####
#
# eev2: scripts to add a new intro
# 2012nov03
#
#####
# «eev2-add-new-intro» (to ".eev2-add-new-intro")
# (find-eev "eev-intro.el")
# (find-eev "eev-intro.el" ".find-eev-intro")
# (find-eev "eev-intro.el" "find-eev-intro" "0. (find-eev-intro)")
# (find-angg "eev-intros/README")
# (find-blogme3 "angglisp.lua" "find_xxx_intros")
# (find-blogme3file "anggmake.lua" "eev-intros/find-eev-intro")
# (load "~/eev-intros/README")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
makeL
# file:///home/edrx/TH/L/eev-intros/
# file:///home/edrx/TH/L/eev-intros/find-eev-intro.html
#####
#
# eev2: scripts to add a new file
# 2012nov03
#
#####
# «eev2-add-new-file» (to ".eev2-add-new-file")
#####
#
# eev2: upload
# 2012nov08
#
#####
# «eev2-upload» (to ".eev2-upload")
# «eev2-video-2.sh» (to ".eev2-video-2.sh")
# (find-angg ".zshrc" "eev2-files")
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
eev2-build-tgz
~/eev-videos/2.sh record
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
eev2-build-tgz
eev2-upload -v
rm -v /tmp/eev2.tgz
~/eev-videos/2.sh record
# (find-angg "eev-videos/2.sh")
# http://www.emacswiki.org/emacs/EmacsForDebian
#####
#
# Video 3: eepitch
#
#####
# «eev2-video3-eepitch» (to ".eev2-video3-eepitch")
# (defun eejump-9 () (find-screencast-links "108c 37c"))
# (find-eev-video-links "3pt-eepitch-preliminar")
# (find-eev "eepitch.el")
(defun eep2 (s1 s2)
(eval s1) (eepitch-kill)
(eval s2) (eepitch-kill)
(find-wset "13o2_o_o"
`(ee-here ',s1)
`(ee-here ',s2)))
A short video about eepitch
===========================
Eduardo Ochs, 2012nov18
http://angg.twu.net/#eev
* (eep2 '(eepitch-shell) '(eepitch-lua51))
* (eepitch-lua51)
readfile = function (fname)
local f = assert(io.open(fname, "r"))
local bigstr = f:read("*a")
f:close()
return bigstr
end
* (eepitch-shell)
echo Hello... > /tmp/o
* (eepitch-lua51)
print(readfile("/tmp/o"))
* (eepitch-shell)
echo ...bye >> /tmp/o
* (eepitch-lua51)
print(readfile("/tmp/o"))
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cat > /tmp/o <<'%%%'
Hello
hello
hello
%%%
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-lua51)
* (eepitch-kill)
*
#####
#
# eev2: announcements
# 2012nov12
#
#####
# «eev2-announcements» (to ".eev2-announcements")
# http://lists.gnu.org/archive/html/eev/2012-11/msg00000.html
# http://www.emacswiki.org/EevMode
# http://angg.twu.net/#eev
# http://angg.twu.net/eev-videos/README.html
# http://www.youtube.com/watch?v=_B_4vhsmRRI Marco Baringer
# rfm: ok
# #emacs: ok
# FB
# BCCPURO
# kvsa
# Local Variables:
# coding: raw-text-unix
# modes: (fundamental-mode emacs-lisp-mode)
# ee-delimiter-hash: "\n#*\n"
# ee-delimiter-percent: "\n%*\n"
# ee-anchor-format: "«%s»"
# End: