/usr/lib/emacsen-common/packages/install/emacs-goodies-el is in emacs-goodies-el 35.8ubuntu2.
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 139 140 141 142 143 | #! /bin/bash -e
# /usr/lib/emacsen-common/packages/install/emacs-goodies-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
FLAVOR=$1
STAMPFILE=emacs-goodies-el.elc
PACKAGE=emacs-goodies-el
# INCLUDED_emacs20=""
# INCLUDED_emacs21=""
# INCLUDED_xemacs21=""
EXCLUDED_emacs20="tabbar.el session.el csv-mode.el maplev.el"
EXCLUDED_emacs21="pod-mode.el"
EXCLUDED_xemacs21="csv-mode.el minibuf-electric.el pp-c-l.el tabbar.el todoo.el rfcview.el upstart-mode.el "
#EXCLUDED_emacs_snapshot="cua.el cfengine.el ibuffer.el ido.el newsticker.el table.el "
#EXCLUDED_emacs22="cua.el cfengine.el ibuffer.el ido.el newsticker.el table.el "
#EXCLUDED_emacs23="cua.el cfengine.el ibuffer.el ido.el newsticker.el table.el "
# Skip byte-compilation here if necessary:
#SOURCEONLY_all="emacs-goodies-el.el emacs-goodies-loaddefs.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
# Install-info-altdir does not actually exist.
# Maybe somebody will write it.
if test -x /usr/sbin/install-info-altdir; then
echo install/${PACKAGE}: install Info links for ${FLAVOR}
install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
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
# Prevent epg from manipulating /root/.gnupg (#689807)
if [ ${PACKAGE} = gnus-bonus-el ]; then
TMPGNUPGHOME=`mktemp -d --tmpdir gnupg.XXXXXXXXXX`
echo "(setq epg-gpg-home-directory \"${TMPGNUPGHOME}\")" >> 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}
if [ ${PACKAGE} = gnus-bonus-el ]; then
rm -rf ${TMPGNUPGHOME}
fi
exit 0
|