Bug#893268: libjbzip2-java now in Java team, libnanoxml2-java remains buggy (Was: Bug#893268: Intend to take over libjbzip2-java and libnanoxml2-java into Debian Med team)

Thorsten Glaser t.glaser at tarent.de
Thu May 10 04:52:18 BST 2018


On Thu, 10 May 2018, Emmanuel Bourg wrote:

> need some help from a make/shell expert.

You summoned?

Try this (untested):

diff --git a/debian/rules b/debian/rules
index 19037e6..6458af2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,10 +37,11 @@ override_dh_auto_build:
 	nanoxml net.n3.nanoxml net.n3.nanoxml.sax -d api
 
 override_dh_auto_test:
-	if [ $(filter nocheck, $(DEB_BUILD_OPTIONS)) ]; \
-		then	echo "Disabeling tests"; \
-		else	make -f debian/rules test; \
-	fi;
+ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS)))
+	make -f debian/rules test
+else
+	echo "Disabling tests"
+endif
 
 override_dh_clean:
 	jh_clean
@@ -52,23 +53,22 @@ override_dh_clean:
 	dh_clean
 
 test:
-	set -e
-	set -x
+	set -e; \
+	set -x; \
 	cd Test/Lite && \
-	${JAVA_HOME}/bin/javac ${JFLAGS} -cp .:../../${LITE} `find -iname *.java` && \
+	${JAVA_HOME}/bin/javac ${JFLAGS} -cp .:../../${LITE} $$(find -iname *.java) && \
 	for TESTFILE in *.xml; do \
 		${JAVA_HOME}/bin/java -cp .:../../${LITE} DumpXML_Lite $${TESTFILE} > $${TESTFILE}.test_out ; \
-		if diff -u $${TESTFILE}.out $${TESTFILE}.test_out ; \
+		if ! diff -u $${TESTFILE}.out $${TESTFILE}.test_out ; \
 		then	echo ${LITE} failed $${TESTFILE}; \
 			exit 1; \
 		fi; \
-	done
-
-	cd Test/Java && \
-	${JAVA_HOME}/bin/javac ${JFLAGS} -cp .:../../${NANOXML} `find -iname *.java` && \
+	done; \
+	cd ../Java && \
+	${JAVA_HOME}/bin/javac ${JFLAGS} -cp .:../../${NANOXML} $$(find -iname *.java) && \
 	for TESTFILE in *.xml; do\
 		${JAVA_HOME}/bin/java -cp .:../../${NANOXML} DumpXML $${TESTFILE} > $${TESTFILE}.test_out ; \
-		if diff -u $${TESTFILE}.out $${TESTFILE}.test_out ; \
+		if ! diff -u $${TESTFILE}.out $${TESTFILE}.test_out ; \
 		then	echo ${NANOXML} failed $${TESTFILE}; \
 			exit 1; \
 		fi; \
@@ -76,5 +76,5 @@ test:
 	touch $@
 
 get-orig-source:
-	set -e
+	set -e; \
 	sh ${SRCDIR}/debian/origCleaner.sh thisIsIgnored ${VERSION} alsoIgnored ${SRCDIR}/debian/orig.tmp

Summary of changes:
• don’t confuse make variables with shell checks
• make rule lines are run sequentially; if you want them
  to affect the next line you have to combine them
• `…` is obsolete since 1988 or so, even in POSIX
• if COMMAND; then …; fi ← runs if COMMAND exits 0 (successfully),
  you want to check for deviations (failure to compare)

Meow,
//mirabilos
-- 
«MyISAM tables -will- get corrupted eventually. This is a fact of life. »
“mysql is about as much database as ms access” – “MSSQL at least descends
from a database” “it's a rebranded SyBase” “MySQL however was born from a
flatfile and went downhill from there” – “at least jetDB doesn’t claim to
be a database”	‣‣‣ Please, http://deb.li/mysql and MariaDB, finally die!



More information about the pkg-java-maintainers mailing list