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>
Markus Lehtonen [Thu, 7 Jun 2012 16:13:43 +0000 (19:13 +0300)]
pq-rpm: support importing compressed patches
Adds support for importing compressed patches.
NOTE: Only gzip is supported, for the time being, other compression
methods shouldn't be to hard to add, if needed.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 4 Sep 2013 07:33:03 +0000 (10:33 +0300)]
buildpackage-rpm: add more tagging options
Add new possible keywords to be used in packaging-tag format string:
'nowtime', 'authortime', 'committime', 'nowtimenum', 'authortimenum' and
'committimenum'.
The '*timenum' keyword denote the corresponding '*time' keyword appended
with an additional incremental serial number. E.g. if 'nowtime' would
produce '
20120531', 'nowtimenum' would (the first time) produce
'
20120531.1'.
What is completely missing is a way to support these new tag keywords in
git-import-srpm tool. So, if you use these tags, git-import-srpm is not
able to reproduce the tags, (and, it is not necessarily able to
correctly tell if you've already imported a certain version of the
package).
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 31 May 2012 06:48:50 +0000 (09:48 +0300)]
RpmGitRepository: make version-tag methods more flexible
Simplifies version_to_tag() and find_version() so that all string fields
(for the format string) are given in one dict. Now it's easier to
add support for new string fields (e.g. commitdate etc).
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Markus Lehtonen [Wed, 30 May 2012 17:02:39 +0000 (20:02 +0300)]
rpm helpers: make SpecFile and SrcRpmFile give (full) version as dict.
The Dictionary contains different "version components", such as
upstreamversion, release and epoch. Makes e.g. tag creation consistent,
now.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 23 Apr 2012 09:51:08 +0000 (12:51 +0300)]
rpm: add version parsing functions to pkg policy
Adds functions for version string generation and parsing. These are
intended for parsing version strings taken e.g. from rpm filename or
changelogs.
Also, take these new version parsing functions into use in the rpm gbp
scripts.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Markus Lehtonen [Wed, 30 May 2012 06:23:46 +0000 (09:23 +0300)]
buildpackage-rpm: add option --git-ignore-untracked
Adds a new commandline option to ignore untracked files, when running
git-buildpackage-rpm. When this option is given, the
git-buildpackage-rpm command fails if there are changes to tracked
files, but, succeeds if there are untracked files present. Normally it
fails in either case.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
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>
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>
Markus Lehtonen [Thu, 12 Jan 2012 13:45:06 +0000 (15:45 +0200)]
rpm: add 'vendor' config option
Intended to represent the distribution vendor (e.g. 'Debian'). This can
be used in tag and branch name formatting.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Thu, 12 Jan 2012 13:39:55 +0000 (15:39 +0200)]
Introduce git-import-orig-rpm tool
Initial version of the git-import-orig-rpm: version of git-import-orig
intended for maintaining rpm packages.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 12 Jan 2012 13:39:12 +0000 (15:39 +0200)]
Introduce git-buildpackage-rpm tool
Initial version of git-buildpackage-rpm: git-buildpackage tool for rpms.
Also adds some new options to config.py that are exclusively used in
this tool.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
Markus Lehtonen [Wed, 8 May 2013 17:42:45 +0000 (20:42 +0300)]
pq-rpm: support patch-export up to an arbitrary tree-ish
If the end of the export range is not a commit "normal" patches are
generated up to HEAD and finally a raw diff between HEAD and the
end-tree-is generated.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
Markus Lehtonen [Thu, 12 Jan 2012 13:38:29 +0000 (15:38 +0200)]
Introduce gbp-pq-rpm tool
Initial version of gbp-pq-rpm: a tool for managing patch queues for rpm
packages.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Olev Kartau <olev.kartau@intel.com>
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>
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>
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>
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>
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>
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>
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>
Markus Lehtonen [Fri, 11 May 2012 07:56:17 +0000 (10:56 +0300)]
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>
Markus Lehtonen [Thu, 12 Jul 2012 06:07:47 +0000 (09:07 +0300)]
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>
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>
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>
Markus Lehtonen [Mon, 9 Jul 2012 07:52:36 +0000 (10:52 +0300)]
buildpackage: new "working copy" choices for --git-export
Add support for building different kind of "working copies", when using
the --git-export option:
- 'WC.TRACKED': only use files that are already tracked
- 'WC.UNTRACKED': use untracked files, too
- 'WC.IGNORED': also add files that'd normally be ignored
Using '--git-export=WC' beaves like before.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 6 Jul 2012 13:45:54 +0000 (16:45 +0300)]
buildpackage: add 'untracked' option to write_wc()
Whether to ignore untracked files (untracked=False) or not
(untracked=True). Now, clones the temporary index file from the actual
index, in order to correctly update files.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Markus Lehtonen [Fri, 6 Jul 2012 12:55:19 +0000 (15:55 +0300)]
GitRepository/add_files: add new option 'untracked'
With this option you can either only update already tracked files to
index the (untracked=False) or add new files, too.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 25 Mar 2013 08:56:47 +0000 (10:56 +0200)]
config: support for per-tree config files
Add support for reading the local config file(s) from a given git
tree-ish.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 6 Jul 2012 06:58:06 +0000 (09:58 +0300)]
config: read the right config if run from subdir
A step towards being able to run GBP tools from subdirectories.
Now expands '%(top_dir)s' and '%(git_dir)s' in config file path to root
of the working directory and git metadata directory, respectively.
Also, adds a new method _read_config_file() in preparation for
supporting per-tree config files.
Fixes tests.test_Config: currently the only correct way to define the
config file(s) to be parsed is by using the GBP_CONF_FILES environment
variable.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 27 Jun 2014 05:39:15 +0000 (08:39 +0300)]
tests/testutils: add directories arg to ls_* functions
With this you can exclude directories from the listing returned by the
ls_tar(), ls_zip() and ls_dir() functions.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 29 Aug 2013 07:37:56 +0000 (10:37 +0300)]
tests.testutils: add ls_zip() helper
For listing zip contents.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 14 Nov 2012 07:03:37 +0000 (09:03 +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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Markus Lehtonen [Fri, 14 Sep 2012 10:40:14 +0000 (13:40 +0300)]
GitRepository: add diff_status method
This is a method of getting the filename and status information of a
diff. That is, a list of files that changed and their status, "added",
"modified" etc.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Ed Bartosh [Wed, 30 May 2012 06:02:55 +0000 (09:02 +0300)]
gbp.git: Reimplement rfc822 date parsing without dateutil
In order to get rid of dependency to dateutil.
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 30 Jan 2014 15:46:18 +0000 (17:46 +0200)]
pq/parse_gbp_commands: return non-matched lines
In order to make it easy to re-use this function in changelog
generation.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 3 Sep 2013 13:09:11 +0000 (16:09 +0300)]
GitRepository.add_files: consistently update ALL tracked files
Use the --all option of git-add so that all tracked files are updated in
all conditions. Previously deletion of tracked files was not staged, for
example.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 6 Jul 2012 12:51:14 +0000 (15:51 +0300)]
GitRepository.add_files: use GitArgs
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 5 Jun 2012 11:55:19 +0000 (14:55 +0300)]
GitRepository: allow repo inititialization from subdir
This allows initialization of a GitRepository object, even if the
current working directory (or path given to GitRepository) is not the
top level directory of the git repository.
Don't guess the git meta data dir, but, take it as reported by git
itself.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Ed Bartosh [Wed, 6 Jun 2012 11:45:44 +0000 (14:45 +0300)]
GitRepository: Implement status method
Simple wrapper to the git-status command.
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 25 Mar 2013 13:57:24 +0000 (15:57 +0200)]
GitRepository: raise GitRepositoryError instead of GbpError
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 11 Sep 2012 12:08:13 +0000 (15:08 +0300)]
GitRepository/rev_parse: use _git_inout()
instead of the deprecated _git_getoutput() method.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 11 Dec 2013 13:50:13 +0000 (15:50 +0200)]
GitRepository/git_command: strip stderr output in case of error
In order to get rid of extra line feeds in exception message.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 27 Jun 2014 05:36:29 +0000 (08:36 +0300)]
GitRepository/has_submodules: add treeish argument
For defining a Git treeish which to look into, instead of the current
working copy.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 13 Sep 2013 06:53:16 +0000 (09:53 +0300)]
GitRepository.create_branch: add 'force' option
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 5 Feb 2014 14:11:42 +0000 (16:11 +0200)]
GitRepository.commit_files: add edit argument
In order to be able to spawn an editor, similarly to other commitX
methods in GitRepository.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 5 Feb 2014 14:11:42 +0000 (16:11 +0200)]
GitRepository.commit_all: add committer_info argument
For setting the committer name/email/date - similarly to author_info.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 5 Feb 2014 14:11:42 +0000 (16:11 +0200)]
GitRepository.commit_files: add committer_info argument
For setting the committer name/email/date - similarly to author_info.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 20 May 2013 08:28:51 +0000 (11:28 +0300)]
GbpOptionParser: allow using the default 'dest' attribute
Make it possible to add options without explicitly defining the 'dest'
attribute - in which case the default of OptionParser is used.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 10 Apr 2014 08:30:06 +0000 (11:30 +0300)]
GitRepository: implement create_tree method
New method for creating tree objects from a directory content.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 6 Feb 2014 07:22:59 +0000 (09:22 +0200)]
GitRepository: fix the 'edit' mode in commit methods
Previously the editor would not show in the shell because stdout was
captured.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 6 Feb 2014 07:17:56 +0000 (09:17 +0200)]
GitRepository: allow interactive commands
Make it possible for git commands to output directly to stdout without
redirection (i.e. capturing their stdout stream).
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 14 Jul 2014 07:25:19 +0000 (10:25 +0300)]
buildpackage: refactor tarball compression
Introduce a new function for running the compressor commands. Unifies
exception/error handling - GbpError will be returned if the compressor
fails.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 17 Sep 2013 12:13:40 +0000 (15:13 +0300)]
buildpackage/dump_tree: add 'recursive' option
For selecting whether to dump all the files recursively or just the top
level directory of the tree.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 17 Sep 2013 11:47:21 +0000 (14:47 +0300)]
GitRepository.archive: add 'paths' option
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 12 Sep 2013 10:36:08 +0000 (13:36 +0300)]
GitRepository.archive: drop the '**kwargs' argument
Unused and misleading.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 12 Sep 2013 10:30:36 +0000 (13:30 +0300)]
common/buildpackage: use GitRepository for submodules
Initialize a GitRepository object for each submodule in
git_archive_submodules().
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 5 Jun 2012 12:18:24 +0000 (15:18 +0300)]
buildpackage/dump_tree: use GitRepository.archive()
Make dump_tree() utilize the GitRepository.archive() method - similarly
to git_archive_submodules() - instead of ad-hoc Python pipes. This makes
dump_tree() work independent of the callers current working directory.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 15 May 2012 15:13:43 +0000 (18:13 +0300)]
buildpackage/git_archive_single: use GitRepository.archive()
Use GitRepository.archive() method like git_archive_submodules() does.
This makes it possible to call git_archive_single() independent of the
callers current working directory.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 18 Sep 2012 15:16:50 +0000 (18:16 +0300)]
Change compressor cmdline opts in compressor_opts to a list
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 15 May 2012 13:37:33 +0000 (16:37 +0300)]
common/buildpackage: support for different archive formats
Adds support for defining the archive format of the output of
git_archive_single(), e.g. 'zip'. Defaults to 'tar', as before.
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 12 Sep 2013 07:47:35 +0000 (10:47 +0300)]
GitRepository.archive: support getting tar data as return value
Return tar data as a generator object, if the 'output' option is not
defined.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 18 Sep 2013 14:20:41 +0000 (17:20 +0300)]
GitRepository.__git_inout: prevent blocking of stdin
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 10 Sep 2013 12:29:31 +0000 (15:29 +0300)]
GitRepository: new method for getting git output as generator
Add a new _git_inout2() helper method that returns the git output
(stdout) as a generator - instead of all stdout data in one string.
Useful for handling git commands that are expected to have a lot of
stdout data, like git-archive.
Also, changes the private __git_inout() method to return a generator.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 26 May 2014 10:24:23 +0000 (13:24 +0300)]
docs: document the --customizations option of gbp dch
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 21 May 2014 10:57:52 +0000 (13:57 +0300)]
docs: document the --interactive option of gbp-import-orig
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 13 May 2014 13:41:32 +0000 (16:41 +0300)]
notifications: make notify() more generic
In order to be able to re-use it in other tools than git-buildpackage.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 29 Apr 2014 11:07:37 +0000 (14:07 +0300)]
pq: make sure we always get a sane author
Prevent a crash when the author (for a raw diff) was None because no
name/email could be determined from git config or environment variables.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 4 Sep 2013 13:16:59 +0000 (16:16 +0300)]
pq: deprecate the usage of 'gbp-pq-topic:'
Replaced by the "Gbp[-Pq]: Topic <topic>" command.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 10 Jul 2014 06:42:35 +0000 (09:42 +0300)]
log: don't automatically setup gbp-specific logger
This makes it nicer to use gbp.* modules (e.g. gbp.git) in other
software projects which may have their own logging setup. After this
change, just importing gbp.* modules won't forcibly setup gbp-specific
logging. However, gbp logging is initialized whenever the
gbp.log.getLogger function is called which makes logging in existing gbp
commands behave just like before.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 2 Jun 2014 07:14:52 +0000 (10:14 +0300)]
tristate: implement __nonzero__() method
Returns False if tristate is 'off', otherwise True ('on' or 'auto').
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 30 May 2013 14:35:57 +0000 (17:35 +0300)]
import-srpm: support --upstream-vcs-tag cmdline option
Similar to the corresponding option in gbp import-orig.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 21 Jul 2014 09:46:40 +0000 (12:46 +0300)]
rpm tests: disable one anomalous pylint error
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 25 Jul 2014 05:58:23 +0000 (08:58 +0300)]
tests: add tests for UpstreamSource.guess_version()
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 6 Jun 2013 11:53:45 +0000 (14:53 +0300)]
UpstreamSource.guess_version: recognise debian native tarballs
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 18 Jul 2014 12:37:48 +0000 (15:37 +0300)]
ComponentTestBase: add dirs argument to _check_repo_state()
Make difference between regular files and directories, eliminating the
requirement of listing directories in the file list.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 26 Jun 2014 07:05:01 +0000 (10:05 +0300)]
ComponentTestBase: add ls_tree() method
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 26 Jun 2014 07:01:18 +0000 (10:01 +0300)]
ComponentTestBase: add check_files() method
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 2 Oct 2013 13:35:32 +0000 (16:35 +0300)]
ComponentTestBase: add a per-class toplevel temp dir
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>