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
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
Zhang Qiang [Tue, 23 Oct 2012 07:00:06 +0000 (00:00 -0700)]
Merge "Remove checking of target project, fix #475" into devel
Dawei Yang [Tue, 23 Oct 2012 06:52:49 +0000 (14:52 +0800)]
raise an ObsError if SSL verification failed
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
Zhang Qiang [Mon, 22 Oct 2012 05:10:04 +0000 (13:10 +0800)]
Revert "Implement build --spec. Fix #386"
This reverts commit
9c3e0e1683a39752a86f34166aacec5a103bd662.
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
Qiang Z Zhang [Thu, 18 Oct 2012 07:10:06 +0000 (00:10 -0700)]
Merge "submit: fixes to target guessing logic" into devel
Qiang Z Zhang [Thu, 18 Oct 2012 06:01:17 +0000 (23:01 -0700)]
Merge "Cleaned up runtime package dependencies" into devel
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>
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>
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>
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
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>
Qiang Z Zhang [Tue, 16 Oct 2012 13:51:35 +0000 (06:51 -0700)]
Merge "Make build/remotebuild profile selectable from cmdline" 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
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>
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>
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
Zhang Qiang [Fri, 12 Oct 2012 10:17:54 +0000 (03:17 -0700)]
Merge "More correct way to parse repo url" 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
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
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
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
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>
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
Qiang Z Zhang [Wed, 10 Oct 2012 08:52:13 +0000 (01:52 -0700)]
Merge "Used guess_spec in changelog mode" into devel
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>
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
Ed Bartosh [Tue, 25 Sep 2012 15:07:17 +0000 (18:07 +0300)]
Implemented command line parsing using argparse
Fixes: #259
Change-Id: I25c6eabfedc30f089a0c5cb4cebaac3b31b97c8c
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>
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>
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
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>
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>
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
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
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
Zhang Qiang [Thu, 20 Sep 2012 08:32:00 +0000 (16:32 +0800)]
Check if specified build conf exists.
Change-Id: Ia2488a6e6841a7f87397c5c1f595bccc2b737e06
Huang Hao [Thu, 20 Sep 2012 08:20:33 +0000 (16:20 +0800)]
Use abspath for build.conf.
Change-Id: Ia739ff531f8a32906ac3f4913fd753960d77ec84
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
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
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>
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
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
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
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
Huang Hao [Thu, 20 Sep 2012 03:49:13 +0000 (11:49 +0800)]
Small changes to usage format
Change-Id: I1778037d94a9c5ef56be7352a9b9f9fda688d678
Zhang Qiang [Wed, 19 Sep 2012 13:44:23 +0000 (21:44 +0800)]
transfer correct gbs export options to depanneur
Change-Id: If988d075a91392434d0619662e131291d0bc2123
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
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
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
Zhang Qiang [Tue, 18 Sep 2012 01:41:57 +0000 (09:41 +0800)]
use 'warning' instead of 'warn'
Change-Id: I0b60aa144acffac2b2b16765a6e63a9724add6a8
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
Qiang Z Zhang [Tue, 18 Sep 2012 02:30:23 +0000 (19:30 -0700)]
Merge "Add a default parser in ConfigMgr" into devel
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
Qiang Z Zhang [Tue, 18 Sep 2012 02:29:40 +0000 (19:29 -0700)]
Merge "Display meaningful info when parsing repo urls" into devel
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
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
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
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
Huang Hao [Thu, 13 Sep 2012 08:11:11 +0000 (16:11 +0800)]
Catch ConfigParser.Error when reading config
Change-Id: I8ce04f7c9200ce02df62526144bf9a1dd9d13144
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
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>
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>
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
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
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
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
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>
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>
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
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
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
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
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
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
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>
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>
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
Zhang Qiang [Fri, 7 Sep 2012 05:12:45 +0000 (13:12 +0800)]
fix undefined var backtrace issue.
Change-Id: I5d29c49a5f70e8fed1911992d0d4bae3095c96eb
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
Zhang Qiang [Fri, 7 Sep 2012 04:40:59 +0000 (12:40 +0800)]
fix reference undefined var backtrace issue
Change-Id: I3509afc223c211449ddee62a9482d7cc955b0a34
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>
Qiang Z Zhang [Fri, 7 Sep 2012 03:04:09 +0000 (20:04 -0700)]
Merge "Fix KeyError in ConfigMgr._get" into devel
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
Qiang Z Zhang [Fri, 7 Sep 2012 02:36:33 +0000 (19:36 -0700)]
Merge "Add tests for getting config value." into devel
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
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
Huang Hao [Thu, 6 Sep 2012 07:47:42 +0000 (15:47 +0800)]
Change tab to spaces
Change-Id: I1b939a7f2cfe1644eaa6df8b7cba860b075f154e
Ed Bartosh [Thu, 30 Aug 2012 11:33:18 +0000 (14:33 +0300)]
Code cleanup.
A bit of pylinting. Also runner/embed function has been removed as
it's not used in gbs.
Change-Id: I25f19ccc17811759db2ebeaa29f16e0f52ffba19
Zhang Qiang [Wed, 5 Sep 2012 07:23:37 +0000 (15:23 +0800)]
Get rid of unused build_root config parameter
It's not used anywhere in the code, so let's remove it.
Fixes #293
Change-Id: I15d18f64ae6f3aef2481773acabeee50253a6323
Qiang Z Zhang [Wed, 5 Sep 2012 08:19:48 +0000 (01:19 -0700)]
Merge "Introduced base_prj and target_prj config parameters." into devel
Qiang Z Zhang [Wed, 5 Sep 2012 05:04:32 +0000 (22:04 -0700)]
Merge "Used username as part of temporary directory." into devel
Ed Bartosh [Mon, 3 Sep 2012 13:36:48 +0000 (16:36 +0300)]
Introduced base_prj and target_prj config parameters.
Saves a lot of typing in command line.
Fixes #242
Change-Id: Ie2b057bee031d18d89816123078826b17eed71fb
Ed Bartosh [Thu, 30 Aug 2012 08:29:21 +0000 (11:29 +0300)]
Used username as part of temporary directory.
Temporary directory is used as a base path for buildroot, cachedir and
others temporary directories. Making it to contain username solves
conflicts when gbs is run by more than one user on the same machine at
the same time.
Fixes: #283, #278, #244
Change-Id: Iafb9f83691e945d7148ef70f059096dada2cc701
Huang Hao [Wed, 29 Aug 2012 08:05:38 +0000 (16:05 +0800)]
Check build.xml format and warn user if build.conf does not exist
Fix Bug #284. Method SafeURL.urljoin is useless now, so remove it.
Change-Id: I09cb7d6046e3acd3388bb482c8aa2ddef75da0d5
Huang Hao [Mon, 27 Aug 2012 12:47:24 +0000 (20:47 +0800)]
Add class SafeURL to hide user/passwd info in url string.
Try to fix bug#233, gerrit#894 is a hotfix for this issue in v0.9.
Create SafeURL object from repoN.url/user/passwd in config file,
this safe url is a string object, can be directly print to console.
When pass to build script, use its property "full" with user/passwd
info.
Change-Id: I667989e61a26a00a54255dd7c859e46553814f8f
Qiang Z Zhang [Thu, 30 Aug 2012 00:24:22 +0000 (17:24 -0700)]
Merge "Used current user's name instead of config option." into devel
Qiang Z Zhang [Thu, 30 Aug 2012 00:15:51 +0000 (17:15 -0700)]
Merge "Used shorter import." into devel