tools/git-buildpackage.git
10 years agoCompatibility: unbreak urllib import for old distros test-devel
Markus Lehtonen [Thu, 26 Feb 2015 16:33:21 +0000 (18:33 +0200)]
Compatibility: unbreak urllib import for old distros

Old versions of python-six shipped on e.g. Debian 7, Ubuntu 12.04 and
openSUSE 12.3 do not contain urllib.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopackaging: rebase on top of upstream version 0.6.24
Markus Lehtonen [Mon, 23 Feb 2015 14:23:44 +0000 (16:23 +0200)]
packaging: rebase on top of upstream version 0.6.24

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoTizen release 0.6.22-20150217
Markus Lehtonen [Tue, 17 Feb 2015 13:04:29 +0000 (13:04 +0000)]
Tizen release 0.6.22-20150217

Change-Id: I3123ca6f024dcdd380e745f3bbadaba3f5bfc098
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoTizen release 0.6.22-20150206
Markus Lehtonen [Fri, 14 Nov 2014 12:08:58 +0000 (14:08 +0200)]
Tizen release 0.6.22-20150206

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntroduce submit-bb tool
Markus Lehtonen [Tue, 16 Dec 2014 17:19:30 +0000 (19:19 +0200)]
Introduce submit-bb tool

This is a Tizen-specific tool for creating and pushing special submit
tags.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoGitRepository.create_tag: add 'annotate' argument
Markus Lehtonen [Wed, 17 Dec 2014 15:39:59 +0000 (17:39 +0200)]
GitRepository.create_tag: add 'annotate' argument

For forcing the creation of annotated tags. Causes the an editor to be
spawned if no message is given.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoGitRepository.create_tag: use GitArgs class
Markus Lehtonen [Wed, 17 Dec 2014 15:37:27 +0000 (17:37 +0200)]
GitRepository.create_tag: use GitArgs class

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntrocude clone-bb tool
Markus Lehtonen [Tue, 16 Dec 2014 14:10:10 +0000 (16:10 +0200)]
Introcude clone-bb tool

This is a new tool for helping to clone remote per-package Git
repositories when working in BitBake-based "full distro" build
environment. This is useful in the case that individual packages are
actually maintained in per-package Git repositories (like Tizen). That
is, the full distro repository that the developer operates in is
composed of the packaging meta data from the individual per-package
repositories. When willing to contribute to a package the developer
would use clone-bb to clone the correct per-package repository and make
his changes there.

NOTE: clone-bb uses GBP_PACKAGING_REPO variable to determine the remote
repository URI. This variable should be defined in the package recipes
in order to make clone-bb usable.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntroduce buildpackage-bb tool
Markus Lehtonen [Thu, 28 Aug 2014 08:24:58 +0000 (11:24 +0300)]
Introduce buildpackage-bb tool

Initial version of the tool for building BitBake packages from Git.

NOTE: The buildpackage-bb tool itself is able to operate even without an
initialized BitBake build environment although the build likely fails in
this case. However, this makes it possible to export the packaging meta
data, for example.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntroduce pq-bb tool
Markus Lehtonen [Thu, 11 Sep 2014 12:28:48 +0000 (15:28 +0300)]
Introduce pq-bb tool

This is a tool for managing patch-queues for packages maintained in the
BitBake packaging format (.bb recipes).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntroduce import-bb tool
Markus Lehtonen [Fri, 22 Aug 2014 13:17:49 +0000 (16:17 +0300)]
Introduce import-bb tool

This is the first tool in an effort of enabling gbp in the BitBake build
environment. Gbp-import-bb is a tool for importing packages from a
BitBake-based "combined" distro repository into individual per-package
Git repositories.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agolog: don't initialize handlers in GbpLogger init
Markus Lehtonen [Thu, 11 Sep 2014 12:25:00 +0000 (15:25 +0300)]
log: don't initialize handlers in GbpLogger init

Better compatibility with 3rd party modules that have their own logging
initializations.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoTizen: change python-rpm module name to rpm_tizen
Markus Lehtonen [Fri, 14 Nov 2014 06:30:32 +0000 (08:30 +0200)]
Tizen: change python-rpm module name to rpm_tizen

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoTizen release 0.6.15-20140828
Markus Lehtonen [Thu, 5 Jun 2014 10:56:16 +0000 (13:56 +0300)]
Tizen release 0.6.15-20140828

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoAdd PKGBUILD to support arch linux
Junchun Guan [Wed, 16 Jul 2014 03:28:29 +0000 (11:28 +0800)]
Add PKGBUILD to support arch linux

Three split packages: git-buildpackage-{common,rpm,doc}

Signed-off-by: Junchun Guan <junchunx.guan@intel.com>
10 years agorpm tests: add unit tests for buildpackage-rpm
Markus Lehtonen [Wed, 25 Feb 2015 20:03:13 +0000 (22:03 +0200)]
rpm tests: add unit tests for buildpackage-rpm

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agodocs: manpages for the rpm tools
Markus Lehtonen [Tue, 27 May 2014 07:09:36 +0000 (10:09 +0300)]
docs: manpages for the rpm tools

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoTizen release 0.6.12-20140521
Markus Lehtonen [Wed, 19 Mar 2014 13:31:19 +0000 (15:31 +0200)]
Tizen release 0.6.12-20140521

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: don't create pq branch when switching
Markus Lehtonen [Wed, 9 Apr 2014 13:48:45 +0000 (16:48 +0300)]
pq-rpm: don't create pq branch when switching

Pq branch must be created with 'import'.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopackaging: Prepare for next Tizen tools release
Markus Lehtonen [Thu, 7 Nov 2013 11:54:08 +0000 (13:54 +0200)]
packaging: Prepare for next Tizen tools release

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: implement --retain-history option
Markus Lehtonen [Mon, 31 Mar 2014 12:18:34 +0000 (15:18 +0300)]
pq-rpm: implement --retain-history option

With this option defined gbp tries to preserve the history when
converting. That is, for each commit in the old branch create one
corresponding commit in the new orphan packaging branch. This works by
dumping packaging files and updating patches for each commit. However,
empty commits are not generated - these are caused e.g. by changes in
files that are ignored by patch-generation.

NOTE! Only valid for the 'convert' action.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: implement --new-packaging-dir cmdline option
Markus Lehtonen [Tue, 11 Feb 2014 08:18:47 +0000 (10:18 +0200)]
pq-rpm: implement --new-packaging-dir cmdline option

Used for setting the packaging directory to be used in the new orphan
packaging branch. Defaults to --packaging-dir so that the gbp.conf files
are more likely to work without modification.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: implement 'convert' subcommand
Markus Lehtonen [Mon, 10 Feb 2014 08:49:29 +0000 (10:49 +0200)]
pq-rpm: implement 'convert' subcommand

The new subcommand is intended to be a one-time-callable command for
converting a package to use the "orphan-packaging" development model and
git layout (where packaging files are maintained in a separate branch
and code development in another branch).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agobuildpackage-rpm: patch-export from development branch
Markus Lehtonen [Wed, 25 Feb 2015 15:22:07 +0000 (17:22 +0200)]
buildpackage-rpm: patch-export from development branch

Adds git-buildpackage-rpm --patch-export support for the 'orphan
packaging' development model (where packaging files and development sources are kept in separate
branches).

New functionality:
1. If patch-export is enabled and gbp detects that the current branch
   has a development/patch-queue branch it exports the patches from there,
   instead of the tip of the packaging branch.
2. If gbp detects that the current (or exported) branch is a
   development/patch-queue branch it automatically enables patch-export
   and exports packaging files from the base branch (instead of the
   development/patch-queue branch.

Also, add a new '--git-patch-export-rev' command line option with which
the user can explicitly set the treeish from which patches are generated
(i.e. HEAD..<patch-export-rev>)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-orig-rpm: get archive from spec file
Markus Lehtonen [Thu, 13 Feb 2014 10:41:39 +0000 (12:41 +0200)]
import-orig-rpm: get archive from spec file

Try to get archive path/filename from spec file if no file name is given
on the command line.  This should make version bumps more
straightforward: just update version number in the spec file and run
'git-import-orig-rpm'.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-orig-rpm: implement automatic downloading
Markus Lehtonen [Thu, 13 Feb 2014 10:41:39 +0000 (12:41 +0200)]
import-orig-rpm: implement automatic downloading

Automatically try to download the archive if the archive filename points
to a remote location.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-orig-rpm: implement --create-missing-branches option
Markus Lehtonen [Wed, 12 Feb 2014 13:11:30 +0000 (15:11 +0200)]
import-orig-rpm: implement --create-missing-branches option

Create the upstream branch if it does not exist. Use the same option
name that import-srpm has.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm-ch: implement --meta-bts option
Markus Lehtonen [Fri, 6 Jun 2014 09:40:32 +0000 (12:40 +0300)]
rpm-ch: implement --meta-bts option

This gives the user the possibility to define what meta tags (in git
commit message) git-rpm-ch recognizes as bug tracking system references.
Or, makes it possible to disable bts meta tag tracking altogether.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm-ch: implement '--all' option
Markus Lehtonen [Fri, 16 May 2014 11:26:49 +0000 (14:26 +0300)]
rpm-ch: implement '--all' option

If defined, git-rpm-ch uses all commits in the Git history. Also,
'--since' option is omitted.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm-ch: add --message cmdline option
Markus Lehtonen [Wed, 26 Mar 2014 07:01:28 +0000 (09:01 +0200)]
rpm-ch: add --message cmdline option

For giving the text for new changelog entry/entries, skipping git commit
messages entirely.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm-ch: implement tagging options
Markus Lehtonen [Thu, 6 Feb 2014 09:35:42 +0000 (11:35 +0200)]
rpm-ch: implement tagging options

Implement '--tag' command line option (and other related options for
e.g. signing) for creating and tagging a release. These correspond the
tagging options in git-buildpackage-rpm.

The git-buildpackage-rpm tool does not commit anything to git. However,
in rpm-ch the '--tag' option automatically enables --commit which causes
the changelog modifications (and, all other staged changes) to be
committed to git before creating the tag. This makes it possible to
create a release and document the packaging/release tag name in the rpm
changelog.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm-ch: implement --commit-msg option
Markus Lehtonen [Thu, 26 Feb 2015 14:03:31 +0000 (16:03 +0200)]
rpm-ch: implement --commit-msg option

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm-ch: implement --commit option
Markus Lehtonen [Thu, 6 Feb 2014 09:35:42 +0000 (11:35 +0200)]
rpm-ch: implement --commit option

Make it possible to commit the changes to Git. It will commit the
changelog modifications, and, all other staged changes, making it
possible to easily include other changes in the commit.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntroduce git-rpm-ch tool
Markus Lehtonen [Tue, 4 Feb 2014 15:54:36 +0000 (17:54 +0200)]
Introduce git-rpm-ch tool

Initial version of the git-rpm-ch tool which is intended for maintaining
RPM changelogs. Supports both spec files and separate "OBS style"
changelog files.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm: add gbp.rpm.changelog module
Markus Lehtonen [Tue, 4 Feb 2014 15:49:28 +0000 (17:49 +0200)]
rpm: add gbp.rpm.changelog module

This new module contains basic containers and functionality for parsing
and updating rpm changelogs. It is coupled with the rpm packaging policy
class which now has definitions for rpm changelog formatting.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: unbreak patch generation if end point is a tree object
Markus Lehtonen [Tue, 10 Feb 2015 12:19:58 +0000 (14:19 +0200)]
pq-rpm: unbreak patch generation if end point is a tree object

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: add unit tests for the command line tool
Markus Lehtonen [Fri, 27 Sep 2013 08:16:39 +0000 (11:16 +0300)]
pq-rpm: add unit tests for the command line tool

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopackaging: Prepare for next Tizen tools release
Markus Lehtonen [Mon, 2 Dec 2013 11:01:13 +0000 (13:01 +0200)]
packaging: Prepare for next Tizen tools release

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: create diff up to the last merge commit
Markus Lehtonen [Thu, 21 Nov 2013 15:25:37 +0000 (17:25 +0200)]
pq-rpm: create diff up to the last merge commit

Before, merge commits broke patch generation, or, (most probably) caused
the generated patches to be unapplicable (similar to how
git-format-patch behaves).

Now, changes up to the last merge commit are squashed into one diff if
merge commits are found in the revision list from which patches are to
be generated. Individual patches (one per commit) are generated from the
last merge commit up to the exported revision.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopackaging: Release, update changelogs
Markus Lehtonen [Wed, 16 Oct 2013 08:07:10 +0000 (11:07 +0300)]
packaging: Release, update changelogs

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm: support guessing spec file from git treeish
Markus Lehtonen [Fri, 6 Sep 2013 13:07:08 +0000 (16:07 +0300)]
rpm: support guessing spec file from git treeish

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoGitRepository/get_remote_repos: return URLs, too
Markus Lehtonen [Mon, 3 Dec 2012 08:21:43 +0000 (10:21 +0200)]
GitRepository/get_remote_repos: return URLs, too

In addition to the remote name, return remote URLs. Return value is now
a dict with remote name as the key and a list of URLs as the value. The
first value in the list is the effective fetch URL, the rest of the
values are push URLs.

NOTE! This patch is to be dropped, not going for upstream.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agodebian packaging: change to 1.0 source package format
Markus Lehtonen [Mon, 2 Sep 2013 11:56:57 +0000 (14:56 +0300)]
debian packaging: change to 1.0 source package format

Changes package to be non-native (assuming debian/changelog has version
in correct format).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopackaging: Update changelogs
Markus Lehtonen [Mon, 2 Sep 2013 11:46:30 +0000 (14:46 +0300)]
packaging: Update changelogs

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopackaging: Release, update changelogs
Markus Lehtonen [Thu, 25 Oct 2012 06:35:46 +0000 (09:35 +0300)]
packaging: Release, update changelogs

Add rpm changelog. Start providing proper changelogs for Tizen Tools
releases.

Also, make it easier to track Tizen releases:
- RPM: Add a 'Provides:' tag to the git-buildpackage-rpm subpackage in
  order to be able to track Tizen releases.
- DEB: Change the package to non-native, by adding a corresponding
  release number to the version field in changelog of Debian packaging.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agotests: add tests for git-import-orig-rpm
Markus Lehtonen [Wed, 31 Oct 2012 15:27:58 +0000 (17:27 +0200)]
tests: add tests for git-import-orig-rpm

Basic tests for virtually all features of import-orig-rpm.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoCentOS compatibility: fix GitRepository.diff
Markus Lehtonen [Fri, 8 Nov 2013 10:37:51 +0000 (12:37 +0200)]
CentOS compatibility: fix GitRepository.diff

Remove the "all" parameter from --ignore-submodules which is not
supported by the old Git version of CentOS 6 (besides, it's the default,
anyway)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoCentOS compatibility: disable Debian tools
Markus Lehtonen [Wed, 24 Apr 2013 11:08:19 +0000 (14:08 +0300)]
CentOS compatibility: disable Debian tools

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoCentOS compatibility: fix GitRepository._cmd_has_feature()
Markus Lehtonen [Mon, 4 Mar 2013 11:17:24 +0000 (13:17 +0200)]
CentOS compatibility: fix GitRepository._cmd_has_feature()

Make it work in CentOS 6.3 with older git by removing backspace
characters when examining man page section names.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoCentOS compatibility: fix tests
Markus Lehtonen [Tue, 5 Mar 2013 15:49:56 +0000 (17:49 +0200)]
CentOS compatibility: fix tests

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoCentOS compatibility: make GBP work with older python2.6
Zhang Qiang [Fri, 8 Feb 2013 06:09:26 +0000 (14:09 +0800)]
CentOS compatibility: make GBP work with older python2.6

- use loops to generate dict/list
- Called logging.Logger.__init__ instead of using super(). In python 2.6
  logging.Logger is not new-style class, therefore supper() is failing.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoDisable xcover support for nose
Markus Lehtonen [Mon, 22 Apr 2013 11:11:32 +0000 (14:11 +0300)]
Disable xcover support for nose

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years ago.gbp.conf: Tizen specific changes
Markus Lehtonen [Tue, 26 Mar 2013 08:53:30 +0000 (10:53 +0200)]
.gbp.conf: Tizen specific changes

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoImport RpmGitRepository if DebianGitRepository is not available
Zhang Qiang [Thu, 24 Jan 2013 03:41:25 +0000 (22:41 -0500)]
Import RpmGitRepository if DebianGitRepository is not available

This is just a workaround, this should be fixed in nicer way by
refactoring the code.

Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
10 years agodebian packaging: HACK: disable test in Debian builds
Markus Lehtonen [Mon, 10 Sep 2012 10:05:07 +0000 (13:05 +0300)]
debian packaging: HACK: disable test in Debian builds

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoTODO: add rpm todo
Markus Lehtonen [Fri, 13 Jan 2012 13:01:28 +0000 (15:01 +0200)]
TODO: add rpm todo

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agobuildpackage-rpm: fail patch-export if local patches found
Markus Lehtonen [Thu, 8 Nov 2012 10:27:43 +0000 (12:27 +0200)]
buildpackage-rpm: fail patch-export if local patches found

Make patch export fail if local patch files (not marked for manual
maintenance) exist.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agodocs: add initial RPM documentation
Markus Lehtonen [Wed, 22 Feb 2012 10:48:57 +0000 (12:48 +0200)]
docs: add initial RPM documentation

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agobuildpackage-rpm: return 2 for patch-export or tarball generation errors
Markus Lehtonen [Fri, 21 Sep 2012 05:38:57 +0000 (08:38 +0300)]
buildpackage-rpm: return 2 for patch-export or tarball generation errors

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm: implement file path filters in patch export
Markus Lehtonen [Fri, 14 Sep 2012 14:21:09 +0000 (17:21 +0300)]
rpm: implement file path filters in patch export

Implements a filter option allows one to filter out changes to certain
files/paths in the patch-generation. A commit is totally ignored if all
files would be filtered out. The path filter is given as a Python
regexp.

This option is useful for example in filtering out the changes to
packaging files when maintaining packaging and sources in the same
branch.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm: support squashing commits in patch generation
Markus Lehtonen [Wed, 25 Feb 2015 14:06:18 +0000 (16:06 +0200)]
rpm: support squashing commits in patch generation

Implements an option for git-buildpackage-rpm and gbp-pq to squash
commits (from upstream) up to certain tree-ish into one monolithic diff.
Useful e.g. if you wan't to auto-generate a stable update patch.

The new format of the cmdline option filename is commit-ish followed by
(optionally) a colon and the desired diff filename base. Suffix '.diff'
is added by GBP.

Magic word 'HEAD' translates to the end-commit when given as the
squash-point.  This allows one to configure gbp to always squash all
commits into one monolithic diff.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm: add --orig-prefix option
Markus Lehtonen [Thu, 14 Jun 2012 16:34:09 +0000 (19:34 +0300)]
rpm: add --orig-prefix option

Adds a new option --orig-prefix that affects the prefix of the
generated/imported orig tarballs.

For git-buildpackage-rpm, it defines the prefix of tarballs generated by
the tool, 'auto' (default) makes gbp to guess the prefix, as before.
NOTE: this doesn't affect the tarballs checked out from pristine-tar
(i.e. if --pristine-tar is defined) or tarballs that are already present
(see --git-tarball-dir option).

For git-import-orig, this new option affects the prefix of tarballs
imported into pristine-tar branch. If set to 'auto' (default) gbp
doesn't mangle the prefix.

Other tools (e.g. git-import-srpm) are not affected.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm: support generating compressed patches
Markus Lehtonen [Thu, 7 Jun 2012 14:20:21 +0000 (17:20 +0300)]
rpm: support generating compressed patches

This patch adds the support to generate compressed patches. User can
define the patch file size limit after which patches gzipped.

Re-writes the write_patch() function(s) and now uses the same-and-only
write_patch() for buildpackage-rpm and pq-rpm.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agodebian packaging: relax requirements on devscripts
Markus Lehtonen [Tue, 14 Jan 2014 07:39:12 +0000 (09:39 +0200)]
debian packaging: relax requirements on devscripts

No need to depend on the latest version.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agodebian packaging: introduce -common subpackage
Ed Bartosh [Thu, 24 May 2012 13:16:12 +0000 (16:16 +0300)]
debian packaging: introduce -common subpackage

Split the git-buildpackage into git-buildpackage and
git-buildpackage-common. Now there are three binary packages:
- git-buildpackage-common contains the common code for Deb and RPM tools
- git-buildpackage contains the Debian-specific modules/tools
- git-buildpackage-rpm contains the RPM-specific modules/tools

After this change the Debian packaging resembles the RPM side packaging.

Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoAdd rpm packaging files
Markus Lehtonen [Mon, 23 Apr 2012 12:29:53 +0000 (15:29 +0300)]
Add rpm packaging files

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Olev Kartau <olev.kartau@intel.com>
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoREADME: mention RPM support
Markus Lehtonen [Thu, 12 Apr 2012 13:37:37 +0000 (16:37 +0300)]
README: mention RPM support

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agorpm: add rpm-specific example config file
Markus Lehtonen [Thu, 12 Jan 2012 13:40:18 +0000 (15:40 +0200)]
rpm: add rpm-specific example config file

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntroduce gbp-import-orig-rpm tool
Markus Lehtonen [Thu, 12 Jan 2012 13:39:55 +0000 (15:39 +0200)]
Introduce gbp-import-orig-rpm tool

Initial version of import-orig-rpm: version of import-orig intended for
maintaining rpm packages.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-srpm: support for patch import
Markus Lehtonen [Wed, 27 Jun 2012 15:12:01 +0000 (18:12 +0300)]
import-srpm: support for patch import

Adds a new commandline option '--patch-import' for importing patches
into the source tree in packaging branch. When enabled, gbp applies and
commits all patches (not marked for manual maintenance) into the
packaging branch. If this succeeds, it also removes all imported patch
files from the packaging directory and the spec file.

Currently only supported for non-orphan-packaging.

This setting is true by default which should make more sense as the
developer wants to do code development in the packaging branch (if
he/she selects to use non-orphan packaging).

However, patch-import is force-disabled if in bare git repository. We
cannot support this, currently.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agopq-rpm: add new --pq-branch option
Markus Lehtonen [Fri, 11 May 2012 08:29:24 +0000 (11:29 +0300)]
pq-rpm: add new --pq-branch option

Adds a new command line option '--pq-branch' to set the name of
patch-queue branches. Changes the defaults pq-branch name for rpm tools
to 'development/%(branch)s' (instead of the old
'patch-queue/%(branch)s').

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agogbp-pq-rpm: add 'export-rev' option
Markus Lehtonen [Thu, 12 Jan 2012 13:44:43 +0000 (15:44 +0200)]
gbp-pq-rpm: add 'export-rev' option

This option allows generating patches from any git tree-ish (instead of
the default that is HEAD of patch-queue branch).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoRename internal var debian_tag -> packaging_tag
Markus Lehtonen [Thu, 12 Jan 2012 13:35:49 +0000 (15:35 +0200)]
Rename internal var debian_tag -> packaging_tag

This is done in sake of more general purpose naming, intended for
enabling rpm support: to allow logical naming for rpm and to
share as much code between debian and rpm tools as possible.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoAdd 'packaging-branch' cmdline option
Markus Lehtonen [Thu, 12 Jan 2012 13:35:37 +0000 (15:35 +0200)]
Add 'packaging-branch' cmdline option

This is the counterpart of 'debian-branch' (basically identical to that)
to not confuse rpm maintainers.

Also, adds this option to gbp-clone and gbp-pull commands (as an
alternative to the 'debian-branch option), which are usable for RPM in
their current form.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoRename internal var debian_branch -> packaging_branch
Markus Lehtonen [Thu, 12 Jan 2012 13:35:20 +0000 (15:35 +0200)]
Rename internal var debian_branch -> packaging_branch

This is done in sake of more general purpose naming, intended for
enabling rpm support.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agogbp-pull: two modes for --force
Markus Lehtonen [Thu, 12 Jan 2012 13:26:55 +0000 (15:26 +0200)]
gbp-pull: two modes for --force

The 'force' option now has two possible values:
'merge': upstream branch is merged, even if fast-forward is not
possible.

'clean': check out a clean copy from the upstream if fast-forward is not
possible (i.e. no merge). Local changes are lost in this case.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agogbp-pull: similar update strategy for all branches
Markus Lehtonen [Thu, 12 Jan 2012 13:25:57 +0000 (15:25 +0200)]
gbp-pull: similar update strategy for all branches

Treat non-checked-out branches similarly to the current branch when
forcing update. That is, do git merge, instead of just setting the ref.

Also, renames fast_forward_branch() to update_branch() to better match
the functionality.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agogbp-pull: implement --all cmdline option
Markus Lehtonen [Tue, 15 Jan 2013 14:28:24 +0000 (16:28 +0200)]
gbp-pull: implement --all cmdline option

This updates all remote-tracking branches (for the remote that is
fetched from) whose local branch name is identical to the remote branch
name.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agocommon/pq: support more flexible pq-branch naming
Markus Lehtonen [Fri, 6 Sep 2013 11:23:03 +0000 (14:23 +0300)]
common/pq: support more flexible pq-branch naming

Now any string fields (e.g. '%(version)s') can be used in the pq-branch
format strings - in addition to the '%(branch)s' supported before.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agogbp-pq: readiness to configure the pq branch name
Markus Lehtonen [Fri, 6 Feb 2015 14:23:46 +0000 (16:23 +0200)]
gbp-pq: readiness to configure the pq branch name

All other gbp branches have configurable names. This commit adds the
readiness for user to configure/change the name of the patch-queue
branches, as well.

Patch-queue is defined in options as a format string, where '%(branch)s'
refers to the debian/packaging branch. If the pq-branch format string
does not contain '%(branch)s', there is only one patch-queue branch and
the debian/packaging branch is used as its base branch. That is, e.g. a
'gbp-pq switch' operation from the patch-queue branch always switches to
the debian/packaging branch.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Olev Kartau <olev.kartau@intel.com>
10 years agoUniversal configurable base tmpdir for all gbp tools
Markus Lehtonen [Wed, 25 Feb 2015 11:50:45 +0000 (13:50 +0200)]
Universal configurable base tmpdir for all gbp tools

Adds support for a configurable tmpdir under which all gbp tools now
create their temporary directories and files.

NOTE: an exception is git-import-dscs which doesn't use the common
configuration system.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agobuildpackage: implement --[no-]build cmdline option
Markus Lehtonen [Fri, 26 Apr 2013 08:20:11 +0000 (11:20 +0300)]
buildpackage: implement --[no-]build cmdline option

For enabling/disabling the builder script. The option is a bit
asymmetric: --git-no-build automatically disables the 'postbuild' hook
whereas --git-build does not enable it (e.g. if --git-no-hooks is
given).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agobuildpackage: fix exporting of working copy when run from a subdir
Markus Lehtonen [Thu, 25 Oct 2012 06:25:25 +0000 (09:25 +0300)]
buildpackage: fix exporting of working copy when run from a subdir

Exporting sources failed when git-buildpackage was run from a
subdirectory of the git working directory because the path of the custom
index file was not handled correctly.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-orig: rework sourcecode preparation and filtering
Markus Lehtonen [Mon, 23 Feb 2015 13:05:23 +0000 (15:05 +0200)]
import-orig: rework sourcecode preparation and filtering

Take in to use the newly added prepare_sources() function. Drop dead,
unneeded code.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Conflicts:
gbp/scripts/common/import_orig.py

10 years agoimport-orig: new function for filtering/re-packing sources
Markus Lehtonen [Mon, 26 Aug 2013 07:22:00 +0000 (10:22 +0300)]
import-orig: new function for filtering/re-packing sources

Introduces a new function prepare_sources() that prepares upstream
sources for importing into upstream branch and pristine-tar. That
includes unpacking, filtering and re-packing sources. What somewhat
complicates the logic is that it tries to avoid excess unpacking/packing
of the sources.

Also fixes the unpacking / filtering / repacking logic which was broken
with some parameter combinations.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource.unpack: return UpstreamSource instance
Markus Lehtonen [Thu, 6 Jun 2013 12:19:37 +0000 (15:19 +0300)]
UpstreamSource.unpack: return UpstreamSource instance

Trying to keep UpstreamSource in consistent state so that unpacked and
packed sources are kept in sync.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource.pack: reuse unpacked dir if no filter is used
Markus Lehtonen [Thu, 6 Jun 2013 12:21:48 +0000 (15:21 +0300)]
UpstreamSource.pack: reuse unpacked dir if no filter is used

Set the unpacked attribute to the source dir if the content is not
filtered.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource: implement prefix guessing
Markus Lehtonen [Thu, 22 Aug 2013 13:24:13 +0000 (16:24 +0300)]
UpstreamSource: implement prefix guessing

Add a new attribure 'prefix', i.e. the "leading directory name" in an
archive. For example, this usually is '<name>-<version>' in release
tarballs.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ɓukasz Stelmach <l.stelmach@samsung.com>
10 years agoUpstreamSource: check that the sources exist
Markus Lehtonen [Fri, 23 Aug 2013 11:04:12 +0000 (14:04 +0300)]
UpstreamSource: check that the sources exist

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agotests: test find_source() with unittest
Markus Lehtonen [Mon, 13 Jan 2014 16:39:05 +0000 (18:39 +0200)]
tests: test find_source() with unittest

Change doctests to unittests in order to have more flexibility in
testing.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource: store the absolute path
Markus Lehtonen [Fri, 23 Aug 2013 11:01:39 +0000 (14:01 +0300)]
UpstreamSource: store the absolute path

This is more robust and reliable, e.g. in case cwd is changed.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource: move version guessing logic to PkgPolicy
Markus Lehtonen [Fri, 23 Aug 2013 10:39:19 +0000 (13:39 +0300)]
UpstreamSource: move version guessing logic to PkgPolicy

PkgPolicy is more logical context, for example if guessing version from
a plain filename and not a real file.

Also, changes guess_version() to always return a tuple to simplify
checking its return value.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource: introduce is_tarball() method
Markus Lehtonen [Mon, 9 Jul 2012 14:19:27 +0000 (17:19 +0300)]
UpstreamSource: introduce is_tarball() method

New method for checking if the sources are a tarball (possibly for
checking if the sources are committable by pristine-tar).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource: add 'archive_fmt' and 'compression' properties
Markus Lehtonen [Mon, 9 Jul 2012 14:16:21 +0000 (17:16 +0300)]
UpstreamSource: add 'archive_fmt' and 'compression' properties

New properties for easily getting the archive format (tar, zip, ...) and
compression format (gzip, bzip2, ...) of the sources.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoIntroduce PkgPolicy.is_valid_orig_archive()
Markus Lehtonen [Mon, 9 Jul 2012 13:10:37 +0000 (16:10 +0300)]
Introduce PkgPolicy.is_valid_orig_archive()

A new method for checking if the given filename is usable as a orig
(upstream) source archive.

Also, takes this method into use in the UpstreamSource class.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoUpstreamSource.pack: support prefix mangling
Markus Lehtonen [Thu, 14 Jun 2012 16:30:26 +0000 (19:30 +0300)]
UpstreamSource.pack: support prefix mangling

Add support for changing the prefix directory inside the tarball that is
generated. Also, fixes a bug that caused a "prefix-less" tarball to get
one, if unpacked and then repacked.

Also, adds this support to repack_source() in common/import_orig.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-orig: move repacked_tarball_name() out from common
Markus Lehtonen [Fri, 15 Jun 2012 06:00:35 +0000 (09:00 +0300)]
import-orig: move repacked_tarball_name() out from common

Moves repacked_tarball_name() from scripts/common back to the
Debian-specific script. The logic is too Debian-specific for RPM, after
all.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-orig: simplify repack_source() and tmpdir handling
Markus Lehtonen [Fri, 15 Jun 2012 05:43:12 +0000 (08:43 +0300)]
import-orig: simplify repack_source() and tmpdir handling

Now a tmpdir is always created and sources are always unpacked into
there.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agoimport-orig: implement --create-missing-branches option
Markus Lehtonen [Wed, 12 Feb 2014 13:11:30 +0000 (15:11 +0200)]
import-orig: implement --create-missing-branches option

Create the upstream branch if it does not exist. Use the same option
name that import-dsc has.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
10 years agodocs: enable building html docs with docbook2html
Markus Lehtonen [Mon, 13 Feb 2012 10:28:13 +0000 (12:28 +0200)]
docs: enable building html docs with docbook2html

This is useful if sgml2x package is not available.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>