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 144 145
|
DESTDIR =
WIMS_VERSION = 4.00
BINFILES = bin download localwims other README sessions tmp \
lib log s2 update.sh
PHTML_BINFILES = bases fdl.txt java nogif.html gifs mathfonts opl.html \
webget.sites html scripts interrupt.cgi msg \
themes bin
ADDBINDIRS = backup download/modules public_html/modules/contrib \
public_html/w/texgif
DATE = $(shell date '+%Y-%m-%d')
all:
install-modules:
orig_dir=$$(pwd)/wims; \
cd $(DESTDIR)/var/lib/wims; \
cp -Rd $${orig_dir}/public_html/modules public_html
# fixing some permissions for shell scripts
for f in $$(find $(DESTDIR)/var/lib/wims -name '*.sh' -o -name 'mkindex' -o -name '*update' -o -name 'mkclass' -o -name 'Makeindex'); do \
if (grep -q 'bin/sh' $$f); then chmod +x $$f; else chmod -x $$f; fi; \
done
# fix a few wrong executions flags for files bgining by !exit
chmod -x $(DESTDIR)/var/lib/wims/public_html/modules/adm/light/getnew.sh
chmod -x $(DESTDIR)/var/lib/wims/public_html/modules/adm/light/getnewoef.sh
## unnecessary copyright files
for f in $$(find $(DESTDIR)/var/lib/wims -name 'COPYING*' -o -name 'LICENSE'); do \
grep -qE 'GENERAL PUBLIC LICENSE|LICENZA PUBBLICA GENERICA' $$f \
&& rm $$f; \
done
install: adjust-wimshome
# fix bad gifs
echo "fixing bad gifs"
for f in $$(find $(DESTDIR)/var/lib/wims/public_html -name "*.gif"); \
do \
if [ ! -L $$f ]; then \
convert $$f $$f.png; \
convert $$f.png $$f; \
rm $$f.png; \
fi; \
done
# populating /var/lib/wims/public_html
orig_dir=$$(pwd)/wims/public_html; \
cd $(DESTDIR)/var/lib/wims/public_html; \
for f in $(PHTML_BINFILES); do \
cp -Rd $${orig_dir}/$$f .; \
done
$(MAKE) fix-xiao-s-reminders DESTDIR=$(DESTDIR)
## unnecessary copyright files
for f in $$(find $(DESTDIR)/var/lib/wims -name 'COPYING' -o -name 'LICENSE'); do \
grep -q 'GENERAL PUBLIC LICENSE' $$f && rm $$f; \
done
# populating /var/lib/wims
orig_dir=$$(pwd)/wims; \
cd $(DESTDIR)/var/lib/wims; \
for d in $(ADDBINDIRS); do \
mkdir -p $$d; \
done; \
for f in $(BINFILES); do \
cp -Rd $${orig_dir}/$$f .; \
done; \
cp $${orig_dir}/public_html/wims public_html; \
ln -sf wims public_html/wims.cgi; \
cp $${orig_dir}/src/Wimslogd/wimslogd bin/
# install the metafont sources
$(MAKE) install-metafile-sources DESTDIR=$(DESTDIR)
# fix a few incorrect permissions
cd $(DESTDIR)/var/lib/wims; for f in \
public_html/gifs/themes/wimsedu/rss_new.png \
public_html/gifs/themes/wimsedu/rss_modif.png \
public_html/gifs/themes/standard/modtool2.gif \
public_html/java/geogebra3/essai.html \
public_html/java/geogebra3/essai.ggb \
public_html/scripts/js/wz_tooltip.js \
public_html/scripts/js/speck/speck.css \
public_html/scripts/js/speck/speck.gif \
public_html/scripts/js/speck/editstyle.css \
public_html/scripts/js/speck/speck.js \
public_html/scripts/js/speck/index.htm; do \
chmod -x $$f; done
# remove Gang's precompiled binaries
for f in false true; do \
rm -f $(DESTDIR)/var/lib/wims/bin/$$f; \
ln -s /bin/$$f $(DESTDIR)/var/lib/wims/bin/; \
done
cp wims.conf $(DESTDIR)/var/lib/wims/log/wims.conf.distrib
mkdir -p $(DESTDIR)/var/lib/wims/src
cp wims/src/defaults.conf $(DESTDIR)/var/lib/wims/src
cp apache.conf $(DESTDIR)/etc/wims
## exclude wimsd if it has been built, since this webserver may be
## insecure.
rm -f $(DESTDIR)/var/lib/wims/bin/wimsd
## remove sourceless java archives
## and let a small message in place
for d in $(DESTDIR)/var/lib/wims/public_html/java \
$(DESTDIR)/var/lib/wims/public_html/scripts/authors/jm.evers/applets; \
do \
find $$d -name "*.jar" -exec rm {} \; ; \
echo $(SORRY_NO_JAR) > $$d/README; \
done
# fix for using the default config with Gap
mkdir -p $(DESTDIR)/usr/bin
ln -s gap $(DESTDIR)/usr/bin/gap.sh
mkdir -p $(DESTDIR)/usr/share/man/man1
ln -s gap.1.gz $(DESTDIR)/usr/share/man/man1/gap.sh.1.gz
install-metafile-sources:
mkdir -p $(DESTDIR)/usr/share/texmf-texlive/fonts/source/public/ams/
install -m 644 wims/download/*.mf $(DESTDIR)/usr/share/texmf-texlive/fonts/source/public/ams/
install-flydraw:
mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/share/man/man1
cp wims/src/Flydraw/flydraw $(DESTDIR)/usr/bin/flydraw
gzip -c9 debian/flydraw.1 > $(DESTDIR)/usr/share/man/man1/flydraw.1.gz
adjust-wimshome:
# adjust every existing .wimshome file
for f in $$(find wims -name .wimshome); do \
echo /var/lib/wims > $$f; \
done
fix-xiao-s-reminders : warn-precompiled-bins
# erase some data not relevant for the distribution, since they belong
# only to Gang XIAO, or are a static library already linked where necessary
rm -f $(DESTDIR)/var/lib/wims/lib/libwims.a
for f in $$(find $(DESTDIR)/var/lib/wims/log/classes/.connections/); do \
mv $f $f.template; \
done
warn-precompiled-bins:
for f in wims/src/Flydraw/gd/webgif \
wims/src/Misc/passcrypt; do if [ -e $$f ]; then echo "GRRRRR ! these files should be removed from the SVN definitely"; fi; done
doc:
.PHONY: all doc install install-modules install-flydraw install-texgd compile
|