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
|
#!/usr/bin/make -f
SHELL := /bin/bash
include /usr/share/dpkg/pkg-info.mk
export DEB_DH_CLJ_LEIN_CREATE_MAVEN_REPO := $(CURDIR)/create-test-maven-repo
pages := dh-clojure-lein.7 dh-clojure.7
pf := set -o pipefail
define deb_sub
perl -p \
-e "s|\@DEB_VERSION\@|$(DEB_VERSION)|go;"
endef
define create_page
pod2man \
-n $(basename $@) \
-c 'Debhelper Clojure tools' \
-r '$(DEB_VERSION)' \
-s $(patsubst .%,%,$(suffix $@)) \
$< $@
endef
deb_lein := LEIN_OFFLINE=true
deb_lein += LEIN_HOME=$(CURDIR)/debian/lein-home
deb_lein += /usr/bin/lein update-in : assoc :local-repo '"/usr/share/maven-repo"' --
dh_clj_lein_ver != $(pf); cd dh-clojure-lein \
&& $(deb_lein) update-in :version println -- version | head -1
ifneq "0" "$(.SHELLSTATUS)"
$(error "Unable to determine dh-clojure-lein version (.SHELLSTATUS $(.SHELLSTATUS))")
endif
%:
dh $@
%.7: %.7.pod; $(create_page)
override_dh_auto_build: $(pages)
cd dh-clojure-lein && $(deb_lein) pom ../debian/dh-clojure-lein-pom.xml
cd dh-clojure-lein && $(deb_lein) jar
execute_after_dh_auto_install:
echo debian/dh-clojure-lein-pom.xml \
--artifact=dh-clojure-lein/target/dh-clojure-lein-$(dh_clj_lein_ver).jar \
--usj-name=dh-clojure-lein \
--java-lib > debian/dh-clojure.poms
mh_install
mh_resolve_dependencies --non-interactive --offline --build -pdh-clojure --non-explore
ex_env = DEB_DH_CLJ_LEIN_OVERRIDE_JAR=$(CURDIR)/dh-clojure-lein/target/dh-clojure-lein-debian.jar
ex_env += PERLLIB=$(CURDIR)/lib
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
cd dh-clojure-lein && $(deb_lein) test
cd example-clojure && $(ex_env) debian/rules clean
cd example-clojure && $(ex_env) debian/rules binary
test -f libexample-clojure_0.1.0_all.deb
dpkg-deb -c libexample-clojure_0.1.0_all.deb | grep -Fq \
-e './usr/share/java/example.jar' \
-e './usr/share/java/example-test.jar' \
-e './usr/share/maven-repo/example/example/0.1.0-SNAPSHOT/example-0.1.0-SNAPSHOT.pom' \
-e './usr/share/maven-repo/example/example/0.1.0-SNAPSHOT/example-0.1.0-SNAPSHOT.jar' \
-e './usr/share/maven-repo/example/example/0.1.0-SNAPSHOT/example-test-0.1.0-SNAPSHOT.jar' \
-e './usr/share/maven-repo/example/example/debian/example-debian.pom' \
-e './usr/share/maven-repo/example/example/debian/example-test-debian.jar'
dpkg-deb --info libexample-clojure_0.1.0_all.deb | grep -F Depends: | grep -q libclojure-java
endif
override_dh_clean:
cd example-clojure && $(ex_env) debian/rules clean
cd dh-clojure-lein && $(deb_lein) clean
# dh-clojure-lein/pom.xml via create-test-maven-repo lein install
dh_clean \
$(pages) \
.debianVersion \
debian/dh-clojure-lein-pom.xml \
debian/dh-clojure-lein-pom.xml.save \
debian/dh-clojure.poms \
debian/lein-home/ \
dh-clojure-lein/.lein-failures \
dh-clojure-lein/pom.xml \
libexample-*.deb
|