Mercurial > emacs
view make-dist @ 99492:ee792794d888
(isearch-search-fun): Compare the length of the
current search string with the length of the string from the
previous search state to detect the situation when the user
adds or removes characters in the search string.
Use word-search-forward-lax and word-search-backward-lax in this
case, and otherwise word-search-forward and word-search-backward.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 11 Nov 2008 19:43:09 +0000 |
parents | 9419b837e9c6 |
children | 38e7317321ea |
line wrap: on
line source
#!/bin/sh #### make-dist: create an Emacs distribution tar file from the current #### source tree. This basically creates a duplicate directory #### structure, and then hard links into it only those files that should #### be distributed. This means that if you add a file with an odd name, #### you should make sure that this script will include it. # Copyright (C) 1995, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # This file is part of GNU Emacs. # # GNU Emacs is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # GNU Emacs is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. progname="$0" ### Exit if a command fails. #set -e ### Print out each line we read, for debugging's sake. #set -v LANGUAGE=C LC_ALL=C LC_MESSAGES= LANG= export LANGUAGE LC_ALL LC_MESSAGES LANG ## Don't restrict access to any files. umask 0 update=yes check=yes clean_up=no make_tar=no newer="" while [ $# -gt 0 ]; do case "$1" in ## This option tells make-dist to delete the staging directory ## when done. It is useless to use this unless you make a tar file. "--clean-up" ) clean_up=yes ;; ## This option tells make-dist to make a tar file. "--tar" ) make_tar=yes ;; ## This option tells make-dist not to recompile or do analogous things. "--no-update" ) update=no ;; ## This option says don't check for bad file names, etc. "--no-check" ) check=no ;; ## This option tells make-dist to make the distribution normally, then ## remove all files older than the given timestamp file. This is useful ## for creating incremental or patch distributions. "--newer") newer="$2" new_extension=".new" shift ;; ## This option tells make-dist to use `compress' instead of gzip. ## Normally, make-dist uses gzip whenever it is present. "--compress") default_gzip="compress" ;; ## Same with bzip2. "--bzip2") default_gzip="bzip2" ;; ## Same with lzma. "--lzma") default_gzip="lzma" ;; "--snapshot") clean_up=yes make_tar=yes update=no check=no ;; "--help") echo "Usage: ${progname} [options]" echo "" echo " --bzip2 use bzip2 instead of gzip" echo " --clean-up delete staging directories when done" echo " --compress use compress instead of gzip" echo " --lzma use lzma instead of gzip" echo " --newer=TIME don't include files older than TIME" echo " --no-check don't check for bad file names etc." echo " --no-update don't recompile or do analogous things" echo " --snapshot same as --clean-up --no-update --tar --no-check" echo " --tar make a tar file" echo "" exit 0 ;; * ) echo "${progname}: Unrecognized argument: $1" >&2 exit 1 ;; esac shift done ### Make sure we're running in the right place. if [ ! -d src -o ! -f src/lisp.h -o ! -d lisp -o ! -f lisp/version.el ]; then echo "${progname}: Can't find \`src/lisp.h' and \`lisp/version.el'." >&2 echo "${progname} must be run in the top directory of the Emacs" >&2 echo "distribution tree. cd to that directory and try again." >&2 exit 1 fi ### Find where to run Emacs. ### (Accept only absolute file names.) if [ $update = yes ]; then unset EMACS_UNIBYTE if [ -f src/emacs ]; then EMACS=`pwd`/src/emacs else case $EMACS in /*) ;; *) if [ ! -f "$EMACS" ]; then echo "$0: You must set the EMACS environment variable " \ "to an absolute file name." 2>&1 exit 1 fi;; esac fi fi ### Find out which version of Emacs this is. shortversion=`grep 'defconst[ ]*emacs-version' lisp/version.el \ | sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/'` version=`grep 'defconst[ ]*emacs-version' lisp/version.el \ | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'` if [ ! "${version}" ]; then echo "${progname}: can't find current Emacs version in \`./lisp/version.el'" >&2 exit 1 fi echo Version numbers are $version and $shortversion if [ $update = yes ]; then if grep -s "@set EMACSVER *${shortversion}" ./doc/emacs/emacs.texi > /dev/null; then true else echo "You must update the version number in \`./doc/emacs/emacs.texi'" sleep 5 fi fi ### Make sure we don't already have a directory emacs-${version}. emacsname="emacs-${version}${new_extension}" if [ -d ${emacsname} ] then echo Directory "${emacsname}" already exists >&2 exit 1 fi ### Make sure the subdirectory is available. tempparent="make-dist.tmp.$$" if [ -d ${tempparent} ]; then echo "${progname}: staging directory \`${tempparent}' already exists. Perhaps a previous invocation of \`${progname}' failed to clean up after itself. Check that directories whose names are of the form \`make-dist.tmp.NNNNN' don't contain any important information, remove them, and try again." >&2 exit 1 fi ### Find where to run Emacs. if [ $check = yes ]; then ### Check for .elc files with no corresponding .el file. ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \ leim/[a-z]*/[a-z]*.el | sed 's/\.el$/.elc/' > /tmp/el ls -1 lisp/[a-zA-Z]*.elc lisp/[a-z]*/[a-zA-Z0-9]*.elc \ leim/[a-z]*/[a-z]*.elc > /tmp/elc bogosities="`comm -13 /tmp/el /tmp/elc`" if [ "${bogosities}" != "" ]; then echo "The following .elc files have no corresponding .el files:" echo "${bogosities}" fi rm -f /tmp/el /tmp/elc ### Check for .el files with no corresponding .elc file. ls -1 lisp/[a-zA-Z]*.el lisp/[a-z]*/[a-zA-Z0-9]*.el \ leim/[a-z]*/[a-z]*.el > /tmp/el ls -1 lisp/[a-zA-Z]*.elc lisp/[a-z]*/[a-zA-Z0-9]*.elc \ leim/[a-z]*/[a-z]*.elc | sed 's/\.elc$/.el/' > /tmp/elc losers="`comm -23 /tmp/el /tmp/elc`" bogosities= for file in $losers; do if ! grep -q "no-byte-compile: t" $file; then case $file in site-init.el | site-load.el | site-start.el | default.el) ;; *) bogosities="$file $bogosities" ;; esac fi done if [ x"${bogosities}" != x"" ]; then echo "The following .el files have no corresponding .elc files:" echo "${bogosities}" fi rm -f /tmp/el /tmp/elc fi ### Make sure configure is newer than configure.in. if [ "x`ls -t configure configure.in | sed q`" != "xconfigure" ]; then echo "\`./configure.in' is newer than \`./configure'" >&2 echo "Running autoconf" >&2 autoconf || { x=$?; echo Autoconf FAILED! >&2; exit $x; } fi ### Make sure src/config-in.stamp is newer than configure.in. if [ "x`ls -t src/stamp-h.in configure.in | sed q`" != "xsrc/stamp-h.in" ]; then echo "\`./configure.in' is newer than \`./src/stamp-h.in'" >&2 echo "Running autoheader" >&2 autoheader || { x=$?; echo Autoheader FAILED! >&2; exit $x; } rm -f src/stamp-h.in echo timestamp > src/stamp-h.in fi if [ $update = yes ]; then echo "Updating Info files" (cd doc/emacs; make -f Makefile.in srcdir=. info) (cd doc/misc; make -f Makefile.in srcdir=. info) (cd doc/lispref; make -f Makefile.in srcdir=. info) (cd doc/lispintro; make -f Makefile.in SHELL=/bin/sh srcdir=. info VPATH=.) echo "Updating finder, custom and autoload data" (cd lisp; make updates EMACS="$EMACS") if test -f leim/leim-list.el; then echo "Updating leim-list.el" (cd leim; make leim-list.el EMACS="$EMACS") fi echo "Recompiling Lisp files" $EMACS -batch -f batch-byte-recompile-directory lisp leim fi echo "Making lisp/MANIFEST" (cd lisp; files=`echo [!=]*.el | sed -e 's/ subdirs.el / /' -e 's/ default.el / /'` for dir in [!=]*; do if [ -d $dir ] && [ $dir != term ] && [ $dir != CVS ] && [ $dir != RCS ] then echo $dir thisdir=`echo $dir/[!=]*.el | sed -e 's/ subdirs.el / /'` files="$files $thisdir" fi done for file in $files do sed -n 's/^;;; //p; q' $file done | sort > MANIFEST) echo "Creating staging directory: \`${tempparent}'" mkdir ${tempparent} tempdir="${tempparent}/${emacsname}" ### This trap ensures that the staging directory will be cleaned up even ### when the script is interrupted in mid-career. if [ "${clean_up}" = yes ]; then trap "echo 'Interrupted...cleaning up the staging directory'; rm -rf ${tempparent}; exit 1" 1 2 15 fi echo "Creating top directory: \`${tempdir}'" mkdir ${tempdir} ### We copy in the top-level files before creating the subdirectories in ### hopes that this will make the top-level files appear first in the ### tar file; this means that people can start reading the INSTALL and ### README while the rest of the tar file is still unpacking. Whoopee. echo "Making links to top-level files" ln INSTALL README BUGS move-if-change ${tempdir} ln ChangeLog Makefile.in configure configure.in ${tempdir} ln config.bat make-dist update-subdirs vpath.sed ${tempdir} ### Copy these files; they're cross-filesystem symlinks. cp mkinstalldirs ${tempdir} cp config.sub ${tempdir} cp config.guess ${tempdir} cp install-sh ${tempdir} echo "Updating version number in README" (cd ${tempdir} awk \ '$1 " " $2 " " $3 " " $4 " " $5 == "This directory tree holds version" { $6 = version; print $0 } $1 " " $2 " " $3 " " $4 " " $5 != "This directory tree holds version"' \ version=${version} README > tmp.README mv -f tmp.README README) echo "Creating subdirectories" for subdir in lisp site-lisp \ leim leim/CXTERM-DIC leim/MISC-DIC \ leim/SKK-DIC leim/ja-dic leim/quail \ src src/m src/s src/bitmaps lib-src oldXMenu lwlib \ nt nt/inc nt/inc/sys nt/inc/arpa nt/inc/netinet nt/icons \ etc etc/charsets etc/e etc/gnus etc/nxml \ etc/images etc/images/ezimage etc/images/gnus etc/images/gud \ etc/images/icons etc/images/icons/hicolor \ etc/images/icons/hicolor/*x* etc/images/icons/hicolor/scalable \ etc/images/icons/hicolor/*/apps etc/images/icons/hicolor/*/mimetypes \ etc/images/low-color etc/images/mail \ etc/images/smilies etc/images/smilies/grayscale \ etc/images/smilies/medium etc/images/tree-widget \ etc/images/tree-widget/default etc/images/tree-widget/folder \ etc/refcards etc/schema etc/tutorials info doc doc/emacs \ doc/misc doc/man doc/lispref doc/lispintro m4 msdos \ nextstep nextstep/Cocoa nextstep/Cocoa/Emacs.base \ nextstep/Cocoa/Emacs.base/Contents \ nextstep/Cocoa/Emacs.base/Contents/Resources \ nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj \ nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib \ nextstep/Cocoa/Emacs.xcodeproj \ nextstep/GNUstep \ nextstep/GNUstep/Emacs.base \ nextstep/GNUstep/Emacs.base/Resources \ nextstep/GNUstep/Emacs.base/Resources/preferences.gorm do echo " ${tempdir}/${subdir}" mkdir ${tempdir}/${subdir} done echo "Making links to \`lisp' and its subdirectories" ### Don't distribute TAGS, =*.el files, site-init.el, site-load.el, or default.el. (cd lisp ln [a-zA-Z]*.el ../${tempdir}/lisp ln [a-zA-Z]*.elc ../${tempdir}/lisp ## simula.el doesn't keep abbreviations in simula.defns any more. ## ln [a-zA-Z]*.defns ../${tempdir}/lisp ln ChangeLog ChangeLog.*[0-9] ../${tempdir}/lisp ln Makefile.in makefile.w32-in ../${tempdir}/lisp test -f README && ln README ../${tempdir}/lisp (cd ../${tempdir}/lisp rm -f TAGS =* rm -f site-init site-init.el site-init.elc rm -f site-load site-load.el site-load.elc rm -f site-start site-start.el site-start.elc rm -f default default.el default.elc ) ## Find all subdirs of lisp dir for file in `find . -type d -print`; do case $file in . | .. | */Old | */CVS | */RCS | */=*) ;; *) if [ -d $file ]; then subdirs="$file $subdirs" fi ;; esac done for file in $subdirs; do echo " lisp/$file" mkdir -p ../${tempdir}/lisp/$file ln $file/[a-zA-Z0-9]*.el ../${tempdir}/lisp/$file ln $file/[a-zA-Z0-9]*.elc ../${tempdir}/lisp/$file for img in $file/[a-zA-Z]*.xpm $file/[a-zA-Z]*.xbm $file/[a-zA-Z]*.pbm; do if [ -f $img ]; then ln $img ../${tempdir}/lisp/$file fi done if [ -f $file/README ]; then ln $file/README ../${tempdir}/lisp/$file fi if [ -f $file/ChangeLog ]; then ln $file/ChangeLog ../${tempdir}/lisp/$file for f in $file/ChangeLog.*[0-9]; do if [ -f $f ]; then ln $f ../${tempdir}/lisp/$file fi done fi done ) echo "Making links to \`leim' and its subdirectories" ### Don't distribute TAGS, or =*.el files. (cd leim ln makefile.w32-in ../${tempdir}/leim ln ChangeLog README ../${tempdir}/leim ln CXTERM-DIC/*.tit ../${tempdir}/leim/CXTERM-DIC ln SKK-DIC/README SKK-DIC/SKK-JISYO.L ../${tempdir}/leim/SKK-DIC ln MISC-DIC/*.* ../${tempdir}/leim/MISC-DIC ln ja-dic/*.el ja-dic/*.elc ../${tempdir}/leim/ja-dic ln Makefile.in ../${tempdir}/leim/Makefile.in ln leim-ext.el ../${tempdir}/leim/leim-ext.el ## Lisp files that start with a capital are generated from TIT ## dictionaries so we don't distribute them. ln quail/[a-z]*.el quail/[a-z]*.elc ../${tempdir}/leim/quail rm -f ../${tempdir}/leim/quail/quick-b5.* rm -f ../${tempdir}/leim/quail/quick-cns.* rm -f ../${tempdir}/leim/quail/tsang-b5.* rm -f ../${tempdir}/leim/quail/tsang-cns.* cd ../${tempdir}/leim rm -f TAGS =* */=*) echo "Making links to \`src'" ### Don't distribute =*.[ch] files, or the configured versions of ### config.in, paths.in, or Makefile.in, or TAGS. (cd src echo " (It is ok if ln fails in some cases.)" ln [a-zA-Z]*.c ../${tempdir}/src ln [a-zA-Z]*.h ../${tempdir}/src ln [a-zA-Z]*.m ../${tempdir}/src ln [a-zA-Z]*.in ../${tempdir}/src ln [a-zA-Z]*.opt ../${tempdir}/src ## If we ended up with a symlink, or if we did not get anything ## due to a cross-device symlink, copy the file. for file in [a-zA-Z]*.[hcs] [a-zA-Z]*.in [a-zA-Z]*.opt; do if test -f ../${tempdir}/src/$file; then # test -f appears to succeed for a symlink if test -L ../${tempdir}/src/$file; then rm ../${tempdir}/src/$file cp -p $file ../${tempdir}/src chmod a-w ../${tempdir}/src/$file fi else rm ../${tempdir}/src/$file cp -p $file ../${tempdir}/src chmod a-w ../${tempdir}/src/$file fi done ln README ChangeLog ChangeLog.*[0-9] ../${tempdir}/src ln makefile.w32-in ../${tempdir}/src ln .gdbinit .dbxinit ../${tempdir}/src cd ../${tempdir}/src rm -f config.h epaths.h Makefile Makefile.c rm -f =* TAGS) echo "Making links to \`src/bitmaps'" (cd src/bitmaps ln README *.xbm ../../${tempdir}/src/bitmaps) echo "Making links to \`src/m'" (cd src/m # We call files for miscellaneous input (to linker etc) .inp. ln README [a-zA-Z0-9]*.h *.inp ../../${tempdir}/src/m) echo "Making links to \`src/s'" (cd src/s ln README [a-zA-Z0-9]*.h ../../${tempdir}/src/s) echo "Making links to \`lib-src'" (cd lib-src ln [a-zA-Z]*.[chmy] ../${tempdir}/lib-src ln ChangeLog Makefile.in README testfile vcdiff ../${tempdir}/lib-src ln grep-changelog rcs2log rcs-checkin ../${tempdir}/lib-src ln makefile.w32-in ../${tempdir}/lib-src ## If we ended up with a symlink, or if we did not get anything ## due to a cross-device symlink, copy the file. for file in [a-zA-Z]*.[chy]; do if test -f ../${tempdir}/lib-src/$file; then # test -f appears to succeed for a symlink if test -L ../${tempdir}/lib-src/$file; then rm ../${tempdir}/lib-src/$file cp $file ../${tempdir}/lib-src chmod a-w ../${tempdir}/lib-src/$file fi else rm ../${tempdir}/lib-src/$file cp $file ../${tempdir}/lib-src chmod a-w ../${tempdir}/lib-src/$file fi done cd ../${tempdir}/lib-src rm -f Makefile.c rm -f getopt.h rm -f =* TAGS) echo "Making links to \`m4'" (cd m4 ln *.m4 ../${tempdir}/m4) echo "Making links to \`nt'" (cd nt ln emacs.manifest emacs.rc emacsclient.rc config.nt [a-z]*.c ../${tempdir}/nt ln nmake.defs gmake.defs subdirs.el ../${tempdir}/nt ln [a-z]*.bat [a-z]*.h ../${tempdir}/nt ln ChangeLog INSTALL README makefile.w32-in ../${tempdir}/nt) echo "Making links to \`nt/inc'" (cd nt/inc ln [a-z]*.h ../../${tempdir}/nt/inc) echo "Making links to \`nt/inc/sys'" (cd nt/inc/sys ln [a-z]*.h ../../../${tempdir}/nt/inc/sys) echo "Making links to \`nt/inc/arpa'" (cd nt/inc/arpa ln [a-z]*.h ../../../${tempdir}/nt/inc/arpa) echo "Making links to \`nt/inc/netinet'" (cd nt/inc/netinet ln [a-z]*.h ../../../${tempdir}/nt/inc/netinet) echo "Making links to \`nt/icons'" (cd nt/icons ln [a-z]*.ico ../../${tempdir}/nt/icons ln [a-z]*.cur ../../${tempdir}/nt/icons) echo "Making links to \`msdos'" (cd msdos ln ChangeLog emacs.ico emacs.pif ../${tempdir}/msdos ln is_exec.c sigaction.c mainmake mainmake.v2 sed*.inp ../${tempdir}/msdos cd ../${tempdir}/msdos rm -f =*) echo "Making links to \`nextstep'" (cd nextstep ln AUTHORS ChangeLog FOR-RELEASE README.txt compile ../${tempdir}/nextstep) echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents'" (cd nextstep/Cocoa/Emacs.base/Contents ln Info.plist PkgInfo ../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents) echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources'" (cd nextstep/Cocoa/Emacs.base/Contents/Resources ln Credits.html Emacs.icns ../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources) echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj'" (cd nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj ln InfoPlist.strings ../../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj) echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib'" (cd nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib ln *.nib ../../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib) echo "Making links to \`nextstep/Cocoa/Emacs.xcodeproj'" (cd nextstep/Cocoa/Emacs.xcodeproj ln project.pbxproj ../../../${tempdir}/nextstep/Cocoa/Emacs.xcodeproj) echo "Making links to \`nextstep/GNUstep/Emacs.base/Resources'" (cd nextstep/GNUstep/Emacs.base/Resources ln Emacs.desktop Info-gnustep.plist emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) echo "Making links to \`nextstep/GNUstep/Emacs.base/Resources/preferences.gorm'" (cd nextstep/GNUstep/Emacs.base/Resources/preferences.gorm ln data.classes data.info objects.gorm ../../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources/preferences.gorm ) echo "Making links to \`oldXMenu'" (cd oldXMenu ln *.c *.h *.in ../${tempdir}/oldXMenu ln README ChangeLog ../${tempdir}/oldXMenu) echo "Making links to \`lwlib'" (cd lwlib ln *.c *.h *.in ../${tempdir}/lwlib ln README ChangeLog ../${tempdir}/lwlib) echo "Making links to \`etc'" ### Don't distribute = files, TAGS, DOC files, backups, autosaves, or ### tex litter. (cd etc files=`ls -d * | grep -v CVS | grep -v RCS | grep -v 'Old' | grep -v '^e$' \ | grep -v '^charsets$' | grep -v '^gnus$' | grep -v '^images$' | grep -v '^nxml$' \ | grep -v '^refcards$' | grep -v '^tutorials$'| grep -v '^schema$'` ln $files ../${tempdir}/etc ## If we ended up with a symlink, or if we did not get anything ## due to a cross-device symlink, copy the file. for file in $files; do if test -f ../${tempdir}/etc/$file; then # test -f appears to succeed for a symlink if test -L ../${tempdir}/etc/$file; then rm ../${tempdir}/etc/$file cp $file ../${tempdir}/etc chmod a-w ../${tempdir}/etc/$file fi else rm ../${tempdir}/etc/$file cp $file ../${tempdir}/etc chmod a-w ../${tempdir}/etc/$file fi done cd ../${tempdir}/etc rm -f fns*.el rm -f DOC* *~ \#*\# *.dvi *.log *.orig *.rej *,v =* core rm -f TAGS) for dir in etc/charsets etc/e etc/gnus etc/nxml etc/tutorials etc/refcards etc/schema ; do echo "Making links to \`${dir}'" (cd ${dir} ln `ls -d * | grep -v CVS | grep -v RCS` ../../${tempdir}/${dir} cd ../../${tempdir}/${dir} rm -f *~ \#*\# *,v =* core) done echo "Making links to \`etc/images'" (cd etc/images for f in *; do [ -f "$f" ] || continue case $f in (*~|\#*\#|*,v|=*|core) continue ;; esac ln $f ../../${tempdir}/etc/images done) for dir in etc/images/ezimage etc/images/gnus etc/images/gud etc/images/icons \ etc/images/low-color etc/images/mail etc/images/smilies ; do echo "Making links to \`${dir}'" (cd ${dir} for f in *; do [ -f "$f" ] || continue case $f in (*~|\#*\#|*,v|=*|core) continue ;; esac ln $f ../../../${tempdir}/${dir} done ) done for dir in etc/images/tree-widget/default etc/images/tree-widget/folder \ etc/images/smilies/grayscale etc/images/smilies/medium; do echo "Making links to \`${dir}'" (cd ${dir} ln `ls -d * | grep -v CVS | grep -v RCS` ../../../../${tempdir}/${dir} cd ../../../../${tempdir}/${dir} rm -f *~ \#*\# *,v =* core) done for dir in etc/images/icons/hicolor/*/apps \ etc/images/icons/hicolor/*/mimetypes; do echo "Making links to \`${dir}'" (cd ${dir} ln `ls -d * | grep -v CVS | grep -v RCS` ../../../../../../${tempdir}/${dir} cd ../../../../../../${tempdir}/${dir} rm -f *~ \#*\# *,v =* core) done echo "Making links to \`info'" # Don't distribute backups or autosaves. (cd info ln `find . -type f -print | grep -v CVS | grep -v RCS | grep -v cvsignore` ../${tempdir}/info #ln [a-zA-Z]* ../${tempdir}/info cd ../${tempdir}/info # Avoid an error when expanding the wildcards later. ln emacs dummy~ ; ln emacs \#dummy\# rm -f *~ \#*\# core .arch-inventory) echo "Making links to \`doc/emacs'" (cd doc/emacs ln *.texi *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/emacs ln makefile.w32-in ../../${tempdir}/doc/emacs test -f README && ln README ../../${tempdir}/doc/emacs test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/emacs ln ChangeLog ../../${tempdir}/doc/emacs cp texinfo.tex ../../${tempdir}/doc/emacs cd ../../${tempdir}/doc/emacs rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux) echo "Making links to \`doc/misc'" (cd doc/misc ln *.texi *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/misc ln makefile.w32-in ../../${tempdir}/doc/misc test -f README && ln README ../../${tempdir}/doc/misc test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/misc ln ChangeLog ../../${tempdir}/doc/misc cp texinfo.tex ../../${tempdir}/doc/misc cd ../../${tempdir}/doc/misc rm -f \#*\# =* *~ core emacs-index* *.Z *.z xmail rm -f emacs.?? termcap.?? gdb.?? *.log *.toc *.dvi *.oaux) echo "Making links to \`doc/lispref'" (cd doc/lispref ln `ls -1 *.texi` ../../${tempdir}/doc/lispref ln *.aux *.cps *.fns *.kys *.vrs ../../${tempdir}/doc/lispref ln *.txt *.el spellfile tindex.pl ../../${tempdir}/doc/lispref ln makefile.w32-in ../../${tempdir}/doc/lispref test -f README && ln README ../../${tempdir}/doc/lispref test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/lispref ln ChangeLog ../../${tempdir}/doc/lispref cd ../../${tempdir}/doc/lispref rm -f \#*\# =* *~ core elisp-index* *.Z *.z xmail rm -f elisp.?? *.log *.toc *.dvi *.oaux) echo "Making links to \`doc/lispintro'" (cd doc/lispintro ln *.texi *.aux *.cps *.fns *.kys *.vrs *.eps ../../${tempdir}/doc/lispintro ln makefile.w32-in ../../${tempdir}/doc/lispintro test -f texinfo.tex && ln texinfo.tex ../../${tempdir}/doc/lispintro test -f README && ln README ../../${tempdir}/doc/lispintro test -f Makefile.in && ln Makefile.in ../../${tempdir}/doc/lispintro ln ChangeLog ../../${tempdir}/doc/lispintro cd ../../${tempdir}/doc/lispintro rm -f \#*\# =* *~ core *.Z *.z xmail rm -f emacs-lisp-intro.?? *.log *.toc *.dvi *.oaux) echo "Making links to \`doc/man'" (cd doc/man ln *.1 ../../${tempdir}/doc/man ln ChangeLog ../../${tempdir}/doc/man) ### It would be nice if they could all be symlinks to top-level copy, but ### you're not supposed to have any symlinks in distribution tar files. echo "Making sure copying notices are all copies of \`COPYING'" for subdir in . etc info leim lib-src lisp lwlib msdos nt src; do rm -f ${tempdir}/${subdir}/COPYING cp COPYING ${tempdir}/${subdir} done if [ "${newer}" ]; then echo "Removing files older than $newer" ## We remove .elc files unconditionally, on the theory that anyone picking ## up an incremental distribution already has a running Emacs to byte-compile ## them with. find ${tempparent} \( -name '*.elc' -o ! -newer ${newer} \) -exec rm -f {} \; fi if [ "${make_tar}" = yes ]; then if [ "${default_gzip}" = "" ]; then echo "Looking for gzip" temppath=`echo $PATH | sed 's/^:/.:/ s/::/:.:/g s/:$/:./ s/:/ /g'` default_gzip=`( for dir in ${temppath}; do if [ -f ${dir}/gzip ]; then echo 'gzip --best'; exit 0; fi done echo compress )` fi case "${default_gzip}" in bzip2) gzip_extension=.bz2 ;; compress* ) gzip_extension=.Z ;; lzma) gzip_extension=.lzma ;; * ) gzip_extension=.gz ;; esac echo "Creating tar file" (cd ${tempparent} ; tar cvf - ${emacsname} ) \ | ${default_gzip} \ > ${emacsname}.tar${gzip_extension} fi if [ "${clean_up}" = yes ]; then echo "Cleaning up the staging directory" rm -rf ${tempparent} else (cd ${tempparent}; mv ${emacsname} ..) rm -rf ${tempparent} fi # arch-tag: 26e3eb50-a394-4ab2-82b2-d8e5af500de7 ### make-dist ends here