[pkg-bacula-devel] Applied 0018-update-vcs-debian-control.patch
Willem van den Akker
wvdakker at wilsoft.nl
Sun May 6 14:48:34 UTC 2012
Hi Luca,
Thanks for the lengthy mail. It makes the process clear to me and I will
try to follow
your work flow.
The reason I not always replied to the list is my lack of experience and
I dont want to
bother other members with my beginners questions ;)
But I will repy also to the list.
Greetings,
Willem
On Sun, 2012-05-06 at 13:47 +0200, Luca Capello wrote:
> Hi Willem!
>
> Replying to the mailing list for the benefits of other contributors. I
> am sorry if this email is quite long, but I wanted to send you a
> complete example for my workflow.
>
> BTW, I am 'gismo' on IRC as well, on both OFTC and freenode ;-)
>
> On Sun, 06 May 2012 10:10:40 +0200, Willem van den Akker wrote:
> > Which mailbox do I use for git am?
>
> Basically, the patches I put online originated from:
> =====
> ~/tmp$ git clone git://anonscm.debian.org/pkg-bacula/bacula.git
> Cloning into 'bacula'...
> [...]
> Resolving deltas: 100% (8345/8345), done.
>
> ~/tmp$ cd bacula/
> ~/tmp/bacula(git)[master]$ git checkout development
> Branch development set up to track remote branch development from origin.
> Switched to a new branch 'development'
>
> ~/tmp/bacula(git)[development]$ git format-patch 709a7ea2a6f2b7158d19ebddb736e39d3c35e31b
> # <http://people.debian.org/~gismo/tmp/bacula/merging-development-branch/>
> 0001-Revert-changes-made-without-using-patch-system.patch
> 0002-Rework-patching-to-use-3.0-quilt.patch
> 0003-Leave-patches-unapplied-by-dpkg-source.patch
> 0004-Disable-unclear-patch-about-SQL-stuff.patch
> 0005-Remove-sqlite-sqlite3-upgrade-path-lenny-squeeze.patch
> 0006-Remove-lenny-squeeze-upgrade-stuff.patch
> 0007-Fix-init-scripts-fail-if-daemon-already-running.patch
> 0008-Fix-FTBFS-with-binutils-gold.patch
> 0009-Rewrite-debian-rules-to-use-debhelper-7.patch
> 0010-Dropping-usr-bin-bconsole-as-it-s-defective-by-desig.patch
> 0011-Re-enable-mysql-upgrade-patch.patch
> 0012-Remove-unneeded-versions-in-dependencies.patch
> 0013-Don-t-pre-depend-on-debconf.patch
> 0014-Don-t-depend-on-build-essential-packages.patch
> 0015-Provide-debug-packages.patch
> 0016-Simplify-installation-process.patch
> 0017-Stop-shipping-.la-files.patch
> 0018-Update-Vcs-in-debian-control.patch
> 0019-Add-missing-build-dependency-on-procps.patch
> 0020-Don-t-add-useless-call-to-ldconfig.patch
> 0021-Make-use-of-etc-default-bacula-fd-sd-dir.patch
> 0022-Install-conffiles-don-t-mess-with-them.patch
> 0023-Decruft-maintainer-scripts.patch
> 0024-Create-common-maintainer-scripts-at-build-time.patch
> 0025-Don-t-set-passwords-at-build-time-but-ask-for-them.patch
> 0026-Document-changes.patch
> 0027-Clean-configure-generated-files-shipped-by-upstream.patch
> 0028-Fix-typo-in-package-descriptions.patch
> 0029-Override-missing-templates-files-check.patch
> 0030-Add-LSB-Short-Description.patch
> 0031-Make-all-maintainer-scripts-bash-independent.patch
> 0032-Fix-a-syntax-error-in-example-script.patch
> 0033-Drop-old-versions-of-dependencies-and-conflicts.patch
> 0034-Change-menu-section-of-console-qt-according.patch
> 0035-Add-a-few-lintian-overrides.patch
> 0036-Get-rid-of-useless-common-functions.patch
> 0037-Use-perl-script-to-handle-dbconfig-installs.patch
> 0038-Bump-Standards-Version-to-3.9.2.patch
> 0039-Install-bsmtp-to-usr-sbin-as-intended-by-upstream.patch
>
> ~/tmp/bacula(git)[development]$ git checkout development2
> Branch development2 set up to track remote branch development2 from origin.
> Switched to a new branch 'development2'
>
> ~/tmp/bacula(git)[development2]$ git format-patch 112e36a74dd6ab73fae5086ff4091ac442d6cc6f
> # <http://people.debian.org/~gismo/tmp/bacula/merging-development2-branch/>
> 0001-White-space-and-line-breaks-clean-up.patch
> 0002-Fix-errors-in-man-pages.patch
> 0003-Remove-executable-bit-on-config-file-and-README.patch
> 0004-Add-manual-pages-for-usr-sbin-b-wild-regex.patch
> 0005-Add-at-least-short-patch-descriptions.patch
> 0006-Adjust-bat.conf-and-bconsole.conf-as-well.patch
> 0007-Upper-case-Bacula-as-it-s-a-name.patch
> 0008-Remove-reference-to-qwt.patch
> 0009-Drop-unneeded-build-dependency-on-libjconv-dev.patch
> 0010-Sort-debian-additions-a-bit.patch
> 0011-Deploy-alternative-backup-scripts.patch
> =====
>
> Then, you can simply call `git am $PATCH_ABOVE` to import the patch.
>
> Please note that in the Git world you should use the merge command to do
> this kind of stuff, but I prefer to manually read each patch (and I have
> not found the time yet to read the full Git manual). So, one method or
> the other is fine.
>
> > Just to line things up: How do you review a patch? I have dug around but
> > I cannot find
> > a good workflow for reviewing. There a some global guidelines but I
> > think its best to
> > get in line with this project.
>
> Let me use a real example:
> =====
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git pull origin
> Already up-to-date.
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git status
> # On branch master
> nothing to commit (working directory clean)
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git am \
> ../0005-Remove-sqlite-sqlite3-upgrade-path-lenny-squeeze.patch
> Applying: Remove sqlite -> sqlite3 upgrade path (lenny->squeeze)
> error: patch failed: debian/control:5
> error: debian/control: patch does not apply
> Patch failed at 0001 Remove sqlite -> sqlite3 upgrade path (lenny->squeeze)
> When you have resolved this problem run "git am --resolved".
> If you would prefer to skip this patch, instead run "git am --skip".
> To restore the original branch and stop patching run "git am --abort".
> =====
>
> Let us investigate why the patch does not apply. The problem is that
> while fixing #639466 I modified [master]debian/control without noticing
> that other branches did the same:
>
> <mid:87sjmb194r.fsf at gismo.pca.it>
> <http://lists.alioth.debian.org/pipermail/pkg-bacula-devel/2011-October/000092.html>
>
> Manually apply the patch editing the single files:
>
> (easy) debian/TODO
> (easy) debian/bacula-director-sqlite3.config
> (easy) debian/bacula-director-sqlite3.postinst
> (merge) debian/control
>
> Check that only the conflicting part has been fixed:
>
> $ git diff | \
> diff -u ../0005-Remove-sqlite-sqlite3-upgrade-path-lenny-squeeze.patch - | \
> less
>
> If everything is OK, finally apply the patch:
> =====
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git am --resolved
> Applying: Remove sqlite -> sqlite3 upgrade path (lenny->squeeze)
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git log -1
> commit e86e29c989d6f904978b9feabf7c440fbabd9dd2
> Author: Jan Hauke Rahm <jhr at debian.org>
> Date: Wed Apr 13 11:21:22 2011 +0200
>
> Remove sqlite -> sqlite3 upgrade path (lenny->squeeze)
>
> Closes: #612352
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ mv \
> ../0005-Remove-sqlite-sqlite3-upgrade-path-lenny-squeeze.patch{,.APPLIED}
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ mv \
> ../{,a___}0005-Remove-sqlite-sqlite3-upgrade-path-lenny-squeeze.patch.APPLIED
> =====
>
> At this point you should try to build the package and check it with the
> latest built, either the one you have locally or from:
>
> <http://people.debian.org/~gismo/tmp/bacula/>
>
> If debdiff shows only what the last patch changed, simply go on,
> otherwise fix what needs to be fixed:
> =====
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git diff
> diff --git a/debian/changelog b/debian/changelog
> index 86588ce..d21da8d 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,4 +1,4 @@
> -bacula (5.0.3-2) UNRELEASED; urgency=low
> +bacula (5.0.3-2~gismo.dev0505.0a) UNRELEASED; urgency=low
>
> [ Jan Hauke Rahm ]
> * debian/*:
> @@ -17,7 +17,7 @@ bacula (5.0.3-2) UNRELEASED; urgency=low
> + leave only the unversioned postgresql-client package in
> bacula-director-pgsql's Depends: and Recommends:.
>
> - --
> + -- Luca Capello <luca at pca.it> Sun, 06 May 2012 12:44:07 +0200
>
> bacula (5.0.3-1) unstable; urgency=low
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git-buildpackage --git-ignore-new
> [...]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ debdiff \
> ../bacula_5.0.3-2~gismo.dev0104.1.dsc \
> ../bacula_5.0.3-2~gismo.dev0505.0a.dsc
> [...]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ debdiff \
> ~/var/cache/pbuilder/result/bacula_5.0.3-2~gismo.dev0104.1_amd64.changes \
> ~/var/cache/pbuilder/result/bacula_5.0.3-2~gismo.dev0505.0a_amd64.changes
> [...]
> =====
>
> We are good, but before any push please check if other patches are
> semantically similar, so we can group them, as in this case:
> =====
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ $ git am \
> ../0006-Remove-lenny-squeeze-upgrade-stuff.patch
> Applying: Remove lenny->squeeze upgrade stuff
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ mv \
> ../0006-Remove-lenny-squeeze-upgrade-stuff.patch{,.APPLIED}
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ mv \
> ../{,a___}0006-Remove-lenny-squeeze-upgrade-stuff.patch.APPLIED
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git diff
> $ git diff | less
> diff --git a/debian/changelog b/debian/changelog
> index 86588ce..703ed61 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,4 +1,4 @@
> -bacula (5.0.3-2) UNRELEASED; urgency=low
> +bacula (5.0.3-2~gismo.dev0506.0a) UNRELEASED; urgency=low
>
> [ Jan Hauke Rahm ]
> * debian/*:
> @@ -17,7 +17,7 @@ bacula (5.0.3-2) UNRELEASED; urgency=low
> + leave only the unversioned postgresql-client package in
> bacula-director-pgsql's Depends: and Recommends:.
>
> - --
> + -- Luca Capello <luca at pca.it> Sun, 06 May 2012 13:01:08 +0200
>
> bacula (5.0.3-1) unstable; urgency=low
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git-buildpackage --git-ignore-new
> [...]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ debdiff \
> ../bacula_5.0.3-2~gismo.dev0505.0a.dsc \
> ../bacula_5.0.3-2~gismo.dev0506.0a.dsc
> [...]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ debdiff \
> ~/var/cache/pbuilder/result/bacula_5.0.3-2~gismo.dev0505.0a_amd64.changes \
> ~/var/cache/pbuilder/result/bacula_5.0.3-2~gismo.dev0506.0a_amd64.changes
> [...]
> =====
>
> Now we could push, except that IMHO we miss a debian/changelog entry:
> =====
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git diff | less
> diff --git a/debian/changelog b/debian/changelog
> index 86588ce..6578a4c 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -3,6 +3,13 @@ bacula (5.0.3-2) UNRELEASED; urgency=low
> [ Jan Hauke Rahm ]
> * debian/*:
> + rework patching to use 3.0 (quilt).
> + * debian/bacula-director-mysql.script.5.0.0,
> + debian/rules:
> + - remove lenny->squeeze upgrade path.
> + * debian/bacula-director-sqlite3.config,
> + debian/bacula-director-sqlite3.postinst,
> + debian/control (Closes: #612352):
> + - remove sqlite->sqlite3 upgrade path (lenny->squeeze).
> * debian/bacula-traymonitor.links:
> + also link the man page for traymonitor.
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git commit \
> -m "debian/changelog: add Hauke's changes up to 9c028ae" debian/changelog
> [master 200b091] debian/changelog: add Hauke's changes up to 9c028ae
> 1 file changed, 7 insertions(+)
> =====
>
> Before pushing we build the "final" package (notice the version has
> changed again) and publish the resulting binaries somewhere, so other
> people can test it:
> =====
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git diff | less
> diff --git a/debian/changelog b/debian/changelog
> index 6578a4c..69ee73f 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,4 +1,4 @@
> -bacula (5.0.3-2) UNRELEASED; urgency=low
> +bacula (5.0.3-2~gismo.dev0506.1) UNRELEASED; urgency=low
>
> [ Jan Hauke Rahm ]
> * debian/*:
> @@ -24,7 +24,7 @@ bacula (5.0.3-2) UNRELEASED; urgency=low
> + leave only the unversioned postgresql-client package in
> bacula-director-pgsql's Depends: and Recommends:.
>
> - --
> + -- Luca Capello <luca at pca.it> Sun, 06 May 2012 13:15:34 +0200
>
> bacula (5.0.3-1) unstable; urgency=low
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git-buildpackage --git-ignore-new
> [...]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ debdiff \
> ../bacula_5.0.3-2~gismo.dev0506.0a.dsc \
> ../bacula_5.0.3-2~gismo.dev0506.1.dsc
> [only debian/changelog differences]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ debdiff \
> ~/var/cache/pbuilder/result/bacula_5.0.3-2~gismo.dev0506.0a_amd64.changes \
> ~/var/cache/pbuilder/result/bacula_5.0.3-2~gismo.dev0506.1_amd64.changes
> [only differences in the Debian package version]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ debsign \
> ~/var/cache/pbuilder/result/bacula_5.0.3-2~gismo.dev0506.1_amd64.changes
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ scp \
> ../bacula_5.0.3.orig.tar.gz \
> ../bacula_5.0.3-2~gismo.dev0506.1_amd64.build \
> ~/var/cache/pbuilder/result/bacula*5.0.3-2~gismo.dev0506.1* \
> people.debian.org:~/public_html/tmp/bacula/merging-development-branch/gismo.dev0506.1/
> [...]
>
> ~/src/Debian/pkg-bacula/bacula(git)[master]$ git push
> [...]
> To git+ssh://git.debian.org/git/pkg-bacula/bacula.git
> ab5fc63..200b091 master -> master
> =====
>
> If the future upload will close some bugs, please send a notice to the
> BTS, so others are aware that the problem is being working on:
>
> <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=612352#12>
>
> Notifying the list is also a good thing to do, adding the link to a
> "virtual" page where you uploaded your package is a plus:
>
> <http://people.debian.org/~gismo/tmp/bacula/03_gismo.dev0506.1.html>
>
> Hope it is clearer, now ;-)
>
> Thx, bye,
> Gismo / Luca
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-bacula-devel/attachments/20120506/25782b9e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: face-wink.png
Type: image/png
Size: 1052 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-bacula-devel/attachments/20120506/25782b9e/attachment-0001.png>
More information about the pkg-bacula-devel
mailing list