tools/gbs.git
11 years agoFixed empty response crash
Ed Bartosh [Fri, 26 Oct 2012 21:52:32 +0000 (00:52 +0300)]
Fixed empty response crash

Sometimemes OBS returns empty response without raising any exceptions.
remove_files API tries to parse this response as xml and crashing if
it's empty. It happens not very often, so trying 3 times to get
something parseable should work around this OBS bug.

Fixes: #495

Change-Id: Ica6c4fc3acf01f4c698651606dd1472ef888adf7
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
11 years agoImplemented uploading only changed files to OBS
Ed Bartosh [Fri, 26 Oct 2012 21:18:00 +0000 (00:18 +0300)]
Implemented uploading only changed files to OBS

Before uploading local files to OBS remotebuild code now checks if it's
really needed. Only new and changed files are uploaded. Old files are
deleted from OBS project.

This change also reorganizes remotebuild code a bit to avoid repeated
queries to OBS.

Fixes: #474

Change-Id: Ib67e84765b6ffc39de7185c437342d7a261018de
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
11 years agobump to version gbs 0.11
Zhang Qiang [Thu, 25 Oct 2012 11:49:20 +0000 (19:49 +0800)]
bump to version gbs 0.11

Change-Id: Ib475a847d03c709d16f957184fc6d2189932abe2

11 years agoFix typos. #497
Huang Hao [Fri, 26 Oct 2012 03:06:24 +0000 (11:06 +0800)]
Fix typos. #497

Change-Id: Ifdacca345a449ffbd8ba503a0dc8d5b399ba50d1

11 years agoUpdate dependency for gbs 0.11
Zhang Qiang [Thu, 25 Oct 2012 01:53:05 +0000 (09:53 +0800)]
Update dependency for gbs 0.11

* depanneur >= 0.2
* tizen-gbp-rpm >= 2012.10.25
* osc >= 0.136.0

Change-Id: Ia3e1d947e1c5134df3cf2780d33288e13f6ac053

11 years agoChange default repo config. Fix #488
Huang Hao [Thu, 25 Oct 2012 05:55:29 +0000 (13:55 +0800)]
Change default repo config. Fix #488

* change default repo from snapshots to releases
* comment repos of base and main

Change-Id: If1c2ba3911e6301a41883335c7f1e126ea1725e3

11 years agofix backtrace while trying to remove 'None' file, #490
Zhang Qiang [Wed, 24 Oct 2012 13:03:27 +0000 (21:03 +0800)]
fix backtrace while trying to remove 'None' file, #490

Change-Id: I7d1b7c3701fb9e36006b7f88a9248feb4bcd4060

11 years agoMerge "guess_spec() should return a spec belonging to given project" into devel
Qiang Z Zhang [Wed, 24 Oct 2012 09:37:58 +0000 (02:37 -0700)]
Merge "guess_spec() should return a spec belonging to given project" into devel

11 years agodepend osc-0.136
Zhang Qiang [Mon, 22 Oct 2012 05:38:34 +0000 (13:38 +0800)]
depend osc-0.136

Change-Id: Ia0488e4fcec45a27c3c01965cfe9ea3bccced03e

11 years agoguess_spec() should return a spec belonging to given project
Huang Hao [Wed, 24 Oct 2012 07:32:45 +0000 (15:32 +0800)]
guess_spec() should return a spec belonging to given project

Fix #483

Change-Id: I29810b0ae6aa11598793cd7dc3fcf29616330a97

11 years agoAdd two more usage example for gbs build
Zhang Qiang [Wed, 24 Oct 2012 05:31:15 +0000 (13:31 +0800)]
Add two more usage example for gbs build

Change-Id: I17f1a459e65a64b36c4bcc5addd32391e8c8ffe9

11 years agoDon't show generating src rpm info if no --source-rpm
Zhang Qiang [Wed, 24 Oct 2012 05:10:38 +0000 (13:10 +0800)]
Don't show generating src rpm info if no --source-rpm

Change-Id: I0aed603c387633f2abfc7b2bf31dd95a63e35894

11 years agoRevert "Revert "Implement build --spec. Fix #386""
Zhang Qiang [Tue, 23 Oct 2012 08:05:38 +0000 (16:05 +0800)]
Revert "Revert "Implement build --spec. Fix #386""

This reverts commit e72f7f2c49239e09d98b6cea96ce9a0d84be45eb.

After more discussion, we'd prefer to keep the current implementation
just like gbs 0.9. Fix all --commit / --include-all issue in next
gbs release.

Change-Id: I0717d663975cbbc6cac3f5993c4ebda4a742946f

11 years agoMerge "Remove checking of target project, fix #475" into devel
Zhang Qiang [Tue, 23 Oct 2012 07:00:06 +0000 (00:00 -0700)]
Merge "Remove checking of target project, fix #475" into devel

11 years agoraise an ObsError if SSL verification failed
Dawei Yang [Tue, 23 Oct 2012 06:52:49 +0000 (14:52 +0800)]
raise an ObsError if SSL verification failed

11 years agoRemove checking of target project, fix #475
Zhang Qiang [Mon, 22 Oct 2012 07:35:52 +0000 (15:35 +0800)]
Remove checking of target project, fix #475

If no permission to create target project, gbs return:
error <obs>: Can't set meta for Tools:Devel1: HTTP Error 403:  Forbidden
Without this patch, gbs rb can only create target project with name start
with home, which does not make sense.

Change-Id: I7ba7f2f01b9b01a1beca920412fdc53c4641e292

11 years agoRevert "Implement build --spec. Fix #386"
Zhang Qiang [Mon, 22 Oct 2012 05:10:04 +0000 (13:10 +0800)]
Revert "Implement build --spec. Fix #386"

This reverts commit 9c3e0e1683a39752a86f34166aacec5a103bd662.

11 years agoImplement build --spec. Fix #386
Huang Hao [Tue, 16 Oct 2012 08:24:18 +0000 (16:24 +0800)]
Implement build --spec. Fix #386

Pass the spec file to depanneur, it will only build that file.

Change-Id: I9dd3aabe719d2f022e1650493bc44a27ca3b5b67

11 years agoMerge "submit: fixes to target guessing logic" into devel cats-hook
Qiang Z Zhang [Thu, 18 Oct 2012 07:10:06 +0000 (00:10 -0700)]
Merge "submit: fixes to target guessing logic" into devel

11 years agoMerge "Cleaned up runtime package dependencies" into devel
Qiang Z Zhang [Thu, 18 Oct 2012 06:01:17 +0000 (23:01 -0700)]
Merge "Cleaned up runtime package dependencies" into devel

11 years agoCleaned up runtime package dependencies
Ed Bartosh [Wed, 17 Oct 2012 11:07:49 +0000 (14:07 +0300)]
Cleaned up runtime package dependencies

Gbs doesn't depend on rpm directly since it started to use
git-buildpackage. It doesn't depend on build since it started to use
depanneur. It doesn't depend on createrepo since local build mode was
dropped in favor of using depanneur. Binfmt-support and qemu are not
used at all. Dependency to python-pycurl was missing in debian/control.
Dependency to python >= 2.5 was replaced with dependency to
python >= 2.7 as gbs now uses argparse.

Change-Id: I1d6f840ab7cefcf5d6a17db3d08e859b8afb8655
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
11 years agosubmit: fixes to target guessing logic
Markus Lehtonen [Wed, 17 Oct 2012 10:54:31 +0000 (13:54 +0300)]
submit: fixes to target guessing logic

Try to find the upstream branch of the current branch, not the target.

Also, get rid of the confusing variable name 'target_branch' as we're
not submitting to any branch - the 'target' is just one part of the tag
name.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agosubmit: fix crash in guessing remote in case upstream is not set
Markus Lehtonen [Wed, 17 Oct 2012 07:33:26 +0000 (10:33 +0300)]
submit: fix crash in guessing remote in case upstream is not set

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoRemove setup qemu env code, fix #466
Zhang Qiang [Tue, 16 Oct 2012 21:57:58 +0000 (05:57 +0800)]
Remove setup qemu env code, fix #466

this work should be done in build script.

also remove dependency of qemu-arm-static, which should depend by
build.

Change-Id: I7801938955022c3bec1e707a9bbfb9675751f794

11 years agosubmit: try to guess the remote server
Markus Lehtonen [Tue, 16 Oct 2012 08:01:07 +0000 (11:01 +0300)]
submit: try to guess the remote server

If the current branch has upstream set, use it's remote as the server to
push to. Only uses 'origin' as default if no upstream is set.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoMerge "Make build/remotebuild profile selectable from cmdline" into devel
Qiang Z Zhang [Tue, 16 Oct 2012 13:51:35 +0000 (06:51 -0700)]
Merge "Make build/remotebuild profile selectable from cmdline" into devel

11 years agoMerge "Unify color of debug message in gbs, gbp and depanneur." into devel
Qiang Z Zhang [Tue, 16 Oct 2012 10:33:15 +0000 (03:33 -0700)]
Merge "Unify color of debug message in gbs, gbp and depanneur." into devel

11 years agoMake build/remotebuild profile selectable from cmdline
Markus Lehtonen [Fri, 12 Oct 2012 05:20:08 +0000 (08:20 +0300)]
Make build/remotebuild profile selectable from cmdline

Implements a new cmdline option to select the profile to use for
building. User can give the profile name without the "profile." prefix.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoMake local buildroot configurable in config file
Markus Lehtonen [Mon, 24 Sep 2012 10:47:22 +0000 (13:47 +0300)]
Make local buildroot configurable in config file

The buildroot can be set under the 'general' section as a global setting
and/or under individual profiles as a profile-wide setting.

Setting supports string substitution for ${tmpdir} and ${profile}.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoMerge "empty commit message is not allowed for gbs submit, #468" into devel
Zhang Qiang [Fri, 12 Oct 2012 10:18:15 +0000 (03:18 -0700)]
Merge "empty commit message is not allowed for gbs submit, #468" into devel

11 years agoMerge "More correct way to parse repo url" into devel
Zhang Qiang [Fri, 12 Oct 2012 10:17:54 +0000 (03:17 -0700)]
Merge "More correct way to parse repo url" into devel

11 years agoMerge "Fixed bug in command line aliases implementation" into devel
Qiang Z Zhang [Fri, 12 Oct 2012 10:16:25 +0000 (03:16 -0700)]
Merge "Fixed bug in command line aliases implementation" into devel

11 years agoempty commit message is not allowed for gbs submit, #468
Zhang Qiang [Fri, 12 Oct 2012 02:10:15 +0000 (10:10 +0800)]
empty commit message is not allowed for gbs submit, #468

Change-Id: Ie89de3c755602ecbf0be09c4d69e9873c1b1a7ef

11 years agoUnify color of debug message in gbs, gbp and depanneur.
Huang Hao [Fri, 12 Oct 2012 09:10:49 +0000 (17:10 +0800)]
Unify color of debug message in gbs, gbp and depanneur.

Fix #450.

Change-Id: Ifdd796f6b4747e0a8903f41be24f1ee9af0cf3ed

11 years agoMore correct way to parse repo url
Zhang Qiang [Fri, 12 Oct 2012 00:46:16 +0000 (08:46 +0800)]
More correct way to parse repo url

Only continue with PageNotFound exception, other exceptions, such as
AuthFailed, TimeoutError, UrlError, raise exception and exit directly.

Change-Id: I5f98d632f3af88223c266dba1a35e253c7767b1c

11 years agoFixed bug in command line aliases implementation
Ed Bartosh [Tue, 9 Oct 2012 14:00:51 +0000 (17:00 +0300)]
Fixed bug in command line aliases implementation

If --conf global option is used its argument considered as subcommand
name. This change fixes this.

Change-Id: Idc67a5257a941d3fcc065443d2017b021b469317
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
11 years agoFixed getting workdir in remotebuild mode
Ed Bartosh [Thu, 11 Oct 2012 11:36:24 +0000 (14:36 +0300)]
Fixed getting workdir in remotebuild mode

Used the same approach as in other modules: workdir is assigned to git
topdir.

Fixes: #464

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Change-Id: Idda3abf63580669b36c7a4c4c06b94fd0357856e

11 years agoMerge "Used guess_spec in changelog mode" into devel
Qiang Z Zhang [Wed, 10 Oct 2012 08:52:13 +0000 (01:52 -0700)]
Merge "Used guess_spec in changelog mode" into devel

11 years agoUsed guess_spec in changelog mode
Ed Bartosh [Tue, 9 Oct 2012 14:24:40 +0000 (17:24 +0300)]
Used guess_spec in changelog mode

This change fixes confusing behaviour of changelog mode. When there are
more than one .spec file in packaging/ directory first one is picked up
for processing. Users were confused, because there was not way to
understand which spec will be used and there was not way to specify spec
to proceed with.

Fixes: #399

Change-Id: I65d546b1c0d2fee93bdad8ed03c39d1588edf7d8
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
11 years agocheck the existance of 'source_rpm' before using it
Zhang Qiang [Tue, 9 Oct 2012 07:47:13 +0000 (15:47 +0800)]
check the existance of 'source_rpm' before using it

Change-Id: I132dde430d123191b7ebe207eafbce8175ff079b

11 years agoImplemented command line parsing using argparse
Ed Bartosh [Tue, 25 Sep 2012 15:07:17 +0000 (18:07 +0300)]
Implemented command line parsing using argparse

Fixes: #259

Change-Id: I25c6eabfedc30f089a0c5cb4cebaac3b31b97c8c

11 years agocmd_export: use gbp to build src rpm
Markus Lehtonen [Thu, 27 Sep 2012 16:31:52 +0000 (19:31 +0300)]
cmd_export: use gbp to build src rpm

Fixes #396

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoDon't rely on absolute path of Depanneur
Markus Lehtonen [Mon, 24 Sep 2012 11:15:55 +0000 (14:15 +0300)]
Don't rely on absolute path of Depanneur

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoUse os.system to ignore INT/QUIT signal while calling depanneur
Zhang Qiang [Mon, 24 Sep 2012 06:00:44 +0000 (14:00 +0800)]
Use os.system to ignore INT/QUIT signal while calling depanneur

subprocess.call does not ignore INT/QUIT signal, which result in
gbs exit first before depanneur finished

Change-Id: I88dccad5295f29f07c9d6206287f0f2b6210e5e0

11 years agoBetter help text for --upstream-tag option
Markus Lehtonen [Fri, 21 Sep 2012 07:37:26 +0000 (10:37 +0300)]
Better help text for --upstream-tag option

See #379.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoexport: handle new gbp return value
Markus Lehtonen [Fri, 21 Sep 2012 07:29:25 +0000 (10:29 +0300)]
export: handle new gbp return value

GBP now distinguishes tarball/patch generation errors from other errors.
Fixes a problem where GBS thought that all GBP errors where related to
tarball/patch generation, and, possibly printed a misleading warning and
re-tried GBP export in vain.

See #382.

Change-Id: If2128c5dbc49bae6fb597770d9452e2f93713982
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoRepo or OBS section can inherit only user or password from profile.
Huang Hao [Fri, 21 Sep 2012 06:39:53 +0000 (14:39 +0800)]
Repo or OBS section can inherit only user or password from profile.

- Fix #387, add test cases for this.
- inline user/password have the hight priority.

Change-Id: I6a8d8f6d81d012596e7383d65279060d9cfac0c9

11 years agoCheck the format of build conf release-0.10 0.10
Zhang Qiang [Fri, 21 Sep 2012 08:13:56 +0000 (16:13 +0800)]
Check the format of build conf

build conf must end with .conf and can't contain '-'.

Change-Id: I44dc370b40844a0c1b911c50cd4f22cfe644bd5c

11 years agoFormat default config template.
Huang Hao [Fri, 21 Sep 2012 05:15:40 +0000 (13:15 +0800)]
Format default config template.

- Add more comments and two tizen url to default config template.
- Remove useless config item buildconf and build_cmd

Change-Id: I0faec1b20ad1a41044f6115770fb087371f70303

11 years agoCheck if specified build conf exists.
Zhang Qiang [Thu, 20 Sep 2012 08:32:00 +0000 (16:32 +0800)]
Check if specified build conf exists.

Change-Id: Ia2488a6e6841a7f87397c5c1f595bccc2b737e06

11 years agoUse abspath for build.conf.
Huang Hao [Thu, 20 Sep 2012 08:20:33 +0000 (16:20 +0800)]
Use abspath for build.conf.

Change-Id: Ia739ff531f8a32906ac3f4913fd753960d77ec84

11 years agoCorrect setting gbs build root order
Zhang Qiang [Thu, 20 Sep 2012 06:23:03 +0000 (14:23 +0800)]
Correct setting gbs build root order

--buildroot option first, then TIZEN_BUILD_ROOT env var, and last
choice ~/GBS-ROOT/, which is the default.

Change-Id: Ieae8c7170c0f3e58a676351d3f34ad6a4ed5a87e

11 years agoMerge "patch-generation: filter out changes to packaging dir" into release-0.10
Qiang Z Zhang [Thu, 20 Sep 2012 07:51:57 +0000 (00:51 -0700)]
Merge "patch-generation: filter out changes to packaging dir" into release-0.10

11 years agopatch-generation: filter out changes to packaging dir
Markus Lehtonen [Wed, 19 Sep 2012 05:35:33 +0000 (08:35 +0300)]
patch-generation: filter out changes to packaging dir

Utilize the ignore-path functionality of git-buildpackage to ignore
changes made to the packaging files when generating patches.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoUpdate gbs version from source
Zhang Qiang [Thu, 20 Sep 2012 04:20:49 +0000 (12:20 +0800)]
Update gbs version from source

This affect output of gbs --version

Change-Id: Ia994406218fc41e08c544c7509ffe409aca9d2cb

11 years agoUpdate gbs build help info use build instead of localbuild
Zhang Qiang [Thu, 20 Sep 2012 04:09:50 +0000 (12:09 +0800)]
Update gbs build help info use build instead of localbuild

Change-Id: I50e182dbf7d626989b51c811d891296b16210fe0

11 years agoDon't use local build conf, give error msg instead
Zhang Qiang [Thu, 20 Sep 2012 03:11:51 +0000 (11:11 +0800)]
Don't use local build conf, give error msg instead

local build conf is out of date, and should be discarded.

Change-Id: Iba23ae5cfe082b8e11aac033e0128cf047506a5b

11 years agoMerge "transfer correct gbs export options to depanneur" into release-0.10
Zhang Qiang [Thu, 20 Sep 2012 05:06:36 +0000 (22:06 -0700)]
Merge "transfer correct gbs export options to depanneur" into release-0.10

11 years agoSmall changes to usage format
Huang Hao [Thu, 20 Sep 2012 03:49:13 +0000 (11:49 +0800)]
Small changes to usage format

Change-Id: I1778037d94a9c5ef56be7352a9b9f9fda688d678

11 years agotransfer correct gbs export options to depanneur
Zhang Qiang [Wed, 19 Sep 2012 13:44:23 +0000 (21:44 +0800)]
transfer correct gbs export options to depanneur

Change-Id: If988d075a91392434d0619662e131291d0bc2123

11 years agobump to version 0.10
Zhang Qiang [Wed, 19 Sep 2012 09:15:56 +0000 (17:15 +0800)]
bump to version 0.10

This commit is for new gbs 0.10 release branch (release-0.10).

Change-Id: Ice6b60b9974a2cbaf272a3a491dab3e1b4f24a20

11 years agoUpdate chroot module
Zhang Qiang [Wed, 19 Sep 2012 09:03:53 +0000 (17:03 +0800)]
Update chroot module

As depanneur is used to create build, and multiple build root will
be created if --threads=<> specified, so we remove -A option.
The build root should be specified while using gbs chroot, just as
chroot command.

Change-Id: I014e441f2ff206002595bd3acf54ff749ffcf353

11 years agoUse build-experimental to replace build module
Zhang Qiang [Wed, 19 Sep 2012 02:19:08 +0000 (10:19 +0800)]
Use build-experimental to replace build module

We have tested new new build module 'build-experimental' for several
circles, and its compartiable with build module, no any regression
issue, so let's use this module to replace current build module.

Change-Id: I58ea77cb86f21d32a5819bb0213291e407f810e5

11 years agouse 'warning' instead of 'warn'
Zhang Qiang [Tue, 18 Sep 2012 01:41:57 +0000 (09:41 +0800)]
use 'warning' instead of 'warn'

Change-Id: I0b60aa144acffac2b2b16765a6e63a9724add6a8

11 years agoshow local repo dir with correct disto and show build root dir
Zhang Qiang [Mon, 17 Sep 2012 08:02:18 +0000 (16:02 +0800)]
show local repo dir with correct disto and show build root dir

* show correct local repo dir: for different ditros(tizen, tizen2.0,
ect) different local repos are generated.
* show build root dirs, user can see this info and chroot it easily.

Change-Id: Ib8c071da842d1194c05499a605cb76718ef894a3

11 years agoMerge "Add a default parser in ConfigMgr" into devel
Qiang Z Zhang [Tue, 18 Sep 2012 02:30:23 +0000 (19:30 -0700)]
Merge "Add a default parser in ConfigMgr" into devel

11 years agoAdd a default parser in ConfigMgr
Huang Hao [Mon, 17 Sep 2012 07:23:12 +0000 (15:23 +0800)]
Add a default parser in ConfigMgr

- Fix bug#333.
- Change config item like %(xxx)s to ${xxx} in DEFAULTS
    dict, otherwise InterpolationError will be raised
- Transform ${upstream_tag} back to %(upstream_tag)s before
    calling gbp, which does not change functionality of gbp

Change-Id: I3ba122ef4a633c23d59e136773ae98d1e280dab3

11 years agoMerge "Display meaningful info when parsing repo urls" into devel
Qiang Z Zhang [Tue, 18 Sep 2012 02:29:40 +0000 (19:29 -0700)]
Merge "Display meaningful info when parsing repo urls" into devel

11 years agoDisplay meaningful info when parsing repo urls
Huang Hao [Mon, 17 Sep 2012 09:15:08 +0000 (17:15 +0800)]
Display meaningful info when parsing repo urls

Fix bug#340

Change-Id: I786bb6a3f622eca1e6087cab3fc0f2a3eaa214ea

11 years agoAdd more description about gbs build-experimental help info fix#350
Zhang Qiang [Mon, 17 Sep 2012 06:53:09 +0000 (14:53 +0800)]
Add more description about gbs build-experimental help info fix#350

Change-Id: I373ed324c16136e82a1c172092e3baefd2f37a87

11 years agoAdd --buildroot option for chroot to chroot specified dir
Zhang Qiang [Mon, 17 Sep 2012 02:15:16 +0000 (10:15 +0800)]
Add --buildroot option for chroot to chroot specified dir

Change-Id: I0d52fdec52a0e2e7f20207bd672d7f18400d0576

11 years agoUpdate packaging files
Zhang Qiang [Wed, 12 Sep 2012 13:53:50 +0000 (21:53 +0800)]
Update packaging files

* Update dependency:
  build 2012.09.12
  gbp:  0822
  depanneur: 0.1
* Update Makefile:
  dsc depend on tarball

Change-Id: I8ccdd2320b06699f37f705aea181b96673f88d5a

11 years agoCatch ConfigParser.Error when reading config
Huang Hao [Thu, 13 Sep 2012 08:11:11 +0000 (16:11 +0800)]
Catch ConfigParser.Error when reading config

Change-Id: I8ce04f7c9200ce02df62526144bf9a1dd9d13144

11 years agoChange error message showed to user.
Huang Hao [Thu, 13 Sep 2012 12:39:06 +0000 (20:39 +0800)]
Change error message showed to user.

- show user the correct message if section name specified by
    general.profile does not exist
- remove default value of remotebuild.build_server in code. if
    there is no [remotebuild] section in config file, gbs rb will
    do remote build with tizen.org. It's wried to user.
- complain no obs api found when running gbs rb, do not complain
    when parsing config file.

Change-Id: I7766a7ee04eec3e992e450aa26d0263ee45311fe

11 years agoconf: fix bug in config template generation
Markus Lehtonen [Thu, 13 Sep 2012 05:41:06 +0000 (08:41 +0300)]
conf: fix bug in config template generation

Use shutil.move() instead of os.rename() which fails if the template
file would be renamed over file system boundaries.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoSupport squashing patches in patch generation
Markus Lehtonen [Mon, 20 Aug 2012 14:23:26 +0000 (17:23 +0300)]
Support squashing patches in patch generation

Add new command line and config file option to squash commits in patch
generation into a one monolithic diff. One usage example could be e.g.
in linux kernel to squash commits between base version and stable branch
head into one .diff.

This patch directly facilitates git-buildpackage and just passes the new
option to it.

Command line option takes preference over the config file.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agofirst version of localbuild integrated with depanneur
Zhang Qiang [Wed, 5 Sep 2012 04:22:21 +0000 (12:22 +0800)]
first version of localbuild integrated with depanneur

Available features:
* multiple packages build
* parallel build with multiple threads
* dependency build automaticlly
* local repo generated

Already implemented depanneur options:
* --clean, --clean-once, --overwrite
* --incremental, --keepgoing, --no-configure
* --exclude, --exclude-from-file
* --thread
* --binary-list
* --debug

Usage Example:
$ mkdir tizen-packages
$ cp package1 package2 package3 ... tizen-packages/
$ gbs localbuild -A ia32 tizen-packages # build all packages under tizen-packages
$ cd tizen-packages/
$ gbs localbuild -A ia32 # build all packages under current dir
$ gbs localbuild -A ia32 --overwrite --include-all
$ gbs localbuild -A i586 --threads=2
$ gbs localbuild -A i586 --threads=2 --exclude=dlog --exclude=eglibc
$ gbs localbuild -A i586 --threads=4 --binary-list=/path/to/pkgs.list
$ cd package1/
$ gbs localbuild -A i586 --incremental # only support build one package

Change-Id: I8e214601cc3021c33c8a95b00477bd18546e05c3

11 years agoMerge "More changes to support profile style of config." into devel
Qiang Z Zhang [Thu, 13 Sep 2012 02:39:15 +0000 (19:39 -0700)]
Merge "More changes to support profile style of config." into devel

11 years agoMore changes to support profile style of config.
Huang Hao [Tue, 11 Sep 2012 10:48:47 +0000 (18:48 +0800)]
More changes to support profile style of config.

- proflie section header should start with "proflie_", obs
    section header should start with "obs_", repo section
    header should start with "repo_".
- add base_prj and target_prj config to obs section
- generate profile style of config file in ~/.gbs.conf if no
    config file were found
- clean all parsers in function reset_from_conf()
- as described in issue#255, remove config file in cwd
- if current config is subcommand oriented style, convert it to
    profile oriented style into ~/.gbs.conf.template. Leave it
    original config file unchange.
- BrainConfigParser.set() is not compatible with super set, so
    change name to set_into_file()
- add class RepoConf and OBSConf to repo section info and obs
    section info, including section name which is useful for
    auto new style config generation.
- only update gbs.conf that we had changed and catch permission
    exception.
- add /etc/gbs.conf back.

Change-Id: I1dcee2814a7d5430ac3329a2c018e98b48734569

11 years agoHide "man" subcommand which was introduced by osc.cmdln.
Huang Hao [Wed, 12 Sep 2012 03:31:51 +0000 (11:31 +0800)]
Hide "man" subcommand which was introduced by osc.cmdln.

osc.cmdln add do_man() and hide() to cmdln.1.0.0. do_man() is a
subcommand to generate man page. hide() is a decorator to hide
subcommand in help message, but user can still use it.

Change-Id: I2f4167211397698b8f84635347cfdb2f7c4e3b3c

11 years agoUse GBS temp dir for GBP, too
Markus Lehtonen [Tue, 11 Sep 2012 08:59:23 +0000 (11:59 +0300)]
Use GBS temp dir for GBP, too

Fixes #332.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoFix typo in gbp error message
Markus Lehtonen [Tue, 11 Sep 2012 09:01:32 +0000 (12:01 +0300)]
Fix typo in gbp error message

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoMerge "Little refactor and add test cases to conf.py" into devel experimental
Qiang Z Zhang [Mon, 10 Sep 2012 09:05:59 +0000 (02:05 -0700)]
Merge "Little refactor and add test cases to conf.py" into devel

11 years agoFix minor bugs
Huang Hao [Mon, 10 Sep 2012 08:05:35 +0000 (16:05 +0800)]
Fix minor bugs

- catch ValueError for url given by --repository
- prompt user if can't find obs api
- use empty password if no passwd item found for obs

Change-Id: I5c8942619cf11a019b1964c235c7f90edb78a8ee

11 years agoLittle refactor and add test cases to conf.py
Huang Hao [Fri, 7 Sep 2012 12:06:08 +0000 (20:06 +0800)]
Little refactor and add test cases to conf.py

- change BrainConfigParser.read() to read_one() since the code only
    use this function to read one config file. It's simpler.
- remove BrainConfigParser.check_opt() since no code use it.
- remove else branch in ConfigMgr.get() since the code can still
    work if val is empty string. Also add a test case for it.
- remove ConfigMgr.set() since no code use it. passwdx set back
    in _check_passwd(), and we will not use this set() function to
    add option into config file.
- change implementation of Fixture class, it doesn't call start()
    and stop() methods which introduced by mock0.7
- add more test cases for conf.py

Change-Id: I598f8943f98f067aa584fa4be811492c70226f23

11 years agorename conf as correct tizen release name
Zhang Qiang [Sun, 9 Sep 2012 22:52:18 +0000 (06:52 +0800)]
rename conf as correct tizen release name

This renameing phrase is needed by depanneur

Change-Id: I9cf110fcce94911ed0de2e2bac360c0e7f80737a

11 years agoSupport profile oriented style of config.
Huang Hao [Fri, 7 Sep 2012 07:47:18 +0000 (15:47 +0800)]
Support profile oriented style of config.

- support profile oriented style. It is compatible with subcommand
    oriented style.
- add a class Profile to store url/user/password of repos and api.
- add a class BizConfigManager extending from ConfigMgr. It
    handles profile info and does not care about multi-levels and
    passwdx issues. It returns current profile instance even
    config file has subcommand oriented style.
- make two functions decode_passwdx, encode_passwd to convert
    between passwd and passwdx.
- move get_repos_conf() from cmd_build.py to conf.py and split it
    into two parts
    _parse_build_repos() and _build_profile_by_subcommand()
- add test cases in test_profile.py

Change-Id: I81b2906456766f1061ccef9e7d51fea794c59409

11 years agoSupport ini section header like [section "name"].
Huang Hao [Fri, 7 Sep 2012 05:11:07 +0000 (13:11 +0800)]
Support ini section header like [section "name"].

Add a class SectionPattern to support section header style like
[section "name"]. It's also compatible with style like [section].

Change-Id: I6c35eb00a2f3be912cee34f421173fb0523aa191

11 years agoAdd upstream-branch and upstream-tag options
Markus Lehtonen [Fri, 17 Aug 2012 13:58:10 +0000 (16:58 +0300)]
Add upstream-branch and upstream-tag options

Add config file and command line options to specify the upstream branch
name and upstream tag format for build, export and remotebuild commands.
This is needed in order to be able to support different maintenance
models of non-native packages (with patch-generation enabled):
1. If upstream sources are imported with GBS, these options are not
   needed
2. However, if maintainer uses upstream git tree directly, he needs to
   be able to specify the tag format - otherwise gbp is unable to
   create orig source archive or generate patches

Command line option takes preference over the config file.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoEnable patch-generation
Markus Lehtonen [Fri, 17 Aug 2012 10:03:55 +0000 (13:03 +0300)]
Enable patch-generation

This commit enables the "proper" maintenance model of packages. That is,
create a real upstream source archive (matching the upstream tag) and
patches on top of that. It facilitates the patch compression support in
git-buildpackage: patches bigger that 100kB are compressed with gzip.
GBP also modifies the spec file to contain the new list of patches.

GBS enables this mode if the git tree has 'upstream' branch. It tries to
checkout the orig tarball with pristine-tar, if 'pristine-tar'
branch is found. If this fails, it tries to create the orig tarball from
a git tag corresponding the upstream version.

GBS falls back to the old method of generating one monolithic tarball if
exporting of packaging files (i.e. upstream archive and patch
generation) in this new mode fails.

NOTE: .spec file autoupdate feature is limited and might not work with
more exotic packaging. E.g. patches inside conditionals are not
supported, at the moment.

TODO: Currently, also packaging-only commits generate patches which is
only noise from source code perspective. This needs to be fixed in
git-buildpackage.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agouse iter var 'i' to replace repo, which already has been used
Zhang Qiang [Fri, 7 Sep 2012 05:49:48 +0000 (13:49 +0800)]
use iter var 'i' to replace repo, which already has been used

Change-Id: Ia7a05fade7ef7271888008f3d8c4f1357288c07f

11 years agofix undefined var backtrace issue.
Zhang Qiang [Fri, 7 Sep 2012 05:12:45 +0000 (13:12 +0800)]
fix undefined var backtrace issue.

Change-Id: I5d29c49a5f70e8fed1911992d0d4bae3095c96eb

11 years agocall build with --clean if target build root in not-ready stat.
Zhang Qiang [Fri, 7 Sep 2012 04:56:28 +0000 (12:56 +0800)]
call build with --clean if target build root in not-ready stat.

Change-Id: I693e2c42331773f445a5a173e882403f77a72f8d

11 years agofix reference undefined var backtrace issue
Zhang Qiang [Fri, 7 Sep 2012 04:40:59 +0000 (12:40 +0800)]
fix reference undefined var backtrace issue

Change-Id: I3509afc223c211449ddee62a9482d7cc955b0a34

11 years agoMove gbp argument creation into one function
Markus Lehtonen [Thu, 6 Sep 2012 10:43:37 +0000 (13:43 +0300)]
Move gbp argument creation into one function

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoMerge "Fix KeyError in ConfigMgr._get" into devel
Qiang Z Zhang [Fri, 7 Sep 2012 03:04:09 +0000 (20:04 -0700)]
Merge "Fix KeyError in ConfigMgr._get" into devel

11 years agoFix KeyError in ConfigMgr._get
Huang Hao [Fri, 7 Sep 2012 02:32:49 +0000 (10:32 +0800)]
Fix KeyError in ConfigMgr._get

In function ConfigMrg._get() if NoOptionError occurs and section
name is not in self.DEFAULTS, KeyError will be raised.

Change-Id: Iaa08c032eae45b1cc95294a4c7975d0aedb10405

11 years agoMerge "Add tests for getting config value." into devel
Qiang Z Zhang [Fri, 7 Sep 2012 02:36:33 +0000 (19:36 -0700)]
Merge "Add tests for getting config value." into devel

11 years agoAdd tests for getting config value.
Huang Hao [Thu, 6 Sep 2012 12:59:53 +0000 (20:59 +0800)]
Add tests for getting config value.

Fixture object can setup the 3 levels of different mocking config
files which locate in tests/testdata/ini/.

Change-Id: I079498ca086f3435916467adbfa94c3fa0809565

11 years agocmd_build: Implemented output repository creation.
Ed Bartosh [Mon, 3 Sep 2012 11:28:04 +0000 (14:28 +0300)]
cmd_build: Implemented output repository creation.

When -o commandline option is used packages are copied to specified
output directory and now createrepo is called to create rpm repo out
of that directory.

Fixes: #74, #201

Change-Id: Ie06536fe367509bbd38088b4d6120da5436b7542