diff mbox

[for,p,q,r,s,t}] UBUNTU: [Config] add debian/gbp.conf

Message ID 1401276388.2756.10.camel@sputnik-fhd
State New
Headers show

Commit Message

Kamal Mostafa May 28, 2014, 11:26 a.m. UTC
I'd like to apply the following patch (creates debian/gbp.conf) to P, Q,
R, S, and T.  It has already been applied to Utopic.

This new two-line file provides a definition for our standard git tag
syntax (e.g. "Ubuntu-3.15.0-3.7") that can be used by git-buildpackage
or related tools.

---------------- >8 ----------------

From 3ac646db5e2c9ac349c2c32fa7a198ea33acdcac Mon Sep 17 00:00:00 2001
From: Kamal Mostafa <kamal@canonical.com>
Date: Mon, 26 May 2014 12:20:05 +0200
Subject: UBUNTU: [Config] add debian/gbp.conf

Defines tag format for 'git buildpackage'.

Acked-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 debian/gbp.conf | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 debian/gbp.conf

Comments

Kamal Mostafa May 28, 2014, 11:29 a.m. UTC | #1
On Wed, 2014-05-28 at 13:26 +0200, Kamal Mostafa wrote:
> I'd like to apply the following patch (creates debian/gbp.conf) to P, Q,
> R, S, and T.  It has already been applied to Utopic.

Actually, Lucid too.

 -Kamal


> This new two-line file provides a definition for our standard git tag
> syntax (e.g. "Ubuntu-3.15.0-3.7") that can be used by git-buildpackage
> or related tools.
> 
> ---------------- >8 ----------------
> 
> From 3ac646db5e2c9ac349c2c32fa7a198ea33acdcac Mon Sep 17 00:00:00 2001
> From: Kamal Mostafa <kamal@canonical.com>
> Date: Mon, 26 May 2014 12:20:05 +0200
> Subject: UBUNTU: [Config] add debian/gbp.conf
> 
> Defines tag format for 'git buildpackage'.
> 
> Acked-by: Andy Whitcroft <apw@canonical.com>
> Signed-off-by: Kamal Mostafa <kamal@canonical.com>
> ---
>  debian/gbp.conf | 2 ++
>  1 file changed, 2 insertions(+)
>  create mode 100644 debian/gbp.conf
> 
> diff --git a/debian/gbp.conf b/debian/gbp.conf
> new file mode 100644
> index 0000000..8ce5fda
> --- /dev/null
> +++ b/debian/gbp.conf
> @@ -0,0 +1,2 @@
> +[buildpackage]
> +debian-tag = Ubuntu-%(version)s
Kamal Mostafa May 29, 2014, 8:39 a.m. UTC | #2
On Wed, 2014-05-28 at 13:26 +0200, Kamal Mostafa wrote:
> I'd like to apply the following patch (creates debian/gbp.conf) to P, Q,
> R, S, and T.  It has already been applied to Utopic.
> 
> This new two-line file provides a definition for our standard git tag
> syntax (e.g. "Ubuntu-3.15.0-3.7") that can be used by git-buildpackage
> or related tools.


More details about why I want to add this two-line config file
"debian/gbp.conf" to all the Ubuntu kernel branches:
        
                [buildpackage]
                debian-tag = Ubuntu-%(version)s


About git-buildpackage
----------------------

There exists a program called 'git-buildpackage'[0] (in an apt-get
package of the same name) which can drive the process of constructing a
Debian package from a git branch, including various pre-validation
steps, running debuild, and automatically adding a correct git tag
constructed from the version number in the changelog.

I have been using[1] git-buildpackage to construct the kernel packages
for upload (and actually a short wrapper script which implements some of
our additional Ubuntu-kernel-specific process steps).

Advantages of using git-buildpackage to do the package construction:

 - Eliminates the very common human-error/typo mistakes that we
frequently make (incorrect git tags like forgetting to insert "-lts",
and generally inconsistent tag syntax).

 - Makes the whole source package build process more consistent, and
allows for us to move towards even more consistency in the future.
Later, we might consider enabling more of git-buildpackages optional
validation steps, or even construct a package-build-bot.

 - Its just a lot easier than trying to follow our complex wiki
instructions, which are mostly valid, but have lots of corner cases and
exceptions -- the places where we often make mistakes.


The two-line gbp.conf file
--------------------------

The purpose of the two-line gbp.conf file is simply to configure
git-buildpackage to create tags with our preferred git tag scheme, on a
per-branch basis.  Specifically, the config file to be checked into the
main Ubuntu kernel branches will configure it to create tags of the
format:

	Ubuntu-{versionextractedfromchangelog}

The next step will be that I will want to add a (different) two-line
gbp.conf file to all of our LTS branches, to configure them to be tagged
with:

	Ubuntu-lts-{versionextractedfromchangelog}

Side note:  Andy and I have experimented with additional debian/rules
bits that could use the same gbp.conf file in steps like "fdr
insertchanges".  It could print out the correct git tag command for you
to cut-n-paste, as some of our other construction scripts do.


So this means that we now must use git-buildpackage???
------------------------------------------------------

No.  See [1].

The presence of the gbp.conf file will affect nothing at all, unless you
choose[1] to use git-buildpackage.

You are welcome to keep using your preferred method of constructing
packages and git tagging, if that's what you prefer[1][1][1].


 -Kamal


[0] http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/man.gbp.buildpackage.html
[1] ... but nobody's saying that you must use git-buildpackage.


> ---------------- >8 ----------------
> 
> From 3ac646db5e2c9ac349c2c32fa7a198ea33acdcac Mon Sep 17 00:00:00 2001
> From: Kamal Mostafa <kamal@canonical.com>
> Date: Mon, 26 May 2014 12:20:05 +0200
> Subject: UBUNTU: [Config] add debian/gbp.conf
> 
> Defines tag format for 'git buildpackage'.
> 
> Acked-by: Andy Whitcroft <apw@canonical.com>
> Signed-off-by: Kamal Mostafa <kamal@canonical.com>
> ---
>  debian/gbp.conf | 2 ++
>  1 file changed, 2 insertions(+)
>  create mode 100644 debian/gbp.conf
> 
> diff --git a/debian/gbp.conf b/debian/gbp.conf
> new file mode 100644
> index 0000000..8ce5fda
> --- /dev/null
> +++ b/debian/gbp.conf
> @@ -0,0 +1,2 @@
> +[buildpackage]
> +debian-tag = Ubuntu-%(version)s
Tim Gardner May 30, 2014, 1:50 p.m. UTC | #3

Kamal Mostafa June 4, 2014, 4:53 p.m. UTC | #4
On Fri, 2014-05-30 at 15:50 +0200, Tim Gardner wrote:
> "APPLIED"


I took the liberty of fixing and finishing the gbp.conf commits.  I did
the following:

 - fixed the "lts" branch commits (added the "lts-" tag part)

 - applied the appropriate commit to the remaining branches

The correct gbp.conf file is now present in the master-next branches for
all the supported main kernels {l,p,s,t,u} and all the precise
lts-backport branches {q,r-next,s,t}.

Now I'll continue work on the tooling to use the new gbp.conf file.

 -Kamal
diff mbox

Patch

diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..8ce5fda
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,2 @@ 
+[buildpackage]
+debian-tag = Ubuntu-%(version)s