X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Frules;h=a66c8e79a9084816f8ec87f2c99b212fd34f13bc;hb=baab919189f50f27d82097d2e741a0ab844f17ea;hp=d00537b09c4f93b1c561f7d5af61518cc6fdc7ef;hpb=39721535827e68cffbea5e6a3065095ab6224c27;p=deb_pkgs%2Fscowl.git diff --git a/debian/rules b/debian/rules index d00537b..a66c8e7 100755 --- a/debian/rules +++ b/debian/rules @@ -16,10 +16,21 @@ export DH_OPTIONS # The medium size packages have no -size part in their names # These are the scowl extensions (complexity numbers?) that contribute to each word list (i.e. each size); # the -size parts "-small", "", "-large", and "-huge" correspond to the end of the binary package name: -export SIZE_EXTENSIONS-small:=10 20 35 -export SIZE_EXTENSIONS:=$(SIZE_EXTENSIONS-small) 40 50 -export SIZE_EXTENSIONS-large:=$(SIZE_EXTENSIONS) 55 60 70 -export SIZE_EXTENSIONS-huge:=$(SIZE_EXTENSIONS-large) 80 +empty:= +SIZES=small "" large huge insane +SIZE_EXTENSIONS_small:=10 20 35 +SIZE_EXTENSIONS:=$(SIZE_EXTENSIONS_small) 40 50 +SIZE_EXTENSIONS_large:=$(SIZE_EXTENSIONS) 55 60 70 +SIZE_EXTENSIONS_huge:=$(SIZE_EXTENSIONS_large) 80 +SIZE_EXTENSIONS_insane:=$(SIZE_EXTENSIONS_huge) 95 +#SIZE_EXTENSIONS-huge:=10 20 35 40 50 55 60 70 80 95 +export SIZE_EXTENSIONS_small +export SIZE_EXTENSIONS +export SIZE_EXTENSIONS_large +export SIZE_EXTENSIONS_huge +export SIZE_EXTENSIONS_insane + +SPELLINGS:= american british canadian # These are the scowl word list classes we use: CLASSES:=words proper-names upper contractions @@ -30,12 +41,14 @@ build-stamp: dh_testdir set -e;\ - for SPELLING in american british canadian; do\ - for SIZE in -small "" -large -huge; do\ + for SPELLING in $(SPELLINGS); do\ + for SIZE in $(SIZES); do\ + if [ -n "$$SIZE" ]; then SIZE_NAME="_$$SIZE"; SIZE="-$$SIZE"; else SIZE_NAME=""; SIZE=""; fi; \ echo "The following SCOWL word lists were concatenated and sorted (with duplicates" > w$$SPELLING$$SIZE.scowl-word-lists-used;\ echo "removed) to create this word list (see README.Debian for more details):" >> w$$SPELLING$$SIZE.scowl-word-lists-used;\ for CLASS in $(CLASSES); do\ - for EXT in $$(eval echo \\$$SIZE_EXTENSIONS$$SIZE); do\ + for EXT in $$(eval echo "\$$""SIZE_EXTENSIONS$$SIZE_NAME"); do\ + echo "class $$CLASS ext $$EXT size name $$SIZE_NAME"; \ if [ -f final/english-$$CLASS.$$EXT ]; then\ echo "cat final/english-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted";\ cat final/english-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted;\ @@ -48,6 +61,13 @@ build-stamp: echo " variant_$$VARIANT-$$CLASS.$$EXT" >> w$$SPELLING$$SIZE.scowl-word-lists-used;\ fi;\ done;\ + if [ "$$SIZE" = "insane" ]; then\ + for special in special_hacker.50; do \ + echo "cat final/$$special >> $$SPELLING-english$$SIZE.unsorted";\ + cat final/final/$$special >> $$SPELLING-english$$SIZE.unsorted;\ + echo " final/$$special" >> w$$SPELLING$$SIZE.scowl-word-lists-used;\ + done;\ + fi;\ if [ -f final/$$SPELLING-$$CLASS.$$EXT ]; then\ echo "cat final/$$SPELLING-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted";\ cat final/$$SPELLING-$$CLASS.$$EXT >> $$SPELLING-english$$SIZE.unsorted;\ @@ -55,8 +75,8 @@ build-stamp: fi;\ done;\ done;\ - echo "sort -u < $$SPELLING-english$$SIZE.unsorted > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted";\ - sort -u < $$SPELLING-english$$SIZE.unsorted > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted;\ + echo "cat $$SPELLING-english$$SIZE.unsorted | sort -u | iconv -t 'utf-8' > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted";\ + cat $$SPELLING-english$$SIZE.unsorted | sort -u | iconv -f 'iso8859-1' -t 'utf-8' > $$SPELLING-english$$SIZE; rm $$SPELLING-english$$SIZE.unsorted;\ done;\ done @@ -69,8 +89,9 @@ clean: rm -f build-stamp set -e;\ - for SIZE in -small "" -large -huge; do\ - for SPELLING in american british canadian; do\ + for SIZE in $(SIZES); do\ + if [ -n "$$SIZE" ]; then SIZE="-$$SIZE"; fi; \ + for SPELLING in $(SPELLINGS); do\ rm -f $$SPELLING-english$$SIZE.unsorted $$SPELLING-english$$SIZE $$SPELLING-english$$SIZE.5 w$$SPELLING$$SIZE.scowl-word-lists-used;\ done;\ done @@ -79,16 +100,11 @@ clean: install: DH_OPTIONS= -install: install-scowl \ - install-wamerican install-wamerican-small install-wamerican-large install-wamerican-huge \ - install-wbritish install-wbritish-small install-wbritish-large install-wbritish-huge \ - install-wcanadian install-wcanadian-small install-wcanadian-large install-wcanadian-huge +install: install-scowl $(patsubst %-"",%,$(foreach spelling,$(SPELLINGS),$(foreach size,$(SIZES),install-w$(spelling)-$(size)))) installdeb-wordlist -pwamerican --noscripts dh_installdebconf -pwamerican installdeb-wordlist --no-package=wamerican --no-package=scowl - - .PHONY: install-scowl install-scowl: PKG=scowl install-scowl: @@ -100,72 +116,18 @@ install-scowl: dh_installdocs --package=$(PKG) README debian/README.Debian -.PHONY: install-wordlist -install-wordlist: -# PKG and WORDLIST must have been set to the binary package name and word list file name, respectively. +# this is the install-w$(SPELLING)-$(VARIANT) rule +.PHONY: $(patsubst %-"",%,$(foreach spelling,$(SPELLINGS),$(foreach size,$(SIZES),install-w$(spelling)-$(size)))) +THISPKG=$(patsubst install-%,%,$@) +WORDLIST=$(shell echo $@|sed -re 's/^install-w([a-z]*)(-*[a-z]*)/\1-english\2/') +$(patsubst %-"",%,$(foreach spelling,$(SPELLINGS),$(foreach size,$(SIZES),install-w$(spelling)-$(size)))): build-stamp dh_testdir dh_testroot - dh_installdirs --package=$(PKG) - - dh_install --package=$(PKG) $(WORDLIST) usr/share/dict - - dh_installdocs --package=$(PKG) $(PKG).scowl-word-lists-used debian/README.Debian - + dh_installdirs --package=$(THISPKG) + dh_install --package=$(THISPKG) $(WORDLIST) usr/share/dict + dh_installdocs --package=$(THISPKG) $(THISPKG).scowl-word-lists-used debian/README.Debian sed "s/WORDLIST/$(WORDLIST)/g" < debian/wordlist_manpage_template > $(WORDLIST).5 - dh_installman --package=$(PKG) $(WORDLIST).5 - - -.PHONY: install-wamerican -install-wamerican: build-stamp - $(MAKE) -f debian/rules PKG=wamerican WORDLIST=american-english install-wordlist - -.PHONY: install-wamerican-small -install-wamerican-small: build-stamp - $(MAKE) -f debian/rules PKG=wamerican-small WORDLIST=american-english-small install-wordlist - -.PHONY: install-wamerican-large -install-wamerican-large: build-stamp - $(MAKE) -f debian/rules PKG=wamerican-large WORDLIST=american-english-large install-wordlist - -.PHONY: install-wamerican-huge -install-wamerican-huge: build-stamp - $(MAKE) -f debian/rules PKG=wamerican-huge WORDLIST=american-english-huge install-wordlist - - -.PHONY: install-wbritish -install-wbritish: build-stamp - $(MAKE) -f debian/rules PKG=wbritish WORDLIST=british-english install-wordlist - -.PHONY: install-wbritish-small -install-wbritish-small: build-stamp - $(MAKE) -f debian/rules PKG=wbritish-small WORDLIST=british-english-small install-wordlist - -.PHONY: install-wbritish-large -install-wbritish-large: build-stamp - $(MAKE) -f debian/rules PKG=wbritish-large WORDLIST=british-english-large install-wordlist - -.PHONY: install-wbritish-huge -install-wbritish-huge: build-stamp - $(MAKE) -f debian/rules PKG=wbritish-huge WORDLIST=british-english-huge install-wordlist - - -.PHONY: install-wcanadian -install-wcanadian: build-stamp - $(MAKE) -f debian/rules PKG=wcanadian WORDLIST=canadian-english install-wordlist - -.PHONY: install-wcanadian-small -install-wcanadian-small: build-stamp - $(MAKE) -f debian/rules PKG=wcanadian-small WORDLIST=canadian-english-small install-wordlist - -.PHONY: install-wcanadian-large -install-wcanadian-large: build-stamp - $(MAKE) -f debian/rules PKG=wcanadian-large WORDLIST=canadian-english-large install-wordlist - -.PHONY: install-wcanadian-huge -install-wcanadian-huge: build-stamp - $(MAKE) -f debian/rules PKG=wcanadian-huge WORDLIST=canadian-english-huge install-wordlist - - + dh_installman --package=$(THISPKG) $(WORDLIST).5 # This single target is used to build all the packages, all at once, or # one at a time. So keep in mind: any options passed to commands here will @@ -175,27 +137,9 @@ binary-common: dh_testdir dh_testroot dh_installchangelogs -# dh_installdocs # moved to the install targets, because it doesn't DWIM with "-A -p scowl README" -# dh_installexamples -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installcatalogs -# dh_installpam -# dh_installmime -# dh_installinit -# dh_installman -# dh_installcron -# dh_installinfo -# dh_undocumented -# dh_strip dh_link dh_compress dh_fixperms -# dh_perl -# dh_python -# dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol @@ -208,12 +152,6 @@ binary-indep: build install # Build architecture dependant packages using the common target. binary-arch: build install -# (Uncomment this next line if you have such packages.) -# $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common - -# Any other binary targets build just one binary package at a time. -binary-%: build install - make -f debian/rules binary-common DH_OPTIONS=-p$* binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary-common binary install