debian/0000755000000000000000000000000012251205034007160 5ustar debian/watch0000644000000000000000000000013312251204230010203 0ustar version=3 http://savannah.nongnu.org/files/?group=quilt (?:^|.*/)quilt-([\d\.]+)\.tar\.gz debian/gbp.conf0000644000000000000000000000015612251204230010576 0ustar [DEFAULT] pristine-tar = True debian-tag = %(version)s builder = debuild [git-buildpackage] sign-tags = True debian/dh_quilt_patch0000755000000000000000000000261312251204230012075 0ustar #!/usr/bin/perl -w =head1 NAME dh_quilt_patch - apply patches listed in debian/patches/series =cut use strict; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS B [S>] =head1 DESCRIPTION dh_quilt_patch simply calls B after having set the environment variable B to B. All patches listed in B are then applied in the current directory. The command does not fail if the patches have already been applied. You can use another directory instead of B by setting (and exporting) the environment variable B. =head1 EXAMPLES dh_quilt_patch is usually called indirectly in a rules file via the dh command. %: dh $@ --with quilt It can also be direcly called at the start of the build (or configure) rule. build: dh_quilt_patch ./configure $(MAKE) =cut init(); $ENV{"QUILT_PATCHES"} = $ENV{"QUILT_PATCH_DIR"} ? $ENV{"QUILT_PATCH_DIR"} : "debian/patches"; complex_doit('quilt --quiltrc /dev/null push -a || test $? = 2'); =head1 NOTES This tool is useless if you use the source package format B<3.0 (quilt)>. Consider switching to this source format if you haven't done it yet. =head1 SEE ALSO L, L. This program is meant to be used together with debhelper. =head1 AUTHOR Raphael Hertzog =cut debian/README.Debian0000644000000000000000000000226312251204230011221 0ustar Using quilt with debhelper -------------------------- If you use the dh command provided by debhelper 7, you can simply call it with "dh --with quilt" and dh_quilt_patch/dh_quilt_unpatch will be called at the right time. Otherwise you can manually call dh_quilt_patch / dh_quilt_unpatch at the right place, see their respective manpages for examples. dh supports the --with parameter since debhelper (>= 7.0.8) and quilt provides the required debhelper plugin since quilt (>= 0.46-7). Using quilt with CDBS --------------------- You can include /usr/share/cdbs/1/rules/patchsys-quilt.mk in debian/rules and be done with it. If you use DEB_SRCDIR you might want to set DEB_QUILT_TOPDIR to "." so that quilt patches are applied in the current directory and not in DEB_SRCDIR. This will ensure compatibility with the "3.0 (quilt)" source format. Using quilt in other packages ----------------------------- You can include /usr/share/quilt/quilt.make in debian/rules and modify your rules to depend on the targets provided by this Makefile (unpatch and $(QUILT_STAMPFN)). Here's an example: include /usr/share/quilt/quilt.make clean: unpatch ... build: $(QUILT_STAMPFN) ... debian/clean0000644000000000000000000000015212251204230010160 0ustar doc/quilt.txt doc/quilt.html compat/awk compat/sendmail debian/dh_quilt_patch.1 debian/dh_quilt_unpatch.1 debian/quilt.docs0000644000000000000000000000007712251204230011171 0ustar AUTHORS TODO debian/README.source doc/quilt.html doc/quilt.txt debian/dh_quilt_unpatch0000755000000000000000000000271412251204230012442 0ustar #!/usr/bin/perl -w =head1 NAME dh_quilt_unpatch - unapply patches listed in debian/patches/series =cut use strict; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS B [S>] =head1 DESCRIPTION dh_quilt_unpatch simply calls B after having set the environment variable B to B. All patches listed in B are then unapplied in the current directory. The command does not fail if the patches have already been unapplied. You can use another directory instead of B by setting (and exporting) the environment variable B. =head1 EXAMPLES dh_quilt_unpatch is usually called indirectly in a rules file via the dh command. %: dh $@ --with quilt It can also be direcly called in the clean rule. clean: dh_testdir dh_testroot [ ! -f Makefile ] || $(MAKE) clean dh_quilt_unpatch dh_clean =cut init(); $ENV{"QUILT_PATCHES"} = $ENV{"QUILT_PATCH_DIR"} ? $ENV{"QUILT_PATCH_DIR"} : "debian/patches"; complex_doit('quilt --quiltrc /dev/null pop -a || test $? = 2'); complex_doit('rm -rf .pc'); =head1 NOTES This tool is useless if you use the source package format B<3.0 (quilt)>. Consider switching to this source format if you haven't done it yet. =head1 SEE ALSO L, L. This program is meant to be used together with debhelper. =head1 AUTHOR Raphael Hertzog =cut debian/control0000644000000000000000000000364312251204230010566 0ustar Source: quilt Section: vcs Priority: optional Maintainer: Martin Quinson Uploaders: Raphaël Hertzog , Ryan Niebur Build-Depends: debhelper (>= 9) Build-Depends-Indep: gettext, hevea, lynx, diffstat, perl, procmail, ed Standards-Version: 3.9.4 Vcs-git: git://git.debian.org/git/collab-maint/quilt Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/quilt.git Homepage: http://savannah.nongnu.org/projects/quilt # Note that there is no need to depend on awk since it's essential Package: quilt Architecture: all Depends: patch (>= 2.6), diffstat, bzip2, gettext, bsdmainutils, ${misc:Depends}, ${perl:Depends} Suggests: procmail, graphviz, default-mta | mail-transport-agent Recommends: less Enhances: debhelper, cdbs Multi-Arch: foreign Description: Tool to work with series of patches Quilt manages a series of patches by keeping track of the changes each of them makes. They are logically organized as a stack, and you can apply, un-apply, refresh them easily by traveling into the stack (push/pop). . Quilt is good for managing additional patches applied to a package received as a tarball or maintained in another version control system. The stacked organization is proven to be efficient for the management of very large patch sets (more than hundred patches). As matter of fact, it was designed by and for Linux kernel hackers (Andrew Morton, from the -mm branch, is the original author), and its main use by the current upstream maintainer is to manage the (hundreds of) patches against the kernel made for the SUSE distribution. . This package provides seamless integration into Debhelper or CDBS, allowing maintainers to easily add a quilt-based patch management system in their packages. The package also provides some basic support for those not using those tools. See README.Debian for more information. # Local Variables: # Coding: utf-8 # End: debian/deb3.10000644000000000000000000000363312251204230010061 0ustar .TH deb3 1 "Dec 25, 2012" "deb3" .SH NAME deb3 \- convert debian source package to new 3.0 (quilt) format .SH SYNOPSIS .B deb3 [quilt|dpatch|0|1|2] .SH DESCRIPTION deb3 converts debian source packages which use series of patches from 1.0 format to new 3.0 (quilt) format while adjusting contents in debian/patches. This is run from the package top level directory. If run without argument, deb3 guesses source structure. Following formats are auto detected. .IP o 3 dh_quilt_patch/dh_quilt_unpatch .IP o 3 dpatch .IP o 3 cdbs (simple-patchsys.mk) .IP o 3 dbs (dbs-build.mk) .SH ARGUMENT You can force particular conversion using argument. .IP quilt 10 conversion for dh_quilt_patch/dh_quilt_unpatch .IP dpatch 10 conversion for dpatch .IP 0 10 conversion for dbs and cdbs made with -p 0 patches (default) .IP 1 10 conversion for dbs and cdbs made with -p 1 patches .IP 2 10 conversion for dbs and cdbs made with -p 2 patches .SH TERMINATING THE CONVERSION This deb3 program only provides a starting point. After its execution, further modifications are needed to your package. Typical changes are: .IP o 3 .BR Build-Depends : you should remove .IR cdbs , " dpatch " and " quilt" . Instead, you should add .I debhelper (>= 7.0.50~) .IP o 3 Add .B override_dh_* targets to debian/rules to address special cases. .IP o 3 Remove .B --with quilt from the debian/rules, if it uses the .B dh $@ syntax. .PP You can find tutorial for packaging using this new .B dh $@ style and new 3.0 (quilt) source format in the maint-guide package. It is also available at: http://www.debian.org/doc/manuals/maint-guide/index.en.html .SH COPYRIGHT (c) Osamu Aoki, 2010, GPL2+ dpatch2quilt.sh is used as the base of this program; Parts from http://blog.orebokech.com/2007/08/converting-debian-packages-from-dpatch.html (c) gregor herrmann, 2007-2008, GPL2+ (c) Damyan Ivanov, 2007-2008, GPL2+ (c) Martin Quinson, 2008, GPL2+ debian/quilt.examples0000644000000000000000000000004512251204230012052 0ustar quilt.quiltrc debian/dpatch2quilt.sh debian/patches/0000755000000000000000000000000012251204230010604 5ustar debian/patches/dep3mail0000644000000000000000000000300012251204230012216 0ustar Description: allow mail command to grab the mail title from dep3 formalism If the patch is formatted according to http://dep.debian.net/deps/dep3/ then the mail subcommand will manage to extract a mail subject. --- quilt/mail.in | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) Index: b/quilt/mail.in =================================================================== --- a/quilt/mail.in +++ b/quilt/mail.in @@ -338,6 +338,19 @@ then ' $tmpdir/patch > $tmpdir/body fi + # Does this patch have a Description: block? + if [ -z "$subject" ] + then + subject=$(formail -x Description: < $tmpdir/header |head -n 1) + if [ -n "$subject" ] + then + # Do not kill any headers as I don't really know what I want to kill: + # short version of Description was used as header, but not the long one, + # neither the other pseudo headers of the dep3 block + cp $tmpdir/patch $tmpdir/body + fi + fi + # Does this patch have DESC // subject // EDESC? if [ -z "$subject" ] then @@ -442,10 +455,14 @@ do subject=$(formail -x Replace-Subject: < "$tmpdir/$patch" | join_lines) if [ $status -ne 0 -o -z "$subject" ] then - printf \ + subject=$(formail -x Description: < "$tmpdir/$patch" | head -n 1) + if [ $status -ne 0 -o -z "$subject" ] + then + printf \ $"Unable to extract a subject header from %s\n" "$(print_patch "$patch")" >&2 - rm -rf $tmpdir - exit 1 + rm -rf $tmpdir + exit 1 + fi fi subjects[${#subjects[@]}]="$patch"$'\t'"$subject" done debian/patches/fail_on_missing0000644000000000000000000000256012251204230013672 0ustar Description: Verbosly fail when trying to push a non existant patch Useful if there is a typo in the serie file. This can be overriden by providing -f. Bug-Debian: http://bugs.debian.org/358875 Forwarded: sent 2012-12-19 This patch was refused by upstream: http://lists.nongnu.org/archive/html/quilt-dev/2013-01/msg00014.html . We need to think again about it to see how to rework it to make it more acceptable. --- quilt/push.in | 7 +++++++ test/missing.test | 4 ++++ 2 files changed, 11 insertions(+) Index: b/quilt/push.in =================================================================== --- a/quilt/push.in +++ b/quilt/push.in @@ -186,6 +186,13 @@ no_reject_files="-r $tmp" fi + if [ ! -e "$patch_file" -a -z "$opt_force" ] + then + printf $"Patch %s does not exist\n" \ + "$(print_patch $patch)" >&2 + return 1 + fi + apply_patch "$patch" "$patch_file" status=$? trap "" SIGINT Index: b/test/missing.test =================================================================== --- a/test/missing.test +++ b/test/missing.test @@ -5,6 +5,10 @@ < missing2.diff $ quilt push -qa + > Patch patches/missing1.diff does not exist + > Applying patch patches/missing1.diff + + $ quilt push -qaf > Applying patch patches/missing1.diff > Patch patches/missing1.diff does not exist; applied empty patch > Applying patch patches/missing2.diff debian/patches/dep3_headers0000644000000000000000000000606712251204230013066 0ustar Description: Adds the --dep3 option to include a DEP-3 template in the header. . Intensively using quilt for Debian packages and trying to adopt the DEP-3 Patch Tagging Guidelines for my patches, I often get to go on http://dep.debian.net/ to find the correct fields. . The proposed patch adds a --dep3 option to "quilt -e header" that adds a template feeded to $EDITOR if the header is empty. The template contains all fields and documents them, with indications of required/optional. Origin: vendor Author: Didier Raboud Reviewed-by: Martin Quinson Last-Update: 2012-02-02 Bug-Debian: http://bugs.debian.org/543355 --- NOTE: Even if DEP-3 has started within Debian, it has been written as a vendor neutral specification and this patch should be forwarded upstream too. --Raphael Hertzog --- quilt/header.in | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) Index: b/quilt/header.in =================================================================== --- a/quilt/header.in +++ b/quilt/header.in @@ -19,7 +19,7 @@ usage() { - printf $"Usage: quilt header [-a|-r|-e] [--backup] [--strip-diffstat] [--strip-trailing-whitespace] [patch]\n" + printf $"Usage: quilt header [-a|-r|-e] [--backup] [--dep3] [--strip-diffstat] [--strip-trailing-whitespace] [patch]\n" if [ x$1 = x-h ] then @@ -39,6 +39,10 @@ --backup Create a backup copy of the old version of a patch as patch~. + +--dep3 + When editing (-e), insert a template with DEP-3 headers. + DEP-3 is http://dep.debian.net/deps/dep3/ Patch Tagging Guidelines. " "$EDITOR" exit 0 else @@ -66,7 +70,7 @@ fi } -options=`getopt -o areh --long backup,strip-trailing-whitespace,strip-diffstat -- "$@"` +options=`getopt -o areh --long backup,dep3,strip-trailing-whitespace,strip-diffstat -- "$@"` if [ $? -ne 0 ] then @@ -90,6 +94,9 @@ --backup) QUILT_BACKUP=1 shift ;; + --dep3) + opt_use_dep3_headers=1 + shift ;; --strip-diffstat) opt_strip_diffstat=1 shift ;; @@ -147,6 +154,25 @@ fi ) > $tmp + # If triggered and file is empty, cat dep-3 headers into it + if [ -n "$opt_use_dep3_headers" -a ! -s $tmp ] + then + cat >$tmp <<-END + Description: + + Author: + Origin: , + Bug: + Bug-: + Forwarded: + Applied-Upstream: + Reviewed-by: + Last-Update: + --- + This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ + END + fi + if [ -n "$opt_edit" ] then LANG=$ORIGINAL_LANG sensible-editor "$tmp" || exit 1 debian/patches/graph_depends_on_graphviz0000644000000000000000000000241512251204230015742 0ustar Description: Informative message when using graph without graphviz Previously, trying to use the graph subcommand without graphviz being installed resulted in a cryptic error message: . Can't exec "tred": No such file or directory at /usr/lib/perl/5.14/IO/File.pm line 66, line 1. . graphviz is already in the Suggests field of the debian package, and we cannot raise this dependency severity given the central role of quilt in the debian infrastructure. This informative error message is much more sensible. Author: Martin Quinson Bug-Debian: http://bugs.debian.org/659944 Upstream-status: not submitted yet (half a dozen of patches are flying upstream) --- quilt/graph.in | 7 +++++++ 1 file changed, 7 insertions(+) Index: b/quilt/graph.in =================================================================== --- a/quilt/graph.in +++ b/quilt/graph.in @@ -17,6 +17,13 @@ then . $QUILT_DIR/scripts/patchfns fi +whichtred=`which /usr/bin/tred` +if [ -z "$whichtred" ] +then + echo $"It seems that graphviz is currently not installed (unable to find the tred binary). You must install it to use 'quilt graph'." + exit 1 +fi + usage() { printf $"Usage: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-labels=files] [-T ps] [patch]\n" debian/patches/setup-dont-read-pc0000644000000000000000000000215612251204230014146 0ustar Description: setup don't obey the settings of any englobing .pc . This is mainly intended to get the setup.test working even if the debian package contains a .pc directory. Without this patch, the debian packaging stuff will get the testsuite using debian/patches instead of patches (because it's the way it goes in our .pc). The test breaks with that setting. . The patch changes the setup command to not take the settings of any .pc directory found, and reset QUILT_PC QUILT_PATCHES and QUILT_SERIES to their default values. Bug-Debian: http://bugs.debian.org/573689 Forwarded: should be forwarded --- quilt/setup.in | 5 +++++ 1 file changed, 5 insertions(+) Index: b/quilt/setup.in =================================================================== --- a/quilt/setup.in +++ b/quilt/setup.in @@ -17,8 +17,13 @@ . $QUILT_DIR/scripts/patchfns if [ -n "$SUBDIR" ] then + # Damn, found an enclosing quilt directory; don't follow its settings cd $SUBDIR unset SUBDIR + unset QUILT_PC QUILT_PATCHES QUILT_SERIES + : ${QUILT_PC:=.pc} + : ${QUILT_PATCHES:=patches} + : ${QUILT_SERIES:=series} fi fi debian/patches/diff_exit_code0000644000000000000000000000202612251204230013462 0ustar Description: Exit with an error when diff's retcode=2 (error) on patch refresh Bug-Debian: http://bugs.debian.org/638313 Forwarded: not forwarded yet Author: Martin Quinson --- quilt/refresh.in | 2 +- quilt/scripts/patchfns.in | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) pipestatus: 1 Index: b/quilt/scripts/patchfns.in =================================================================== --- a/quilt/scripts/patchfns.in +++ b/quilt/scripts/patchfns.in @@ -766,6 +766,12 @@ echo "$line" cat fi + + # Test the return value of diff, and propagate the error retcode if any + if [ ${PIPESTATUS[0]} == 2 ] ; + then + return 1 + fi } cat_file() Index: b/quilt/refresh.in =================================================================== --- a/quilt/refresh.in +++ b/quilt/refresh.in @@ -231,7 +231,7 @@ fi if ! diff_file "$file" "$old_file" "$new_file" then - printf $"Diff failed, aborting\n" >&2 + printf $"Diff failed on '$new_file', aborting. Is it a binary file?\n" >&2 die 1 fi debian/patches/patch-wrapper_do_depend_on_proc0000644000000000000000000000136012251204230017024 0ustar Description: verbosly die if /proc is not mounted Let patch-wrapper die with an informative message when /proc is not mounted althrough it needs it to pass the patching request to GNU patch since it fails to understand all options. Forwarded: submitted 2012-12-19 --- bin/patch-wrapper.in | 4 ++++ 1 file changed, 4 insertions(+) Index: b/bin/patch-wrapper.in =================================================================== --- a/bin/patch-wrapper.in +++ b/bin/patch-wrapper.in @@ -171,6 +171,10 @@ if [ -n "$opt_input" ] then patch=$opt_input + elif [ ! -e /proc/self ] + then + echo "patch-wrapper: /proc not mounted!" >&2 + exit 1 elif [ -e /proc/self/fd/0 ] then patch=$(readlink /proc/self/fd/0) debian/patches/test_broken_patches0000644000000000000000000000223512251204230014557 0ustar --- test/file-not-found.test | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) Index: b/test/file-not-found.test =================================================================== --- /dev/null +++ b/test/file-not-found.test @@ -0,0 +1,30 @@ +# Try to push a patch touching a file which does not exist in this tree + +$ rm -rf d +$ mkdir -p d/patches +$ cd d + +$ mkdir subdir +$ echo foo > subdir/file.txt +$ echo bar > subdir/other.txt +$ diff -u subdir/file.txt subdir/other.txt > patches/patch +# simulate --no-timestamp +$ sed 's|subdir/file.txt.*|subdir/file.txt|' patches/patch > patches/patch2 +$ sed 's|subdir/other.txt.*|subdir/other.txt|' patches/patch2 > patches/patch +$ rm subdir/other.txt patches/patch2 +$ echo patch > patches/series + +$ quilt push +> Applying patch patches/patch +> patching file other.txt +> Hunk #1 FAILED at 1. +> 1 out of 1 hunk FAILED -- rejects in file other.txt +> Patch patches/patch does not apply (enforce with -f) + +$ quilt push -qf +> Applying patch patches/patch +> 1 out of 1 hunk FAILED -- saving rejects to file other.txt.rej +> Applied patch patches/patch (forced; needs refresh) + +$ cd .. +$ rm -rf d debian/patches/shell-subcommand0000644000000000000000000000572212251204230013772 0ustar Description: Implement a new "quilt shell" command The command launches a shell in a duplicate environment. After exiting the shell, any modifications made in this environment are applied to the topmost patch. Author: Josselin Mouette Bug-Debian: http://bugs.debian.org/526141 Forwarded: submitted 2012-12-19 --- bash_completion | 2 - quilt/shell.in | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) Index: b/quilt/shell.in =================================================================== --- /dev/null +++ b/quilt/shell.in @@ -0,0 +1,67 @@ +#! @BASH@ + +# This script is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# See the COPYING and AUTHORS files for more details. + +# Read in library functions +if [ "$(type -t patch_file_name)" != function ] +then + if ! [ -r $QUILT_DIR/scripts/patchfns ] + then + echo "Cannot read library $QUILT_DIR/scripts/patchfns" >&2 + exit 1 + fi + . $QUILT_DIR/scripts/patchfns +fi + +if [ "$1" = "-h" ]; then + printf $"Usage: quilt shell [command]\n" + printf $" +Launch a shell in a duplicate environment. After exiting the shell, any +modifications made in this environment are applied to the topmost patch. + +If a command is specified, it is executed instead of launching the shell. +" + exit 0 +fi + +tmpdir=$(mktemp -d /tmp/quilt-XXXXXX) + +cp -a . $tmpdir + +( + cd $tmpdir/"$SUBDIR" + if [ $# -gt 0 ]; then + exec "$@" + else + $SHELL + fi +) + +# Find new directories +( cd $tmpdir; find . -type d ! -path ./"$QUILT_PC"/\* ! -path ./"$QUILT_PATCHES"/\* ) | while read dir; do + if [ ! -d "$dir" ]; then + mkdir -p "$dir" + fi +done + +# New and modified files +( cd $tmpdir; find . -type f ! -path ./"$QUILT_PC"/\* ! -path ./"$QUILT_PATCHES"/\* ) | while read file; do + if [ ! -f "$file" ] || ! diff -q "$file" $tmpdir/"$file" > /dev/null 2>&1; then + quilt_command add "$file" + cp -a $tmpdir/"$file" "$file" + fi +done + +# Removed files +( find . -type f ! -path ./"$QUILT_PC"/\* ! -path ./"$QUILT_PATCHES"/\* ) | while read file; do + if [ ! -f $tmpdir/"$file" ]; then + quilt_command add "$file" + rm -f "$file" + fi +done + +rm -rf $tmpdir Index: b/bash_completion =================================================================== --- a/bash_completion +++ b/bash_completion @@ -97,7 +97,7 @@ # quilt sub commands cmds='add annotate applied delete diff edit files fold fork graph \ grep header import mail new next patches pop previous push refresh \ - remove rename revert series setup snapshot top unapplied' + remove rename revert series setup shell snapshot top unapplied' # if no command were given, complete on commands if [[ $COMP_CWORD -eq 1 ]] ; then debian/patches/select-mail0000644000000000000000000000523312251204230012731 0ustar Description: add --select option to mail command . When you want to only send out part of a series, this is not trivial with quilt. This patch adds a --select option to the mail command to allow editing a copy of the series file before sending mail so that only those patches you keep in that file are sent. Origin: vendor Author: Johannes Berg Reviewed-by: Martin Quinson Last-Update: 2013-08-05 Bug-Debian: http://bugs.debian.org/481331 --- quilt/mail.in | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) Index: b/quilt/mail.in =================================================================== --- a/quilt/mail.in +++ b/quilt/mail.in @@ -19,7 +19,7 @@ usage() { - printf $"Usage: quilt mail {--mbox file|--send} [-m text] [-M file] [--prefix prefix] [--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--subject ...] [--reply-to message] [first_patch [last_patch]]\n" + printf $"Usage: quilt mail {--mbox file|--send} [--select] [-m text] [-M file] [--prefix prefix] [--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--subject ...] [--reply-to message] [first_patch [last_patch]]\n" if [ x$1 = x-h ] then printf $" @@ -66,6 +66,9 @@ --reply-to message Add the appropriate headers to reply to the specified message. + +--select + Edit a copy of the series file to select patches to send. " "@DOCSUBDIR@/README.MAIL" exit 0 else @@ -163,7 +166,7 @@ options=`getopt -o m:M:h \ --long from:,to:,cc:,bcc:,subject: \ --long send,mbox:,charset:,sender: \ - --long prefix:,reply-to:,signature: -- "$@"` + --long select,prefix:,reply-to:,signature: -- "$@"` if [ $? -ne 0 ] then @@ -221,6 +224,9 @@ --send) opt_send=1 shift ;; + --select) + opt_select=1 + shift ;; --mbox) opt_mbox=$2 shift 2 ;; @@ -260,6 +266,10 @@ if [ $# -ge 1 ] then + if [ -n "$opt_select" ] ; then + echo $"Cannot use --select when specifying the first and last patch to work with." + exit 1 + fi if [ "$1" = - ] then first_patch="$(find_first_patch)" || exit 1 @@ -414,6 +424,9 @@ } fi +tmpdir=$(gen_tempfile -d) +add_exit_handler "rm -rf $tmpdir" + if [ -n "$first_patch" ] then if [ -n "$last_patch" ] @@ -435,14 +448,18 @@ else patches=( "$first_patch" $(patches_after "$first_patch") ) fi -else +elif [ -n "$opt_select" ] ; then + nser="$tmpdir/series" + cp "$SERIES" "$nser" + if ! $EDITOR "$nser" ; then + exit 1 + fi + SERIES="$nser" +else patches=( $(cat_series) ) fi total=${#patches[@]} -tmpdir=$(gen_tempfile -d) -add_exit_handler "rm -rf $tmpdir" - for patch in "${patches[@]}" do mkdir -p "$tmpdir/$(dirname "$patch")" debian/patches/check_SERIES_exists0000644000000000000000000000130612251204230014255 0ustar Description: verbose error message when the serie file does not exist Displays an error message when the $SERIES file does not exist and when run in verbose mode. Bug-Debian: http://bugs.debian.org/369908 Upstream-status: submitted 2012-12-19 --- quilt/scripts/patchfns.in | 3 +++ 1 file changed, 3 insertions(+) Index: b/quilt/scripts/patchfns.in =================================================================== --- a/quilt/scripts/patchfns.in +++ b/quilt/scripts/patchfns.in @@ -329,6 +329,9 @@ sed -e '/^#/d' -e 's/^[ '$'\t'']*//' \ -e 's/[ '$'\t''].*//' -e '/^$/d' $SERIES else + if [ "$opt_verbose" ]; then + echo "series file not found: $SERIES" >&2 + fi return 1 fi } debian/patches/return20000644000000000000000000000567512251204230012145 0ustar Description: Return 2 (instead of 1) when there is nothing to do This is mandatory to differentiate "error" and "everything's done". . This really ease the scripting around quilt, eg in patchsys-quilt.mk . It used to works this way, and was changed upstream in commit 188c7dac15a72c437c47664d3162b9f13844fe88 for quilt version 0.43. This regression was the result of a code factorization. . This patch also contains the documentation update, by adding a EXIT STATUS to the man page. Bug-Debian: http://bugs.debian.org/358792 (return 2 on NO-OP) Bug-Debian: http://bugs.debian.org/587001 (document exit status) Forwarded: Submitted 2013-01-18 Changelog: - 2012-12-19: Submitted upstream - 2013-01-18: Upstream asked for changes and documentation - 2013-01-18: new version subitted upstream Last-Update: 2013-01-18 --- doc/quilt.1.in | 11 ++++++++--- quilt/push.in | 2 +- quilt/scripts/patchfns.in | 8 ++++---- 3 files changed, 13 insertions(+), 8 deletions(-) Index: b/quilt/push.in =================================================================== --- a/quilt/push.in +++ b/quilt/push.in @@ -363,7 +363,7 @@ [ -z "$opt_all" ] && number=1 fi -stop_at_patch=$(find_unapplied_patch "$stop_at_patch") || exit 1 +stop_at_patch=$(find_unapplied_patch "$stop_at_patch") || exit [ -z "$opt_verbose" ] && silent_unless_verbose=-s [ -n "$opt_force" ] && opt_leave_rejects=1 Index: b/quilt/scripts/patchfns.in =================================================================== --- a/quilt/scripts/patchfns.in +++ b/quilt/scripts/patchfns.in @@ -483,7 +483,7 @@ else printf $"No series file found\n" >&2 fi - return 1 + return 2 fi echo "$patch" @@ -588,7 +588,7 @@ then printf $"Patch %s is currently applied\n" \ "$(print_patch $patch)" >&2 - return 1 + return 2 fi echo "$patch" else @@ -598,13 +598,13 @@ then patch_after "$start" else - find_first_patch || return 1 + find_first_patch || return 2 fi if [ $? -ne 0 ] then printf $"File series fully applied, ends at patch %s\n" \ "$(print_patch $start)" >&2 - return 1 + return 2 fi fi } Index: b/doc/quilt.1.in =================================================================== --- a/doc/quilt.1.in +++ b/doc/quilt.1.in @@ -122,6 +122,13 @@ Print the version number and exit immediately. +.SH EXIT STATUS + +The exit status is 0 if the subcommand was successfully executed, and +1 in case of error. An exit status of 2 denotes that quilt did not do +anything to complete the command; This happens for example when asking +to push when the whole stack is already pushed. This behavior is +intended to ease the scripting around quilt. .SH EXAMPLE OF WORKING TREE @@ -141,9 +148,7 @@ .RE .fam T -.SH EXAMPLE - -Please refer to the pdf documentation for an example. +Please refer to the pdf documentation for a full example of use. .SH CONFIGURATION FILE debian/patches/push_timeskew0000644000000000000000000001200712251204230013416 0ustar Description: ensure that all mtime of modified files are equal when pushing This is intended to avoid time skew in build systems in some cases. . See the discussion http://lists.debian.org/debian-policy/2008/02/msg00030.html for more context information. Bug-Debian: http://bugs.debian.org/466360 Upstream-status: to be submitted --- quilt/push.in | 22 ++++++++-- quilt/scripts/backup-files.in | 3 - test/push_timeskew.test | 86 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 105 insertions(+), 6 deletions(-) Index: b/quilt/push.in =================================================================== --- a/quilt/push.in +++ b/quilt/push.in @@ -30,7 +30,8 @@ specified number of patches. When a patch name is specified, apply all patches up to and including the specified patch. Patch names may include the patches/ prefix, which means that filename completion can -be used. +be used. The mtime of all touched files will be exactly the same to +prevent time skews. -a Apply all patches in the series file. @@ -209,18 +210,29 @@ touch "$QUILT_PC/$patch~refresh" fi - if [ -e "$QUILT_PC/$patch" ] + if ! [ -e "$QUILT_PC/$patch" ] then - touch "$QUILT_PC/$patch/.timestamp" - else mkdir "$QUILT_PC/$patch" fi + touch "$QUILT_PC/$patch/.timestamp" + + # Store the list of files to process + NONEMPTY_FILES=$(gen_tempfile) + trap "rm -f \"$NONEMPTY_FILES\"" EXIT + find "$QUILT_PC/$patch" -type f \ + -a ! -path "$QUILT_PC/$patch/.timestamp" -size +0 -print0 > "$NONEMPTY_FILES" + + if [ -s "$NONEMPTY_FILES" ]; then + xargs -0 touch -c -r "$QUILT_PC/$patch/.timestamp" < "$NONEMPTY_FILES" + fi + + rm -f $NONEMPTY_FILES if ! [ -e "$patch_file" ] then printf $"Patch %s does not exist; applied empty patch\n" \ "$(print_patch "$patch")" - elif [ -z "$(shopt -s nullglob ; echo "$QUILT_PC/$patch/"*)" ] + elif [ "$(shopt -s nullglob ; echo "$QUILT_PC/$patch/"*)" = "$QUILT_PC/$patch/.timestamp" ] then printf $"Patch %s appears to be empty; applied\n" \ "$(print_patch "$patch")" Index: b/quilt/scripts/backup-files.in =================================================================== --- a/quilt/scripts/backup-files.in +++ b/quilt/scripts/backup-files.in @@ -181,8 +181,9 @@ done < "$NONEMPTY_FILES" fi + modif_time=`date +%m%d%H%M.%S` if [ -n "$OPT_TOUCH" ]; then - xargs -0 touch -c < "$NONEMPTY_FILES" + xargs -0 touch -t $modif_time -c < "$NONEMPTY_FILES" fi fi Index: b/test/push_timeskew.test =================================================================== --- /dev/null +++ b/test/push_timeskew.test @@ -0,0 +1,86 @@ +This test enforces that files touched by a patch have the exact same +mtime when pushing and poping the patch. +(To run, type `./run push_timeskew.test' in this directory.) + + $ mkdir patches d + + $ quilt new patch1 + > Patch %{P}patch1 is now on top + + $ cd d + $ mkdir dir + $ echo "This is file one." > dir/file1 + $ quilt add dir/file1 + > File d/dir/file1 added to patch %{_P}patch1 + + $ echo "This is file two." > dir/file2 + $ quilt add dir/file2 + > File d/dir/file2 added to patch %{_P}patch1 + + $ echo "More content to file one." >> dir/file1 + $ echo "More content to file two." >> dir/file2 + $ quilt refresh + > Refreshed patch %{_P}patch1 + + $ quilt pop -q + > Removing patch %{_P}patch1 + > No patches applied + + $ test dir/file1 -nt dir/file2 && echo "timeskew!" + $ test dir/file2 -nt dir/file1 && echo "timeskew!" + + $ quilt push -q + > Applying patch %{_P}patch1 + > Now at patch %{_P}patch1 + + $ test dir/file1 -nt dir/file2 && echo "timeskew!" + $ test dir/file2 -nt dir/file1 && echo "timeskew!" + + + + # And now, enforces that this timestamp fixup don't create unwanted files + $ quilt new patch2.diff + > Patch %{_P}patch2.diff is now on top + + $ echo "some content" > dir/file_removed + $ quilt add dir/file_removed + > File d/dir/file_removed added to patch %{_P}patch2.diff + + $ quilt add dir/file_created + > File d/dir/file_created added to patch %{_P}patch2.diff + + $ rm dir/file_removed + $ echo "some content" > dir/file_created + $ quilt refresh + > Refreshed patch %{_P}patch2.diff + + $ quilt diff --no-timestamps --no-index -p ab + > --- /dev/null + > +++ b/d/dir/file_created + > @@ -0,0 +1 @@ + > +some content + > --- a/d/dir/file_removed + > +++ /dev/null + > @@ -1 +0,0 @@ + > -some content + + $ quilt pop + > Removing patch %{_P}patch2.diff + > Removing d/dir/file_created + > Restoring d/dir/file_removed + > + > Now at patch %{_P}patch1 + + $ test -e dir/file_created && echo "Created file should not exist when patch is poped!" + $ test ! -e dir/file_removed && echo "Deleted file should exist when patch is poped!" + + $ quilt push + > Applying patch %{_P}patch2.diff + > patching file d/dir/file_created + > patching file d/dir/file_removed + > + > Now at patch %{_P}patch2.diff + + $ test ! -e dir/file_created && echo "Created file should exist when patch is pushed!" + $ test -e dir/file_removed && echo "Deleted file should not exist when patch is pushed!" + debian/patches/series0000644000000000000000000000057212251204230012025 0ustar dep3mail fail_on_missing return2 # Works only with patch 2.6 and newer currently and we don't want to break # backports (see #560621 for discussion) # test_broken_patches check_SERIES_exists patch-wrapper_do_depend_on_proc shell-subcommand use-sensible-editor setup-dont-read-pc dep3_headers graph_depends_on_graphviz push_timeskew unset_grep_options diff_exit_code select-mail debian/patches/unset_grep_options0000644000000000000000000000121012251204230014447 0ustar Description: unset GREP_OPTIONS at startup as quilt breaks with uncommon options Bug-Debian: http://bugs.debian.org/715563 Forwarded: not forwarded yet Author: Martin Quinson --- bin/quilt.in | 4 ++++ 1 file changed, 4 insertions(+) Index: b/bin/quilt.in =================================================================== --- a/bin/quilt.in +++ b/bin/quilt.in @@ -10,6 +10,10 @@ # non-interactively when it's set. unset POSIXLY_CORRECT +# unset GREP_OPTIONS as it's quite easy to break quilt with uncommon options +# see http://bugs.debian.org/715563 +unset GREP_OPTIONS + export TEXTDOMAIN=quilt export TEXTDOMAINDIR=@LOCALEDIR@ debian/patches/use-sensible-editor0000644000000000000000000000432212251204230014412 0ustar Description: use Debian's sensible-editor instead of trying to guess the editor the original bug that triggered this change was that quilt doesn't honour $VISUAL Bug-Debian: http://bugs.debian.org/509076 Forwarded: not-needed Author: Ryan Niebur --- quilt/edit.in | 4 +--- quilt/header.in | 4 +--- quilt/mail.in | 4 +--- test/edit.test | 1 + 4 files changed, 4 insertions(+), 9 deletions(-) Index: b/quilt/edit.in =================================================================== --- a/quilt/edit.in +++ b/quilt/edit.in @@ -6,8 +6,6 @@ # # See the COPYING and AUTHORS files for more details. -: ${EDITOR:=vi} - # Read in library functions if [ "$(type -t patch_file_name)" != function ] then @@ -65,7 +63,7 @@ then exit $status fi -LANG=$ORIGINAL_LANG $EDITOR "${@/#/$SUBDIR}" +LANG=$ORIGINAL_LANG sensible-editor "${@/#/$SUBDIR}" status=$? for file in "$@" do Index: b/quilt/header.in =================================================================== --- a/quilt/header.in +++ b/quilt/header.in @@ -17,8 +17,6 @@ . $QUILT_DIR/scripts/patchfns fi -: ${EDITOR:=vi} - usage() { printf $"Usage: quilt header [-a|-r|-e] [--backup] [--strip-diffstat] [--strip-trailing-whitespace] [patch]\n" @@ -151,7 +149,7 @@ if [ -n "$opt_edit" ] then - LANG=$ORIGINAL_LANG $EDITOR "$tmp" || exit 1 + LANG=$ORIGINAL_LANG sensible-editor "$tmp" || exit 1 fi maybe_strip_diffstat < $tmp \ Index: b/quilt/mail.in =================================================================== --- a/quilt/mail.in +++ b/quilt/mail.in @@ -6,8 +6,6 @@ # # See the COPYING and AUTHORS files for more details. -: ${EDITOR:=vi} - # Read in library functions if [ "$(type -t patch_file_name)" != function ] then @@ -541,7 +539,7 @@ if [ -z "$opt_message" ] then - if ! LANG=$ORIGINAL_LANG $EDITOR $introduction + if ! LANG=$ORIGINAL_LANG sensible-editor $introduction then rm -f $introduction exit 1 Index: b/test/edit.test =================================================================== --- a/test/edit.test +++ b/test/edit.test @@ -6,6 +6,7 @@ < sed -e 's:foo:bar:' $1 > $1.new < mv $1.new $1 $ chmod +x editor +$ unset VISUAL $ export EDITOR=%{PWD}/editor $ quilt new patch debian/quilt.pm0000644000000000000000000000043212251204230010650 0ustar #!/usr/bin/perl use warnings; use strict; use Debian::Debhelper::Dh_Lib; insert_before("dh_auto_configure", "dh_quilt_patch"); insert_before("dh_clean", "dh_quilt_unpatch"); # Eval to avoid problem with debhelper < 7.3.12 eval { add_command("dh_quilt_patch", "patch"); }; 1; debian/dpatch2quilt.sh0000644000000000000000000000345612251204230012125 0ustar #!/bin/sh # to be run from the package top level directory # parts taken from http://blog.orebokech.com/2007/08/converting-debian-packages-from-dpatch.html # (c) gregor herrmann, 2007-2008, GPL2+ # (c) Damyan Ivanov, 2007-2008, GPL2+ # (c) Martin Quinson, 2008, GPL2+ # svn-related lines commented out by Martin Quinson. set -e export QUILT_PATCHES=debian/patches dh_testdir [ -f debian/patches/00list ] || exit 1 for p in $(dpatch list-all); do quilt import -P $p.patch debian/patches/$p.dpatch AUTHOR=$(dpatch cat --author-only $p.dpatch) DESC=$(dpatch cat --desc-only $p.dpatch) echo "Author: $AUTHOR" | quilt header -r $p.patch echo "Description: $DESC" | quilt header -a $p.patch quilt push quilt refresh --no-timestamps --no-index --strip-trailing-whitespace # svn add debian/patches/$p.patch done quilt pop -a COUNT_D=$(ls -1 debian/patches/*.dpatch | wc -l) COUNT_Q=$(ls -1 debian/patches/*.patch | wc -l) # svn add debian/patches/series # svn rm debian/patches/00list debian/patches/*.dpatch sed -i -e 's;/usr/share/dpatch/dpatch\.make;/usr/share/quilt/quilt.make;' debian/rules sed -i -e 's;DPATCH_STAMPFN;QUILT_STAMPFN;' debian/rules sed -i -e 's;patch-stamp;$(QUILT_STAMPFN);' debian/rules # same as "sed s/dpatch/quilt", but supports multi-line Build-Depends perl -i -pe ' if( /^Build-Depends: / ) { $do_replace = 1; s/dpatch ?(?:\(.+\))?/quilt (>= 0.40)/; next; } if( /^ / ) { s/dpatch ?(?:\(.+\))?/quilt (>= 0.40)/ if $do_replace; } else { $do_replace = 0; }' debian/control echo echo "The next commit would remove $COUNT_D dpatch patches and add $COUNT_Q quilt patches." if [ "$COUNT_D" != "$COUNT_Q" ] ; then echo "WARNING: The numbers of removed dpatch patches and added quilt patches differ!" fi exit 0 debian/compat0000644000000000000000000000000212251204230010353 0ustar 9 debian/quilt.manpages0000644000000000000000000000010012251204230012017 0ustar debian/dh_quilt_patch.1 debian/dh_quilt_unpatch.1 debian/deb3.1 debian/quilt.make0000644000000000000000000000123612251204230011154 0ustar # -*- Makefile -*-, you silly Emacs! # vim: set ft=make: # # This file tries to mimick /usr/share/dpatch/dpatch.make # # QUILT_STAMPFN: stamp file to use QUILT_STAMPFN ?= debian/stamp-patched # QUILT_PATCH_DIR: where the patches live QUILT_PATCH_DIR ?= debian/patches patch: $(QUILT_STAMPFN) $(QUILT_STAMPFN): @# quilt exits with 2 as return when there was nothing to do. @# That's not an error here QUILT_PATCHES=$(QUILT_PATCH_DIR) \ quilt --quiltrc /dev/null push -a || test $$? = 2 touch $(QUILT_STAMPFN) unpatch: QUILT_PATCHES=$(QUILT_PATCH_DIR) \ quilt --quiltrc /dev/null pop -a -R || test $$? = 2 rm -rf .pc $(QUILT_STAMPFN) .PHONY: patch unpatch debian/rules0000755000000000000000000000347012251204230010241 0ustar #!/usr/bin/make -f # Where we want quilt to install files export BUILD_ROOT=$(CURDIR)/debian/quilt %: dh $@ override_dh_auto_clean: test ! -e Makefile || touch Makefile # Avoids auto-rebuild rule to kick-in dh_auto_clean # Restore pristine l10n files for po in po/*.backup; do test ! -e $$po || mv $$po $${po%%.backup}; done override_dh_auto_configure: dh_auto_configure -- --with-docdir=/usr/share/doc/quilt --with-sendmail=/usr/sbin/sendmail --with-awk=/usr/bin/awk override_dh_auto_build: # Backup a pristine copy of l10n files for po in po/*.po po/quilt.pot; do cp $$po $$po.backup; done # Build quilt dh_auto_build # Build a HTML/txt copy of the documentation mkdir -p doc/tmp cd doc/tmp; LC_ALL=C hevea ../main.tex ; LC_ALL=C hevea ../main.tex; LC_ALL=C hevea ../main.tex perl -pe 'if (/\\sh{.*}/) {s:\\sh{(.*)}:$$1:}' \ < doc/tmp/main.html > doc/quilt.html LC_ALL=C perl -e '$$/ = undef; $$f=<>; $$f =~ s|]*?HREF="[^"]*#[^"]*">(.*?)|$$1|msg; print $$f;' < doc/tmp/main.html > doc/tmp/tmp.html LC_ALL=C lynx doc/tmp/tmp.html -dump > doc/quilt.txt rm -rf doc/tmp pod2man -c Debhelper debian/dh_quilt_patch debian/dh_quilt_patch.1 pod2man -c Debhelper debian/dh_quilt_unpatch debian/dh_quilt_unpatch.1 override_dh_auto_install: dh_auto_install rm -f debian/quilt/etc/quilt.quiltrc override_dh_installchangelogs: dh_installchangelogs quilt.changes override_dh_compress: # Don't compress the .pdf, it's annoying and brings almost nothing # since the format is already compressed dh_compress -X.pdf override_dh_auto_test: ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) @if ! [ -d /proc/1 ]; then \ echo "quilt needs a mounted /proc to correctly build";\ echo "If you really want to build without /proc, add nocheck to DEB_BUILD_OPTIONS"; \ exit 1; \ fi dh_auto_test endif debian/quilt.install0000644000000000000000000000045112251204230011703 0ustar debian/quilt.debbuild.mk usr/share/quilt debian/quilt.make usr/share/quilt debian/patchsys-quilt.mk usr/share/cdbs/1/rules debian/deb3 usr/bin debian/dh_quilt_patch usr/bin debian/dh_quilt_unpatch usr/bin debian/quilt.pm usr/share/perl5/Debian/Debhelper/Sequence debian/changelog0000644000000000000000000012725712251204230011045 0ustar quilt (0.61-1) unstable; urgency=low * New upstream release. - Update our patches against this new release; drop accepted ones: doc_search_of_patches, default_pager_less-R, handling_of_patches_with_column_in_their_name - Rename d/p/fix-test-setup to d/p/setup-dont-read-pc: upstream setup don't work when our .pc directory changes QUILT_PATCHES to debian/patches. We used to have a little hacky solution, but it's not enough anymore, so make it right. -- Martin Quinson Mon, 09 Dec 2013 01:02:14 +0100 quilt (0.60-10) unstable; urgency=low * d/p/select-mail: Ease the selection of patches to mail out. (Closes: #481331) I cannot understand how I managed to not apply this patch in the last five years! Sorry to Johannes Berg that contributed it, and to anyone who missed it... -- Martin Quinson Thu, 05 Sep 2013 14:17:25 +0200 quilt (0.60-9) unstable; urgency=low * d/p/unset_grep_options: unset GREP_OPTIONS as it often breaks quilt (Closes: #715563) * d/p/diff_exit_code: fail on refresh when diff's retcode is 2 (Closes: #638313) -- Martin Quinson Thu, 22 Aug 2013 03:23:59 +0200 quilt (0.60-8) unstable; urgency=low * merge patch doc_exit_status into return2, as upstream asked for it before integration * d/p/push_timeskew: updated to properly remove temp files. Thanks to Marc Deslauriers and other Ubuntu dudes for the bug report and patch (Closes: #701929). -- Martin Quinson Sun, 03 Mar 2013 18:57:00 +0100 quilt (0.60-7) unstable; urgency=low * d/p/push_timeskew: pass -q to quilt pop, restore order is arbitrary. Thanks to Adam Conrad and other ubuntu dudes for the bug report and patch (Closes: #697419). -- Martin Quinson Sat, 05 Jan 2013 12:34:25 +0100 quilt (0.60-6) unstable; urgency=low * d/deb3: Reintroduce QUILT_PATCH_OPTS: previous bug report was buggy. We should just depend on patch >= 2.6 to get it working properly. Sorry for letting the buggy fix in, and thanks to Osamu for noticing. Closes: #696858. -- Martin Quinson Thu, 03 Jan 2013 18:25:53 +0100 quilt (0.60-5) unstable; urgency=low * Update Standards-Version to 3.9.4 (no change) * d/p/push_timeskew: only touch the non-empty files to not create any unwanted files (Closes: #697034). -- Martin Quinson Mon, 31 Dec 2012 12:38:38 +0100 quilt (0.60-4) unstable; urgency=low * d/p/push_timeskew: when doing a quilt push, ensure that the mtime of all modified files are the same. This should solve some rare timeskew while building the packages (and Closes: #466360). * debian/deb3: Remove QUILT_PATCH_OPTS=--reject-format=unified as it is not accepted by modern patch anymore (Closes: #696858). Ooops. * d/p/handling_of_patches_with_column_in_their_name: Fix the handling of patches with ':' in their name (Closes: #679779). The patch was picked in upstream git. -- Martin Quinson Sun, 30 Dec 2012 19:10:36 +0100 quilt (0.60-3) unstable; urgency=low * debian/control: specify the encoding to emacs at the file bottom, not the file top (Closes: #689554). This should help clumsy tools that get fooled when the control file begins with an empty paragraph, even if they should not break. * debian/control: Recommends less, as we use it in most commands (probably all but the raw push/pop ones). (LP: #1089601) * Add deb3 script to convert debian source package to new 3.0 (quilt) format. Thanks to Osamu Aoki for that (Closes: #581186). * d/p/dep3mail: Allow mail subcommand to get the mail subject from dep3-formated patches, so that I can use it to report the changes done to quilt itself to my own upstream. * d/p/doc_search_of_patches: Document the fact that quilt searches for its `patches' directory in the same way that git searches for its configuration (Closes: #549482). * d/p/doc_exit_status: Document the exit status (Closes: #587001). * d/p/graph_depends_on_graphviz: Provide an informative message on 'quilt graph' without graphviz being installed (Closes: #659944). * d/p/default_pager_less-R: Use 'less -R' as default pager (LP: #933617) -- Martin Quinson Thu, 27 Dec 2012 17:06:19 +0100 quilt (0.60-2) unstable; urgency=low * Fix up previous changelog entry erroneously mentioning UNRELEASED. -- Raphaël Hertzog Sun, 04 Mar 2012 08:51:56 +0100 quilt (0.60-1) unstable; urgency=low * New upstream release. * Drop patch mail-signature, quilt mail --signature has been upstream since 2007. * Drop patch no-signature-test since the test-suite has been fixed to not vary based on the user's signature. * Drop patch arch_all, merged upstream. * Drop patch ensure-manpage-has-correct-patches-dir, merged upstream. * Drop patch override_mail_sender_in_testsuite, merged upstream. * Drop patch mail-from-locale, similar fix merged upstream. * Drop patch unset_posix_strict_conformance_variables, merged upstream. * Refresh all patches. * Update Standards-Version to 3.9.3 (no change). * Update Vcs-Browser URL due to Alioth changes. * Switch to debhelper compatibility level 9. -- Raphaël Hertzog Sat, 03 Mar 2012 22:41:23 +0100 quilt (0.51-1) unstable; urgency=low * New upstream release. - Fixes the unwanted output in quilt completion. Closes: #553511 * Drop patch backport-fixes-from-0.50, merged upstream. * Drop patch fix-manpage-generation, merged upstream. * Drop patch debianize, instead pass --with-docdir=/usr/share/doc/quilt to ./configure (now that upstream supports this option) and ensure quilt.pdf is not compressed. * Drop unused patch no-QUILT_LIB-in-quilt. * New patch ensure-manpage-has-correct-patches-dir to fix the default patches directory documented in quilt(1). Closes: #585438 Thanks to Julien Viard de Galbert for the patch. * Drop patch makefile_glitche, no longer required because the upstream build process no longer use sub-make calls to generate the reference documentation. * Refresh all other patches. * Improve the template for the DEP-3 headers. -- Raphaël Hertzog Thu, 02 Feb 2012 10:46:59 +0100 quilt (0.50-2) unstable; urgency=low [ Raphaël Hertzog ] * Recommends "default-mta | mail-transport-agent" instead of plain mail-transport-agent. Closes: #652734 * Change the above Recommends into a Suggests. Closes: #652912 * Drop entirely debian/patches/testsuite_cleanups since it's no longer needed. * Integrate 2 small regression fixes from upstream in debian/patches/backport-fixes-from-0.50, we could have waited 0.51 for Debian but this offers a chance to get them in Ubuntu's LTS 12.04. [ Martin Quinson ] * quilt/header: Add a --dep3 option to include a DEP-3 template (Closes: #543355; thanks to Didier Raboud for the report and the patch; sorry for the delay) -- Raphaël Hertzog Mon, 09 Jan 2012 15:25:47 +0100 quilt (0.50-1) unstable; urgency=low [ Martin Quinson ] * Drop patch po-fix-msguniq which added an invocation to msguniq to the po files regeneration. Nothing similar is done in the packages I checked, and msgmerge seem to be reasonable nowadays. * add configure option --with-awk=/usr/bin/awk to avoid that configure finds locally installed gawk (don't explicit dependent on awk since it's essential) Closes: #637014 * Add Recommends: mail-transport-agent since it's mandatory to get the mail command working Closes: #587941 * Add the shell subcommand to the bash completion list. Closes: #578925 [ Raphaël Hertzog ] * New upstream release. * Drop a few patches merged upstream: - debian/patches/create_db_on_snapshot - debian/patches/doc_improvement - debian/patches/mailname - debian/patches/test-suite-update-for-patch-2.6 - debian/patches/backport-remember-locations - debian/patches/skip-non-files-for-series * Refresh all other patches. * Disable patch debian/patches/testsuite_cleanups as it creates more problems than it seems to solve. * Drop lintian override file, the only override needed has been fixed upstream (by dropping the useless shebang). * Add missing ${perl:Depends} to the Depends field. * Switch to debhelper compat level 8. * Switch away from CDBS to dh. * Ensure we can build twice in a row by resetting properly the regenerated po/*.{po,pot} files. -- Raphaël Hertzog Tue, 20 Dec 2011 11:32:02 +0100 quilt (0.48-8) unstable; urgency=low [ Raphaël Hertzog ] * Update arch_all patch to integrate fixes prepared by Jean Delvare. * Refresh all other patches to apply cleanly. * Update documentation of dh_quilt_{,un}patch to use the correct dh command-line syntax (thanks to Michael Ole Olsen for the report!) and add a note saying that those tools are useless with the "3.0 (quilt)" source format. * Add "Multi-Arch: foreign" so that packages of foreign architectures can depend on quilt. Closes: #640784 * Update Standards-Version to 3.9.2 (no changes required). * Update lintian override to match the new output. [ Martin Quinson ] * Documentation update (man and pdf versions): patch dropped support for the option --unified-reject-files, so stop advising its use. (Closes: #616647) * Depend on bsdmainutils to get the column utility, which is used to show the available commands when none is provided (Closes: #627769) -- Raphaël Hertzog Mon, 12 Sep 2011 15:49:00 +0200 quilt (0.48-7) unstable; urgency=low * Extend debian/patches/fix-manpage-generation to also remove the $'' bashism. Thanks to Lars Wirzenius for the analysis. Closes: #563517 * Update watch file to not hardcode a specific savannah mirror. * Add a lintian overrides for script-not-executable ./usr/share/quilt/scripts/patchfns, it's a shell library with a useless shebang. * Update debian/patches/use-sensible-editor to unset VISUAL when testing "quilt edit" (in test/edit.test) to avoid failures when VISUAL is set in the build environment. Closes: #575962 -- Raphaël Hertzog Fri, 16 Apr 2010 22:03:34 +0200 quilt (0.48-6) unstable; urgency=low * The new algorithm that makes quilt lookup parent directories for .pc/.quilt_{patches,series} lead to the failure of test/setup.test when run in the Debian source package since $QUILT_PATCHES points to debian/patches when the test script expect it to be "patches". Avoid this by forcing QUILT_PATCHES in the test script (patch debian/patches/fix-test-setup) but suggest upstream to hardcode locations in quilt setup. Closes: #573689 * Update Standards-Version to 3.8.4 (no changes needed). * Drop unused lintian overrides. * Wrap lines at 80 chars in quilt.make. Closes: #573617 -- Raphaël Hertzog Mon, 15 Mar 2010 10:22:36 +0100 quilt (0.48-5) unstable; urgency=low * Include debian/patches/backport-remember-locations cherry-picked from the upstream Git repository to remember the values of QUILT_PATCHES and QUILT_SERIES between multiple invocations. Closes: #260664 * New patch debian/patches/skip-non-files-for-series. Avoids selecting non-files as series file. Closes: #546393 LP: #428657 -- Raphaël Hertzog Sat, 23 Jan 2010 22:53:52 +0100 quilt (0.48-4) unstable; urgency=low * Add "ed" to Build-Depends-Indep as it's used by the test-suite. Closes: #562446 -- Raphaël Hertzog Wed, 13 Jan 2010 10:24:08 +0100 quilt (0.48-3) unstable; urgency=low * Stop creating files with 000 mode in the .pc directory. Upstream has changed this in their git repository, so we can update our shell variant of backup-files accordingly. Closes: #557386, #534840 * Document the minimal versions for "dh --with quilt" in README.Debian. Closes: #532127 * Support QUILT_PATCH_DIR input environment variable in CDBS's patchsys-quilt.mk. Closes: #517664 * Update test suite to support newer versions of patch. Cherry-pick patch from upstream in debian/patches/test-suite-update-for-patch-2.6. Closes: #560621 * Update patch test_broken_patches providing test/file-not-found to work with patch 2.6 but disable it since otherwise the package could not be compiled with older patch releases. -- Raphaël Hertzog Fri, 11 Dec 2009 15:00:38 +0100 quilt (0.48-2) unstable; urgency=low [ Ryan Niebur ] * use sensible-editor, which takes $VISUAL into account (Closes: #509076) * in README.source's example snippet, use the first directory found with debian/{rules,patches}, not the last (Closes: 529028) [ Raphaël Hertzog ] * Switch to source format 3.0 (quilt) to get rid of all the manual auto-patching code required to avoid the build-dependency on itself. -- Raphaël Hertzog Thu, 29 Oct 2009 17:56:18 +0100 quilt (0.48-1) unstable; urgency=low [ Martin Quinson ] * New upstream release. * debian/patches/generic-awk: removed since merged upstream. * debian/patches/*: updated so that they apply again on this release. [ Raphaël Hertzog ] * Remove Simon Hormans from Uploaders with his permission. * debian/patches/fix-manpage-generation: fix Makefile so that the manual page is correctly generated with dash too (LP: #402237) * Improve dh_quilt_patch/unpatch by respecting the QUILT_PATCH_DIR environment variable like /usr/share/quilt/quilt.make does. Closes: #544668 [ Ryan Niebur ] * Add myself to Uploaders * fixes to the arch_all patch to pass test suite - port upstream changes to the c version to the bash rewrite of backup-files - fix backup-files to process all files passed in on the command line instead of just the last (a clear bug) * refresh all patches with -p ab * add procmail to build deps, needed by tests * Debian Policy 3.8.3 -- Raphaël Hertzog Wed, 02 Sep 2009 22:05:25 +0200 quilt (0.46-8) unstable; urgency=low * Move to section “vcs” to match with ftpmasters' overrides. * Hide from build output some comments inside quilt.make that could lead to believe that an error appeared. Thanks to Andrea Bolognani . Closes: #531192 * Rename debian/patches/fr.po into debian/patches/po-fix-msguniq to avoid problems with scripts believing this is a po file. * Add "quilt shell" sub-command to update the topmost patch without having to quilt add files that are going to be modified. Thanks to Josselin Mouette for the patch. Closes: #526141 * Update Standards-Version to 3.8.2: no change needed except switch to vcs section. * Modify the quilt debhelper sequence to also register the dh_quilt_patch command in the "patch" target. Thanks to Joey Hess for the debhelper feature update and to Ryan Niebur for the bug report. Closes: #540124 * Modify my name in Uploaders to include the accent. -- Raphaël Hertzog Fri, 14 Aug 2009 14:06:49 +0200 quilt (0.46-7) unstable; urgency=low * Add new dh_quilt_patch and dh_quilt_unpatch commands to be used within debhelper. Also add a debhelper addon so that the dh command can do patch management with a simple "dh --with quilt $@" in the tiny rules file provided by debhelper 7. Closes: #527255 * Build-Depends on perl for pod2man and man page generation of the new dh_* commands. * Add Enhances: debhelper in debian/control for the new dh_* commands. * Update Standards-Version to 3.8.1: no change needed. * Fix misc lintian warnings. * Update the copyright file with the few copyright notices that are embedded. * Add a watch file. -- Raphael Hertzog Fri, 08 May 2009 12:23:52 +0200 quilt (0.46-6) unstable; urgency=low * Change back patchsys-quilt.mk to enter DEB_SRCDIR by default before applying patches (8 packages FTBFS due to this change). But we can now use DEB_QUILT_TOPDIR to override the default choice of DEB_SRCDIR. -- Raphael Hertzog Thu, 19 Jun 2008 21:40:27 +0200 quilt (0.46-5) unstable; urgency=low [ Martin Quinson ] * Acknowledge NMU (thanks Raphael). This also Closes: #454351 (doc in erroneous section Apps/Text) * debian/control: add Vcs-git, Vcs-browser and homepage fields. * Remove file patches/generic-awk from the debian diff (was a leftover of the creation of debian/patches/generic-awk) * debian/rules: filter \sh{.*} constructs in the hevea output, such that HTML documentation is more readable [Rafael Laboissiere] Closes: #471453 (Make HTML documentation more readable) * pass --with-sendmail to configure, not --with-mta, and remove the /usr/share/quilt/compat/sendmail link. Closes: #443419 (quilt mail command cannot find sendmail) * Closes: #458285 (spelling error in /usr/share/quilt/quilt.make) * patches/arch_all: in backup-files.in:link_or_copy_file() redirect the errors comming from ls to /dev/null to reduce noise when ln is not usable (for example on AFS). Should be harmless since cp is used as backup when ln fails. [Russ Allbery] Closes: #458158 (extra noise when cross-directory symlinks aren't supported) * patches/unset_posix_strict_conformance_variables (new): unset POSIXLY_CORRECT _POSIX2_VERSION POSIXLY_PEDANTIC from quilt since they force patch to run in interactive manner (doh!) Closes: #462578 (quilt: breaks when POSIXLY_CORRECT=1) * Add a dpatch2quilt.sh script (to /usr/share/doc/quilt/examples) to ease the conversion from dpatch to quilt Closes: #464663 (sample script for dpatch -> quilt conversions) * Pass --no-print-directory to make while generating the man page to counter the fact that the top-level make (ie, debian/rules) pass -w to all childs. Patch by Romain Francoise, thanks. Closes: #436936 (build process has contaminated the manpage) [ Raphael Hertzog ] * Add myself to Uploaders. * Update Standards-Version to 3.8.0: - support patch/unpatch rules in patchsys-quilt.mk - support patch/unpatch rules in debian/rules * Switch to debhelper 5, adjust debian/compat and build-depends. * Remove minimal version in the cdbs build-dependency, even oldstable has a high-enough version. * patchsys-quilt.mk: don't try to apply patches in $(DEB_SRCDIR) but in current directory. This is best for compatibility with the upcoming "3.0 (quilt)" source package format and the two only packages which are affected by this change have already been fixed (see #485142, #485163). Closes: #485835 -- Martin Quinson Sun, 15 Jun 2008 22:17:14 +0200 quilt (0.46-4.1) unstable; urgency=low * Non-maintainer upload. * Changes in patchsys-quilt.mk: * Convert to UTF-8. * Always use QUILT_PATCHES=$(CURDIR)/debian/patches. And thus drop the creation of the "patches" symlink as it will occasionnaly lead to problems with some packages. Closes: #473381 * Fixes generated build-dependency on CDBS to not contain the "-1" that leads to the lintian warning "build-depends-on-1-revision". Closes: #482948 * Fixes "apply-patches" rule to not reapply patches when they have already been applied by dpkg-source. Closes: #482750 * Integrate debian/README.source as suggested by Russ Allbery and install it in /usr/share/doc/quilt/. Closes: #478421 * Several lintian fixes: * clean-should-be-satisfied-by-build-depends: move debhelper and cdbs to Build-Depends * doc-base-file-uses-obsolete-national-encoding: switch debian/quilt.doc-base to UTF-8. * virtual-package-depends-without-real-package-depends and needlessly-depends-on-awk: drop dependency and build-dependency on awk. * spelling-error-in-description linux Linux: fix description accordingly. * doc-base-unknown-section: switch doc-base section to "Programming". * doc-base-abstract-might-contain-extra-leading-whitespaces: fix doc-base description to be a proper paragraph that can be rewrapped. -- Raphael Hertzog Wed, 28 May 2008 13:57:30 +0200 quilt (0.46-4) unstable; urgency=low * Really remove the depend on gawk, sorry (only build-depend was changed) * Reindent quilt.make to remove spurious output. * Thanks to Marco d'Itri for spotting these ones. -- Martin Quinson Tue, 07 Aug 2007 19:58:03 +0200 quilt (0.46-3) unstable; urgency=low * Depend on awk and not gawk (add patch generic-awk for this to work). Thanks to Wolfram Sang -- Closes #431926. * Modify patch doc_improvement to fix a typo in manpage: s/QUILT_NO_DIFF_TIMESTAMP/QUILT_NO_DIFF_TIMESTAMPS/ Thanks to Sukant Hajra -- Closes: #422000. * Modify patch doc_improvement to fix a typo in main documentation: s/ouput/output/ Thanks to Cyril Brulebois. * Add a link /usr/sbin/sendmail -> /usr/share/quilt/compat/sendmail since /usr/sbin is not supposed to be in users' path Thanks to Mark Brown -- Closes: #410890. * Add a call to create_db in snapshot command so that it works on freshly untarred quiltified projects. Thanks to Cyril Brulebois -- Closes: #403399. * Really get rid of debug messages in the generated man page (I hope). it didn't came from the debian/rules and neither from the package Makefile, but from the makefile I use to rebuild the package here. Closes: #402114. -- Martin Quinson Sun, 05 Aug 2007 14:36:21 +0200 quilt (0.46-2) unstable; urgency=low * Integrate the changes to the quilt package from Simon Horman. Add Simon to the uploaders list. Changes to the different patches: [arch_all] (modified) - stop exporting QUILT_LIB in bin/quilt since there is no lib after the arch_all modification - remove the backup-files.c since we don't use it anymore [mail-signature] (new) new option --signature to the mail command to specify which signature file to use (defaults to ~/.signature) [no-signature-test] (new) forbid the use of a .signature file in the tests (using the feature of previous patch) to not fail when a ~/.signature is present [mail-from-locale] (new) Force locale to C when generating date for From header * [debian/quilt.make]: various fixes - Do not indent internal comments or make will display them, and likewise for debian/patchsys-quilt.mk. (Closes: #418680) By Peter Eisentraut. - Add ".PHONY: patch unpatch" as it should be. (Closes: #405558) By Steinar H. Gunderson. - Place emacs mode on the first line. (Closes: #406249) By Marco Túlio Gontijo e Silva. * [debian/patchsys-quilt.mk] use $(CURDIR) instead of $(shell pwd) By Loïc Minier. (Closes: #406183) * [patches/doc_improvements] catch punctuation typos. (Closes: #402120) By Bastian Kleineidam. * [patches/makefile_gliches] Yet another try to remove debuging output form the makefile. By Bastian Kleineidam. (Closes: #402114) * Suggest the graphviz package since the graph command use it (at least the 'dot' command of graphviz). (Closes: #407469). * Change Build-deps into Build-dep-indep since we're now arch:all -- Martin Quinson Fri, 20 Apr 2007 13:31:29 +0200 quilt (0.46-1) unstable; urgency=low * New upstream release -- Martin Quinson Thu, 19 Apr 2007 14:40:45 +0200 quilt (0.45-6) unstable; urgency=low * [debian/patches/override_mail_sender_in_testsuite] Fix the patch to catch all occurences of 'quilt mail' since each of them will cause a FTBFS on misconfigured hosts (thanks to Goswin Brederlow). (Closes: #397285, #395482, #393985) I hope, at least. * [debian/patches/doc_improvement] Fix some more typos in the manpages (Closes: #386548, #395447) * [debian/control] Add procmail to suggest list to help users locating the 'formail' tool. (Closes: #396093) -- Martin Quinson Thu, 23 Nov 2006 16:17:11 +0100 quilt (0.45-5) unstable; urgency=low * [debian/patches/override_mail_sender_in_testsuite] override the mail sender in the testsuite so that it works even on misconfigured chroots used to compile etch over and over (Closes: #393985). -- Martin Quinson Thu, 19 Oct 2006 21:19:45 +0200 quilt (0.45-4) unstable; urgency=low * [debian/control] Typo in package description (Closes: #386549): "basic support those" -> "basic support for those" * [debian/patches/doc_improvement] Typo in man page (Closes: #386549): invoqued -> invoked * [debian/patches/makefile_glitches] Remove buildd messages from the manpage (Closes: #381125) -- Martin Quinson Sun, 1 Oct 2006 22:31:29 +0200 quilt (0.45-3) unstable; urgency=low * Don't even try to build the package when /proc is not mounted since the checks will fail after a long moment. #380598 is thus closed twice: once upstream with the changes from 0.45-2 and in debian now. Note that if nocheck is added to DEB_BUILD_OPTIONS, the package will be built since there will be no test to fail. The only pb is that I can't remember of how to add this option with dpkg-buildpackage ;) -- Martin Quinson Mon, 31 Jul 2006 18:24:58 +0200 quilt (0.45-2) unstable; urgency=low * New patch: patch-wrapper_do_depend_on_proc: Let patch-wrapper die with an informative message when /proc is not mounted (Closes: #380598) -- Martin Quinson Mon, 31 Jul 2006 13:23:12 +0200 quilt (0.45-1) unstable; urgency=low * New upstream release. - Various bug fixes and little improvements such as: - quilt/edit.in: Fix for working in subdirectories. Closes: #366964. - Update all patches * Acknoledge the NMU. Thanks Vorlon. Closes: #364834. * Move cdbs & debhelper from Build-Depends-Indep to Build-Depends since it is what I understand from the Right Thing to do. * Pass --quiltrc /dev/null to quilt in /usr/share/quilt/quilt.make for those who don't use cdbs but still don't want to FTBFTS because of personal settings in ~/.quiltrc. Closes: #370041. * use debian/stamp-patched as stamp file in /usr/share/quilt/quilt.make, and don't add debian/ artificially to the touch & rm commands. Hopefully Closes: #367078. -- Martin Quinson Fri, 16 Jun 2006 11:34:08 +0200 quilt (0.44-6.1) unstable; urgency=low * Non-maintainer upload with permission of the maintainer. * Fix handling of recursive directory removal in the backup-files shell script to account for path elements being symlinks instead of directories. Closes: #364834. -- Steve Langasek Fri, 26 May 2006 00:35:14 -0700 quilt (0.44-6) unstable; urgency=low * Split the debian patch in several ones. Use quilt *when available* to deal with it. pbuilds well here. Let's see what the buildd think of it. * Avoid infinite loops in backup-files when patching inexistant files. Thanks to Dan for reporting and sorting the problem out. (Closes: #366424). * New patch: test_broken_patches: Adds test/file-not-found.test pushing a patch touching a inexistant file (yeah, that's the previous bug) -- Martin Quinson Tue, 9 May 2006 08:55:02 +0200 quilt (0.44-5) unstable; urgency=low * add '--quiltrc /dev/null' to quilt invocations in patchsys-quilt.mk. (Closes: #362054) * Make backup-files a shell script instead of a binary, so we can make quilt arch: all [Steve Langasek, thanks so much] (Closes: #363659) * Do run "make check" when building the package. -- Martin Quinson Wed, 12 Apr 2006 02:23:27 +0200 quilt (0.44-4) unstable; urgency=low * Build-depend on diffstat so that diffstat support gets compiled in (Closes: #361191). * Register quilt documentation with doc-base [Nicolas François] (Closes: #344793). * Ship sample quilt.quiltrc along with the documentation (Closes: #356249). -- Martin Quinson Fri, 7 Apr 2006 22:52:23 +0200 quilt (0.44-3) unstable; urgency=low * Make sure that quilt returns 2 when there is nothing to do so that patchsys-quilt.mk works again. Upstream regression since 0.33. (Closes: #358792). * Make sure that quilt fails when trying to push a non existant patch (ie if there is a typo in the serie file) unless -f is provided. (Closes: #358875). * Let /etc/mailname override the hostname in the mail command (Closes: #356348). -- Martin Quinson Wed, 22 Mar 2006 16:14:51 +0100 quilt (0.44-2) unstable; urgency=low * Re-upload as non-native package (stupid me). -- Martin Quinson Wed, 22 Mar 2006 09:40:41 +0100 quilt (0.44-1) unstable; urgency=low * New upstream release (tons of bug fixes, no new major feature). - bin/guards.in: s/ocnfiguration/configuration/ (Closes: #341518) - doc/quilt.1.in: Document common options to all commands (Closes: #334408) * Remove spurious ccache suggests (Closes: #354547). * Rewrite the package description (Closes: #347499). * Let the manpage make clearer that literal QUILT_COMMAND_ARGS is not read (Closes: #354997) * Let the manpage give the exact path to the pdf documentation (Closes: #352324) -- Martin Quinson Tue, 21 Mar 2006 21:29:06 +0100 quilt (0.42-2) unstable; urgency=low * Add a missing semi-colon in quilt.debbuild.mk (Closes: #343893) -- Martin Quinson Fri, 30 Dec 2005 23:43:06 +0100 quilt (0.42-1) unstable; urgency=low * New upstream release. - New commands: annotate: to see which patch modify which line of a file header: to print or change the patch header rename: to rename patches - New options: {diff,refresh} --no-index: suppress Index: lines in patch delete -n: delete the next patch after topmost --version: print the program version - Rework the german translation (Closes: #313827). * [Makefile.in]: in Debian, the docdir is /usr/share/doc/quilt, without the version number. (Closes: #321155) * Use the full path to /usr/sbin/sendmail (Closes: #318924) * Add text and html versions of the pdf documentation (Closes: #320294) Build-dep on hevea and lynx to get it working. Damn, that's huge deps -- Martin Quinson Wed, 29 Jun 2005 18:52:42 +0200 quilt (0.40-6) unstable; urgency=low [patchsys-quilt.mk] * Don't call update-config after reverting patches. (Closes: #299010) -- Martin Quinson Wed, 29 Jun 2005 18:52:42 +0200 quilt (0.40-5) unstable; urgency=low [Packaging] * Do not automatically generate debian/control.in since it is now forbidden by policy. [quilt.debbuild.mk] * also cleanup arch cruft from debian dirs (patch stolen from cdbs) * Pass the -nd flag to wget when fetching upstream source to avoid by all means creating a dirctory structure. -- Martin Quinson Wed, 29 Jun 2005 10:36:57 +0200 quilt (0.40-4) unstable; urgency=low * Do depend on patchutils only when using cdbs (dependency moved from control.in to patchsys-quilt.mk) * quilt.debuild.mk: Also cleanup svn stuff from debian dirs -- Martin Quinson Sun, 22 May 2005 11:23:27 +0200 quilt (0.40-3) unstable; urgency=low * Depend on patchutils (>= 0.2.25) since we use lsdiff -H to fix #295913 -- Martin Quinson Fri, 13 May 2005 18:43:23 +0200 quilt (0.40-2) unstable; urgency=low * Add /usr/share/quilt/quilt.debbuild.mk to ease the build from the cvs of debian packages using quilt. Read its header for documentation. -- Martin Quinson Thu, 12 May 2005 23:02:13 +0200 quilt (0.40-1) unstable; urgency=low * New upstream version * Add /usr/share/quilt/quilt.make for the ones not using CDBS. The "patch" and "unpatch" targets are implemented. -- Martin Quinson Wed, 11 May 2005 15:51:51 +0200 quilt (0.39-3) unstable; urgency=low * Add a word in the man page about how to display compressed pdf files since this non-bug got reported twice now (Closes: #304848). -- Martin Quinson Tue, 26 Apr 2005 16:02:16 +0200 quilt (0.39-2) unstable; urgency=low * Pass -p $opt_strip_level option to diffstat in refresh command. (Closes: #298785) * fixes from upstream cvs: - Add a missing "exit 1" to quilt/fold.in when no patches are applied. - typo in graph help message. -- Martin Quinson Wed, 23 Mar 2005 11:10:07 +0100 quilt (0.39-1) unstable; urgency=low * New upstream release. 0.38 were mostly bugfixes, and those bugs were also reported against debian package, so I had to steal most of the cvs content already. 0.39 is also mainly bugfixes. There is a new "mail" command I didn't test yet. ;) * Refuse to add symlinks into patches since we fail to backup them properly. (Closes: #294424). Will be in 0.40 ;) * Take care of the lost souls patching their config.* files. Cdbs updates them automatically. Thanks to Robert Millan for detecting the issue (in cdbs) and proposing a fix (in quilt). (Closes: #295913). This implies a versionned depend on cdbs (>=0.4.27-1) for using packages, since part of the fix is in there. quilt itself suggests this version. -- Martin Quinson Thu, 24 Feb 2005 13:51:10 +0100 quilt (0.37-5) unstable; urgency=low * Let cdbs track the build-dep automatically. * Make sure people letting cdbs tracking the builddeps for them will get the one on quilt when using the quilt patchsys. Fix upstream bugs: * Strip out the letters from the bash version before [numerical] comparison (Closes: #288839) * Make sure directories are completed with the trailing '/' (for further completion) where quilt expects a file and refuses any directory. (Closes: #281256) -- Martin Quinson Thu, 6 Jan 2005 07:51:02 +0100 quilt (0.37-4) unstable; urgency=low * Fix the 'patches' command (print the patch names again). (Closes: #286293). -- Martin Quinson Thu, 23 Dec 2004 14:48:35 +0100 quilt (0.37-3) unstable; urgency=low * Fix extra trailing space in series file after quilt refresh. (Closes: #285865) -- Martin Quinson Thu, 16 Dec 2004 21:33:54 +0100 quilt (0.37-2) unstable; urgency=low * Fix a quoting issue in bash_autocompletion. Patch from upstream CVS. (Closes: #285322) -- Martin Quinson Mon, 13 Dec 2004 14:54:25 +0100 quilt (0.37-1) unstable; urgency=low * New upstream release(s. I missed the 0.36, sorry): - "quilt new" now work from a sub-dir (instead of creating a new patches/ dir in the current one). - allow to list all modified files (within patch ranges). - japaneese translation. - touch files after they are restored to not confuse make and friends. - various bug fixes. * Fix a bashism in patchsys-quilt.mk (Closes: #275253) * Useless cleanup in debian/rules (Closes: #268967) * Acknoledge NMU. Thanks Matt! (Closes: #264053) * Use my Debian address as maintainer. * Fix two typos in description. Thanks Matt (Kraii) ! (Closes: #266195) -- Martin Quinson Wed, 8 Dec 2004 16:12:21 +0100 quilt (0.35-1.1) unstable; urgency=low * NMU at maintainer's request * Add ${shlibs:Depends} to debian/control:Depends (Closes: #264053) -- Matt Zimmerman Fri, 6 Aug 2004 18:41:46 -0700 quilt (0.35-1) unstable; urgency=low * New upstream version. - bash completion made usable (even out of Debian). - New configuration variables: QUILT__ARGS amongst others. - Reintroduction of the diffstat feature (--diffstat option of refresh). - Setting QUILT_PATCHES_PREFIX asks quilt to display the full path to the patches instead of the patch names (for copy/paste). - Ability to specify the type of patch, and the context length (-u, -U num, -c, and -C num options of diff and refresh). - Syntax highlighting (--color option of diff). - Various bug fixes. -- Martin Quinson Thu, 15 Jul 2004 15:06:43 -0700 quilt (0.34-2) unstable; urgency=low * [patchsys-quilt.mk] Fix a stupid bug preventing to work on empty patch series -- Martin Quinson Fri, 11 Jun 2004 10:45:08 -0700 quilt (0.34-1) unstable; urgency=low * New upstream release. - Backward compatibility of .pc directory implemented * Get ride of the now useless big fat warning in NEWS.Debian about that. * Use the manpage generated by the upstream makefile, and remove the one embeeded in the debian dir. -- Martin Quinson Thu, 10 Jun 2004 16:35:00 -0700 quilt (0.33-1) unstable; urgency=low * New upstream release. - Return exit status 2 when commands go beyond the series (push when already on top, and so on) - Bunch of bug fixes. * [patchsys-quilt.mk] quilt return 2 when there was nothing to do. -- Martin Quinson Tue, 8 Jun 2004 11:54:58 -0700 quilt (0.32-3) unstable; urgency=low * push exits 0 when no patch is to be pushed. -- Martin Quinson Thu, 3 Jun 2004 08:46:23 -0700 quilt (0.32-2) unstable; urgency=low * Use relative link for debian/patches. Closes: #242342 * Specify we want to use gawk since mawk causes trouble. Closes: #251972. * Add an entry to NEWS.Debian warning about the breakage in opened tree occuring between 0.30 and 0.32 versions. At least people using apt-listchanges will be warned about that. It looks like the best we can do for now. * pop exits 0 when no patch is to be removed. -- Martin Quinson Tue, 1 Jun 2004 11:41:51 -0700 quilt (0.32-1) unstable; urgency=low * New upstream release. - It is now possible to use quilt from within sub-directories of the working tree. Quilt will automatically find the root of the tree. - New 'graph' command to display neat graphics of patch dependencies. - 'fork' semantic reverted to previous one: the forked patch is the topmost one, not the next in the series. - documentation update. - man page (provided by your servitor ;) * Fix a typo in output of setup -l. Closes #236933 * Rephrase package description. Closes #236221 -- Martin Quinson Fri, 19 Mar 2004 10:00:03 -0800 quilt (0.30-4) unstable; urgency=low * patchsys-quilt.mk: Various improvements from David Kimdon. Closes: #234449 - rm debian/stamp-patch in reverse-patches (instead of clean) so that this target can be called directly. - Make those rules usable along with the cdbs tarball.mk ones. - remove a dupplicated useless line -- Martin Quinson Wed, 25 Feb 2004 10:22:39 -0800 quilt (0.30-3) unstable; urgency=low * Add a man page from the upstream CVS. Closes: #219318 -- Martin Quinson Mon, 23 Feb 2004 08:43:08 -0800 quilt (0.30-2) unstable; urgency=low * [debian/control] - Remove the dependency on bash since it's an essential package. - Upgrade the dependency on debhelper to (>= 4.1.0) as requested by cdbs. * [debian/quilt.install] - Reput quilt.pdf in the package back, and make sure it won't disapear anymore. -- Martin Quinson Mon, 2 Feb 2004 16:45:12 -0800 quilt (0.30-1) unstable; urgency=low * New upstream release. * Fix the URL of the project (Closes #223387). * add a dependency on gawk (Closes #227111). -- Martin Quinson Fri, 30 Jan 2004 16:10:23 -0800 quilt (0.29-3) unstable; urgency=low * force the shell to be bash, since we use tons of bashism -- Martin Quinson Mon, 24 Nov 2003 11:24:15 +0100 quilt (0.29-2) unstable; urgency=low * Add the patchsys-quilt.mk file achieving the integration of quilt within cdbs. * Install the upstream changelog under the changelog.gz name. * Remove several files left over in the debian/ dir. * Bump standard-version to 3.6.1.0: convert all control files to utf8. -- Martin Quinson Mon, 24 Nov 2003 10:24:15 +0100 quilt (0.29-1) unstable; urgency=low * New upstream version. * Repackage to use cdbs. -- Martin Quinson Thu, 20 Nov 2003 11:04:34 +0100 quilt (0.25-4) unstable; urgency=low * Various cleanup in the packaging (like removing a `pwd` in the debian/rules) -- Martin Quinson Thu, 6 Nov 2003 16:27:15 +0100 quilt (0.25-3) unstable; urgency=low * Do not invoque autoconf during the build process since I do not change this file. That way, autobuilder will be happy even without build-depend (Closes: #217055). -- Martin Quinson Fri, 31 Oct 2003 00:18:43 +0100 quilt (0.25-2) unstable; urgency=low * Do not install anything under /usr/share/doc/quilt-version/ Thanks to Daniel Jacobowitz for reporting that bug. -- Martin Quinson Fri, 12 Sep 2003 08:18:29 +0200 quilt (0.25-1) unstable; urgency=low * New upstream release. * Set LC_ALL to C during the build so that the README.gz becomes in english and not french. Thanks to Jan-Benedict Glaw for reporting that issue. -- Martin Quinson Tue, 9 Sep 2003 08:30:52 +0200 quilt (0.24-1) unstable; urgency=low * New upstream release * debquilt.mk: Makefile chunk to manage debian packages using quilt -- Martin Quinson Thu, 26 Jun 2003 15:26:16 +0200 quilt (0.23-1) unstable; urgency=low * New upstream release * Hardcode location of bash -- Martin Quinson Wed, 9 Apr 2003 09:54:30 +0200 quilt (0.22-1) unstable; urgency=low * New upstream release -- Martin Quinson Fri, 14 Feb 2003 14:12:31 +0100 quilt (0.21-2) unstable; urgency=low * Fight lintian warnings and error: - Format copyright file properly - Don't depend on essential packages - Change Build-Depends-Indep: to Build-Depends: since the package is now arch-dependent. - Update to lastest standards * The documentation did move one more time. -- Martin Quinson Fri, 31 Jan 2003 09:21:03 +0100 quilt (0.21-1) unstable; urgency=low * New upstream release. * Change from architecture: all to architecture: any, since we now have a compiled C programm. * Add the new documentation provided. -- Martin Quinson Wed, 29 Jan 2003 10:19:31 +0100 quilt (0.11-1) unstable; urgency=low * New upstream release. New upstream author. Developement moved to savannah. * Some functionnalities were removed, but all the scripts are much more robust now. -- Martin Quinson Sat, 18 Jan 2003 23:36:29 +0100 quilt (0.8.1-1) unstable; urgency=low * New upstream release * Should now work if installed in /usr/lib or if unpacked in the current directory. -- Martin Quinson Wed, 11 Dec 2002 09:31:28 +0100 quilt (0.8-1) unstable; urgency=low * New upstream release -- Martin Quinson Wed, 6 Nov 2002 22:48:32 +0100 quilt (0.6-1) unstable; urgency=low * New upstream release -- Martin Quinson Wed, 6 Nov 2002 22:48:32 +0100 quilt (0.4-1) unstable; urgency=low * Initial Release. -- Martin Quinson Tue, 29 Oct 2002 09:29:20 +0100 # -*- coding: utf-8 -*- debian/quilt.debbuild.mk0000644000000000000000000002137012251204230012420 0ustar # # This makefile chunk is intended to ease my work on packages. I hope it can # reveal useful to other people too. But if you see some cruft here and # there, you'll know why ;) # # Several of the package I work on (shadow, most of the pkg-grid alioth # project) use quilt to manage diff onto upstream tarball. # # We only store the debian directory in the SCM since all changes must be # done as patch managed by quilt. # # This makefile is intended to be copied in the directory containing the # debian/ tree. It can: # # - Download the upstream tarball and open it on need # * Define the SITE variable to tell it where to search for it (with wget) # * The package name is guessed from the current directory, but can be # explicitely given as the PKG variable. # * The verion number must be given as VER variable # # - Copy the debian directory onto the working directory # (yeah, cp debian/ $(PKG)-$(VER)/debian. I see you're following) # # - Build the package, capturing the output with script # # - Ensure that just after the package build, we have such a link: # $(PKG)-$(VER)/debian/patches -> debian/patches # So, changes to the patches with quilt gets saved out of the # $(PKG)-$(VER) tree, which can be erased at any time without loss. # Of course, just before the build, the makefile ensures that this link # is replaced by a copy of the debian/patches directory to make # dpkg-buildpackage happy # TARGETS: # # deb: Do what's documented above. # # debsign: don't add -us -uc to dpkg-buildpackage invocation # check-complet: for multi-binary packages, make sure that all the content # of debian/tmp gets moved away [to the right place] by dh_install # check-lintian: # check-linda: # check: all of the check-* above # scan or watch: watch for new upstream tarballs # VARIABLES which you can use to configure stuff: # # PKG: package name (defaults to the current directory name) # VER: package version (defaults to the changelog entry in debian/changelog) # UP_TAR: name of the tarfile, as called upstream # Defaults to $(PKG)-$(UP_VER).tar.gz where UP_VER is VER without -nn part # Useful to get it downloaded and/or opened automatically # EXTRA_OPEN_CMD: what to do after untarring upstream tarball. # When upstream tarball doesn't contain a gentle $(PKG)-$(UP_VER) as # expected by dpkg-buildpackage, do this: # EXTRA_OPEN_CMD=mv the_funky_dir_name_given_upstream $(PKG)-$(UP_VER) # SITE: where to get the upstream tarball (we do "wget $(SITE)/$(UP_TAR)") # # CAVEATS: # # - $(PKG)-$(VER) is not considered as precious at all. Don't change # anything in it. In particular, don't change $(PKG)-$(VER)/debian files. ############## ### That's it. ### The actual makefile chunk follows, but you shouldn't need to dig into it ############## PKG?=$(shell pwd |sed 's|.*/||') VER?=$(shell dpkg-parsechangelog -ldebian/changelog|grep '^Version'|sed -e 's/[^ ]* //' -e 's/[^:]://') UP_VER=$(shell echo $(VER)|sed 's/-.*$$//') UP_TAR?=$(PKG)-$(UP_VER).tar.gz ######################################################## ##################### BUILD TARGET ##################### ######################################################## deb:: $(PKG)-$(UP_VER) stamp-debdir $(PKG)_$(UP_VER).orig.tar.gz @echo XXXXXXXXXXX Build the deb rm -rf $(PKG)-$(UP_VER)/debian/patches @if [ -e debian/patches ] ; then \ echo "cp -r debian/patches $(PKG)-$(UP_VER)/debian"; \ cp -r debian/patches $(PKG)-$(UP_VER)/debian; \ fi -cd $(PKG)-$(UP_VER) && script -c "dpkg-buildpackage -rfakeroot -uc -us" ../build.log @if [ -e debian/patches ] ; then \ rm -rf $(PKG)-$(UP_VER)/debian/patches ; \ echo "Link patches/ to ../debian/patches" ; \ cd $(PKG)-$(UP_VER)/debian ; \ ln -s ../../debian/patches .; \ fi debsign:: $(PKG)-$(UP_VER) stamp-debdir $(PKG)_$(UP_VER).orig.tar.gz @echo XXXXXXXXXXX Build the deb rm -rf $(PKG)-$(UP_VER)/debian/patches @if [ -e debian/patches ] ; then \ echo "cp -r debian/patches $(PKG)-$(UP_VER)/debian"; \ cp -r debian/patches $(PKG)-$(UP_VER)/debian; \ fi cd $(PKG)-$(UP_VER) && script -c "dpkg-buildpackage -rfakeroot" ../build.log @if [ -e debian/patches ] ; then \ rm -rf $(PKG)-$(UP_VER)/debian/patches ; \ echo "Link patches/ to ../debian/patches" ; \ cd $(PKG)-$(UP_VER)/debian ; \ ln -s ../../debian/patches .; \ fi $(PKG)-$(UP_VER):: $(UP_TAR) @echo XXXXXXXXXXX Open the tarball rm -rf $(PKG)-$(UP_VER) tar xfz $(UP_TAR) $(EXTRA_OPEN_CMD) $(UP_TAR):: @echo XXXXXXXXXXX Download the tarball @if test -e $(UP_TAR) ; then \ echo "Tarball found; no download needed."; \ else \ if test "x$(SITE)" = x ; then \ echo "Unable to download $(UP_TAR) since no SITE is provided";\ echo "Either edit Makefile or download the tarball yourself";\ exit 1;\ else \ wget -nd $(SITE)/$(UP_TAR);\ fi;\ fi stamp-debdir: FORCE @echo XXXXXXXXXXX Put the debian dir in position rm -rf $(PKG)-$(UP_VER)/debian cp -Lr debian $(PKG)-$(UP_VER)/debian for i in CVS .svn \{arch\} .arch-ids ; do \ find $(PKG)-$(UP_VER)/debian -type d -name $$i | xargs rm -rf ; \ done for i in .cvsignore svn-commit.tmp .arch-inventory ; do \ find $(PKG)-$(UP_VER)/debian -type f -name $$i | xargs rm -f ; \ done touch stamp-debdir $(PKG)_$(UP_VER).orig.tar.gz: $(UP_TAR) @echo XXXXXXXXXXX Copy the orig.tar.gz cp $(UP_TAR) $(PKG)_$(UP_VER).orig.tar.gz FORCE: ######################################################## ##################### CHECK TARGET ##################### ######################################################## check-complet: FORCE @echo XXXXXXXXXXX Check the package for completness @for file in `find $(PKG)-$(UP_VER)/debian/tmp -type f|\ sed 's|$(PKG)-$(UP_VER)/debian/tmp/||'` ; do \ where=`find $(PKG)-$(UP_VER)/debian/*|\ grep -v '$(PKG)-$(UP_VER)/debian/tmp'|\ grep $$file|\ sed -e "s|$(PKG)-$(UP_VER)/debian/||" \ -e 's|\([^/]*\)/.*|\1|' `; \ if [ "x$$where" = x ] ; then \ base=`basename $$file`; \ where=`find $(PKG)-$(UP_VER)/debian/*|\ grep -v '$(PKG)-$(UP_VER)/debian/tmp'|\ grep $$base|\ sed -e "s|$(PKG)-$(UP_VER)/debian/||" `; \ if [ "x$$where" = x ] ; then \ echo "Not Found $$file"; \ else \ echo "NOT FOUND $$file (beside $$where)"; \ fi \ else \ echo Found $$file in $$where >/dev/null; \ fi;\ done check-relocation: FORCE @echo XXXXXXXXXXX Check the relocation of the package @for pkg in `grep Package $(PKG)-$(UP_VER)/debian/control|\ sed 's|Package: ||'` ; do \ echo "XXX check $$pkg"; \ LC_ALL=C grep -r $(PWD) $(PKG)-$(UP_VER)/debian/$$pkg |\ while read line ; do \ if echo $$line|grep -q 'Binary file' >/dev/null ; then \ name=`echo $$line|sed 's/Binary file \([^ ]*\) .*$$/\1/'`; \ echo " Binary $$name =>";\ strings $$name |grep $(PWD)|\ grep -v '.c$$'|sed 's/^/ /';\ else \ echo " $$line"; \ fi; \ done; \ done check-relocation-old: FORCE @echo XXXXXXXXXXX Check the relocation of the package @for pkg in `grep Package $(PKG)-$(UP_VER)/debian/control|\ sed 's|Package: ||'` ; do \ echo "XXX check $$pkg"; \ LC_ALL=C grep -r $(PWD) $(PKG)-$(UP_VER)/debian/$$pkg|\ sed 's/^/ /';\ done check-lintian: FORCE @echo XXXXXXXXXXX Check the package with lintian lintian -i *.deb lintian -i *.dsc check-linda: FORCE @echo XXXXXXXXXXX Check the package with linda linda -i *.deb linda -i *.dsc check: check-complet check-linda check-lintian ######################################################## ##################### CLEAN TARGET ##################### ######################################################## clean-dsc: FORCE @echo XXXXXXXXXXX Clean the old versions @while [ `ls *.dsc |wc -l` -gt 1 -o `ls *.changes |wc -l` -gt 1 ] ; do \ if [ `ls *.changes |wc -l` -gt 1 ] ; then \ echo "XXX Cleanup binaries";ls;\ changes=`ls *.changes|head -1`; \ list=`grep-dctrl -s Files -n . $$changes|\ sed 's/^ *//'|\ cut -d' ' -f5|\ egrep -v '\.dsc$$'`;\ rm -i $$list $$changes; \ fi; \ \ if [ `ls *.dsc |wc -l` -gt 1 ] ; then \ echo "XXX Cleanup source";ls;\ dsc=`ls *.dsc|head -1`; \ list=`grep-dctrl -s Files -n . $$dsc|\ sed 's/^ *//'|\ cut -d' ' -f3|\ egrep -v '\.orig.tar.gz$$'`; \ rm -i $$list $$dsc; \ fi; \ done clean: clean-dsc @echo XXXXXXXXXXX Clean the stamps rm -rf stamp-* maintainerclean: clean rm -rf *.deb *.diff.gz *.dsc *.changes *.upload rm -rf $(PKG)_$(UP_VER).orig.tar.gz $(PKG)-$(UP_VER) scan watch: uscan --check-dirname-regex 'PACKAGE' --check-dirname-level 2 --report .PHONY: FORCE scan watch clean clean-dsc ifneq (,$(wildcard makefile.override)) include makefile.override endif debian/deb30000755000000000000000000001254312251204230007725 0ustar #!/bin/sh set -e # COPYRIGHT # # (c) Osamu Aoki, 2010, GPL2+ # # dpatch2quilt.sh is used as the base of this program. # parts from http://blog.orebokech.com/2007/08/converting-debian-packages-from-dpatch.html # (c) gregor herrmann, 2007-2008, GPL2+ # (c) Damyan Ivanov, 2007-2008, GPL2+ # (c) Martin Quinson, 2008, GPL2+ # NAME # # deb3 - convert debian source package to new 3.0 (quilt) format # # SYNOPSIS # # deb3 [quilt|dpatch|0|1|2|] # # DESCRIPTION # # deb3 converts debian source packages which use series of patches from # 1.0 format to new 3.0 (quilt) format while adjusting contents in # debian/patches. This is run from the package top level directory. # If run without argument, deb3 guesses source structure. Following # formats are auto detected. # # * dh_quilt_patch/dh_quilt_unpatch # * dpatch # * cdbs (simple-patchsys.mk) # * dbs (dbs-build.mk) # # ARGUMENT # # You can force particular conversion using argument. # # quilt conversion for dh_quilt_patch/dh_quilt_unpatch # dpatch conversion for dpatch # 0 conversion for dbs and cdbs made with -p 0 patches (default) # 1 conversion for dbs and cdbs made with -p 1 patches # 2 conversion for dbs and cdbs made with -p 2 patches # Default patch level for cdbs and dbs # This may be overriden via environment variable or argument : ${PATCH_LEVEL=0} export QUILT_PATCHES=debian/patches export QUILT_PATCH_OPTS="--reject-format=unified" export QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto" export QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index" export QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33" dummy_git() { # Do nothing if it is not under Git : } convert_quilt() { COUNT_OLD=$(ls -1 debian/patches/* | wc -l) COUNT_NEW=$(ls -1 debian/patches/* | wc -l) } convert_dpatch() { for p in $(dpatch list-all); do quilt import -P $p.patch debian/patches/$p.dpatch AUTHOR=$(dpatch cat --author-only $p.dpatch) DESC=$(dpatch cat --desc-only $p.dpatch) echo "Author: $AUTHOR" | quilt header -r $p.patch echo "Description: $DESC" | quilt header -a $p.patch quilt push quilt refresh $GITCOM add debian/patches/$p.patch done quilt pop -a COUNT_OLD=$(ls -1 debian/patches/*.dpatch | wc -l) COUNT_NEW=$(ls -1 debian/patches/*.patch | wc -l) $GITCOM add debian/patches/series $GITCOM rm debian/patches/00list debian/patches/*.dpatch rm -rf debian/patches/*.dpatch rm -rf debian/patches/00list } convert_simple() { mv debian/patches debian/patches-old for p in debian/patches-old/* ; do # normalize patch filename extension to *.patch q=${p##*/} q=${q%.*}.patch # normally $PATCH_LEVEL is 0 quilt import -p $PATCH_LEVEL -P $q $p # no good data to use. Just provide template entries. quilt push quilt refresh $GITCOM add $p done quilt pop -a COUNT_OLD=$(ls -1 debian/patches-old/* | wc -l) COUNT_NEW=$(ls -1 debian/patches/* | wc -l) rm -rf debian/patches-old $GITCOM add debian/patches/series } # # BEGIN # dh_testdir if [ -d ".git" ]; then GITCOM=git else GITCOM=dummy_git fi # set package source format mkdir -p debian/source $GITCOM add debian/source echo "3.0 (quilt)" >debian/source/format $GITCOM add debian/source/format # make debian/rules template mv debian/rules debian/rules-old cat >debian/rules <>debian/rules rm debian/rules-old chmod 755 debian/rules $GITCOM add debian/rules # change patch queue format if [ "$1" = quilt ]; then convert_quilt elif [ "$1" = dpatch ]; then convert_dpatch elif [ "$1" = "0" ] || [ "$1" = "1" ] || [ "$1" = "2" ]; then PATCH_LEVEL=$1 convert_simple elif [ -f debian/patches/series ]; then convert_quilt elif [ -f debian/patches/00list ]; then convert_dpatch elif grep "include.*\/cdbs\/.*\/simple-patchsys\.mk" debian/rules ; then convert_simple elif grep "include.*\/dbs\/dbs-build\.mk" debian/rules ; then convert_simple else echo "deb3 [quilt|dpatch|0|1|2|]" >&2 exit 1 fi echo "INFO: The numbers of files in old debian/patches: $COUNT_OLD" >&2 echo "INFO: The numbers of files in new debian/patches: $COUNT_NEW" >&2 echo "... Auto conversion completed!" >&2 cat <= 7.0.50~)" * Add "override_dh_*:" targets to debian/rules to address special cases. * Remove "--with quilt" in debian/rules, if it uses "dh \$@" syntax. You can find tutorial for packaging using this new "dh \$@" style and new 3.0 (quilt) source format in the maint-guide package. It is also available at: http://www.debian.org/doc/manuals/maint-guide/index.en.html Check the deb3(1) manual to see this help message again. ----------------------------------------------------------------------- EOF exit 0 debian/quilt.doc-base0000644000000000000000000000121312251204230011707 0ustar Document: quilt Title: Introduction to Quilt Author: Andreas Grünbacher, SuSE Labs Abstract: After looking at different strategies for dealing with software packages that consist of a base software package on top of which a number of patches are applied, this document introduces the script collection quilt, which was specifically written to help deal with multiple patches and common patch management tasks. Section: Programming Format: text Files: /usr/share/doc/quilt/quilt.txt.gz Format: HTML Index: /usr/share/doc/quilt/quilt.html Files: /usr/share/doc/quilt/quilt.html Format: PDF Files: /usr/share/doc/quilt/quilt.pdf debian/patchsys-quilt.mk0000644000000000000000000001043712251204230012505 0ustar # -*- mode: makefile; coding: utf-8 -*- # Copyright © 2003 Martin Quinson # Description: An advanced patch system based on the quilt facilities. # please refere to the documentation of the quilt package for more information. # # Used variables for configuration: # # # 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 2, 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. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # 02111-1307 USA. ifndef _cdbs_bootstrap _cdbs_scripts_path ?= /usr/lib/cdbs _cdbs_rules_path ?= /usr/share/cdbs/1/rules _cdbs_class_path ?= /usr/share/cdbs/1/class endif ifndef _cdbs_rules_patchsys_quilt _cdbs_rules_patchsys_quilt := 1 ifdef _cdbs_rules_patchsys $(error cannot load two patch systems at the same time) endif include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix) DEB_SRCDIR ?= . _cdbs_patch_system_apply_rule := apply-patches _cdbs_patch_system_unapply_rule := reverse-patches # standard targets, as recommended by Debian policy 3.8.0 .PHONY: patch unpatch patch: apply-patches unpatch: reverse-patches # DEB_PATCHDIRS: directory containing your source file for patches. # # You might find it convenient to add the snippet below to your # $HOME/.quiltrc so that you can use quilt without having to reset # QUILT_PATCHES when you switch from one project to the other: # for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do # if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then # export QUILT_PATCHES=debian/patches # fi # done QUILT_PATCH_DIR ?= $(CURDIR)/debian/patches DEB_PATCHDIRS = $(QUILT_PATCH_DIR) # DEB_QUILT_TOPDIR: directory where patches will be applied # Use it only to override back to "." when CDBS sets DEB_SRCDIR # and you don't want the quilt patching to happen in a subdirectory DEB_QUILT_TOPDIR ?= $(DEB_SRCDIR) # Internal variables, do not change it unless you know what you're doing DEB_QUILT_CMD = cd $(DEB_QUILT_TOPDIR) && QUILT_PATCHES=$(DEB_PATCHDIRS) quilt --quiltrc /dev/null # Declare Build-Dep of packages using this file onto quilt CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), quilt # Build-Dep on patchutils to check for fool souls patching config.* files # This is a Bad Thing since cdbs updates those files automatically. # (code stolen from cdbs itself, in dpatch.mk) CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), patchutils (>= 0.2.25) # target reverse-config, which we use, don't exist in old cdbs CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), cdbs (>= 0.4.27) evil_patches_that_do_nasty_things := $(shell \ if lsdiff=`which lsdiff` ; then \ patchlist=`$(DEB_QUILT_CMD) series \ | sed 's|^|$(DEB_PATCHDIRS)/|' \ | tr "\n" " "`; \ if [ "x$$patchlist" != x ] ; then \ $$lsdiff -H $$patchlist \ | egrep "/config\.(guess|sub|rpath)$$" | tr "\n" " " ; \ fi;\ fi) ifneq (, $(evil_patches_that_do_nasty_things)) $(warning WARNING: The following patches are modifying auto-updated files. This can result in serious trouble: $(evil_patches_that_do_nasty_things)) endif post-patches:: apply-patches clean:: reverse-patches # The patch subsystem apply-patches: pre-build debian/stamp-patched debian/stamp-patched: # reverse-config must be first $(MAKE) -f debian/rules reverse-config # quilt exits with 2 as return when there was nothing to do. # That's not an error here (but it's usefull to break loops in crude scripts) $(DEB_QUILT_CMD) push -a || test $$? = 2 touch debian/stamp-patched $(MAKE) -f debian/rules update-config # update-config must be last reverse-patches: # reverse-config must be first $(MAKE) -f debian/rules reverse-config if [ -d "$(DEB_QUILT_TOPDIR)" ]; then \ $(DEB_QUILT_CMD) pop -a -R || test $$? = 2 ; \ fi rm -rf $(DEB_QUILT_TOPDIR)/.pc rm -f debian/stamp-patch* endif debian/copyright0000644000000000000000000000112212251204230011104 0ustar # -*- coding: utf-8 -*- This package was debianized by Martin Quinson on Tue, 29 Oct 2002 09:29:20 +0100. It was downloaded from: https://savannah.nongnu.org/projects/quilt/ Upstream Authors: Andrew Morton Andreas Gruenbacher Copyright: Copyright (C) 2003, 2004, 2005, 2006 Andreas Gruenbacher , SuSE Labs Copyright (C) 2006 Steve Langasek These scripts are released under the GPL version 2 (or any later version), available on any Debian box at: /usr/share/common-licenses/GPL-2 debian/README.source0000644000000000000000000000353512251204230011342 0ustar This package uses quilt to manage all modifications to the upstream source. Changes are stored in the source package as diffs in debian/patches and applied during the build. To configure quilt to use debian/patches instead of patches, you want either to export QUILT_PATCHES=debian/patches in your environment or use this snippet in your ~/.quiltrc: for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then export QUILT_PATCHES=debian/patches break fi done To get the fully patched source after unpacking the source package, cd to the root level of the source package and run: quilt push -a The last patch listed in debian/patches/series will become the current patch. To add a new set of changes, first run quilt push -a, and then run: quilt new where is a descriptive name for the patch, used as the filename in debian/patches. Then, for every file that will be modified by this patch, run: quilt add before editing those files. You must tell quilt with quilt add what files will be part of the patch before making changes or quilt will not work properly. After editing the files, run: quilt refresh to save the results as a patch. Alternately, if you already have an external patch and you just want to add it to the build system, run quilt push -a and then: quilt import -P /path/to/patch quilt push -a (add -p 0 to quilt import if needed). as above is the filename to use in debian/patches. The last quilt push -a will apply the patch to make sure it works properly. To remove an existing patch from the list of patches that will be applied, run: quilt delete You may need to run quilt pop -a to unapply patches first before running this command. debian/source/0000755000000000000000000000000012251204230010455 5ustar debian/source/format0000644000000000000000000000001412251204230011663 0ustar 3.0 (quilt) debian/quiltrc.build0000644000000000000000000000040012251204230011653 0ustar # This is the quiltrc used to build the package when the quilt program is found # find our friends QUILT_PATCHES=debian/patches QUILT_REFRESH_ARGS="--diffstat -p ab" QUILT_DIFF_OPTS='-p' # do not polute patches with timestamps QUILT_NO_DIFF_TIMESTAMPS=1