summaryrefslogtreecommitdiffstats
path: root/t/recipes/odd-inputs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:42:30 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:42:30 +0000
commit75808db17caf8b960b351e3408e74142f4c85aac (patch)
tree7989e9c09a4240248bf4658a22208a0a52d991c4 /t/recipes/odd-inputs
parentInitial commit. (diff)
downloadlintian-75808db17caf8b960b351e3408e74142f4c85aac.tar.xz
lintian-75808db17caf8b960b351e3408e74142f4c85aac.zip
Adding upstream version 2.117.0.upstream/2.117.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/recipes/odd-inputs')
-rw-r--r--t/recipes/odd-inputs/file-info-errors/build-spec/fill-values3
-rw-r--r--t/recipes/odd-inputs/file-info-errors/build-spec/orig/README1
-rw-r--r--t/recipes/odd-inputs/file-info-errors/build-spec/orig/split.clam.ole.docaabin0 -> 8192 bytes
-rw-r--r--t/recipes/odd-inputs/file-info-errors/eval/desc4
-rw-r--r--t/recipes/odd-inputs/file-info-errors/eval/literal2
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/dpkg-overrides1
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/fill-values4
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-1/eval/desc4
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-1/eval/literal1
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/dpkg-overrides1
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/fill-values4
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-2/eval/desc2
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-2/eval/hints1
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/dpkg-overrides1
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/fill-values4
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-3/eval/desc4
-rw-r--r--t/recipes/odd-inputs/source/control-field-traversal-3/eval/literal1
-rw-r--r--t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/README.source1
-rw-r--r--t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/patches/series0
-rw-r--r--t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/fill-values5
-rwxr-xr-xt/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/pre-build10
-rw-r--r--t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/desc2
-rw-r--r--t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/hints1
-rw-r--r--t/recipes/odd-inputs/source/debian-symlink/build-spec/fill-values4
-rwxr-xr-xt/recipes/odd-inputs/source/debian-symlink/build-spec/post-clean7
-rw-r--r--t/recipes/odd-inputs/source/debian-symlink/eval/desc2
-rw-r--r--t/recipes/odd-inputs/source/debian-symlink/eval/hints1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/debian/watch1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/fill-values3
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/README1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.c1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.h1
-rwxr-xr-xt/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/tar-orig10
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/desc2
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/hints3
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/README1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/debian/watch1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/fill-values3
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.c1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.h1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/orig/some-file1
-rwxr-xr-xt/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/tar-orig8
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/desc2
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/hints3
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/debian/watch1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/fill-values3
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/README1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.c1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.h1
-rwxr-xr-xt/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/tar-orig8
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/desc2
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/hints3
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/README.source1
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/watch0
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/fill-values4
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/orig/README1
-rwxr-xr-xt/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/tar-orig8
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/desc2
-rw-r--r--t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/hints2
59 files changed, 152 insertions, 0 deletions
diff --git a/t/recipes/odd-inputs/file-info-errors/build-spec/fill-values b/t/recipes/odd-inputs/file-info-errors/build-spec/fill-values
new file mode 100644
index 0000000..1152712
--- /dev/null
+++ b/t/recipes/odd-inputs/file-info-errors/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: upload-native
+Testname: file-info-errors
+Description: Test handling of errors from file
diff --git a/t/recipes/odd-inputs/file-info-errors/build-spec/orig/README b/t/recipes/odd-inputs/file-info-errors/build-spec/orig/README
new file mode 100644
index 0000000..8ded722
--- /dev/null
+++ b/t/recipes/odd-inputs/file-info-errors/build-spec/orig/README
@@ -0,0 +1 @@
+File taken from clamav 0.94.dfsg.2. Causes errors with file 5.00.
diff --git a/t/recipes/odd-inputs/file-info-errors/build-spec/orig/split.clam.ole.docaa b/t/recipes/odd-inputs/file-info-errors/build-spec/orig/split.clam.ole.docaa
new file mode 100644
index 0000000..2e59330
--- /dev/null
+++ b/t/recipes/odd-inputs/file-info-errors/build-spec/orig/split.clam.ole.docaa
Binary files differ
diff --git a/t/recipes/odd-inputs/file-info-errors/eval/desc b/t/recipes/odd-inputs/file-info-errors/eval/desc
new file mode 100644
index 0000000..51cfb3e
--- /dev/null
+++ b/t/recipes/odd-inputs/file-info-errors/eval/desc
@@ -0,0 +1,4 @@
+Testname: file-info-errors
+Match-Strategy: literal
+Output-Format: EWI
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/file-info-errors/eval/literal b/t/recipes/odd-inputs/file-info-errors/eval/literal
new file mode 100644
index 0000000..1e2c312
--- /dev/null
+++ b/t/recipes/odd-inputs/file-info-errors/eval/literal
@@ -0,0 +1,2 @@
+W: file-info-errors: empty-binary-package
+X: file-info-errors source: very-long-line-length-in-source-file 2741 > 512 [split.clam.ole.docaa:9]
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/dpkg-overrides b/t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/dpkg-overrides
new file mode 100644
index 0000000..7e4fadd
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/dpkg-overrides
@@ -0,0 +1 @@
+-DSource="../control-field-traversal-1"
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/fill-values b/t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/fill-values
new file mode 100644
index 0000000..b3085f5
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-1/build-spec/fill-values
@@ -0,0 +1,4 @@
+Skeleton: source-native
+Testname: control-field-traversal-1
+Version: 1
+Description: Test for directory traversal issues via field names or values
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-1/eval/desc b/t/recipes/odd-inputs/source/control-field-traversal-1/eval/desc
new file mode 100644
index 0000000..3ae45d6
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-1/eval/desc
@@ -0,0 +1,4 @@
+Testname: control-field-traversal-1
+Output-Format: EWI
+Match-Strategy: literal
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-1/eval/literal b/t/recipes/odd-inputs/source/control-field-traversal-1/eval/literal
new file mode 100644
index 0000000..de9da6f
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-1/eval/literal
@@ -0,0 +1 @@
+warning: tainted source package '.._control-field-traversal-1', skipping
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/dpkg-overrides b/t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/dpkg-overrides
new file mode 100644
index 0000000..01baebc
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/dpkg-overrides
@@ -0,0 +1 @@
+-DBinary="./../control-field-traversal-2"
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/fill-values b/t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/fill-values
new file mode 100644
index 0000000..2e2152b
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-2/build-spec/fill-values
@@ -0,0 +1,4 @@
+Skeleton: source-native
+Testname: control-field-traversal-2
+Version: 1
+Description: Test for directory traversal issues via field names or values
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-2/eval/desc b/t/recipes/odd-inputs/source/control-field-traversal-2/eval/desc
new file mode 100644
index 0000000..ec4e26d
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-2/eval/desc
@@ -0,0 +1,2 @@
+Testname: control-field-traversal-2
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-2/eval/hints b/t/recipes/odd-inputs/source/control-field-traversal-2/eval/hints
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-2/eval/hints
@@ -0,0 +1 @@
+
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/dpkg-overrides b/t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/dpkg-overrides
new file mode 100644
index 0000000..5d224c4
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/dpkg-overrides
@@ -0,0 +1 @@
+-DSource="../control-field-traversal-3"
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/fill-values b/t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/fill-values
new file mode 100644
index 0000000..0901187
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-3/build-spec/fill-values
@@ -0,0 +1,4 @@
+Skeleton: source-native
+Testname: control-field-traversal-3
+Version: 1
+Description: Test for directory traversal issues via field names or values
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-3/eval/desc b/t/recipes/odd-inputs/source/control-field-traversal-3/eval/desc
new file mode 100644
index 0000000..72c0c8c
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-3/eval/desc
@@ -0,0 +1,4 @@
+Testname: control-field-traversal-3
+Output-Format: EWI
+Match-Strategy: literal
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/control-field-traversal-3/eval/literal b/t/recipes/odd-inputs/source/control-field-traversal-3/eval/literal
new file mode 100644
index 0000000..c2e93b4
--- /dev/null
+++ b/t/recipes/odd-inputs/source/control-field-traversal-3/eval/literal
@@ -0,0 +1 @@
+warning: tainted source package '.._control-field-traversal-3', skipping
diff --git a/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/README.source b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/README.source
new file mode 100644
index 0000000..336f590
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/README.source
@@ -0,0 +1 @@
+Hallo World
diff --git a/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/patches/series b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/patches/series
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/debian/patches/series
diff --git a/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/fill-values b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/fill-values
new file mode 100644
index 0000000..4a43408
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/fill-values
@@ -0,0 +1,5 @@
+Skeleton: source-native
+Testname: debian-source-dir-traversal-1
+Version: 1
+Description: Test for information disclosure via d/source
+Extra-Build-Depends: quilt
diff --git a/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/pre-build b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/pre-build
new file mode 100755
index 0000000..06c7bbe
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/build-spec/pre-build
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+dir="$1"
+
+# link to index file for the lab entry
+# - NB: This should not trigger source-contains-unsafe-symlink
+# because the link it self is not unsafe (i.e. it is safe
+# relative to unpacked, but unsafe relative to debfiles)
+
+ln -sf ../../index "$dir/debian/source/git-patches"
diff --git a/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/desc b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/desc
new file mode 100644
index 0000000..3163f8d
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/desc
@@ -0,0 +1,2 @@
+Testname: debian-source-dir-traversal-1
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/hints b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/hints
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-source-dir-traversal-1/eval/hints
@@ -0,0 +1 @@
+
diff --git a/t/recipes/odd-inputs/source/debian-symlink/build-spec/fill-values b/t/recipes/odd-inputs/source/debian-symlink/build-spec/fill-values
new file mode 100644
index 0000000..d704912
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-symlink/build-spec/fill-values
@@ -0,0 +1,4 @@
+Skeleton: source-native
+Testname: debian-symlink
+Version: 1
+Description: Test for debian-dir being a symlink
diff --git a/t/recipes/odd-inputs/source/debian-symlink/build-spec/post-clean b/t/recipes/odd-inputs/source/debian-symlink/build-spec/post-clean
new file mode 100755
index 0000000..6c81a05
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-symlink/build-spec/post-clean
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+packagedir="$1"
+
+ln -sfn . "$packagedir/debian"
diff --git a/t/recipes/odd-inputs/source/debian-symlink/eval/desc b/t/recipes/odd-inputs/source/debian-symlink/eval/desc
new file mode 100644
index 0000000..f2f93c3
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-symlink/eval/desc
@@ -0,0 +1,2 @@
+Testname: debian-symlink
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/debian-symlink/eval/hints b/t/recipes/odd-inputs/source/debian-symlink/eval/hints
new file mode 100644
index 0000000..bb086eb
--- /dev/null
+++ b/t/recipes/odd-inputs/source/debian-symlink/eval/hints
@@ -0,0 +1 @@
+debian-symlink (source): named-copyright-for-single-installable [copyright]
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/debian/watch b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/debian/watch
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/debian/watch
@@ -0,0 +1 @@
+
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/fill-values b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/fill-values
new file mode 100644
index 0000000..ffac82e
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: source-non-native
+Testname: unpack-srcpkg-dot-dir
+Description: Test package for upstream tar files with a ./ prefix
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/README b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/README
new file mode 100644
index 0000000..5709e2d
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/README
@@ -0,0 +1 @@
+Some upstream README
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.c b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.c
new file mode 100644
index 0000000..53f8d16
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.c
@@ -0,0 +1 @@
+/* some C program */
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.h b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.h
new file mode 100644
index 0000000..da2c3b4
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/orig/foo.h
@@ -0,0 +1 @@
+/* some header */
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/tar-orig b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/tar-orig
new file mode 100755
index 0000000..87df74f
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/build-spec/tar-orig
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+tarstem="$1"
+directory="$2"
+
+files=$(cd $directory; ls | tr '\n' ' ')
+
+tar --create --file "$tarstem.tar.gz" --gzip --directory "$directory" $files
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/desc b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/desc
new file mode 100644
index 0000000..b8dd21d
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/desc
@@ -0,0 +1,2 @@
+Testname: unpack-srcpkg-dot-dir
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/hints b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/hints
new file mode 100644
index 0000000..8b865ad
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-dir/eval/hints
@@ -0,0 +1,3 @@
+unpack-srcpkg-dot-dir (source): upstream-metadata-missing-repository [debian/upstream/metadata]
+unpack-srcpkg-dot-dir (source): upstream-metadata-missing-bug-tracking [debian/upstream/metadata]
+unpack-srcpkg-dot-dir (source): missing-debian-watch-file-standard [debian/watch]
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/README b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/README
new file mode 100644
index 0000000..5709e2d
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/README
@@ -0,0 +1 @@
+Some upstream README
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/debian/watch b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/debian/watch
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/debian/watch
@@ -0,0 +1 @@
+
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/fill-values b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/fill-values
new file mode 100644
index 0000000..d58be6f
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: source-non-native
+Testname: unpack-srcpkg-dot-subdir
+Description: Test package for upstream tar files with a ./ prefix
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.c b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.c
new file mode 100644
index 0000000..53f8d16
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.c
@@ -0,0 +1 @@
+/* some C program */
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.h b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.h
new file mode 100644
index 0000000..da2c3b4
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/foo.h
@@ -0,0 +1 @@
+/* some header */
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/orig/some-file b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/orig/some-file
new file mode 100644
index 0000000..2cfb00b
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/orig/some-file
@@ -0,0 +1 @@
+CONTENTS
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/tar-orig b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/tar-orig
new file mode 100755
index 0000000..31b5ab7
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/build-spec/tar-orig
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+set -e
+
+tarstem="$1"
+directory="$2"
+
+tar --create --file "$tarstem.tar.gz" --gzip "./$directory"
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/desc b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/desc
new file mode 100644
index 0000000..d267106
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/desc
@@ -0,0 +1,2 @@
+Testname: unpack-srcpkg-dot-subdir
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/hints b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/hints
new file mode 100644
index 0000000..ea08f95
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-dot-subdir/eval/hints
@@ -0,0 +1,3 @@
+unpack-srcpkg-dot-subdir (source): upstream-metadata-missing-repository [debian/upstream/metadata]
+unpack-srcpkg-dot-subdir (source): upstream-metadata-missing-bug-tracking [debian/upstream/metadata]
+unpack-srcpkg-dot-subdir (source): missing-debian-watch-file-standard [debian/watch]
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/debian/watch b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/debian/watch
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/debian/watch
@@ -0,0 +1 @@
+
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/fill-values b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/fill-values
new file mode 100644
index 0000000..664faee
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/fill-values
@@ -0,0 +1,3 @@
+Skeleton: source-non-native
+Testname: unpack-srcpkg-no-subdir
+Description: Test package for upstream tar files with no subdirectories
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/README b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/README
new file mode 100644
index 0000000..5709e2d
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/README
@@ -0,0 +1 @@
+Some upstream README
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.c b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.c
new file mode 100644
index 0000000..53f8d16
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.c
@@ -0,0 +1 @@
+/* some C program */
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.h b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.h
new file mode 100644
index 0000000..da2c3b4
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/orig/foo.h
@@ -0,0 +1 @@
+/* some header */
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/tar-orig b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/tar-orig
new file mode 100755
index 0000000..5f2bf42
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/build-spec/tar-orig
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+set -e
+
+tarstem="$1"
+directory="$2"
+
+tar --create --file "$tarstem.tar.gz" --gzip --directory "$directory" .
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/desc b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/desc
new file mode 100644
index 0000000..7dc54fd
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/desc
@@ -0,0 +1,2 @@
+Testname: unpack-srcpkg-no-subdir
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/hints b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/hints
new file mode 100644
index 0000000..0c046b6
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-no-subdir/eval/hints
@@ -0,0 +1,3 @@
+unpack-srcpkg-no-subdir (source): upstream-metadata-missing-repository [debian/upstream/metadata]
+unpack-srcpkg-no-subdir (source): upstream-metadata-missing-bug-tracking [debian/upstream/metadata]
+unpack-srcpkg-no-subdir (source): missing-debian-watch-file-standard [debian/watch]
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/README.source b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/README.source
new file mode 100644
index 0000000..bf030ae
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/README.source
@@ -0,0 +1 @@
+Information about patching
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/watch b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/watch
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/debian/watch
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/fill-values b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/fill-values
new file mode 100644
index 0000000..4bdbdd8
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/fill-values
@@ -0,0 +1,4 @@
+Skeleton: source-non-native
+Testname: unpack-srcpkg-xz
+Source-Format: 3.0 (quilt)
+Description: Test package for xz-compressed source packages
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/orig/README b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/orig/README
new file mode 100644
index 0000000..5709e2d
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/orig/README
@@ -0,0 +1 @@
+Some upstream README
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/tar-orig b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/tar-orig
new file mode 100755
index 0000000..ff8507e
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/build-spec/tar-orig
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+set -e
+
+tarstem="$1"
+packagedir="$2"
+
+tar --create --file "$tarstem.tar.xz" --xz "$packagedir"
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/desc b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/desc
new file mode 100644
index 0000000..42add77
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/desc
@@ -0,0 +1,2 @@
+Testname: unpack-srcpkg-xz
+Default-Lintian-Options: --pedantic --display-info --display-experimental
diff --git a/t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/hints b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/hints
new file mode 100644
index 0000000..b075841
--- /dev/null
+++ b/t/recipes/odd-inputs/source/unpack-srcpkg-xz/eval/hints
@@ -0,0 +1,2 @@
+unpack-srcpkg-xz (source): upstream-metadata-missing-repository [debian/upstream/metadata]
+unpack-srcpkg-xz (source): upstream-metadata-missing-bug-tracking [debian/upstream/metadata]