Zhang Qiang [Mon, 10 Dec 2012 13:54:26 +0000 (21:54 +0800)]
use 'sudo echo' avoid request passwd everytime if NOPASSWD set
Change-Id: I203ad2384d758d4902d836a3ad78e38d226ff48f
Zhang Qiang [Thu, 29 Nov 2012 08:03:04 +0000 (16:03 +0800)]
Add archpolicies for supporting more x86 and arm archs
Change-Id: I7e22b8ec623316fbc2403187ee0e6deee93c71b0
Zhang Qiang [Mon, 26 Nov 2012 07:38:39 +0000 (15:38 +0800)]
update depends and bump to version 0.3
Change-Id: I6b1272608433d681b1b18f7da64540ff80d98ba4
Zhang Qiang [Tue, 27 Nov 2012 05:20:23 +0000 (13:20 +0800)]
Add --clean-repos option, #548
This option is used to cleanup local repos generated by 'gbs build'
If there're some old RPMs in 'gbs build's local repo, this option
can be used to clean up them.
Change-Id: I905c594d5b9c4b90cd5db8f382512072d74dd5b0
Zhang Qiang [Tue, 27 Nov 2012 05:31:42 +0000 (13:31 +0800)]
give warning if build arch not compatible, #552
Change-Id: I7d14fdbee434205c17996a77fc59ad46f8cefbe1
Huang Hao [Mon, 26 Nov 2012 04:02:15 +0000 (12:02 +0800)]
Warn user and try again if umount failed
* use lazy umount to avoid "device is busy" problem
* if umount failed, warn user and add -f to try again
Change-Id: I44bab019d41124002aa191d3d85649f553f016ba
Zhang Qiang [Tue, 20 Nov 2012 04:34:03 +0000 (12:34 +0800)]
No need archive tar ball for incremental build, #465
* add is_archive_filename() to check if SOURCE in spec is archive,
only archive file can be considerd while creating fake tar ball
* parse local copy of spec file directly
* Create fake tarball for rpmbuild
Change-Id: I2a5d9909e8448eb2a54f17287c348faa33cf8b6b
Zhang Qiang [Fri, 23 Nov 2012 07:09:41 +0000 (15:09 +0800)]
Set signal handler before building packages
Change-Id: I800bbb5aa8f7e8320269b356b05aa88d08771869
Zhang Qiang [Tue, 20 Nov 2012 09:40:29 +0000 (17:40 +0800)]
x86_64 support, #527
Change-Id: I59d7919bfa17567c06efd007f19e0435ff28bbb2
Huang Hao [Wed, 21 Nov 2012 06:26:40 +0000 (14:26 +0800)]
Keep src rpm for each arch. #365
src rpm files built by different archs are also different, even in
file size. Move src rpm into each repo/$arch dir directly fix #365.
Change-Id: I3627b5ba04caf0ba459c9339b2b4b4fbbec11cd9
Zhang Qiang [Wed, 21 Nov 2012 05:26:54 +0000 (13:26 +0800)]
Merge remote-tracking branch 'origin/release-0.2.1' into devel
Zhang Qiang [Sun, 18 Nov 2012 12:46:09 +0000 (20:46 +0800)]
lock shared vars operations to avoid race condition
Basic workflow:
Main thread:
%to_build: all packages need to be built
%order: ready packages queue
<*> scheduler to resolve ready packages in time
shared data:
@done:
@building:
threads:
* Push packages from @building to @done
* Trigger local repo update
Change-Id: Ib48b1c5225a045a8bd3017ff8e0ea656ccc72c97
Zhang Qiang [Sun, 18 Nov 2012 12:26:51 +0000 (20:26 +0800)]
show build progress for multiple packages build
Change-Id: I86e34c28438fe6bb94bc2db3a44be4f11e4cbce7
Huang Hao [Wed, 14 Nov 2012 07:33:59 +0000 (15:33 +0800)]
Add --spec to support multi-spec project
--spec can only be used in building one project which contains
several spec files. Argument of --spec should be base file name.
If --commit is also given, depanneur should checkout spec file from
that specific commit to use.
Change-Id: Ie633e73f17a26b0e5b5353c3fd8c1408cea6d293
Huang Hao [Mon, 19 Nov 2012 03:53:00 +0000 (11:53 +0800)]
Add --define option. #540
Change-Id: I2a4d7fa38b2f82f7261e23702e146b1a231cdb06
Yigang Wen [Wed, 14 Nov 2012 07:26:57 +0000 (15:26 +0800)]
Modify SUDOV_PERIOD smaller, fix #526
By default, sudo keeps the password in "memory" for 5 minutes (at
least on Fedora16 and openSUSE12.2). So if you build a big package,
you need input password again while build going, otherwise you will
get a chaos output.
Change-Id: Icfaa36c9aac70ac40df4d64b34bd0c4ee0b4cca4
Zhang Qiang [Wed, 14 Nov 2012 06:03:44 +0000 (14:03 +0800)]
Add more output info about building status
Change-Id: Ie7fd110cbac435e3a28dc1e4072abd1e663f8faa
Zhang Qiang [Wed, 14 Nov 2012 06:01:29 +0000 (14:01 +0800)]
Add --keep-packs to keep unused packages in buildroot, #516
Change-Id: If11f926ee3462e5822daace19d6e0e6d2ca6518b
Zhang Qiang [Thu, 8 Nov 2012 16:37:40 +0000 (00:37 +0800)]
use pkgddeps to resolve build order.
pkgdeps include indirect dependency and some pre-install
packges defined in build config, so use pkgdeps will make
dependency of packages with more unexpectted circle, pkgddeps
should be used to calculate build order
Change-Id: I952d53c6bd88542b2b6d45c1c37643c431cd806e
Zhang Qiang [Wed, 14 Nov 2012 04:48:05 +0000 (12:48 +0800)]
Show more complete RPM/SRPM package output path
* define two vars for rpm local repo patch and srpm repo path
* show complete rpm/srpm repo path
Change-Id: I3d10db28328d0ce86bf53798e6107f19aee2f2d3
Zhang Qiang [Tue, 13 Nov 2012 00:53:05 +0000 (08:53 +0800)]
bump to version 0.2.1
Update dependency: tizen-build >= 2012.10.10.1
Change-Id: Ib89981b76be5c4f6dc20145c09098da96883d071
Zhang Qiang [Fri, 9 Nov 2012 06:54:06 +0000 (14:54 +0800)]
noinit support
* Save build conf to build root for --noinit usage
* --noinit only support building one package
* don't go through scheduler for --noinit and --incremental build
* create a function sunmary_report() to report build status.
Change-Id: If3636458c8ed815231469480263b87d59ff43576
Zhang Qiang [Wed, 7 Nov 2012 08:22:57 +0000 (16:22 +0800)]
Support build RPM packages for incremental build
* call --short-circuit --stage=-bs to build PRMs
* copy RPMs to local repo
* make incremental build in scratch.{arch}.*
Change-Id: Idbe915bef86785776bfc755efb1399d232cd5f9a
Zhang Qiang [Thu, 8 Nov 2012 01:53:27 +0000 (09:53 +0800)]
Show local repo and build root info, #482
Change-Id: I8a45ba609f418c305416730361ab2c14e44016b0
Markus Lehtonen [Fri, 2 Nov 2012 07:10:27 +0000 (09:10 +0200)]
Add --packagind-dir option
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Zhang Qiang [Wed, 31 Oct 2012 07:36:50 +0000 (15:36 +0800)]
change ccache option as bool type
Change-Id: Ia21883b0d6817b3c3e2ebd367bc466913c56685f
Zhang Qiang [Thu, 25 Oct 2012 01:49:56 +0000 (09:49 +0800)]
bump up to version 0.2
Change-Id: I7c16247721283e80e9df8d8f70d2166e54ca8788
Zhang Qiang [Thu, 25 Oct 2012 01:43:49 +0000 (09:43 +0800)]
fix typo: lossing ';'
Change-Id: Ic852db81e3f0ed43574e6b0b8eae4cfe222d6098
Zhang Qiang [Wed, 24 Oct 2012 06:52:10 +0000 (14:52 +0800)]
depend on tizen-build-2012.10.10
From now on, our owned build will provide 'tizen-build-%{version}',
which can be used to distinguish upstream version, and let depanneur
to depend on our own build.
Change-Id: I7a2e066a6115841bd3b1280176b7126f97375665
Zhang Qiang [Thu, 18 Oct 2012 07:28:50 +0000 (15:28 +0800)]
Check circle and exit if circle exists, fix#457
* split expand_deps into two functions, one is for generating %repo
and the other is calling Build::readdeps to get build deps
* generate pkgddeps, which is the direct dependency dict, and this
structure can be used to check dependency circle
* use global $config, and don't need parse everytime
Note: only direct dependency can be used while checking circle.
Change-Id: I47e8374876e043b70b8e50ecf441bf3852d9a30a
Huang Hao [Wed, 17 Oct 2012 10:47:19 +0000 (18:47 +0800)]
Build spec files in ARGV
* If specify spec files in ARGV, build them
* If not, find spec files in $package_path and build
* If --buildall is on, build both of them
* In this way to support building one spec file(Fix #386)
Change-Id: Ide633e81e29b436bae61f03d8e7f8587a8a54b8c
Zhang Qiang [Thu, 18 Oct 2012 07:06:54 +0000 (15:06 +0800)]
Update dependency to use build-2012-10.10
Change-Id: I41344215acd2c6bd92d6cf7c1de244db87dcf7ad
Zhang Qiang [Wed, 17 Oct 2012 07:59:59 +0000 (15:59 +0800)]
return directly if specified specfile is not in a git project
Also change the msg type from debug to warning.
Change-Id: Ib147d051289842df355e0fc16ff1b461f8594251
Huang Hao [Wed, 17 Oct 2012 08:04:46 +0000 (16:04 +0800)]
Check return value of 'gbs export'
* Fix #403. Exit with no-zero if any error occurs.
* Show error summary at the end. There are three types of errors:
exporting error, dependency error and rmpbuild error.
Change-Id: I42128c327266f6b4f215ed708fd8caf18452d829
Huang Hao [Tue, 16 Oct 2012 10:36:37 +0000 (18:36 +0800)]
Incremantal build on dir that contains only one packages
* Fix #400
* Record project base path of packages in %to_build, this base
path will be used for mount command in incremental building
* Project base path can only be found in git style packages
Change-Id: I3412a6005d1f80c8b01544f705041e26d5150b1c
Huang Hao [Wed, 17 Oct 2012 07:20:51 +0000 (15:20 +0800)]
Only import getpw() when using User::pwent
Otherwise this module will overrite default function getpwuid()
Change-Id: I2bb07069204c8cc6f6b6b2f0644e8e14f68ae02e
Zhang Qiang [Tue, 16 Oct 2012 23:38:39 +0000 (07:38 +0800)]
run sudo -v outof scheduler in main thread
This also can fix an endless running error if sudo -v timeout in
sub threads
Change-Id: I3c23328279971784651281dfa57927dfd6787b3d
Yigang Wen [Fri, 12 Oct 2012 07:27:59 +0000 (15:27 +0800)]
extend ~ in env variable
extend ~ of $ENV{'TIZEN_BUILD_ROOT'} for #485
Anas Nashif [Tue, 16 Oct 2012 13:31:14 +0000 (06:31 -0700)]
Revert "Remove trailing slash for proxy env."
Sorry, but proxy settings and handling is not part of depanneur, fix it where it occurs.
This reverts commit
c5c7b796ad5d67c6bf5fb0e9e7d1c7d7443ae4e7
Yigang Wen [Fri, 12 Oct 2012 09:43:10 +0000 (17:43 +0800)]
add alarm to execute "sudo -v" periodly
Avoid inputing twice password when building a package last long
time, in main thread add alarm to execute "sudo -v" periodly.
fix #460
Yigang Wen [Tue, 16 Oct 2012 08:41:42 +0000 (16:41 +0800)]
"^C" problem when multithreads stop at "sudo -v"
when multithreads stop at "sudo -v", you need input ^C more than
one time to terminate depanneur. The reason is main thread blocked
by "lock($DETACHING)" and it can't response to ^C immediately. So
use another lock variable "$SUDOV_LOCK" for "sudo -v".
Huang Hao [Tue, 16 Oct 2012 02:09:03 +0000 (10:09 +0800)]
Add --debug parameter to gbs export if debug on
Fix #402
Change-Id: I6b3e3d117b03a687e0d3408f3db5de5ae63555c6
Zhang Qiang [Fri, 12 Oct 2012 22:19:39 +0000 (06:19 +0800)]
More clear and readable info for final error report
for build error packages, build log is printed, and for
expansion error packages, details expansion errors are
printed. fix #462.
Change-Id: Ie6b03dec2f61baf7494d48a0af5bbc2b5c0a3f2f
Huang Hao [Fri, 12 Oct 2012 10:35:59 +0000 (18:35 +0800)]
Unify color of debug message in gbs, gbp and depanneur.
Fix #450.
Change-Id: Ic51970c7b656e843154f3310b31094129a4edb5c
Huang Hao [Fri, 12 Oct 2012 08:02:04 +0000 (16:02 +0800)]
Remove trailing slash for proxy env.
Fix #467.
Change-Id: I3dd6957593b3b9645f08dc936afe439ee0acebd9
Huang Hao [Wed, 10 Oct 2012 10:26:09 +0000 (18:26 +0800)]
Support multi spec files in single package.
fix #438.
* get all spec files in fill_packs_from_git()
* split codes that deal with reversion cache codes into three
functions read_cache(), write_cache() and clean_cache()
* split exporting codes into gbs_export()
* split codes that query git reversion into query_git_commit_rev()
* add a debug message for my_system call
* comment a debug message of checking dependence, it print out
every second and overwhelm other useful debug message.
Change-Id: I5b295015818d9953b34386e65c74c1b204ede120
Huang Hao [Wed, 10 Oct 2012 05:14:00 +0000 (13:14 +0800)]
Add function worker_thread to cleanup thread status in one place.
The exit condition in main thread loop is to check whether all
tasks had been completed, so any thread should update @done var
when it's about to exit, otherwise main thread would wait it
forever.
Add a function worker_thread which take the jobs of calling detach,
update @running, @done, $dirty, @errors according to value returned
from build_package which focus really on building package.
Change-Id: I2d5bba3265f15b48a853155d9b607edc39800256
Anas Nashif [Thu, 11 Oct 2012 16:04:02 +0000 (09:04 -0700)]
fixed error messages
Yigang Wen [Thu, 11 Oct 2012 06:07:57 +0000 (14:07 +0800)]
use bsd_glob instead of glob in func build_package
On openSuse 12.2 with perl 5.16 there is 'Segmentation fault'
caused by multithreads while running a depanneur
Zhang Qiang [Thu, 27 Sep 2012 08:13:30 +0000 (16:13 +0800)]
Check if getlogin fails use getpwuid($<) instead.
getlogin may return empty string in active directory authentication
system, in this case getpwuid($<) is used instead.
Change-Id: I2bfe65caf0518e4eb187fee5c817355988b78bb5
Zhang Qiang [Thu, 27 Sep 2012 05:10:34 +0000 (13:10 +0800)]
Use '/' as VIRTUAL_ENV if VIRTUAL_ENV not set in %ENV
Change-Id: I81c7e3993e533c8168541a8dedfd610b70f88e69
Huang Hao [Thu, 27 Sep 2012 04:14:28 +0000 (12:14 +0800)]
Set ENV variable in main thread.
Change-Id: If968325d996cd991db01887073d4d20af90450e2
Huang Hao [Wed, 26 Sep 2012 09:37:28 +0000 (17:37 +0800)]
Don't call exit() in thread.
Huang Hao [Tue, 25 Sep 2012 08:05:22 +0000 (16:05 +0800)]
fix perlcritic's warning
eliminate warning of serverity 5 reported by perlcritic
- code after "use strict"
- default value for $ENV{VIRTUAL_ENV}
- use lexical file handler instead of bareword file handler
- use three-arguments of open
- use "return" instead of "return undef", the latter could evalute
to one-element list (undef) in list context
Huang Hao [Tue, 25 Sep 2012 03:14:44 +0000 (11:14 +0800)]
Use absolute path for --path.
- fix bug: can't find spec file if --path is a relative path
- remove tailing white spaces
- remove useless variables in git_wanted
- remove useless $config argument when calling fill_packs_from_git
- remove useless sub wanted
Markus Lehtonen [Tue, 25 Sep 2012 11:14:43 +0000 (14:14 +0300)]
Add missing i386 to the x86 arch_list
Otherwise some builds with deps to .i386 rpms may fail.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Huang Hao [Mon, 24 Sep 2012 05:38:44 +0000 (13:38 +0800)]
Remove prototypes of subroutine.
Prototype of sub may lead to confusion and is not recommended.
jdong7 [Fri, 21 Sep 2012 02:54:18 +0000 (10:54 +0800)]
Lock $dirty to fix for Issue#388
Change-Id: Ic01d2469c5d50d07dd2988e004711822371b7b9f
Zhang Qiang [Fri, 21 Sep 2012 08:25:57 +0000 (16:25 +0800)]
report error if building multiple packages for incremental build
Change-Id: I759d302f46400f6aba7d4c3445dcb9847885adaa
Zhang Qiang [Fri, 21 Sep 2012 07:05:51 +0000 (15:05 +0800)]
show full build log path for incremental build
for incremental build mode, this patch is necessary, as if buildlog
is redirectted to /dev/null, some user don't know where's the log,
and the build results.
Change-Id: I738193275bc5ecc5cd42b9fb0c8df2a879ac2530
Zhang Qiang [Fri, 21 Sep 2012 06:34:18 +0000 (14:34 +0800)]
--clean option should not be used for incremental build mode
If --clean option used for incremental build, all source code will be
removed.
Change-Id: Ie1caa94f57c1a2285d6ecc7c076c2011f91bc559
Zhang Qiang [Thu, 20 Sep 2012 13:20:05 +0000 (21:20 +0800)]
exit thread if killed in the middle of creating build root
Change-Id: Ia1ada20f3a521ed4d78b08e18c871c83a4e159f8
Zhang Qiang [Thu, 20 Sep 2012 03:30:37 +0000 (11:30 +0800)]
Support local plain RPM packages dir
Change-Id: I30d71f8a23aacbf97d2322f5f3b0d7b5283abc13
Zhang Qiang [Wed, 19 Sep 2012 23:22:43 +0000 (07:22 +0800)]
Remove old source rpm packages to build again
Once gbs export execute, that means source code changes, so we need
remove exists src.rpm to make depanneur build these packages again.
Without this patch, user have to specify --overwrite even if source
code changed.
Change-Id: I0222833049216b086d1041ce3285acec4fbdcf04
Zhang Qiang [Wed, 19 Sep 2012 05:19:57 +0000 (13:19 +0800)]
Add three extra options for gbs export while generating tarball
* -upstream-branch: default is 'upstream'
* --upstream-tag: Upstream tag format, e.g. 'v${upstreamversion}'
* --squash-patches-until: When generating patches, squash patches
up to given commit-ish into one monolithic diff file. Format is
the commit-ish optionally followed by a colon and diff filename
base.
Change-Id: I95c2baa19cf0ba65cb0c4d7cf995efe777933995
Zhang Qiang [Tue, 18 Sep 2012 12:54:22 +0000 (20:54 +0800)]
Use lower case letter to be consistent with gbs
Change-Id: I3e0f20bafda060e7840b055a39e150b5bc82205d
Zhang Qiang [Tue, 18 Sep 2012 11:59:02 +0000 (19:59 +0800)]
Kill threads correctly if press Ctrl+c instead of real passwd
Change-Id: Ib4f366f5beb0a0c90e6475ef491e89ea6852c84b
Zhang Qiang [Mon, 17 Sep 2012 06:21:32 +0000 (14:21 +0800)]
write export cache after gbs export succeeded, fix#362
This patch can avoid inconsistance of source cache file and source code
Change-Id: I8129f93ea161b0909cafeb9195df5b1b850ab687
Zhang Qiang [Sun, 16 Sep 2012 21:55:23 +0000 (05:55 +0800)]
Ctrl + C refinements
1. Change signal handlers while starting building packages
2. rewrite system(), as standard library of system ignore INT signal
which result in Ctrl+C can't be catched once system called.
Change-Id: I4ef7c4e1b308d387d8c3bf43f1549145d27c200d
Zhang Qiang [Sun, 16 Sep 2012 06:02:32 +0000 (14:02 +0800)]
more check about specfile
Change-Id: I8f2aafc7fdf8976613af2d3d46cc1ba5cf62dba0
Zhang Qiang [Sat, 15 Sep 2012 13:32:04 +0000 (21:32 +0800)]
consider local RPMs generated using local source code
generate RPM order data for local RPMs of local source packages,
which would be merged with order data generate from repos configed
from repos.
Change-Id: I73799d558a2cdf3c6c3ed1657eacf2dc032b98ef
Zhang Qiang [Sat, 15 Sep 2012 08:46:05 +0000 (16:46 +0800)]
only update packages dependency with expansion error
only packages with expansion error are needed to parse if local repo
has new RPM generated, which can speed up pkgdeps refresh process.
Change-Id: I9c1dc3bf59f399caaaab65f2c1d65bf106183c34
Zhang Qiang [Fri, 14 Sep 2012 13:17:49 +0000 (21:17 +0800)]
Check the existance of RPMs and log before copying
remove 'die ...' in threads, or build threads will exit abnormal,
and make whole build status inconsistent.
Change-Id: I4063551cc40787d37093208100322ffe2637c09e
Junfeng Dong [Fri, 14 Sep 2012 05:43:15 +0000 (13:43 +0800)]
Handle the temporarily expansion error.
Two kinds of expansion errors:
1. Real error: can't be resolved by both remote repo and local source.
2. Temporary error: will be satified by local source.
Change-Id: I7279648fdac73644fbbe92c2440af5c9f52d4585
Junfeng Dong [Fri, 14 Sep 2012 05:50:55 +0000 (13:50 +0800)]
revert 341064: move buildlog to avoid copying by mistake.
delete the build log after build finishes.
Change-Id: Idf34316d3461315dd5cff3a82dd7739cd8c1f991
Zhang Qiang [Tue, 11 Sep 2012 06:07:54 +0000 (14:07 +0800)]
Add packaging files
$ cd packaging
$ make all
Change-Id: I804e7376f1ce740a241565ce16eda376a63b11f4
Zhang Qiang [Thu, 13 Sep 2012 13:12:19 +0000 (21:12 +0800)]
move buildlog to avoid copying by mistake in next build
For example:
run depannur to build ail succeeded, and the build log left in that
build root, next time run ail again, depanneur request root passwd
and user cancelled by Ctrl + C, then the build log for previous build
will be copied to fail dir by mistake.
Change-Id: Iff50f4a1378ba135c6763fc6f279bc689a6928ef
Zhang Qiang [Thu, 13 Sep 2012 08:55:01 +0000 (16:55 +0800)]
check and use scratch.incremental first
Without this patch, if scratch.incremental already exsit and
scratch.{arch}.0 exists too, depanneur still need to create new
scrach.incremental buildroot
Change-Id: I26855f36eada3216c9f7ea75efe2967b93ad1301
Zhang Qiang [Thu, 13 Sep 2012 12:59:47 +0000 (20:59 +0800)]
call sudo -v with lock protect
Without this multiple thread workers may request passwd at the same
time, then depanneur will destroy current terminal or system.
Change-Id: I784a9474d8c182e4429085962f41b0f81149b890
Zhang Qiang [Thu, 13 Sep 2012 12:46:49 +0000 (20:46 +0800)]
Use remote RPM to build if its dependency has expansion error
Without this patch, if one packages has expansion error, all packages
depend on it will be reportted as expansion error, even if it can be
built from remote repo.
Change-Id: I040467899e61c433896fcd640a4a225c78781d3a
Zhang Qiang [Wed, 12 Sep 2012 04:41:14 +0000 (12:41 +0800)]
Add missing $dist dir while reporting error log
Change-Id: Ibc75c9b7780ff1c680dea4c4b0c96d7a41cadced
Zhang Qiang [Tue, 11 Sep 2012 07:59:50 +0000 (15:59 +0800)]
resolve deps before running scheduler #336
This is refinement about current scheduler to speed up resolve
dependency. Generate %pkgdeps, which is a map with key as pkgname,
and value is a list of dependencies. %pkgdeps can be used directly
by scheduler and don't need parse spec file everytime.
This patch also update %pkgdeps once local repo has been updated.
This also can fix #336, #337.
Change-Id: I6289a8df14d8cb027c6f6494efb4f45910d24fe2
Zhang Qiang [Tue, 11 Sep 2012 07:33:52 +0000 (15:33 +0800)]
error handle: return directly if specfile parse error, #335
Change-Id: Ic043076c25864ff5301db17f5e5475051c145fc4
Zhang Qiang [Tue, 11 Sep 2012 04:42:11 +0000 (12:42 +0800)]
Add --ccache option to speedup build using ccahe
Change-Id: I91f4cab5c13b715632b419b388063bacc92edbf0
Zhang Qiang [Sat, 8 Sep 2012 09:26:47 +0000 (17:26 +0800)]
Refine scheduler to keep max threads running #269
If there're free build threads idle, calculating new ready packages to
be built immediately. Don't need wait all candidate packages built finished.
Change-Id: Idc4c03f038de6215744024abdf5aa22ea3663e21
Zhang Qiang [Mon, 10 Sep 2012 22:44:35 +0000 (06:44 +0800)]
sort workers use the first idle thread to build packages
sort workers using keys to use the build worker with smallest
id. Without this patch build worker use order is 1,3,0,2,...
but it should be 0,1,2,3,...
This is necessary to make gbs back compatible while building single
package.
Change-Id: Ief248542194d697535387753a13200b426b8fcb6
Zhang Qiang [Sat, 8 Sep 2012 05:44:40 +0000 (13:44 +0800)]
Ignore exclude packages in parsing phrase
skip exclude packages while parsing packs, and don't need care about
exclude packages in build scheduler, and make scheduler more clear.
Change-Id: I02be218bf0c329d6953feea5b61759dd5e0c2a3d
Zhang Qiang [Mon, 10 Sep 2012 13:00:18 +0000 (21:00 +0800)]
add --extra-packs option to add install additinal packs to build root
This is very usefull for developer to create full build env, including
many dev tools, such as vim,zypper,gdb, ect.
Change-Id: Ie4032e9525bc3f1b91cda2921103008bbff40119
Zhang Qiang [Mon, 10 Sep 2012 06:32:22 +0000 (14:32 +0800)]
remove export cache if gbs export fails
Change-Id: I48264a6bac288c5de3ca3e4a548f14e0ad532338
Zhang Qiang [Fri, 7 Sep 2012 11:37:45 +0000 (19:37 +0800)]
Add --clean option if build root is not ready
Change-Id: Ibf2347a1f7ddb8d6f713014f17428ad1e93fe8a1
Zhang Qiang [Wed, 5 Sep 2012 02:44:33 +0000 (10:44 +0800)]
return 0, instead of 1 while incremental build finished
Change-Id: I05bffaad99293f5b0ece63aac0c1b9e20e2f4418
Zhang Qiang [Thu, 30 Aug 2012 09:44:24 +0000 (17:44 +0800)]
remove --turbo option
download repodata code has been move out of scheduler loop and
createrepomddeps can reuse local repodata cache, so this option is
useless now.
Change-Id: I194c8329acd3016953c9e7aa4bc25ded39299d96
Zhang Qiang [Thu, 30 Aug 2012 09:34:15 +0000 (17:34 +0800)]
Give error and exit if no packages found
Change-Id: I084324a5b202dd6688cf932c121edcfacdbece92
Zhang Qiang [Thu, 30 Aug 2012 01:55:39 +0000 (09:55 +0800)]
share cached repodata between depanneur and build, #291
Change-Id: If6a114faaa3e9eeacc4e0b2c40db5b9b1506a0e9
Anas Nashif [Wed, 29 Aug 2012 16:18:15 +0000 (09:18 -0700)]
Fixed typo
Change-Id: If770918f2de99959a9e416d01ba8c2bce032b9c5
Zhang Qiang [Wed, 29 Aug 2012 07:32:25 +0000 (15:32 +0800)]
add --include-all and --commit option for gbs export use.
generally --include-all and --commit options are used to build
single package. if build multiple packages, --commit is not available.
Change-Id: I7b13257f458bedc6b3313bb70fb0ab7d644f7d8c
Zhang Qiang [Wed, 29 Aug 2012 07:28:34 +0000 (15:28 +0800)]
Adjust the output information to make it unified with gbs
Feature#287
Change-Id: Iff17ff59112c8ad3bc0af41070146fd035a5fcb9
Zhang Qiang [Wed, 29 Aug 2012 07:19:16 +0000 (15:19 +0800)]
more code optimizations
1) move creating repo cache code out from scheduler loop, and repo
cache should be generated before using it, or --binary will fail
to find repo cache file.
2) move finding skipped list packages out of sched loop
Change-Id: I5278d8183b5a635c41ac3176c1a09420c8617ff0
Anas Nashif [Tue, 28 Aug 2012 18:14:04 +0000 (11:14 -0700)]
Merge branch 'typo' into devel
Zhang Qiang [Tue, 28 Aug 2012 12:20:43 +0000 (20:20 +0800)]
add --configdir option
Change-Id: I8980723c68088640170264f92d6efbc2b6f9d79e