debian/0000755000000000000000000000000012271037674007177 5ustar debian/delta.docs0000644000000000000000000000001312016713036011122 0ustar www/*.html debian/compat0000644000000000000000000000000212016713036010363 0ustar 7 debian/control0000644000000000000000000000117412271035203010567 0ustar Source: delta Section: devel Priority: optional Maintainer: Jakub Wilk Standards-Version: 3.9.5 Build-Depends: debhelper (>= 7), dpkg-dev (>= 1.15.7), flex Homepage: http://delta.tigris.org/ XS-Testsuite: autopkgtest Package: delta Architecture: any Depends: ${perl:Depends}, ${shlibs:Depends}, ${misc:Depends} Description: heuristic minimizer of interesting files Delta assists you in minimizing "interesting" files subject to a test of their "interestingness". A common such situation is when attempting to isolate a small failure-inducing substring of a large input that causes your program to exhibit a bug. debian/patches/0000755000000000000000000000000012141441417010614 5ustar debian/patches/series0000644000000000000000000000013212016726370012032 0ustar allow-overriding-build-flags.diff allow-overriding-paths-for-tests.diff rename-delta.diff debian/patches/allow-overriding-paths-for-tests.diff0000644000000000000000000000364712017226660020010 0ustar Description: allow overriding paths of binaries for the test suite Author: Jakub Wilk Forwarded: no Last-Update: 2012-08-28 --- a/test0_delta/Makefile +++ b/test0_delta/Makefile @@ -2,7 +2,7 @@ DELTA_BASE := .. -DELTA := $(DELTA_BASE)/delta +DELTA = $(DELTA_BASE)/delta DELTA_FLAGS += -test=$(TEST) DELTA_FLAGS += -quiet --- a/test1_multidelta/testit +++ b/test1_multidelta/testit @@ -3,22 +3,25 @@ # test multidelta +: ${MULTIDELTA:=../multidelta} + set -e set -x + # reset state cp file1.start.txt file1.txt cp file2.start.txt file2.txt # run multidelta -../multidelta -cpp -level=3 ./trivtest file1.txt file2.txt +"$MULTIDELTA" -cpp -level=3 ./trivtest file1.txt file2.txt # compare to expected output diff file1.end.txt file1.txt diff file2.end.txt file2.txt # check that -u works -../multidelta -cpp -u ./trivtest file1.txt file2.txt +"$MULTIDELTA" -cpp -u ./trivtest file1.txt file2.txt # compare to original input diff file1.start.txt file1.txt --- a/test2_multidelta/testit +++ b/test2_multidelta/testit @@ -3,6 +3,8 @@ # test multidelta +: ${MULTIDELTA:=../multidelta} + set -e set -x @@ -11,14 +13,14 @@ cp file2.start.txt file2.txt # run multidelta -../multidelta -level=3 ./trivtest file1.txt file2.txt +"$MULTIDELTA" -level=3 ./trivtest file1.txt file2.txt # compare to expected output diff file1.end.txt file1.txt diff file2.end.txt file2.txt # check that -u works -../multidelta -u ./trivtest file1.txt file2.txt +"$MULTIDELTA" -u ./trivtest file1.txt file2.txt # compare to original input diff file1.start.txt file1.txt --- a/test1_multidelta/Makefile +++ b/test1_multidelta/Makefile @@ -2,6 +2,8 @@ # test and clean multidelta +export MULTIDELTA = ../multidelta + check: ./testit --- a/test2_multidelta/Makefile +++ b/test2_multidelta/Makefile @@ -2,6 +2,8 @@ # test and clean multidelta +export MULTIDELTA = ../multidelta + check: ./testit debian/patches/allow-overriding-build-flags.diff0000644000000000000000000000044612017226662017132 0ustar Description: allow overriding build flags Author: Jakub Wilk Forwarded: no Last-Update: 2012-08-27 --- a/Build.mk +++ b/Build.mk @@ -1,7 +1,7 @@ # see License.txt for copyright and terms of use CC := gcc -CFLAGS := -Wall +CFLAGS += -Wall # CFLAGS += -g FLEX := flex debian/patches/rename-delta.diff0000644000000000000000000000070412017227025014004 0ustar Description: rename ‘delta’ to ‘singledelta’ Author: Bradley Smith Bug-Debian: http://bugs.debian.org/529044 Forwarded: not-needed Last-Update: 2012-08-28 --- a/multidelta +++ b/multidelta @@ -13,7 +13,7 @@ use strict 'subs'; use FindBin; -$delta = "$FindBin::Bin/delta"; +$delta = "$FindBin::Bin/singledelta"; $topformflat = "$FindBin::Bin/topformflat"; $log = "multidelta.log"; debian/copyright0000644000000000000000000000470612271035226011130 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: delta Upstream-Contact: Daniel S. Wilkerson Source: http://delta.tigris.org/ Files: * Copyright: 2002-2005, Regents of the University of California License: BSD-3-clauses Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . Neither the name of the University of California, Berkeley nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: debian/* Copyright: 2009, Bradley Smith 2012-2014, Jakub Wilk License: GPL-3+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3'. debian/watch0000644000000000000000000000012312016713036010212 0ustar version=3 http://delta.tigris.org/ files/documents/\d+/\d+/delta-([\d.]+)\.tar\.gz debian/manpages/0000755000000000000000000000000012271036000010750 5ustar debian/manpages/multidelta.pod0000644000000000000000000000313212023177733013635 0ustar =head1 NAME multidelta - heuristic minimizer of interesting files =head1 SYNOPSIS B [options] I I [I...] =head1 DESCRIPTION Delta assists you in minimizing "interesting" files subject to a test of their interestingness. A common such situation is when attempting to isolate a small failure-inducing substring of a large input that causes your program to exhibit a bug. You supply B with =over 2 =item * a test shell script which decides if the input files are "interesting" (I) and =item * an initial set of input files. =back When the script is run with a source file as an argument, it should do any single-file integrity checks on that file. Then, it should proceed to check the entire build, on the assumption that all other files have already passed their integrity checks. When the script is run with no arguments, it should check integrity of all files and then check the build. So that the script does not need to have the list of input files hard-coded in, the environment variable C is always set to a space-separated list of the filenames no matter how the script is run. =head1 OPTIONS =over 4 =item B<-level>=I When Ling, flatten to level I. The default is 0. =item B<-u> Undo the last invocation, by copying the I<*.bak> files onto the original copies. =item B<-cpp> Before flattening run the source through the L preprocessor. =back =head1 SEE ALSO L, L L =cut debian/manpages/topformflat.pod0000644000000000000000000000126212023177733014030 0ustar =head1 NAME topformflat - flattens code with balanced delimiters =head1 SYNOPSIS B [I] =head1 DESCRIPTION B is a utility flattens code written in a language with balanced delimiters (such as C), so that all nesting below a specified depth is one one line. The I (default: 0) specifies at what nesting level of braces will line breaks be allowed (or inserted). By starting with 0, you get all top-level forms, one per line (roughly). Increasing the threshold leads to finer-grained structure on each line. The intent is to use the Delta minimizer on each level of granularity. =head1 SEE ALSO L, L =cut debian/manpages/singledelta.pod0000644000000000000000000000506512257576350014002 0ustar =head1 NAME singledelta - heuristic minimizer of interesting files =head1 SYNOPSIS B -test=I [options] [I] =head1 DESCRIPTION Delta assists you in minimizing "interesting" files subject to a test of their interestingness. A common such situation is when attempting to isolate a small failure-inducing substring of a large input that causes your program to exhibit a bug. You supply B with =over 2 =item * a test shell script which decides if its input file is "interesting" (I) and =item * an initial interesting input file (I or standard input). =back Delta uses heuristics to find a sub-file of your input file that is still "interesting" according to your test. Delta has a notion of the granularity of the file: the smallest atomic elements of which the file is seen as a sequence. The default is the line granularity: in this mode, delta will attempt to delete entire lines, but will never try deleting a smaller element than that. You can filter a program through L to produce a file where the line-granularity only goes to a specified nesting depth (if your file is in a nested language). L does this for you. =head1 OPTIONS =over 4 =item B<-test>=I Use I as the test program. This option is mandatory. The test program accepts a single argument, the name of the candidate file to test. It is run within a directory containing only that file, and it can make temporary files/directories in that directory. It should return zero for a candidate that exhibits the desired property, and nonzero for one that does not. =item B<-suffix>=I Set filename suffix to I. The default is C<.c>. =item B<-dump_input> Dump the contents of the initial file after reading it. =item B<-cp_minimal>=I Copy the minimal successful test to I. =item B<-granularity>=B Use lines as the granularity. This is the default. =item B<-granularity>=B Use C top-level forms as the granularity. This currently only works with CIL output. =item B<-log>=I Log main events to I. =item B<-quiet> Do not produce any output. =item B<-verbose> Produce more verbose output. =item B<-in_place> Overwrite I with inputs. =item B<-help> Print out usage information. =back =head1 NOTES The name B is Debian-specific. The upstream name of this program is simply B. =head1 SEE ALSO L, L L =cut debian/changelog0000644000000000000000000000607112271037672011053 0ustar delta (2006.08.03-6) unstable; urgency=low * Don't use dh_testdir; instead use makefile rules to ensure that debian/rules can be only run in the correct directory. * Bump standards version to 3.9.5 (no changes needed). * Fix typos in the manual page. * Update years in the copyright file. * Add “XS-Testsuite: autopkgtest”. * DEP-8 tests: replace “make” with “build-essential” in Depends. * Force gzip for .debian.tar compression. -- Jakub Wilk Sat, 25 Jan 2014 23:50:33 +0100 delta (2006.08.03-5) unstable; urgency=low * Upload to unstable. * Bump standards version to 3.9.4 (no changes needed). -- Jakub Wilk Sun, 05 May 2013 13:33:48 +0200 delta (2006.08.03-4) experimental; urgency=low * New maintainer (closes: #674869). * Set priority back to optional. * Remove Vcs-* fields. * Switch to source format 3.0 (quilt). + Add debian/source/format. + Remove explicit patching from debian/rules. + Remove build-dependency on quilt. * Neaten debian/rules: + Add build-arch target. + Merge install target into binary(-arch). + Make binary-indep target a no-op. + Run ‘make check’ only if DEB_BUILD_OPTIONS=nocheck is not set. + Avoid using $(CURDIR) where a relative directory would be sufficient. + Remove explicit rm build-stamp; let dh_clean delete the file instead. + Remove redundant check if Makefile exists (it always does). + Don't run dh_testroot in the clean target. There's a good chance that root privileges are not needed (e.g. because binary target was run under fakeroot), and even if they are actually needed, the target will fail quickly. * Pass CFLAGS, CPPFLAGS and LDFLAGS acquired from dpkg-buildflags to the build system. + Patch upstream makefile to allow overriding build flags. (allow-overriding-build-flags.diff) + Update debian/rules. + Build depend on dpkg-dev (>= 1.15.7). * Rebuild topformflat.c from source. + Build-depend on flex. + Remove the file in the build* targets. + Add the file to extend-diff-ignore. * Rename patch ‘00_rename_delta.diff’ to ‘rename-delta.diff’. * Add patch to allow overriding paths of binaries for the test suite. (allow-overriding-paths-for-tests.diff) * Bump standards version to 3.9.3 (no changes needed). * Add DEP-8 tests. * Update the copyright file. * Add manual pages (closes: #660376). * Make the first letter of the package synopsis lowercase. -- Jakub Wilk Sun, 09 Sep 2012 21:46:19 +0200 delta (2006.08.03-3) unstable; urgency=low * Rename delta to singledelta. Closes: #529044. -- Bradley Smith Wed, 27 May 2009 17:33:57 +0100 delta (2006.08.03-2) unstable; urgency=low * Add Conflicts with swap-cwm. Closes: #529044. * Change priority to extra. -- Bradley Smith Sun, 17 May 2009 13:59:01 +0100 delta (2006.08.03-1) unstable; urgency=low * Initial release. Closes: #525046. -- Bradley Smith Tue, 21 Apr 2009 19:46:49 +0100 debian/delta.manpages0000644000000000000000000000002412022701375011767 0ustar debian/manpages/*.1 debian/source/0000755000000000000000000000000012271037220010462 5ustar debian/source/format0000644000000000000000000000001412016713635011700 0ustar 3.0 (quilt) debian/source/options0000644000000000000000000000007212271036202012076 0ustar extend-diff-ignore = ^topformflat[.]c$ compression = gzip debian/rules0000755000000000000000000000223112271035125010242 0ustar #!/usr/bin/make -f cflags = $(shell dpkg-buildflags --get CFLAGS) cppflags = $(shell dpkg-buildflags --get CPPFLAGS) ldflags = $(shell dpkg-buildflags --get LDFLAGS) manpage_sources = $(wildcard debian/manpages/*.pod) manpages = $(manpage_sources:.pod=.1) .PHONY: build build-arch build-indep build build-arch: build-stamp build-stamp: Makefile debian/control $(manpages) ln -s delta singledelta rm -f topformflat.c $(MAKE) all CFLAGS="$(cflags) $(cppflags) $(ldflags)" ifeq "$(filter nocheck,$(DEB_BUILD_OPTIONS))" "" $(MAKE) check endif rm singledelta touch "$@" %.1: %.pod pod2man -c '' -r 'Delta 2006.08.03' $(<) > $(@) .PHONY: clean clean: Makefile debian/control $(MAKE) clean dh_clean $(manpages) .PHONY: binary binary-arch binary-indep binary binary-arch: build-stamp dh_testroot dh_prep mkdir -p debian/delta/usr/bin/ cp multidelta delta topformflat debian/delta/usr/bin/ mv debian/delta/usr/bin/delta debian/delta/usr/bin/singledelta dh_installchangelogs dh_installdocs dh_installman dh_link dh_strip dh_compress dh_fixperms dh_makeshlibs dh_installdeb dh_perl dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # vim:ts=4 sw=4 noet debian/tests/0000755000000000000000000000000012271037556010340 5ustar debian/tests/control0000644000000000000000000000005512271037556011743 0ustar Tests: tests Depends: delta, build-essential debian/tests/tests0000755000000000000000000000024112016733053011415 0ustar #!/bin/sh set -e -u cp -r Makefile *.mk test*/ "$ADTTMP/" make -C "$ADTTMP" check \ DELTA=singledelta \ MULTIDELTA=multidelta 2>&1 # vim:ts=4 sw=4 et