Markus Lehtonen [Thu, 26 Jun 2014 07:01:18 +0000 (10:01 +0300)]
ComponentTestBase: add check_files() method
Change-Id: If23365cde15c2659aad039f19984a97968cd4545
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 17 Jun 2014 08:08:38 +0000 (11:08 +0300)]
import-orig-rpm: download tarball into parent directory
Prevents dirtying of the current Git working directory.
Change-Id: I6eca70b647130a380ba67d5b90fc23354b3974ea
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 13 Jun 2014 10:31:48 +0000 (13:31 +0300)]
buildpackage-rpm: always create tarball for native packages
If the package is native, always (re-)create the source tarball, even if
--git-no-create-orig is used. Not creating the tarball does not make
much sense (and most probably just causes problems and confusion): for
native packages there is no place for external tarball and no patches so
we need to always have the correct sources (i.e. the exported revision)
in the tarball.
Change-Id: I3d4a46150a017de499d19ec4ae168e6f642325bd
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 12 Jun 2014 12:42:21 +0000 (15:42 +0300)]
buildpackage-rpm: fix exit code in case of GitRepositoryError
Change-Id: I0afa3d5b744a912c63af66f2add9eb68bdc48f5b
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 12 Jun 2014 09:04:09 +0000 (12:04 +0300)]
notify: catch RuntimeError when importing pynotify
Work around a problem in some distros (e.g. Fedora) where "import
pynotify" crashes in RuntimeError in some cases, e.g. when DISPLAY env
variable is not set.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 6 Jun 2014 07:22:31 +0000 (10:22 +0300)]
gbp-dch: fix handling of the '--meta' option
Make it effective again - previously it was totally ignored. Also,
change it's default value to True to match the current behavior.
Change-Id: I0fb1b5bb99aa8f622a7c52316e9320973333bad5
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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.
Change-Id: I7125ac951bf13816d43f1854868b15188bb92042
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 6 Jun 2014 09:39:15 +0000 (12:39 +0300)]
rpm.policy: don't allow leading whitespace in bts meta tags
Change-Id: Ib2d39739b4609c088b04b286adfb6aeb5e07f78a
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 5 Jun 2014 14:25:25 +0000 (17:25 +0300)]
rpm-ch: implement --commit-msg option
Change-Id: I10e2d4ad30dfd02c73fd0f318375715202ec36c2
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 5 Jun 2014 13:37:25 +0000 (16:37 +0300)]
rpm-ch: implement --commit option
Change-Id: I89b05175d3c4f3def796b20b4e65c53af7d96d13
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 2 Jun 2014 08:57:34 +0000 (11:57 +0300)]
buildpackage-rpm: new 'commitish' keyword for spec vcs tag
Add a new keyword '%(commitish)s' that can be used in the
--git-spec-vcs-tag option. This will be translated to the sha1 of the
commitish (i.e. tag or commit). That is, if you export a tag you will
get the sha1 of the tag object - not resolving to a commit object unlike
'%(commit)s' does.
Change-Id: Ia764e15ac0dc090dde9f8e709f31f66e62120abb
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').
Change-Id: I6ade27fc85c6d05ed69dc694495b70725070d9c5
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Thu, 5 Jun 2014 10:56:16 +0000 (13:56 +0300)]
packaging: rebase on top of upstream version 0.6.15
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
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>
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>
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>
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>
Markus Lehtonen [Thu, 6 Feb 2014 13:24:54 +0000 (15:24 +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>
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>
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>
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>
Markus Lehtonen [Tue, 25 Feb 2014 10:20:24 +0000 (12:20 +0200)]
rpm-ch: add unit tests for the command line tool
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
Markus Lehtonen [Thu, 6 Feb 2014 09:35:42 +0000 (11:35 +0200)]
rpm-ch: make it possible to commit/tag the changes
Implement '--tag' command line option (and other related options for
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 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>
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>
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>
Markus Lehtonen [Wed, 5 Feb 2014 10:12:38 +0000 (12:12 +0200)]
rpm: support for getting/setting changelog in spec
SpecFile objects now support reading and writing of the %changelog
section.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Wed, 2 Oct 2013 09:35:22 +0000 (12:35 +0300)]
rpm-tests: add RepoManifest class
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 10 Dec 2013 13:25:32 +0000 (15:25 +0200)]
pq-rpm: implement '--import-files' command line option
For defining the packaging file(s) that will be imported into the
development/patch-queue branch.
By default, the local gbp conf files are imported in order to try to
ensure that gbp sees the same settings on the development/pq branch as
on the packaging branch.
NOTE: This option does not affect the patch files that are imported. The
files defined with this option will appear as new files in one
monolithic commit in the development/patch-queue branch.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 19 Sep 2013 13:22:57 +0000 (16:22 +0300)]
pq-rpm: bigger refactor of the code
Support '%(upstreamversion)s' as a replacable string in the pq branch
name.
Eliminate some unneeded branch switches that were only needed for
finding/parsing the spec file. Now, spec file is directly searched from
the git repository (from the 'base' branch) if the command is run when
on the pq branch - except for the 'export' subcommand which always
switches to the base branch.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
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>
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>
Markus Lehtonen [Fri, 6 Sep 2013 14:15:52 +0000 (17:15 +0300)]
rpm.SpecFile: support parsing spec as raw text data
Instead of reading from a file.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 6 Sep 2013 13:43:23 +0000 (16:43 +0300)]
rpm: change guess_spec() to return SpecFile object
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
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>
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>
Markus Lehtonen [Tue, 3 Sep 2013 07:32:13 +0000 (10:32 +0300)]
rpm tests: slight modificatin of import-srpm tests
Use eq_() and ok() from nose.tools for better assert messages.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Fri, 16 Aug 2013 10:51:13 +0000 (13:51 +0300)]
rpm: Improve logging in case of rpmlib error
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 19 Aug 2013 07:00:35 +0000 (10:00 +0300)]
rpm: print a warning if importing gbp-specific librpm fails
Fixes: #1177
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 16 Aug 2013 10:26:54 +0000 (13:26 +0300)]
rpm: implement a wrapper module for rpm lib
Intended for capturing the rpm lib logging output.
NOTE! The new module is named 'lib_rpm.py' (and not 'librpm.py') because
of a bug in python-nose: some name clash makes nosetests --with-xunit
fail in this case.
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 what the option does in git-import-orig-[rpm].
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 20 May 2013 07:45:25 +0000 (10:45 +0300)]
rpm: support importing bzip2 compressed patches
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 15 May 2013 06:51:54 +0000 (09:51 +0300)]
rpm: give patches in the order they are applied in the spec
Fixes patch importing in situations when patch tag numbering in the spec
differs from the order they are applied.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 13 May 2013 12:05:31 +0000 (15:05 +0300)]
rpm packaging: depend on pristine-tar
In practice, it is a weak dependency but upstream RPM doesn't support
weak dependencies so we put it to 'Requires:' for everything else than
openSUSE or Tizen (which do support weak deps).
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 23 Apr 2013 13:41:52 +0000 (16:41 +0300)]
packaging: git-buildpackage (Debian) tool requires devscripts
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
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>
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>
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>
Markus Lehtonen [Tue, 23 Apr 2013 12:45:38 +0000 (15:45 +0300)]
buildpackage-rpm: implement --[no-]hooks option
For enabling/disabling all hooks, similar to git-buildpackage (the
Debian tool). Does not affedt the builder.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Tue, 2 Apr 2013 07:50:08 +0000 (10:50 +0300)]
buildpackage-rpm: listen to --no-create-orig option for native packages, too
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Mon, 25 Mar 2013 09:34:45 +0000 (11:34 +0200)]
buildpackage-rpm: use config file(s) from exported tree-ish
Use the local per-tree/per-branch config file(s) from the exported
tree-ish instead of the current working copy.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 25 Feb 2013 10:11:14 +0000 (12:11 +0200)]
rpm: support conditionals in patch-export
One can now define conditional patches that are enclosed in '%if' or
'%ifarch' when the spec file is updated. One can do this by defining
'Gbp-Rpm-If: <conditional>' and 'Gbp-Rpm-IfArch: <conditional>' in the
commit message.
Only one conditional per patch is supported, i.e. you cannot define
'IfArch' and 'If' for the same patch.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 27 Feb 2013 13:53:52 +0000 (15:53 +0200)]
import-srpm: import all packaging files from src.rpm
Don't try to be too clever when importing an (true) src.rpm - just
import all files from there without trying to guess file list from spec.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 26 Feb 2013 10:01:32 +0000 (12:01 +0200)]
import-srpm: skip pristine-tar for non-tar sources archives
Don't even try to import non-tar archives to pristine-tar because that
fails. Instead, print a warning and continue without using pristine-tar.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Fri, 4 Jan 2013 16:40:51 +0000 (18:40 +0200)]
test_import_srpm: add checks for files in repo
Enhance some tests by checking that the correct files are present in the
working directory of the repo.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 11 Jan 2013 14:43:32 +0000 (16:43 +0200)]
rpm.SpecFile: drop the internal sources structure
Get rid of duplicate data tracking.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Yigang Wen <yigangx.wen@intel.com>
Markus Lehtonen [Fri, 11 Jan 2013 14:41:38 +0000 (16:41 +0200)]
rpm.SpecFile: drop the internal 'patches' structure
To get rid of duplicate data tracking. Also, add test for testing the
macro expansion of patch and source names.
Also add tests for SpecFile.patchseries.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 4 Jan 2013 13:10:02 +0000 (15:10 +0200)]
rpm.SpecFile: change specfile attribute to represent filename
There is specdir to get the (absolute) directory path.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 4 Jan 2013 12:42:25 +0000 (14:42 +0200)]
rpm: make SpecFile.update_patches() use new tag/macro methods
Use new set/delete methods for updating the patches in the spec file.
The internal patches structure is not updated and now only used when
importing patches.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 11 Jan 2013 14:36:28 +0000 (16:36 +0200)]
rpm helpers: yet another fix to patch numbering
'Patch:' does not indicate "patch number 0". Patch: and 'Patch0:' can
both be present in the same spec file.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 3 Jan 2013 15:08:36 +0000 (17:08 +0200)]
rpm helpers: support all tags
Support all 'non-list' tags that we know of.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 3 Jan 2013 14:03:23 +0000 (16:03 +0200)]
rpm helpers: parse 'nosource' and 'nopatch' sources correctly
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 11 Jan 2013 14:28:05 +0000 (16:28 +0200)]
rpm helpers: implement _set/delete_special_macro() methods
Currently intended for updating '%patch' macros.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 3 Jan 2013 10:43:08 +0000 (12:43 +0200)]
rpm refactor: rewrite set_tag functionality
In addition to refactoring, make sure that we keep the internal _tags
structure in sync.
Changes the default place for new tags: add new tags after the 'Name:'
tag instead of 'Release:'.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 4 Jan 2013 12:37:13 +0000 (14:37 +0200)]
rpm/LinkedList.delete: return the previous node
The preceding node of the deleted node. However, return the next (i.e.
the new first node) of the list if deleting the first node, and, return
None if the list is empty after deletion.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 4 Dec 2012 10:00:52 +0000 (12:00 +0200)]
rpm refactor: split spec parsing into multiple methods
Also, record all tags, macros and other "section" directives from the
spec in separate internal structures. Here "section" stands for all
scripts, scriptlets and other directives, i.e. "%prep", "%post",
"%files" etc.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 3 Dec 2012 17:12:56 +0000 (19:12 +0200)]
rpm refactor: move spec file filtering into a separate function
Also, remove the skip_tags option from the init as it's currently not
used anywhere and it'd be better parse the spec file similarly in every
place. The option can be re-added in the future if really needed.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 9 Jan 2013 12:06:39 +0000 (14:06 +0200)]
import-srpm: enhance spec guessing
Use package name (in case of src.rpm) or directory name (in case of dir)
as the preferred name of the spec file.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 9 Jan 2013 12:44:36 +0000 (14:44 +0200)]
rpm.SpecFile: return correct patch file path in patchseries()
Fixes importing patches when the 'Patch:' tag contains an URI.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 17 Jan 2013 08:41:18 +0000 (10:41 +0200)]
buildpackage-rpm: support setting/updating the 'VCS:' tag
Git-buildpackage-rpm now always updates the 'VCS:' tag in the exported
spec file. A new config option 'spec-vcs-tag' controls the format:
- if empty, no 'VCS' tag is inserted and possible old 'VCS' tag is
removed
- otherwise, a 'VCS' tag is inserted or the old 'VCS' tag is updated
- '%(tag)s' expands to the long tag name (from git-describe)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 30 Nov 2012 17:11:35 +0000 (19:11 +0200)]
rpm helpers: support updating tags in the spec file
Currently only the 'VCS' tag is supported.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Thu, 17 Jan 2013 08:23:57 +0000 (10:23 +0200)]
tests: add more comprehensive tests for import-srpm
Basic tests for virtually all features of import-srpm.
Adds a new python module to include all (upcoming) git-buildpackage rpm
commandline tool tests. Also, adds a separate git submodule for the rpm
test data.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 21 Nov 2012 11:42:33 +0000 (13:42 +0200)]
rpm: simplify the SrcRpmFile class a bit
Get rid of the unnecessary private methods.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 21 Nov 2012 10:54:04 +0000 (12:54 +0200)]
rpm: introduce new 'Gbp-Patch-Macros' special key in spec parsing
This can be used to mark location where to add new patch macros when
updating the spec.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 21 Nov 2012 10:51:53 +0000 (12:51 +0200)]
rpm: rename the 'GbpIgnorePatch' special key in spec parsing
to 'Gbp-Ignore-Patches' for better readability. All the special keys (or
"gbp-tags") now have to start with the "Gbp-" prefix.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Fri, 16 Nov 2012 09:12:40 +0000 (11:12 +0200)]
rpm: use linked list to store spec content
Tries to make spec parsing and updating more robust by using a linked
list to represent spec content, instead of using normal list and trying
to track line numbers. Deleting and adding lines should be safer, now.
Also, consolidates the regexp usage of spec parsing a bit.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Wed, 21 Nov 2012 07:45:46 +0000 (09:45 +0200)]
rpm: implement a simple doubly linked list
This class is intended to store the spec file content, needed for
modifying the spec file.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Mon, 19 Nov 2012 11:56:31 +0000 (13:56 +0200)]
rpm: circumvent an rpm-python macro expansion problem
Parse the spec file two times to circumvent a rpm-python problem which
causes macros not to be correctly expanded if used before their
definition.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Markus Lehtonen [Tue, 13 Nov 2012 09:50:34 +0000 (11:50 +0200)]
rpm: configuration option for setting the output color scheme
Adds the new 'color-scheme' option to the rpm tools.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
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>
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>
Markus Lehtonen [Fri, 9 Nov 2012 06:40:36 +0000 (08:40 +0200)]
import-srpm: return 2 if patch import fails
A new return value for failed patch import. If the patch import fails
the repo is left in clean and buildable state so one might want to
distinguish that from other failures.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
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>
Markus Lehtonen [Tue, 30 Oct 2012 09:48:24 +0000 (11:48 +0200)]
tests: add unittests for gbp.rpm
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>