Hello community,
here is the log from the commit of package obs-service-download_files for
openSUSE:Factory checked in at 2016-02-25 22:10:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-download_files (Old)
and /work/SRC/openSUSE:Factory/.obs-service-download_files.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-download_files"
Changes:
--------
---
/work/SRC/openSUSE:Factory/obs-service-download_files/obs-service-download_files.changes
2015-08-03 17:21:34.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.obs-service-download_files.new/obs-service-download_files.changes
2016-02-26 00:37:06.000000000 +0100
@@ -1,0 +2,14 @@
+Wed Feb 17 13:38:20 UTC 2016 - [email protected]
+
+- Update to version 0.5.1.git.1455712026.9c0a4a0:
+ + prevent tar/cp/rm/mv from malicious filenames
+ + added double quotes for some commands
+ + Rework code
+ + Remove duplicated code
+ + fixed recompression and started with automated testing
+ + fixed tabs
+ + [testing] better handling for files in download server
+ + added gitignore
+ + fixes #6
+
+-------------------------------------------------------------------
Old:
----
obs-service-download_files-0.5.1.git.1437716073.690c01e.tar.gz
New:
----
obs-service-download_files-0.5.1.git.1455712026.9c0a4a0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-download_files.spec ++++++
--- /var/tmp/diff_new_pack.MeQnbG/_old 2016-02-26 00:37:07.000000000 +0100
+++ /var/tmp/diff_new_pack.MeQnbG/_new 2016-02-26 00:37:07.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package obs-service-download_files
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define service download_files
Name: obs-service-%{service}
-Version: 0.5.1.git.1437716073.690c01e
+Version: 0.5.1.git.1455712026.9c0a4a0
Release: 0
Summary: An OBS source service: download files
License: GPL-2.0+
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.MeQnbG/_old 2016-02-26 00:37:07.000000000 +0100
+++ /var/tmp/diff_new_pack.MeQnbG/_new 2016-02-26 00:37:07.000000000 +0100
@@ -1,5 +1,5 @@
pkgname=obs-service-download_files
-pkgver=0.5.1.git.1437716073.690c01e
+pkgver=0.5.1.git.1455712026.9c0a4a0
pkgrel=0
pkgdesc="An OBS source service: download files"
arch=(any)
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.MeQnbG/_old 2016-02-26 00:37:07.000000000 +0100
+++ /var/tmp/diff_new_pack.MeQnbG/_new 2016-02-26 00:37:07.000000000 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">[email protected]:openSUSE/obs-service-download_files.git</param>
- <param
name="changesrevision">690c01ed7eb7913c3e16eccd16203cba3691648a</param>
+ <param
name="changesrevision">9c0a4a0eebd74a53e59a6a15059e5325f637088b</param>
</service>
</servicedata>
\ No newline at end of file
++++++ debian.dsc ++++++
--- /var/tmp/diff_new_pack.MeQnbG/_old 2016-02-26 00:37:07.000000000 +0100
+++ /var/tmp/diff_new_pack.MeQnbG/_new 2016-02-26 00:37:07.000000000 +0100
@@ -1,6 +1,6 @@
Format: 1.0
Source: obs-service-download-files
-Version: 0.5.1.git.1437716073.690c01e
+Version: 0.5.1.git.1455712026.9c0a4a0
Binary: obs-service-download-files
Maintainer: Hib Eris <[email protected]>
Architecture: all
++++++ obs-service-download_files-0.5.1.git.1437716073.690c01e.tar.gz ->
obs-service-download_files-0.5.1.git.1455712026.9c0a4a0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/Makefile
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/Makefile
--- old/obs-service-download_files-0.5.1.git.1437716073.690c01e/Makefile
2015-07-24 07:34:02.000000000 +0200
+++ new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/Makefile
2016-02-17 14:38:20.000000000 +0100
@@ -17,4 +17,7 @@
install -d $(DESTDIR)$(servicecachedir)/download_files/file
install -d $(DESTDIR)$(servicecachedir)/download_files/filename
-.PHONY: all install
+test:
+ prove -v t/*.t
+
+.PHONY: all install test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/download_files
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/download_files
--- old/obs-service-download_files-0.5.1.git.1437716073.690c01e/download_files
2015-07-24 07:34:02.000000000 +0200
+++ new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/download_files
2016-02-17 14:38:20.000000000 +0100
@@ -85,31 +85,85 @@
fi
$uncompress "$input" > "$output"
- echo $basename
+
+ if [[ $? -gt 0 ]];then
+ echo "Error while uncompress $input"
+ exit 1
+ fi
+
+ echo "$basename"
+}
+
+function find_changes_filename() {
+ local dir=$1
+ local bn=$2
+ # expand
+ for bn in "$dir/"$bn* ; do : ; done
+ tar -tf "$bn" 2>/dev/null | grep -iE "/changelog|/news|/changes" | head -n1
}
-function changes_filename()
-{
- # Check old tarball if there are any changes files present, take the first
one (if any)
- tar -tf "$@" 2>/dev/null | grep -iE "/changelog|/news|/changes" | head -n1
+function extract_changes() {
+ local dir=$1
+ local bn=$2
+ local cf=$3
+ local tf=$4
+ # expand
+ for bn in "$dir/"$bn* ; do : ; done
+ tar -xf "$bn" -O -- "$cf" > "$tf"
}
function write_changes() {
- spec_file_name=$1
+ local spec_file_name=$1
+ local my_url=$2
+ local bn=${my_url##*/}
if [ "$spec_file_name" = "PKGBUILD" ] ; then
echo "No support for writing PKGBUILD changes"
return
fi
+
+ # find old changes
+ local oldchangesfile=$(find_changes_filename "$SRCDIR" "$bn")
+ local newchangesfile=$(find_changes_filename "$MYOUTDIR" "$bn")
+
+ # they need to exist both
+ if test -z "$oldchangesfile" -o -z "$newchangesfile" ; then
+ return
+ fi
+
+ # they need to be different (why?)
+ if test "$oldchangesfile" = "$newchangesfile" ; then
+ return
+ fi
+
+ # find new version
+ NEW_VERSION=${newchangesfile%%/*}
+ NEW_VERSION=${NEW_VERSION#$bn-}
+
+ # extract em
+ local oldchanges=$(mktemp)
+ local newchanges=$(mktemp)
+ extract_changes "$SRCDIR" "$bn" "$oldchangesfile" "$oldchanges"
+ extract_changes "$MYOUTDIR" "$bn" "$newchangesfile" "$newchanges"
+
+ # diff
+ lines=$(diff -u $oldchanges $newchanges | grep -E "^\+.*" | grep -vE
"^\+\+\+" | head -n "$CHANGES_LINES_MAX" | cut -d"+" -f2-)
+ OLD_IFS="$IFS"
+ IFS=$'\n' CHANGES_LINES=( $lines )
+ IFS="$OLD_IFS"
+
+ # clean up
+ rm -f "$oldchanges" "$newchanges"
+
if [ ${#CHANGES_LINES[@]} -eq 0 ] ; then
- echo "No changes since $CHANGES_REVISION, skipping changes file generation"
+ echo "No changes found, skipping changes file generation"
return
fi
if [ -z "$CHANGES_AUTHOR" ] ; then
OSCRC="$HOME/.oscrc"
- if [ -f $OSCRC ] ; then
- CHANGES_AUTHOR=$(grep -e '^email.*=' $OSCRC | head -n1 | cut -d"=" -f2)
+ if [ -f "$OSCRC" ] ; then
+ CHANGES_AUTHOR=$(grep -e '^email.*=' "$OSCRC" | head -n1 | cut -d"=" -f2)
else
CHANGES_AUTHOR="[email protected]"
fi
@@ -133,121 +187,96 @@
# Prepend change entry to current changes file
changes_file="$SRCDIR/${spec_file_name%".spec"}.changes"
tmpfile=$(mktemp)
- echo "$change_entry" | cat - $changes_file > $tmpfile && mv $tmpfile
$MYOUTDIR/$(basename $changes_file)
+ echo "$change_entry" | cat - $changes_file > "$tmpfile" && mv -- "$tmpfile"
"$MYOUTDIR/$(basename $changes_file)"
}
default_config="/usr/lib/build/configs/sl12.3.conf"
[ -e "/usr/lib/build/configs/default.conf" ] &&
default_config="/usr/lib/build/configs/default.conf"
+SRCDIR=$PWD
+
RETURN=0
for i in *.spec PKGBUILD; do
test -e "$i" || continue
- for url in `perl -I/usr/lib/build -MBuild -e Build::show $default_config
"$i" sources`; do
+ for url in `perl -I/usr/lib/build -MBuild -e Build::show $default_config
"$i" sources` `perl -I/usr/lib/build -MBuild -e Build::show $default_config
"$i" patches`; do
WGET="/usr/bin/wget -4 --no-check-certificate --timeout=30 -q --tries=2
--no-directories"
MYCACHEDIRECTORY="$CACHEDIRECTORY"
PROTOCOL="${url%%:*}"
SAMEFILEAFTERCOMPRESSION=
[[ "${PROTOCOL}" != "http" && "${PROTOCOL}" != "https" && "${PROTOCOL}" !=
"ftp" ]] && continue
- # determine intended filename from URL fragment, e.g.
- # https://www.example.com/gpgkeys.asc#/%{name}.keyring
- FRAGMENT=`echo $url | perl -MURI -le 'chomp($url = <>); print
URI->new($url)->fragment'`
BN=`basename "$url"`
- # fragment must begin with "/" and only contain a base name
- if [ /"$BN" == "$FRAGMENT" ]; then
- WGET="$WGET -O $BN"
- fi
- #
# We do not tell the server that we are an OBS tool by default anymore,
# because too many sites just have a white list, but they accept wget
# WGET="$WGET -U 'OBS-wget'"
- if [ "$CHANGES_GENERATE" == "enable" ]; then
- OLD_CHANGES_FILENAME=$(changes_filename $BN*)
- if [ -n "$OLD_CHANGES_FILENAME" ] ; then
- OLD_CHANGES_FILE=$(tar -xvf $BN* $OLD_CHANGES_FILENAME)
- OLD_CHANGES_BASEDIR=$(echo $OLD_CHANGES_FILE | sed -e "s|/.*||")
- fi
- fi
- SRCDIR=$PWD
-
cd "$MYOUTDIR"
# check local cache if configured
HASH=$(echo "$url" | sha256sum | cut -d\ -f 1)
if [ -n "$MYCACHEDIRECTORY" -a -f "$MYCACHEDIRECTORY/file/$HASH" ]; then
- RECOMPRESS=""
+ RECOMPRESS=
FILE=$(cat "$MYCACHEDIRECTORY/filename/$HASH")
+ FILE="${FILE##*/}"
echo "INFO: Taking file from local cache $FILE"
- cp -a "$MYCACHEDIRECTORY/file/$HASH" ./"$FILE"
+ cp -a -- "$MYCACHEDIRECTORY/file/$HASH" ./"$FILE"
elif [ -z "$DORECOMPRESS" ]; then
- if ! $WGET "$url$urlextension" -O "${url##*/}"; then
+ FILE="${url##*/}"
+ if ! $WGET "$url$urlextension" -O "$FILE"; then
echo "ERROR: Failed to download \"$url\""
exit 1
fi
- RECOMPRESS=""
- FILE="${url##*/}"
+ RECOMPRESS=
else
+
+ FILE="${url##*/}"
FORMAT="${url##*\.}"
- if $WGET "$url" -O "${url}"; then
- RECOMPRESS=""
- FILE="${url}"
- elif $WGET "${url%$FORMAT}gz" -O "${url%$FORMAT}gz"; then
+ if $WGET "$url" -O "$FILE"; then
+ RECOMPRESS=
+ elif $WGET "${url%\.$FORMAT}.gz" -O "${FILE%\.$FORMAT}.gz"; then
RECOMPRESS="$FORMAT"
- FILE="${url%$FORMAT}gz"
- elif $WGET "${url%$FORMAT}bz2" -O "${url%$FORMAT}bz2"; then
+ FILE="${FILE%\.$FORMAT}.gz"
+ elif $WGET "${url%\.$FORMAT}.bz2" -O "${FILE%\.$FORMAT}.bz2"; then
RECOMPRESS="$FORMAT"
- FILE="${url%$FORMAT}bz2"
- elif $WGET "${url%$FORMAT}xz" -O "${url%$FORMAT}xz"; then
+ FILE="${FILE%\.$FORMAT}.bz2"
+ elif $WGET "${url%\.$FORMAT}.xz" -O "${FILE%\.$FORMAT}.xz"; then
RECOMPRESS="$FORMAT"
- FILE="${url%$FORMAT}xz"
+ FILE="${FILE%\.$FORMAT}.xz"
else
echo "ERROR: Failed to download $url or any other compression format"
exit 1
fi
- FILE="${FILE##*/}"
fi
# fill local cache, if configured
if [[ -n "$MYCACHEDIRECTORY" && ! -f "$MYCACHEDIRECTORY/file/$HASH" ]];
then
- cp -a "$FILE" "$MYCACHEDIRECTORY/file/$HASH" && \
+ cp -a -- "$FILE" "$MYCACHEDIRECTORY/file/$HASH" && \
echo "$FILE" > "$MYCACHEDIRECTORY/filename/$HASH"
fi
- if [ "$CHANGES_GENERATE" == "enable" -a -n "$OLD_CHANGES_FILE" ]; then
- # Try to find the same changes file in the new tarball
- CHANGES_FILENAME=$(changes_filename $BN*)
- if [ -n "$CHANGES_FILENAME" ] ; then
- CHANGES_FILE=$(tar -xvf $BN* $CHANGES_FILENAME)
- CHANGES_BASEDIR=$(echo $CHANGES_FILE | sed -e "s|/.*||")
- NEW_VERSION=${CHANGES_BASEDIR#$BN-} # Find out what version we
updated to
- # Check if both old and new aren't the same files:
- if [ "$OLD_CHANGES_FILE" != "$CHANGES_FILE" ] ; then
- lines=$(diff -u $SRCDIR/$OLD_CHANGES_FILE $CHANGES_FILE | grep -E
"^\+.*" | grep -vE "^\+\+\+" | head -n $CHANGES_LINES_MAX | cut -d"+" -f2-)
- OLD_IFS="$IFS"
- IFS=$'\n' CHANGES_LINES=( $lines )
- IFS="$OLD_IFS"
- rm -rf $CHANGES_BASEDIR || :
- fi
- fi
- rm -rf $SRCDIR/$OLD_CHANGES_BASEDIR || :
- rm -rf $OLD_CHANGES_BASEDIR || :
- fi
-
- if [[ -n "$RECOMPRESS" ]]; then
+ if [ -n "$RECOMPRESS" ]; then
tempfile=`mktemp`
file_name=`uncompress_file "$FILE" "$tempfile"`
+ SKIP_RECOMPRESS=0
+
+ old_file="$SRCDIR/${url##*/}"
- # uncompress the old file also to compare
- tempoldfile=`mktemp`
- uncompress_file "$OLDPWD/${url##*/}" "$tempoldfile" > /dev/null
+ if [ -f $old_file ];then
+ # uncompress the old file also to compare
+ tempoldfile=`mktemp`
+ uncompress_file "$old_file" "$tempoldfile" > /dev/null
+
+ # do not create new file, if identical
+ if cmp "$tempfile" "$tempoldfile"; then
+ SKIP_RECOMPRESS=1
+ fi
+ fi
- # do not create new file, if identical
- if ! cmp "$tempfile" "$tempoldfile"; then
+ if [[ $SKIP_RECOMPRESS == 0 ]];then
if [ "$RECOMPRESS" == "gz" ]; then
COMPRESS="gzip -c -"
SUFFIX=".gz"
@@ -268,7 +297,7 @@
# do the compression
cat "$tempfile" | $COMPRESS > "$file_name$SUFFIX" || RETURN=1
rm "$FILE" # remove downloaded file
- FILE="$file_name$SUFFIX"
+ FILE="$file_name$SUFFIX"
else
# original file name
FILE="${url##*/}"
@@ -276,14 +305,14 @@
fi
# cleanup
- rm -f "$tempfile" "$tempoldfile"
+ rm -f -- "$tempfile" "$tempoldfile"
fi
# remove all file files which are indentical to committed files, but not
the same instance (when --outdir .)
- if [ -f "$OLDPWD/$FILE" ]; then
- if [ ! "$FILE" -ef "$OLDPWD/$FILE" ]; then
+ if [ -f "$SRCDIR/$FILE" ]; then
+ if [ ! "$FILE" -ef "$SRCDIR/$FILE" ]; then
if [ -z "$SAMEFILEAFTERCOMPRESSION" ]; then
- if cmp "$FILE" "$OLDPWD/$FILE"; then
+ if cmp "$FILE" "$SRCDIR/$FILE" 2>/dev/null; then
rm "$FILE"
elif [ -n "$ENFORCEUPSTREAM" ]; then
echo "ERROR: download_files is configured to fail when the
upstream file is different than the committed file... this is the case!"
@@ -297,7 +326,7 @@
fi
if [ "$CHANGES_GENERATE" == "enable" ] ; then
- write_changes $i
+ write_changes "$i" "$url"
fi
cd - > /dev/null
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/000_base.t
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/000_base.t
--- old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/000_base.t
1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/000_base.t
2016-02-17 14:38:20.000000000 +0100
@@ -0,0 +1,105 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use FindBin;
+use Cwd;
+
+use Path::Class qw/dir/;
+use Test::More tests => 5;
+
+{
+package MyWebServer;
+use strict;
+use warnings;
+
+use HTTP::Server::Simple::CGI;
+use Path::Class qw/file/;
+use base qw(HTTP::Server::Simple::CGI);
+use File::Type;
+
+my $document_root = $FindBin::Bin;
+
+my %dispatch = (
+);
+
+sub handle_request {
+ my $self = shift;
+ my $cgi = shift;
+
+ my $path = $cgi->path_info();
+ my $handler = $dispatch{$path};
+
+ my $file = file($document_root,$path);
+
+ if (ref($handler) eq "CODE") {
+ print "HTTP/1.0 200 OK\r\n";
+ $handler->($path);
+ } elsif ( -f $file->stringify ) {
+ print "HTTP/1.0 200 OK\r\n";
+ file_handler($file);
+ } else {
+ print "HTTP/1.0 404 Not found\r\n";
+ print $cgi->header,
+ $cgi->start_html('Not found'),
+ $cgi->h1('Not found'),
+ $cgi->end_html;
+ }
+}
+
+sub file_handler {
+ my $f = shift;
+
+ my $fc = $f->slurp();
+ my $l = length($fc);
+ my $ct = File::Type->new()->checktype_filename($f);
+
+ print "Content-Type: $ct\r\n";
+ print "Content-Length: $l\r\n\r\n";
+ print $fc;
+
+}
+
+}
+
+my $dir = getcwd();
+my $outdir = dir($FindBin::Bin,"tmp");
+
+dir($outdir)->rmtree;
+mkdir $outdir;
+chdir $FindBin::Bin || die;
+
+my $pid;
+
+{
+ local *STDOUT;
+ my $out="";
+ open(STDOUT,'>',\$out);
+ $pid = MyWebServer->new(8080)->background();
+}
+
+
+
+# Checking command
+my $cmd="../download_files --outdir ".$outdir->stringify." --recompress yes";
+`$cmd`;
+ok($? == 0,"Checking download with recompression");
+
+# Checking file content
+my $tar = "tar tvjf ".$outdir->stringify."/Test-Simple-1.001014.tar.bz2";
+`$tar`;
+ok($? == 0,"Checking extraction");
+
+ok((-f $outdir->stringify."/patch1.diff"),"Checking patch1");
+ok((-f $outdir->stringify."/patch2.diff"),"Checking patch2");
+
+# checking cleanup
+my @fl = $outdir->children();
+ok(@fl == 3,"Checking cleanup");
+
+# cleanup
+$outdir->rmtree;
+kill 15, $pid;
+
+chdir $dir;
+
+exit 0;
Files
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/data/Test-Simple-1.001014.tar.gz
and
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/data/Test-Simple-1.001014.tar.gz
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/data/patch1.diff
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/data/patch1.diff
---
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/data/patch1.diff
1970-01-01 01:00:00.000000000 +0100
+++
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/data/patch1.diff
2016-02-17 14:38:20.000000000 +0100
@@ -0,0 +1,14 @@
+diff --git a/t/test.spec b/t/test.spec
+index 7225066..3ab8fc8 100644
+--- a/t/test.spec
++++ b/t/test.spec
+@@ -23,7 +23,8 @@ Summary:
+ Url:
+ Group:
+ Source: http://localhost:8080/data/%{name}-%{version}.tar.bz2
+-Patch:
++Patch: http://localhost:8080/data/patch1.diff
++Patch1: http://localhost:8080/data/patch2.diff
+ BuildRequires:
+ PreReq:
+ Provides:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/data/patch2.diff
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/data/patch2.diff
---
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/data/patch2.diff
1970-01-01 01:00:00.000000000 +0100
+++
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/data/patch2.diff
2016-02-17 14:38:20.000000000 +0100
@@ -0,0 +1,14 @@
+diff --git a/t/test.spec b/t/test.spec
+index 7225066..3ab8fc8 100644
+--- a/t/test.spec
++++ b/t/test.spec
+@@ -23,7 +23,8 @@ Summary:
+ Url:
+ Group:
+ Source: http://localhost:8080/data/%{name}-%{version}.tar.bz2
+-Patch:
++Patch: http://localhost:8080/data/patch1.diff
++Patch1: http://localhost:8080/data/patch2.diff
+ BuildRequires:
+ PreReq:
+ Provides:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/test.spec
new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/test.spec
--- old/obs-service-download_files-0.5.1.git.1437716073.690c01e/t/test.spec
1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1455712026.9c0a4a0/t/test.spec
2016-02-17 14:38:20.000000000 +0100
@@ -0,0 +1,53 @@
+#
+# spec file for package test
+#
+# Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: Test-Simple
+Version: 1.001014
+Release: 0.0
+License:
+Summary:
+Url:
+Group:
+Source: http://localhost:8080/data/%{name}-%{version}.tar.bz2
+Patch: http://localhost:8080/data/patch1.diff
+Patch1: http://localhost:8080/data/patch2.diff
+BuildRequires:
+PreReq:
+Provides:
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+
+%prep
+%setup -q
+
+%build
+%configure
+make %{?_smp_mflags}
+
+%install
+make install DESTDIR=%{buildroot} %{?_smp_mflags}
+
+%post
+
+%postun
+
+%files
+%defattr(-,root,root)
+%doc ChangeLog README COPYING
+
+