Install quilt test suite and run it as ptest.
Make all ptest pass.

Signed-off-by: Chong Lu <chong...@windriver.com>
---
 meta/recipes-devtools/quilt/quilt-0.61.inc  |   2 +
 meta/recipes-devtools/quilt/quilt-ptest.inc |  13 +++
 meta/recipes-devtools/quilt/quilt/Makefile  | 153 ++++++++++++++++++++++++++++
 meta/recipes-devtools/quilt/quilt/run-ptest |   3 +
 4 files changed, 171 insertions(+)
 create mode 100644 meta/recipes-devtools/quilt/quilt-ptest.inc
 create mode 100644 meta/recipes-devtools/quilt/quilt/Makefile
 create mode 100755 meta/recipes-devtools/quilt/quilt/run-ptest

diff --git a/meta/recipes-devtools/quilt/quilt-0.61.inc 
b/meta/recipes-devtools/quilt/quilt-0.61.inc
index c4a929d..df31663 100644
--- a/meta/recipes-devtools/quilt/quilt-0.61.inc
+++ b/meta/recipes-devtools/quilt/quilt-0.61.inc
@@ -34,3 +34,5 @@ do_install () {
        # cleanup unpackaged files
        rm -rf ${D}/${datadir}/emacs
 }
+
+require quilt-ptest.inc
diff --git a/meta/recipes-devtools/quilt/quilt-ptest.inc 
b/meta/recipes-devtools/quilt/quilt-ptest.inc
new file mode 100644
index 0000000..026bff5
--- /dev/null
+++ b/meta/recipes-devtools/quilt/quilt-ptest.inc
@@ -0,0 +1,13 @@
+inherit ptest
+
+SRC_URI += "file://run-ptest \
+            file://Makefile \
+"
+
+do_install_ptest() {
+       tar -cf - bin/ compat/ quilt/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
+       tar -cf - test/ --exclude delete.test --exclude mail.test --exclude 
patch-wrapper.test --exclude setup.test| ( cd ${D}${PTEST_PATH} && tar -xf - )
+       cp ${WORKDIR}/Makefile ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += "make gawk diffutils findutils ed perl 
perl-module-filehandle perl-module-getopt-std perl-module-posix"
diff --git a/meta/recipes-devtools/quilt/quilt/Makefile 
b/meta/recipes-devtools/quilt/quilt/Makefile
new file mode 100644
index 0000000..737c9b8
--- /dev/null
+++ b/meta/recipes-devtools/quilt/quilt/Makefile
@@ -0,0 +1,153 @@
+PACKAGE :=     quilt
+VERSION :=     0.61
+RELEASE :=     1
+PACKAGE_TARNAME := quilt
+PACKAGE_BUGREPORT := quilt-...@nongnu.org
+
+prefix :=      /usr
+exec_prefix := /usr
+bindir :=      /usr/bin
+datarootdir := ${prefix}/share
+datadir :=     /usr/share
+docdir :=      ${datarootdir}/doc/${PACKAGE_TARNAME}
+mandir :=      /usr/share/man
+localedir :=   $(datadir)/locale
+emacsdir :=    $(datadir)/emacs/site-lisp
+etcdir :=      /etc
+
+INSTALL :=     /usr/bin/install -c
+POD2MAN :=     /usr/bin/pod2man
+CP :=          /bin/cp
+DATE :=                /bin/date
+PERL :=                /usr/bin/perl
+BASH :=                /bin/bash
+SHELL:=                /bin/bash # It does not work if dash is used as a 
shell, for example
+GREP :=                /bin/grep
+TAIL :=                /usr/bin/tail
+TR :=          /usr/bin/tr
+SED :=         sed
+AWK :=         /usr/bin/gawk
+FIND :=                /usr/bin/find
+XARGS :=       /usr/bin/xargs
+DIFF :=                /usr/bin/diff
+PATCH :=       /usr/bin/patch
+MKTEMP :=      /bin/mktemp
+DIFFSTAT :=    /usr/bin/diffstat
+
+USE_NLS :=     yes
+STAT_HARDLINK := -c '%h'
+
+#-----------------------------------------------------------------------
+DIRT +=                $(shell $(FIND) . -name '*~')
+DIRT +=                $(shell $(FIND) . -name '.\#*')
+
+BIN_IN :=      quilt guards
+BIN_SRC :=     $(BIN_IN:%=%.in)
+BIN :=         $(BIN_IN)
+SRC +=         $(BIN_SRC:%=bin/%) bin/patch-wrapper.in
+DIRT +=                $(BIN_IN:%=bin/%) bin/patch-wrapper
+
+QUILT_IN :=    $(patsubst quilt/%.in,%,$(wildcard quilt/*.in))
+QUILT_SRC :=   $(QUILT_IN:%=%.in)
+QUILT :=       $(QUILT_IN)
+SRC +=         $(QUILT_SRC:%=quilt/%)
+DIRT +=                $(QUILT_IN:%=quilt/%)
+
+SCRIPTS_IN :=  patchfns inspect dependency-graph edmail        \
+               remove-trailing-ws backup-files
+
+SCRIPTS_SRC := $(SCRIPTS_IN:%=%.in)
+SCRIPTS :=     $(SCRIPTS_IN)
+SRC +=         $(SCRIPTS_SRC:%=quilt/scripts/%)
+SRC +=         quilt/scripts/utilfns
+DIRT +=                $(SCRIPTS_IN:%=quilt/scripts/%)
+
+COMPAT :=      $(COMPAT_PROGRAMS:%=compat/%) $(COMPAT_SYMLINKS:%=compat/%)
+SRC +=         $(wildcard compat/*.in) $(wildcard compat/*.sh)
+DIRT +=                $(patsubst %.in,%,$(wildcard compat/*.in)) 
$(COMPAT_SYMLINKS:%=compat/%)
+
+LIB_SRC :=     quilt.el
+SRC +=         $(LIB_SRC:%=lib/%)
+
+ifneq ($(POD2MAN),)
+MAN1 +=                bin/guards.1
+DIRT +=                bin/guards.1
+endif
+
+LINGUAS :=     fr de ja ru
+PO :=          quilt.pot $(LINGUAS:%=%.po)
+SRC +=         $(PO:%=po/%)
+DIRT +=                po/*.mo po/*~
+
+SRC +=         $(wildcard test/*.test) test/run test/test.quiltrc
+SRC +=         changes2changelog
+
+NON_EXEC_IN := doc/quilt.1 doc/README quilt/scripts/patchfns 
quilt/scripts/utilfns
+
+TESTS :=       test/*.test
+DIRT +=                test/.depend $(wildcard test/.*.ok)
+
+# Settings for running the uninstalled version of quilt in the source tree:
+PATH :=                $(CURDIR)/bin:$(CURDIR)/compat:$(PATH)
+QUILT_DIR :=   $(CURDIR)/quilt
+QUILTRC :=     $(CURDIR)/test/test.quiltrc
+export QUILT_DIR QUILTRC
+
+#-----------------------------------------------------------------------
+scripts : $(BIN:%=bin/%) $(QUILT:%=quilt/%)                            \
+         $(SCRIPTS:%=quilt/scripts/%)                                  \
+         $(if $(PATCH_WRAPPER),bin/patch-wrapper)
+
+bin/guards.1 : bin/guards
+       $(POD2MAN) $< > $@
+
+compat_leftover := $(filter-out $(COMPAT),$(shell $(FIND) compat -type f -perm 
-0100))
+
+.PHONY :: compat
+compat :: $(COMPAT)
+       $(if $(compat_leftover),rm -f $(compat_leftover))
+
+
+check-% : test/.%.ok
+       @/bin/true
+
+# Only include the test suite dependencies when required
+ifneq ($(findstring test,$(MAKECMDGOALS))$(findstring check,$(MAKECMDGOALS)),)
+-include test/.depend
+endif # (test|check)
+
+# Include a run-time generated list of dependencies for each test case
+test/.depend : $(TESTS)
+       @(  printf "%s : bin/quilt quilt/scripts/patchfns quilt/scripts/utilfns 
quilt/scripts/backup-files $(COMPAT)\n" $(TESTS); \
+           $(AWK) 'sub(/.*\$$ *quilt /, "")                            \
+                       { print FILENAME, ":", "quilt/"$$1}' $(TESTS); \
+           $(AWK) 'sub(/.*\<quilt_command /, "") && ($$1 !~ /[^a-z]/)  \
+                       { print FILENAME, ":", "quilt/"$$1 }' quilt/*.in; \
+           $(AWK) 'sub(/.*\$$ *%{QUILT_DIR}\/scripts\//, "")           \
+                       { print FILENAME, ":", "quilt/scripts/"$$1 }' $(TESTS); 
\
+       ) | sort -u | $(SED) -re 's:^test/(.*)\.test:test/.\1.ok:' \
+           -e 's:quilt/graph:quilt/graph quilt/scripts/dependency-graph:' \
+           -e 's:quilt/mail:quilt/mail quilt/scripts/edmail:' \
+           -e 's:quilt/refresh:quilt/refresh 
quilt/scripts/remove-trailing-ws:' \
+           -e 's:quilt/setup:quilt/setup quilt/scripts/inspect:' \
+         > $@
+
+ifneq ($(shell . $(QUILTRC) ;  echo $$QUILT_PATCHES_PREFIX),)
+CHECK_ENV := P=patches/; _P=../patches/; export P _P
+endif
+
+# Each tests dependencies are stored in test/.depend
+ifneq ($(findstring check-,$(MAKECMDGOALS)),)
+test/.%.ok : test/%.test FORCE
+else
+test/.%.ok : test/%.test
+endif
+       @LANG=C; LC_ALL=C;                                              \
+       export LANG LC_ALL;                                             \
+       unset POSIXLY_CORRECT;                                          \
+       $(CHECK_ENV);                                                   \
+       cd $(@D);                                                       \
+       ./run -q $(<F)
+       @touch $@
+
+FORCE:
diff --git a/meta/recipes-devtools/quilt/quilt/run-ptest 
b/meta/recipes-devtools/quilt/quilt/run-ptest
new file mode 100755
index 0000000..5557c0f
--- /dev/null
+++ b/meta/recipes-devtools/quilt/quilt/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+for i in `ls test/*.test |awk -F. '{print $1}' |awk -F/ '{print $2}'`; do make 
check-$i; if [ -f test/.$i.ok ]; then echo PASS: $i.test; else echo FAIL: 
$i.test; fi; done
-- 
1.8.1.2

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to