/usr/lib/emacsen-common/packages/install/lsdb is in lsdb 0.11-10.
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 | #! /bin/bash -e
# /usr/lib/emacsen-common/packages/install/lsdb
# 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=lsdb.elc
PACKAGE=lsdb
# INCLUDED_emacs20=""
# INCLUDED_emacs21=""
# INCLUDED_xemacs21=""
# INCLUDE_emacs_snapshot=""
# EXCLUDED_emacs20=""
# EXCLUDED_emacs21=""
# EXCLUDED_xemacs21=""
# EXCLUDED_emacs_snapshot=""
SOURCEONLY_all="LSDB-CFG LSDB-ELS LSDB-MK bbdb-to-lsdb.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/share/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 -l LSDB-MK -f compile-lsdb"
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
cat << EOF > path.el
(setq load-path (cons "/usr/share/${FLAVOR}/site-lisp/apel" load-path))
(setq load-path (cons "/usr/share/${FLAVOR}/site-lisp/flim" load-path))
(setq load-path (cons "." load-path) byte-compile-warnings nil)
EOF
if test "${APPEND_LOAD_PATH}" != ""
then
cat << EOF >> path.el
(setq load-path (append ${APPEND_LOAD_PATH} load-path))
EOF
fi
echo ${FLAVOR} ${FLAGS} >> ${LOG}
"${FLAVOR}" ${FLAGS} >> ${LOG} 2>&1
egrep -s -e "While compiling|\*\*" ${LOG} || /bin/true
echo install/${PACKAGE}: Deleting ${LOG}
rm -f path.el LSDB-* ${LOG}
exit 0
|