diff options
| author | Jason Rumney | 2005-02-15 22:07:53 +0000 |
|---|---|---|
| committer | Jason Rumney | 2005-02-15 22:07:53 +0000 |
| commit | 8d4eb135e8a6b020a28ac4154573b578eada3d15 (patch) | |
| tree | f6af6a98d7b3ade32365c3d726d7621bf2b7a0e6 /admin/nt | |
| parent | e25c1ca6183d24b9735c4c55d80e4717c36924c4 (diff) | |
| download | emacs-8d4eb135e8a6b020a28ac4154573b578eada3d15.tar.gz emacs-8d4eb135e8a6b020a28ac4154573b578eada3d15.zip | |
Do not rely on non-standard behaviour of tar --exclude.
Diffstat (limited to 'admin/nt')
| -rwxr-xr-x | admin/nt/makedist.bat | 251 |
1 files changed, 127 insertions, 124 deletions
diff --git a/admin/nt/makedist.bat b/admin/nt/makedist.bat index feb6799080f..d48e6736004 100755 --- a/admin/nt/makedist.bat +++ b/admin/nt/makedist.bat | |||
| @@ -1,127 +1,130 @@ | |||
| 1 | @echo off | 1 | @echo off |
| 2 | 2 | ||
| 3 | rem This batch file doesn't work with Cygwin tar because #files# | 3 | rem Beware broken ports of tar. Recent cygwin versions work well, older |
| 4 | rem has DOS line endings, which Cygwin tar misinterprets. | 4 | rem cygwin versions and the current MSys port have problems with DOS |
| 5 | rem I use the version of tar from | 5 | rem line ends when reading file names from a file. Other ports have their |
| 6 | rem ftp://ftp.gnu.org/gnu/windows/emacs/utilities/i386/tar-1.11.2a.exe | 6 | rem own problems too. |
| 7 | rem renamed as wtar.exe. | 7 | set TAR=tar |
| 8 | set TAR=wtar | 8 | |
| 9 | 9 | rem Make a copy of current Emacs source | |
| 10 | rem Make a copy of current Emacs source | 10 | if (%3) == () goto usage |
| 11 | if (%3) == () goto usage | 11 | if not (%4) == () goto %4 |
| 12 | if not (%4) == () goto %4 | 12 | if not (%4) == (src) goto :lisp |
| 13 | if not (%4) == (src) goto :lisp | 13 | |
| 14 | 14 | :src | |
| 15 | :src | 15 | |
| 16 | 16 | echo Create full source distribution, excluding leim | |
| 17 | echo Create full source distribution, excluding leim | 17 | %TAR% --exclude leim --exclude _marker --exclude DOC --exclude DOC-X --exclude TAGS --exclude bin --exclude obj --exclude obj-spd --exclude oo --exclude oo-spd --exclude *~ --exclude *.rej -cvf - emacs-%1 | gzip -9 > %2-src.tar.gz |
| 18 | %TAR% --exclude leim --exclude _marker --exclude DOC --exclude DOC-X --exclude TAGS --exclude bin --exclude obj --exclude obj-spd --exclude oo --exclude oo-spd --exclude *~ --exclude *.rej -cvf - emacs-%1 | gzip -9 > %2-src.tar.gz | 18 | if not (%4) == () goto end |
| 19 | if not (%4) == () goto end | 19 | |
| 20 | 20 | :lisp | |
| 21 | :lisp | 21 | echo Create limited elisp source distribution |
| 22 | echo Create limited elisp source distribution | 22 | %TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz |
| 23 | %TAR% --exclude *.rej --exclude *.elc --exclude *~ -cvf - emacs-%1/lisp | gzip -9 > %2-lisp.tar.gz | 23 | if not (%4) == () goto end |
| 24 | if not (%4) == () goto end | 24 | |
| 25 | 25 | :bin | |
| 26 | :bin | 26 | |
| 27 | 27 | set eld=emacs-%1/lisp | |
| 28 | set eld=emacs-%1/lisp | 28 | |
| 29 | 29 | rem Keep this list in sync with the DONTCOMPILE list in lisp/makefile.w32-in | |
| 30 | rem Keep this list in sync with the DONTCOMPILE list in lisp/Makefile.in | 30 | |
| 31 | 31 | set elfiles=%eld%/cus-load.el %eld%/cus-start.el %eld%/emacs-lisp/cl-specs.el %eld%/eshell/esh-maint.el %eld%/eshell/esh-groups.el %eld%/finder-inf.el %eld%/forms-d2.el %eld%/forms-pass.el %eld%/generic-x.el %eld%/international/latin-1.el %eld%/international/latin-2.el %eld%/international/latin-3.el %eld%/international/latin-4.el %eld%/international/latin-5.el %eld%/international/latin-8.el %eld%/international/latin-9.el %eld%/international/mule-conf.el %eld%/loaddefs.el %eld%/loadup.el %eld%/mail/blessmail.el %eld%/patcomp.el %eld%/paths.el %eld%/play/bruce.el %eld%/subdirs.el %eld%/version.el | |
| 32 | set elfiles=%eld%/cus-load.el %eld%/cus-start.el %eld%/emacs-lisp/cl-specs.el %eld%/eshell/esh-maint.el %eld%/eshell/esh-groups.el %eld%/finder-inf.el %eld%/forms-d2.el %eld%/forms-pass.el %eld%/generic-x.el %eld%/international/latin-1.el %eld%/international/latin-2.el %eld%/international/latin-3.el %eld%/international/latin-4.el %eld%/international/latin-5.el %eld%/international/latin-8.el %eld%/international/latin-9.el %eld%/international/mule-conf.el %eld%/loaddefs.el %eld%/loadup.el %eld%/mail/blessmail.el %eld%/patcomp.el %eld%/paths.el %eld%/play/bruce.el %eld%/subdirs.el %eld%/version.el | 32 | |
| 33 | 33 | set fns_el= | |
| 34 | set fns_el= | 34 | for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f |
| 35 | for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f | 35 | |
| 36 | 36 | echo Create bin distribution | |
| 37 | echo Create bin distribution | 37 | copy %3\README.W32 emacs-%1\README.W32 |
| 38 | copy %3\README.W32 emacs-%1\README.W32 | 38 | |
| 39 | 39 | del #files# #elfiles# | |
| 40 | del #files# | 40 | for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files# |
| 41 | for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files# | 41 | for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#elfiles# |
| 42 | for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#files# | 42 | for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp) do echo %%f>>#files# |
| 43 | for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%) do echo %%f>>#files# | 43 | for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files# |
| 44 | for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#files# | 44 | for %%f in (%elfiles% emacs-%1/site-lisp/subdirs.el) do echo %%f>>#elfiles# |
| 45 | for %%f in (emacs-%1/lock emacs-%1/site-lisp emacs-%1/site-lisp/subdirs.el) do echo %%f>>#files# | 45 | for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#elfiles# |
| 46 | %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *.el --exclude *~ -T #files# -cvf - | gzip -9 > %2-bin-i386.tar.gz | 46 | |
| 47 | del emacs-%1\README.W32 | 47 | %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude "*.el" --exclude "*~" -T #files# -cvf %2-bin-i386.tar |
| 48 | del #files# | 48 | %TAR% -T #elfiles# -rvf %2-bin-i386.tar |
| 49 | if not (%4) == () goto end | 49 | gzip -9 %2-bin-i386.tar |
| 50 | 50 | del emacs-%1\README.W32 | |
| 51 | :fullbin | 51 | rem del #files# #elfiles# |
| 52 | 52 | if not (%4) == () goto end | |
| 53 | echo Create full bin distribution | 53 | |
| 54 | copy %3\README.W32 emacs-%1\README.W32 | 54 | :fullbin |
| 55 | 55 | ||
| 56 | %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *~ -cvf - emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/lock emacs-%1/site-lisp | gzip -9 > %2-fullbin-i386.tar.gz | 56 | echo Create full bin distribution |
| 57 | del emacs-%1\README.W32 | 57 | copy %3\README.W32 emacs-%1\README.W32 |
| 58 | if not (%4) == () goto end | 58 | |
| 59 | 59 | %TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *~ -cvf - emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/lock emacs-%1/site-lisp | gzip -9 > %2-fullbin-i386.tar.gz | |
| 60 | :leim | 60 | del emacs-%1\README.W32 |
| 61 | 61 | if not (%4) == () goto end | |
| 62 | echo Create archive with precompiled leim files | 62 | |
| 63 | %TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz | 63 | :leim |
| 64 | if not (%4) == () goto end | 64 | |
| 65 | 65 | echo Create archive with precompiled leim files | |
| 66 | :undumped | 66 | %TAR% -cvf - emacs-%1/leim/leim-list.el emacs-%1/leim/quail emacs-%1/leim/ja-dic | gzip -9 > %2-leim.tar.gz |
| 67 | 67 | if not (%4) == () goto end | |
| 68 | echo Create archive with extra files needed for redumping emacs | 68 | |
| 69 | copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32 | 69 | :undumped |
| 70 | copy %3\dump.bat emacs-%1\bin | 70 | |
| 71 | if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin | 71 | echo Create archive with extra files needed for redumping emacs |
| 72 | if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin | 72 | copy %3\README-UNDUMP.W32 emacs-%1\README-UNDUMP.W32 |
| 73 | %TAR% -cvf - emacs-%1/README-UNDUMP.W32 emacs-%1/bin/dump.bat emacs-%1/bin/temacs.exe | gzip -9 > %2-undumped-i386.tar.gz | 73 | copy %3\dump.bat emacs-%1\bin |
| 74 | del emacs-%1\bin\temacs.exe | 74 | if exist emacs-%1\src\obj-spd\i386\temacs.exe copy emacs-%1\src\obj-spd\i386\temacs.exe emacs-%1\bin |
| 75 | del emacs-%1\bin\dump.bat | 75 | if exist emacs-%1\src\oo-spd\i386\temacs.exe copy emacs-%1\src\oo-spd\i386\temacs.exe emacs-%1\bin |
| 76 | del emacs-%1\README-UNDUMP.W32 | 76 | %TAR% -cvf - emacs-%1/README-UNDUMP.W32 emacs-%1/bin/dump.bat emacs-%1/bin/temacs.exe | gzip -9 > %2-undumped-i386.tar.gz |
| 77 | if not (%4) == () goto end | 77 | del emacs-%1\bin\temacs.exe |
| 78 | 78 | del emacs-%1\bin\dump.bat | |
| 79 | :barebin | 79 | del emacs-%1\README-UNDUMP.W32 |
| 80 | 80 | if not (%4) == () goto end | |
| 81 | echo Create archive with just the basic binaries and generated files | 81 | |
| 82 | echo (the user needs to unpack the full source distribution for | 82 | :barebin |
| 83 | echo everything else) | 83 | |
| 84 | copy %3\README.W32 emacs-%1\README.W32 | 84 | echo Create archive with just the basic binaries and generated files |
| 85 | %TAR% -cvf - emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC emacs-%1/etc/DOC-X | gzip -9 > %2-barebin-i386.tar.gz | 85 | echo (the user needs to unpack the full source distribution for |
| 86 | del emacs-%1\README.W32 | 86 | echo everything else) |
| 87 | if not (%4) == () goto end | 87 | copy %3\README.W32 emacs-%1\README.W32 |
| 88 | 88 | %TAR% -cvf - emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC emacs-%1/etc/DOC-X | gzip -9 > %2-barebin-i386.tar.gz | |
| 89 | goto end | 89 | del emacs-%1\README.W32 |
| 90 | 90 | if not (%4) == () goto end | |
| 91 | rem Only do this if explicitly requested | 91 | |
| 92 | :zipfiles | 92 | goto end |
| 93 | 93 | ||
| 94 | echo Create zip files for bin and lisp archives | 94 | rem Only do this if explicitly requested |
| 95 | mkdir distrib | 95 | :zipfiles |
| 96 | cd distrib | 96 | |
| 97 | gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf - | 97 | echo Create zip files for bin and lisp archives |
| 98 | rem Need to split emacs.exe into fragments because it is too big now | 98 | mkdir distrib |
| 99 | rem to fit on a floppy even by itself. | 99 | cd distrib |
| 100 | copy %3\stitch.bat %2\bin | 100 | gunzip -c ..\%2-bin-i386.tar.gz | %TAR% xf - |
| 101 | cd %2\bin | 101 | rem Need to split emacs.exe into fragments because it is too big now |
| 102 | split -b 1000000 emacs.exe emacs | 102 | rem to fit on a floppy even by itself. |
| 103 | del emacs.exe | 103 | copy %3\stitch.bat %2\bin |
| 104 | cd ..\.. | 104 | cd %2\bin |
| 105 | zip -rp9 em%5bin %2 | 105 | split -b 1000000 emacs.exe emacs |
| 106 | rm -rf %2 | 106 | del emacs.exe |
| 107 | zipsplit -n 1400000 -b .. em%5bin.zip | 107 | cd ..\.. |
| 108 | del em%5bin.zip | 108 | zip -rp9 em%5bin %2 |
| 109 | gunzip -c ..\%2-lisp.tar.gz | %TAR% xf - | 109 | rm -rf %2 |
| 110 | zip -rp9 em%5lis %2 | 110 | zipsplit -n 1400000 -b .. em%5bin.zip |
| 111 | rm -rf %2 | 111 | del em%5bin.zip |
| 112 | zipsplit -n 1400000 -b .. em%5lis.zip | 112 | gunzip -c ..\%2-lisp.tar.gz | %TAR% xf - |
| 113 | del em%5lis.zip | 113 | zip -rp9 em%5lis %2 |
| 114 | cd .. | 114 | rm -rf %2 |
| 115 | 115 | zipsplit -n 1400000 -b .. em%5lis.zip | |
| 116 | goto end | 116 | del em%5lis.zip |
| 117 | 117 | cd .. | |
| 118 | :usage | 118 | |
| 119 | echo Generate source and binary distributions of emacs. | 119 | goto end |
| 120 | echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin] | 120 | |
| 121 | echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles) | 121 | :usage |
| 122 | echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version | 122 | echo Generate source and binary distributions of emacs. |
| 123 | echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206) | 123 | echo Usage: %0 emacs-version dist-basename distfiles [lisp,bin,undumped,barebin] |
| 124 | :end | 124 | echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles) |
| 125 | echo Or: %0 emacs-version dist-basename distfiles "zipfiles" short-version | ||
| 126 | echo (e.g., %0 20.6 emacs-20.6 d:\andrewi\distfiles zipfiles 206) | ||
| 127 | :end | ||
| 125 | 128 | ||
| 126 | goto skipArchTag | 129 | goto skipArchTag |
| 127 | arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68 | 130 | arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68 |