/usr/lib/emacsen-common/packages/install/debian-el is in debian-el 35.12ubuntu2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | #! /bin/bash -e
# /usr/lib/emacsen-common/packages/install/debian-el
# Written by Jim Van Zandt <jrv@vanzandt.mv.com>, borrowing heavily
# from the install scripts for gettext by Santiago Vila
# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
#
# Patched by Roland Mas <lolando@debian.org> to add support for lists of
# flavor-dependently included/excluded files and by Peter S Galbraith
# <psg@debian.org> to add a STAMPFILE (to only byte-compile once) and
# APPEND_LOAD_PATH ton augment the load-path for byte-compilation.
FLAVOR=$1
PACKAGE=debian-el
STAMPFILE=debian-el.elc
# INCLUDED_emacs20=""
# INCLUDED_emacs21=""
# INCLUDED_xemacs21=""
# INCLUDED_emacs_snapshot=""
# EXCLUDED_emacs20=""
# EXCLUDED_emacs21=""
# EXCLUDED_xemacs21=""
# EXCLUDED_emacs_snapshot=""
# Don't byte-compile gnus-BTS.el since it uses gnus macros and will break
# if compiled and then used with different versions of gnus (e.g. as
# shipped wth Emacs vs package separately).
SOURCEONLY_emacs20="gnus-BTS.el"
SOURCEONLY_emacs21="gnus-BTS.el"
SOURCEONLY_emacs22="gnus-BTS.el"
SOURCEONLY_emacs23="gnus-BTS.el"
SOURCEONLY_xemacs21="gnus-BTS.el"
SOURCEONLY_emacs_snapshot="gnus-BTS.el"
eval included_here=\$$(echo INCLUDED_$FLAVOR | tr - _)
eval excluded_here=\$$(echo EXCLUDED_$FLAVOR | tr - _)
eval sourceonly_here=\$$(echo SOURCEONLY_$FLAVOR | tr - _)
included_all=$(for i in ${!INCLUDED_*} ; do
eval echo \$$i
done | sort -u)
excluded_all=$(for i in ${!EXCLUDED_*} ; do
eval echo \$$i
done | sort -u)
sourceonly_all=$(for i in ${!SOURCEONLY_*} ; do
eval echo \$$i
done | sort -u)
if [ ${FLAVOR} = emacs ]; then exit 0; fi
LOG=`tempfile -pelc_ -s.log -m644`
ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
if test -e "${ELCDIR}/${STAMPFILE}"; then
echo "${PACKAGE} files already compiled in ${ELCDIR}."
rm -f ${LOG}
exit
fi
echo install/${PACKAGE}: Handling ${FLAVOR}, logged in ${LOG}
if [ -z "$FLAGS" ] ; then
# FLAGS="-q -no-site-file --no-site-file -batch -l path.el -f batch-byte-compile
FLAGS="-batch -l path.el -f batch-byte-compile"
fi
install -m 755 -d ${ELCDIR}
cd ${ELDIR}
# Now to compute the list of files to install...
FILES=$(ls -1 *.el)
# Here we have all of them
PATTERN=""
for i in $included_all $excluded_all $sourceonly_all; do
[ ! -z "$PATTERN" ] && PATTERN="${PATTERN}\|"
PATTERN="${PATTERN}^$i\$"
done
FILES2=$FILES
if [ ! -z "$PATTERN" ] ; then
FILES=$(for i in $FILES2 ; do echo $i | grep -v $PATTERN || true ; done)
fi
# Here we only have those not explicitly included or excluded by any flavour
FILES="$FILES $included_here"
# Here we also have those included for the current flavour
for i in $excluded_all ; do
include_i="yes"
for j in $excluded_here ; do
[ $i = $j ] && include_i="no"
done
[ $include_i = "yes" ] && FILES="$FILES $i"
done
# And now we have those excluded by other flavours but not the current one
FILES=$(for i in $FILES ; do echo $i ; done | sort -u)
# And now for my last trick... The list is now uniquified!
# Symlinks instead of copying...
cd ${ELCDIR}
for i in $FILES $sourceonly_all; do
ln -fs /usr/share/emacs/site-lisp/${PACKAGE}/$i
done
# Prepare the flavour specific autoload file
if [ ${PACKAGE} = emacs-goodies-el ]; then
echo Building autoloads for ${FLAVOR} in ${ELCDIR}
if [ $FLAVOR != xemacs21 ]; then
echo ";;; emacs-goodies-loaddefs.el" > emacs-goodies-loaddefs.el
echo ";; autoloads generated upon installation of the emacs-goodies-el package" >> emacs-goodies-loaddefs.el
fi
echo ${FLAVOR} -batch --no-site-file --multibyte --eval '(setq load-path (cons "." load-path))' -l autoload --eval '(setq generated-autoload-file (expand-file-name "emacs-goodies-loaddefs.el"))' --eval '(setq make-backup-files nil)' -f batch-update-autoloads . >> ${LOG}
cd ${ELCDIR}
"${FLAVOR}" -batch --no-site-file --multibyte --eval '(setq load-path (cons "." load-path))' -l autoload --eval '(setq generated-autoload-file (expand-file-name "emacs-goodies-loaddefs.el"))' --eval '(setq make-backup-files nil)' -f batch-update-autoloads . >> ${LOG} 2>&1
echo "(provide 'emacs-goodies-loaddefs)" >> emacs-goodies-loaddefs.el
fi
echo "(setq load-path (cons \".\" load-path) byte-compile-warnings nil)" > path.el
if test "${APPEND_LOAD_PATH}" != ""
then
echo "(setq load-path (append ${APPEND_LOAD_PATH} load-path))" >> path.el
fi
echo ${FLAVOR} ${FLAGS} ${FILES} >> ${LOG}
"${FLAVOR}" ${FLAGS} ${FILES} >> ${LOG} 2>&1
egrep -s -e "While compiling|\*\*" ${LOG} || /bin/true
echo install/${PACKAGE}: Deleting ${LOG}
rm -f path.el ${LOG}
exit 0
# Local Variables:
# mode: shell-script
# End:
|