Package: duplicity
Severity: wishlist
Tags: patch

Hi,

The dpatch patch management system has been deprecated for some time. The
Lintian currently flags use of dpatch packages as an error. The new 3.0
packaging format is an improved version which, among other things, contains
patch management built-in. For more information, see:

    http://wiki.debian.org/Projects/DebSrc3.0

I had some free time; see attached patch to migrate to new package
format. Note that all files in debian/patches/* are canocalized to
*.patch.

Let me know if there is anything that needs adjusting or if it is ok
to upload this version in a NMU in case you are working on other
issues needing attention.

Thanks,
Jari

>From f76b7afd088b821b9169ff02e0b03cae7aada51f Mon Sep 17 00:00:00 2001
From: Jari Aalto <jari.aa...@cante.net>
Date: Sat, 5 May 2012 16:55:08 +0300
Subject: [PATCH] format-3.0
Organization: Private
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Signed-off-by: Jari Aalto <jari.aa...@cante.net>
---
 debian/README.source                               |   38 --------------------
 debian/changelog                                   |   12 +++++++
 debian/compat                                      |    2 +-
 debian/control                                     |    6 ++--
 debian/copyright                                   |    2 +-
 debian/duplicity.docs                              |    1 -
 debian/patches/00list                              |    5 ---
 .../{01sshbackend.dpatch => 01-sshbackend.patch}   |    8 ++---
 debian/patches/02-cachedesync.patch                |   25 +++++++++++++
 debian/patches/02cachedesync.dpatch                |   26 --------------
 ...03forcecleanup.dpatch => 03-forcecleanup.patch} |   33 +++++++++--------
 .../{04reverify.dpatch => 04-reverify.patch}       |   10 ++----
 ...reamgpgintf.dpatch => 05-upstreamgpgintf.patch} |    8 ++---
 debian/patches/series                              |    5 +++
 debian/rules                                       |   11 +++---
 debian/source/format                               |    1 +
 16 files changed, 78 insertions(+), 115 deletions(-)
 delete mode 100644 debian/README.source
 delete mode 100644 debian/patches/00list
 rename debian/patches/{01sshbackend.dpatch => 01-sshbackend.patch} (91%)
 create mode 100644 debian/patches/02-cachedesync.patch
 delete mode 100644 debian/patches/02cachedesync.dpatch
 rename debian/patches/{03forcecleanup.dpatch => 03-forcecleanup.patch} (64%)
 rename debian/patches/{04reverify.dpatch => 04-reverify.patch} (75%)
 rename debian/patches/{05upstreamgpgintf.dpatch => 05-upstreamgpgintf.patch} (69%)
 create mode 100644 debian/patches/series
 create mode 100644 debian/source/format

diff --git a/debian/README.source b/debian/README.source
deleted file mode 100644
index fc98b3d..0000000
--- a/debian/README.source
+++ /dev/null
@@ -1,38 +0,0 @@
-This package uses dpatch 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 get the fully patched source after unpacking the source package, cd
-to the root level of the source package and run:
-
-    debian/rules patch
-
-Removing a patch is as simple as removing its entry from the
-debian/patches/00list file, and please also remove the patch file
-itself.
-
-Creating a new patch is done with "dpatch-edit-patch patch XX_patchname"
-where you should replace XX with a new number and patchname with a
-descriptive shortname of the patch. You can then simply edit all the
-files your patch wants to edit, and then simply "exit 0" from the shell
-to actually create the patch file.
-
-To tweak an already existing patch, call "dpatch-edit-patch XX_patchname"
-and replace XX_patchname with the actual filename from debian/patches
-you want to use.
-
-To clean up afterwards again, "debian/rules unpatch" will do the
-work for you - or you can of course choose to call
-"fakeroot debian/rules clean" all together.
-
-
---- 
-
-this documentation is part of dpatch package, and may be used by
-packages using dpatch to comply with policy on README.source. This
-documentation is meant to be useful to users who are not proficient in
-dpatch in doing work with dpatch-based packages. Please send any
-improvements to the BTS of dpatch package.
-
-original text by Gerfried Fuchs, edited by Junichi Uekawa <dan...@debian.org>
-10 Aug 2008.
diff --git a/debian/changelog b/debian/changelog
index 4681a21..fbcbf41 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+duplicity (0.6.18-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Remove deprecated dpatch and upgrade to packaging format "3.0 quilt".
+  * Update to Standards-Version to 3.9.3, debhelper to 9 and
+    drop X-* prefix from Python-Version field in control file.
+  * Add build-arch and build-indep targets; use dh_prep in rules file.
+  * Update patches 02, 03 with "quilt refresh" to make them apply cleanly.
+  * Fix copyright-refers-to-symlink-license (Lintian).
+
+ -- Jari Aalto <jari.aa...@cante.net>  Sat, 05 May 2012 16:51:56 +0300
+
 duplicity (0.6.18-1) unstable; urgency=low
 
   * New upstream release (closes: #659532)
diff --git a/debian/compat b/debian/compat
index 7ed6ff8..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-5
+9
diff --git a/debian/control b/debian/control
index 39e1468..a922c2f 100644
--- a/debian/control
+++ b/debian/control
@@ -2,9 +2,9 @@ Source: duplicity
 Section: utils
 Priority: optional
 Maintainer: Alexander Zangerl <a...@debian.org>
-Build-Depends: debhelper (>= 5.0.37.2), librsync-dev (>=0.9.6), python-dev (>= 2.6.6-3), dpatch
-Standards-Version: 3.9.1
-X-Python-Version: >= 2.5
+Build-Depends: debhelper (>= 9), librsync-dev (>=0.9.6), python-dev (>= 2.6.6-3)
+Standards-Version: 3.9.3
+Python-Version: >= 2.5
 
 Package: duplicity
 Architecture: any
diff --git a/debian/copyright b/debian/copyright
index 78e04b0..f947d6d 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -27,7 +27,7 @@ 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.
 
 On Debian GNU/Linux systems, the complete text of the GNU General Public
-License can be found in `/usr/share/common-licenses/GPL'.
+License can be found in `/usr/share/common-licenses/GPL-2'.
 
 
 tarfile:
diff --git a/debian/duplicity.docs b/debian/duplicity.docs
index 4c7a959..3d23a5d 100644
--- a/debian/duplicity.docs
+++ b/debian/duplicity.docs
@@ -1,4 +1,3 @@
 debian/NEWS.Debian
-debian/README.source
 README-LOG
 
diff --git a/debian/patches/00list b/debian/patches/00list
deleted file mode 100644
index e95d662..0000000
--- a/debian/patches/00list
+++ /dev/null
@@ -1,5 +0,0 @@
-01sshbackend
-02cachedesync
-03forcecleanup
-04reverify
-05upstreamgpgintf
diff --git a/debian/patches/01sshbackend.dpatch b/debian/patches/01-sshbackend.patch
similarity index 91%
rename from debian/patches/01sshbackend.dpatch
rename to debian/patches/01-sshbackend.patch
index db00e8c..c351e8b 100644
--- a/debian/patches/01sshbackend.dpatch
+++ b/debian/patches/01-sshbackend.patch
@@ -1,10 +1,6 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01sshbackend.dpatch by  <a...@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: replace sshbackend with rewritten one
+From: <a...@debian.org>
+Subject: replace sshbackend with rewritten one
 
-@DPATCH@
 diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' duplicity-0.6.18~/duplicity/backends/sshbackend.py duplicity-0.6.18/duplicity/backends/sshbackend.py
 --- duplicity-0.6.18~/duplicity/backends/sshbackend.py	2012-03-01 05:24:04.000000000 +1000
 +++ duplicity-0.6.18/duplicity/backends/sshbackend.py	2012-03-11 11:56:10.284325675 +1000
diff --git a/debian/patches/02-cachedesync.patch b/debian/patches/02-cachedesync.patch
new file mode 100644
index 0000000..ddba3cc
--- /dev/null
+++ b/debian/patches/02-cachedesync.patch
@@ -0,0 +1,25 @@
+From: <a...@debian.org>
+Subject: fix for (upstream)#497243: remove causes cache desynchronization
+ backed out the attempted fix, as it only dealt with the symptomps
+ and not the root-cause (which is the ill-advised change-set 616)
+
+---
+ duplicity/collections.py |    7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+--- a/duplicity/collections.py
++++ b/duplicity/collections.py
+@@ -151,12 +151,7 @@
+             if (pr
+                 and pr.time == self.time
+                 and pr.start_time == self.start_time
+-                and pr.end_time == self.end_time
+-                and pr.type != "new-sig" ):
+-                # do not remove new sigs from the cache:
+-                # they aren't removed from the remote archive,
+-                # and subsequent backups will have to resync
+-                # which is bad if running non-interactive with encrypt-key
++                and pr.end_time == self.end_time):
+                 try:
+                     globals.archive_dir.append(lfn).delete()
+                 except Exception:
diff --git a/debian/patches/02cachedesync.dpatch b/debian/patches/02cachedesync.dpatch
deleted file mode 100644
index 9e91490..0000000
--- a/debian/patches/02cachedesync.dpatch
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02cachedesync.dpatch by  <a...@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: fix for (upstream)#497243: remove causes cache desynchronization
-## DP: backed out the attempted fix, as it only dealt with the symptomps 
-## DP: and not the root-cause (which is the ill-advised change-set 616)
-
-@DPATCH@
-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' duplicity-0.6.14~/duplicity/collections.py duplicity-0.6.14/duplicity/collections.py
---- duplicity-0.6.14~/duplicity/collections.py	2011-06-18 23:53:21.000000000 +1000
-+++ duplicity-0.6.14/duplicity/collections.py	2011-07-25 18:58:44.854456333 +1000
-@@ -145,12 +145,7 @@
-             if (pr
-                 and pr.time == self.time
-                 and pr.start_time == self.start_time
--                and pr.end_time == self.end_time
--                and pr.type != "new-sig" ):
--                # do not remove new sigs from the cache:
--                # they aren't removed from the remote archive,
--                # and subsequent backups will have to resync
--                # which is bad if running non-interactive with encrypt-key
-+                and pr.end_time == self.end_time):
-                 try:
-                     globals.archive_dir.append(lfn).delete()
-                 except Exception:
diff --git a/debian/patches/03forcecleanup.dpatch b/debian/patches/03-forcecleanup.patch
similarity index 64%
rename from debian/patches/03forcecleanup.dpatch
rename to debian/patches/03-forcecleanup.patch
index f276f27..9e17a05 100644
--- a/debian/patches/03forcecleanup.dpatch
+++ b/debian/patches/03-forcecleanup.patch
@@ -1,14 +1,15 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 03forcecleanup.dpatch by  <a...@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: fix for #572792: we force a extra-clean cleanup for all remove* ops
+From: <a...@debian.org>
+Subject: fix for #572792: we force a extra-clean cleanup for all remove* ops
 
-@DPATCH@
-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' duplicity-0.6.15~/duplicity duplicity-0.6.15/duplicity
---- duplicity-0.6.15~/bin/duplicity	2011-08-20 04:27:00.000000000 +1000
-+++ duplicity-0.6.15/bin/duplicity	2011-10-01 15:24:07.069725446 +1000
-@@ -822,13 +822,24 @@
+---
+ bin/duplicity            |   13 ++++++++++++-
+ bin/duplicity.1          |   11 +++++++++++
+ duplicity/collections.py |    2 --
+ 3 files changed, 23 insertions(+), 3 deletions(-)
+
+--- a/bin/duplicity
++++ b/bin/duplicity
+@@ -868,13 +868,24 @@
                      log.Notice("Deleting set " + set.type + " " + dup_time.timetopretty(set.get_time()))
                      set.delete()
          col_stats.set_values(sig_chain_warning=None)
@@ -34,9 +35,8 @@ diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch'
  
  def sync_archive(decrypt):
      """
-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' duplicity-0.6.15~/bin/duplicity.1 duplicity-0.6.15/bin/duplicity.1
---- duplicity-0.6.15~/bin/duplicity.1	2011-08-20 04:27:00.000000000 +1000
-+++ duplicity-0.6.15/bin/duplicity.1	2011-10-01 15:22:11.397979265 +1000
+--- a/bin/duplicity.1
++++ b/bin/duplicity.1
 @@ -186,6 +186,14 @@
  .I --force
  will be needed to delete the files rather than just list them.
@@ -62,10 +62,9 @@ diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch'
  .TP
  .BI --allow-source-mismatch
  Do not abort on attempts to use the same archive dir or remote backend
-diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' duplicity-0.6.15~/duplicity/collections.py duplicity-0.6.15/duplicity/collections.py
---- duplicity-0.6.15~/duplicity/collections.py	2011-10-01 15:22:11.348981913 +1000
-+++ duplicity-0.6.15/duplicity/collections.py	2011-10-01 15:22:11.398979211 +1000
-@@ -997,8 +997,6 @@
+--- a/duplicity/collections.py
++++ b/duplicity/collections.py
+@@ -1004,8 +1004,6 @@
              if self.matched_chain_pair:
                  matched_sig_chain = self.matched_chain_pair[0]
                  for sig_chain in self.all_sig_chains:
diff --git a/debian/patches/04reverify.dpatch b/debian/patches/04-reverify.patch
similarity index 75%
rename from debian/patches/04reverify.dpatch
rename to debian/patches/04-reverify.patch
index 5a08d48..3d32a20 100644
--- a/debian/patches/04reverify.dpatch
+++ b/debian/patches/04-reverify.patch
@@ -1,11 +1,7 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 04reverify.dpatch by  <a...@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: fix #659009 by disabling validate_encryption_settings, which
-## DP: cannot work with public key encryption
+From: <a...@debian.org>
+Subject: fix #659009 by disabling validate_encryption_settings, which
+ cannot work with public key encryption
 
-@DPATCH@
 diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' duplicity-0.6.18~/bin/duplicity duplicity-0.6.18/bin/duplicity
 --- duplicity-0.6.18~/bin/duplicity	2012-03-11 12:10:22.625703996 +1000
 +++ duplicity-0.6.18/bin/duplicity	2012-03-11 12:11:34.810006192 +1000
diff --git a/debian/patches/05upstreamgpgintf.dpatch b/debian/patches/05-upstreamgpgintf.patch
similarity index 69%
rename from debian/patches/05upstreamgpgintf.dpatch
rename to debian/patches/05-upstreamgpgintf.patch
index 8cd7470..39f8a71 100644
--- a/debian/patches/05upstreamgpgintf.dpatch
+++ b/debian/patches/05-upstreamgpgintf.patch
@@ -1,10 +1,6 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 05upstreamgpgintf.dpatch by  <a...@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: ensure that the public gnupginterface module is imported
+From: <a...@debian.org>
+Subject: ensure that the public gnupginterface module is imported
 
-@DPATCH@
 diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' duplicity-0.6.12~/duplicity/gpg.py duplicity-0.6.12/duplicity/gpg.py
 --- duplicity-0.6.12~/duplicity/gpg.py	2011-03-09 05:54:31.000000000 +1000
 +++ duplicity-0.6.12/duplicity/gpg.py	2011-03-13 00:31:52.648673991 +1000
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..26c619e
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,5 @@
+01-sshbackend.patch
+02-cachedesync.patch
+03-forcecleanup.patch
+04-reverify.patch
+05-upstreamgpgintf.patch
diff --git a/debian/rules b/debian/rules
index be491d6..6a72ea8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,7 +17,6 @@ endif
 
 
 # we use dpatch
-include /usr/share/dpatch/dpatch.make
 
 
 configure: configure-stamp
@@ -27,16 +26,20 @@ configure-stamp:
 	touch configure-stamp
 
 
+
+build-arch: build
+build-indep: build
+
 build: build-stamp
 
-build-stamp: patch configure-stamp 
+build-stamp: configure-stamp 
 	dh_testdir
 
 # Add here commands to compile the package.
 	python setup.py build
 	touch build-stamp
 
-clean: clean1 unpatch
+clean: clean1
 clean1:
 	dh_testdir
 	dh_testroot
@@ -50,7 +53,7 @@ clean1:
 install: build
 	dh_testdir
 	dh_testroot
-	dh_clean -k
+	dh_prep
 	dh_installdirs
 
 # Add here commands to install the package into debian/duplicity.
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
-- 
1.7.10

Reply via email to