tools/depanneur.git
10 years agosudoers.d/gbs modified to handle gbs chroot --mount param. 80/19480/2
Tomasz Olszak [Sun, 13 Apr 2014 21:47:47 +0000 (23:47 +0200)]
sudoers.d/gbs modified to handle gbs chroot --mount param.

Change-Id: I2737acbfab70c2e9c2398cfc5822c9fb4cb7b9c5
Signed-off-by: Tomasz Olszak <olszak.tomasz@gmail.com>
10 years agoRudimentary support for the new orphan-packaging development model
Markus Lehtonen [Fri, 28 Mar 2014 06:35:17 +0000 (08:35 +0200)]
Rudimentary support for the new orphan-packaging development model

Add a new --spec-commit command line option in order to support the new
package maintenance model of using separate packaging and devel
branches. In this model the packaging files (i.e. spec et al) must be
taken from other branch if the current branch is a development branch
(which only contains source code).

Change-Id: Ia8eb916dafd5bdc74c9b2d22591a8a36f6c11e95
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
10 years agobump to version 0.12 for gbs 0.21 release-0.12 0.12
Zhang Qiang [Fri, 7 Mar 2014 10:30:39 +0000 (18:30 +0800)]
bump to version 0.12 for gbs 0.21

Change-Id: If38717d7d7995436ce57347aa3023f175e436554

10 years agopackaging: use gbp packaging service
Zhang Qiang [Fri, 7 Mar 2014 05:51:46 +0000 (13:51 +0800)]
packaging: use gbp packaging service

Change-Id: I79930cbfea24dd2b7b7faba2cffd38afca1883ab

10 years agodepend on new version of build
Zhang Qiang [Fri, 7 Mar 2014 03:02:53 +0000 (11:02 +0800)]
depend on new version of build

Change-Id: I42d002b551d7ffc0ba70c599c31d4fe9d018a8c3

10 years agoFix gbs build fails if packaging/ is a symlink
Yigang Wen [Tue, 4 Mar 2014 09:47:09 +0000 (17:47 +0800)]
Fix gbs build fails if packaging/ is a symlink

judge whether packaging dir is a symbolic link when search spec file
with git show commit:packaging_dir

Change-Id: I4f43271543fc22ed01f411d61b813c2b7cd56c9d
Signed-off-by: Yigang Wen <yigangx.wen@intel.com>
10 years agoRefactor find spec part at beginning
Yigang Wen [Tue, 4 Mar 2014 05:37:22 +0000 (13:37 +0800)]
Refactor find spec part at beginning

Parse base dir in find spec before prepare_git

Change-Id: Iff91ecceed2d34af4c5f1c9a588f74ff5de63de1
Signed-off-by: Yigang Wen <yigangx.wen@intel.com>
10 years agoFix return fail when package skipped
Yigang Wen [Fri, 28 Feb 2014 02:12:50 +0000 (10:12 +0800)]
Fix return fail when package skipped

Change-Id: I155aeccf4069011d79f93cad9f4f9ce5034cdfd9
Signed-off-by: Yigang Wen <yigangx.wen@intel.com>
10 years agoFix return true if build arch is not compatible
Yigang Wen [Tue, 25 Feb 2014 06:21:15 +0000 (14:21 +0800)]
Fix return true if build arch is not compatible

Fixes: #1494

Change-Id: Ieb6fc8dd0e9a2b001e9ded5f4ccc12a00fea13ff
Signed-off-by: Yigang Wen <yigangx.wen@intel.com>
10 years agoExport more build output dir info to json meta data
Zhang Qiang [Fri, 10 Jan 2014 04:58:05 +0000 (12:58 +0800)]
Export more build output dir info to json meta data

With these extra data, third party tools can get these data more easier.

Change-Id: Id25876e8440c689c8d1c8769873e7c7b4c708568
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
10 years agoonly create pipe if command output needed release-0.11 0.11
Zhang Qiang [Mon, 16 Dec 2013 08:03:46 +0000 (16:03 +0800)]
only create pipe if command output needed

This will make my_system more safe via avoid using pipe.

Change-Id: I386913ad4ee6be908004351628a47b370e96eae4

10 years agoadd start time in build-report
Yigang Wen [Fri, 13 Dec 2013 09:00:22 +0000 (17:00 +0800)]
add start time in build-report

Change-Id: I8f7757e72500674ed058be8c38f43e6e6ef5e0f5

10 years agoAdd suffix .txt in build log
Zhang Qiang [Fri, 13 Dec 2013 06:31:47 +0000 (14:31 +0800)]
Add suffix .txt in build log

Adding .txt suffix can make build log opened directly from all browser

Change-Id: I7996b0efb8248932d33ed1466954959c9436bf2d

10 years agoupdate dependency: adjust build provide info
Zhang Qiang [Tue, 10 Dec 2013 13:21:17 +0000 (21:21 +0800)]
update dependency: adjust build provide info

Change-Id: I472cc19da1f6bc9754f2f7a32e95bafdd658a3f0

10 years agodepend on tizen special initvm
Zhang Qiang [Tue, 10 Dec 2013 09:28:46 +0000 (17:28 +0800)]
depend on tizen special initvm

for the tizen-initvm, we have made changes:
always register handler and don't check the existance of static binary.

In this way, it can does not depend on host qemu and only use qemu from
repos.

Change-Id: I063bf2c1f434a3464403f4f0853b064629a26684

10 years agobump version 0.11 for gbs 0.20
Zhang Qiang [Tue, 10 Dec 2013 01:12:00 +0000 (09:12 +0800)]
bump version 0.11 for gbs 0.20

Change-Id: I06ac749348d988ff3e6bc7c63a5b3fcee03faddd

10 years agoAdd aarch64 support
Zhang Qiang [Wed, 4 Dec 2013 05:51:49 +0000 (13:51 +0800)]
Add aarch64 support

Change-Id: Ic5afb7d18e7d4a052a0251e9bec2c669423f14b2

10 years agoadd succeeded pacakges summary
Zhang Qiang [Wed, 4 Dec 2013 05:51:23 +0000 (13:51 +0800)]
add succeeded pacakges summary

Change-Id: If1cc4c1723fa6d67b296c0c08d1d8ad6845658b9

10 years agoremove BuildArch:noarch to build out correct target arch
Zhang Qiang [Mon, 2 Dec 2013 01:21:27 +0000 (09:21 +0800)]
remove BuildArch:noarch to build out correct target arch

%ifarch Conditional does not work with BuildArch:noarch, which should
be removed to make depanneur generated different arch on different arch
system, then %ifarch can work well.

Change-Id: I05e80a28d4aa6073b89ba12be45b1744757d64a3

10 years agobump to minor version 0.10.1
Zhang Qiang [Fri, 29 Nov 2013 03:52:02 +0000 (11:52 +0800)]
bump to minor version  0.10.1

Change-Id: I8303f32fc0b99fc3b4c5ecf92f0f79f15735ce40

10 years agodepend on upstream version of initvm
Zhang Qiang [Thu, 28 Nov 2013 05:34:13 +0000 (13:34 +0800)]
depend on upstream version of initvm

Change-Id: Iaa934db405e24c61730cbd21becafe1d82b298d8

10 years agoAdjust output of final report
Zhang Qiang [Thu, 28 Nov 2013 05:20:51 +0000 (13:20 +0800)]
Adjust output of final report

- always print dirs of rpm/srpm/build roots, even if some packages failed
- print build log dir

Change-Id: I55ecfe70880753b90d61e5a67fbd0de07fdd571c
Fixes: #1466

10 years agoupdate dependency: build
Zhang Qiang [Mon, 25 Nov 2013 06:33:29 +0000 (14:33 +0800)]
update dependency: build

For spec file add one more initvm, which is the only way for cross arm
build.

Change-Id: I60016c00e36ebc047027ef7cf0676825357f849c

10 years agoshow html format report path
Zhang Qiang [Fri, 15 Nov 2013 05:54:31 +0000 (13:54 +0800)]
show html format report path

User can use browser to open it directly, or user has to find it manually.

Change-Id: I57c9d8f12f2701bcb95fc04d966a5ac2a4c0f934
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
10 years agoAlways generate build report
Zhang Qiang [Fri, 15 Nov 2013 05:02:31 +0000 (13:02 +0800)]
Always generate build report

In the following cases, build report will also be generated:
 - all packages build succeeded
 - all packages failed with export error

Change-Id: I9cf8c3e66445079fb8d87a99450b50c3c26bb442

10 years agoSave export error info to final report
Zhang Qiang [Fri, 15 Nov 2013 01:44:59 +0000 (09:44 +0800)]
Save export error info to final report

Change-Id: I58b9c0b6d35547ad92357219dfe23661a980e036

10 years agoupdate func my_system to get the output if needed
Yigang Wen [Thu, 7 Nov 2013 06:17:26 +0000 (14:17 +0800)]
update func my_system to get the output if needed

update function my_system to return the output of child process
according to the context.

Change-Id: I49d7adba181e3f31ee254c8f808672656eda6d10

11 years agoSkip building package for excluded arch
Guan Junchun [Fri, 25 Oct 2013 07:28:41 +0000 (15:28 +0800)]
Skip building package for excluded arch

ExcludeArch: %arm is defined in cross-arm-binutils.spec
gbs build should skip building this package if building for arm

Change-Id: I5aa76b84fe5bc0c6e761d825df4cd065db7eebd6

11 years agoUpdate dependencies
Zhang Qiang [Tue, 5 Nov 2013 02:34:10 +0000 (10:34 +0800)]
Update dependencies

depend on perl(JSON) and perl(HTML::Template)

Change-Id: Ic664754114c17372ea5b3caea3f1b14df772529e

11 years agogenerate html format report
Zhang Qiang [Tue, 5 Nov 2013 02:29:54 +0000 (10:29 +0800)]
generate html format report

Change-Id: I14d2aae84e8179cb1715fd657ad942766370c156

11 years agosave build report data as json data
Zhang Qiang [Fri, 1 Nov 2013 03:35:01 +0000 (11:35 +0800)]
save build report data as json data

The json data including:
build profile:
build arch:
Summary: total packages, succeeded packages, failed packages
         export error packages expansion error pkgs.
export error details:
expansion error details
build error/success details and logs.

Change-Id: I321783e11ce0529acfac78fc7d9b9a70bc7cb71d

11 years agobump to version 0.10 for gbs 0.19 release-0.10 0.10
Zhang Qiang [Wed, 16 Oct 2013 09:19:40 +0000 (17:19 +0800)]
bump to version 0.10 for gbs 0.19

Change-Id: Id5fc3743bb19e92da3758978ce71279c576781d8

11 years agofix using incorrect srpm and rpm hash to remove duplicated binary
Zhang Qiang [Wed, 16 Oct 2013 09:19:55 +0000 (17:19 +0800)]
fix using incorrect srpm and rpm hash to remove duplicated binary

Change-Id: I0cc3119bcb045f7bc1416d4454ab27e844edbbb1

11 years agoremove previous rpm and srpm after build
Yigang Wen [Wed, 16 Oct 2013 03:00:44 +0000 (11:00 +0800)]
remove previous rpm and srpm after build

Fixes: #1274

Change-Id: Ifeed295bac851e91d783a85fcf8edc8fcd27189e

11 years agoskip comment out binary rpm
Zhang Qiang [Fri, 11 Oct 2013 03:16:49 +0000 (11:16 +0800)]
skip comment out binary rpm

If packages are commented out using '#', depanneur will skip them.

Change-Id: Id9ab480526bd434edc721b23fbb8041597860c32

11 years agoCheck the real RPMs/SRPMs dir in chroot, instead of hardcode
yuanhao [Tue, 17 Sep 2013 06:31:20 +0000 (02:31 -0400)]
Check the real RPMs/SRPMs dir in chroot, instead of hardcode

For root user, the output dir of RPMs in chroot is /usr/src/packages/RPMS, not
/home/abuild/rpmbuild.
Get the output dir of RPMs/SRPMs using the following command
RPMs:  sudo chroot $BUILD_ROOT rpm --eval "%{_rpmdir}"
SRPMs: sudo chroot $BUILD_ROOT rpm --eval "%{_srcrpmdir}"

Fixes: #1326

Change-Id: I8fd79e2b67d9bb2e04274d8d563ed49038e820fa

11 years agoSupport ExportFilter release-0.8.1
Zhang Qiang [Fri, 13 Sep 2013 03:46:14 +0000 (11:46 +0800)]
Support ExportFilter

Take packages, which target arch compatiable with build system arch
into resolve packages pool, and make it can be found by dependency resolver.

Fixes: #1131

Change-Id: I2289bcf255bea2ff2ed96687d9cc67689ef7a248

11 years agofix packaging dir detect issue
Zhang Qiang [Thu, 12 Sep 2013 14:47:59 +0000 (22:47 +0800)]
fix packaging dir detect issue

packaging dir can contains multiple level directory, so use packaging_dir
to resolve package git dir is the correct way

Fixes: #1315

Change-Id: I1a0d894102e0e66c2fdff65bbbb1bdd3fe11b3e2

11 years agobump to version 0.9 for gbs 0.18 release-0.9 0.9
Zhang Qiang [Tue, 20 Aug 2013 14:06:15 +0000 (22:06 +0800)]
bump to version 0.9 for gbs 0.18

Change-Id: I29e90c52fdbc7a618b003d47ba41d670729c7110

11 years agopackaging: switch to noarch
Markus Lehtonen [Fri, 2 Aug 2013 08:35:22 +0000 (11:35 +0300)]
packaging: switch to noarch

Depanneur doesn't contain anything arch-specific.

Change-Id: I900ca50c551c55e8b1f084860219379793d0d355
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoDefine the de-facto %opensuse_bs macro from OBS to be zero
Markus Lehtonen [Fri, 2 Aug 2013 07:47:18 +0000 (10:47 +0300)]
Define the de-facto %opensuse_bs macro from OBS to be zero

The %opensuse_bs macro is virtually always defined in OBS prjconf.
Define this macro to be 0 in depanneur so that it can be used in spec
file to distinguish between local (e.g. "gbs build" or "rpmbuild") and
OBS server builds.

Change-Id: Iffdd917a7bc2a460d76f2e973498896cc9fd7b2a
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoAdd .gbp.conf
Markus Lehtonen [Fri, 2 Aug 2013 07:54:01 +0000 (10:54 +0300)]
Add .gbp.conf

Change-Id: I7a77fa7a58dd96778162ae8864506fdd0bdc0930
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
11 years agoextract dist name if .guessed_dist contails conf path
Zhang Qiang [Mon, 29 Jul 2013 04:24:36 +0000 (12:24 +0800)]
extract dist name if .guessed_dist contails conf path

Change-Id: I9ee1300527b46771720a23fa232e0a01dca65c4a

11 years agoUse dist conf file path instead of dist name
Zhang Qiang [Wed, 24 Jul 2013 05:15:59 +0000 (13:15 +0800)]
Use dist conf file path instead of dist name

'--dist tizen --configdir=/tmp' is equivalent to '--dist=/tmp/tizen.conf',
which works well for qemu-kvm mode.

We plan to enable qemu-kvm mode in future.

Change-Id: I0b035e8a4d8c3851dba0b3e63620301653590d49

11 years agobump to version 0.8 for gbs 0.17 release-0.8 0.8
Zhang Qiang [Mon, 1 Jul 2013 05:30:58 +0000 (13:30 +0800)]
bump to version 0.8 for gbs 0.17

Change-Id: I6dffefa0d5af3c3242f492dbae3b3361953d4f94

11 years agoCreate debug packages by default
Anas Nashif [Wed, 19 Jun 2013 17:16:49 +0000 (10:16 -0700)]
Create debug packages by default

Always create debuginfo packages to align with the build system
and how it is configured. Packages that might build fine in gbs
right now will fail in OBS because of the different build options
and not being able to generate debug packages with gbs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
11 years agoget target arch from build conf if target is set
Zhang Qiang [Tue, 18 Jun 2013 05:09:38 +0000 (13:09 +0800)]
get target arch from build conf if target is set

This fix the bug that different arch packages generated from gbs
and obs if 'Target:' set in build conf, eg:

    %ifarch i586
    Target: i686-tizen-linux
    %endif

    %ifarch armv7hl
    Target: armv7hl-tizen-linux
    %endif

    %ifarch armv7l
    Target: armv7l-tizen-linux
    %endif

In that case, obs will generated i686 package, but gbs will generated i586.

Change-Id: If879f364ba12db737714172e57c5566f7f7633d8

11 years agofix using high version pkg in different repo
Yigang Wen [Wed, 19 Jun 2013 03:30:00 +0000 (11:30 +0800)]
fix using high version pkg in different repo

Change-Id: I7ec16dc6ef420cd32fb0f3217034b85634fba48b

11 years agooptimization: load dependency data in refresh_repo
Zhang Qiang [Mon, 17 Jun 2013 05:43:41 +0000 (13:43 +0800)]
optimization: load dependency data in refresh_repo

Change-Id: I8be3dbcc1b3ff538fb7caeee69541c999c185169

11 years agobugfix: exit unexpectedly if circle exist
Zhang Qiang [Fri, 14 Jun 2013 02:13:57 +0000 (10:13 +0800)]
bugfix: exit unexpectedly if circle exist

 - clean %expansion_errors before assign with %tmp_expansion_errors
 - exist only if @order is empty

Change-Id: Ibe99208be4128f1f56e8c291712031f855e3d0eb

11 years agoUpdate semantic meaning of %pkgddeps to report circle in time
Zhang Qiang [Sun, 9 Jun 2013 07:03:46 +0000 (15:03 +0800)]
Update semantic meaning of %pkgddeps to report circle in time

In the old design, %pkgddeps only contains package already ready to
be built, that means all it's build dependencies already there.
In that case, some circle will not be reportted earlier.

Now, we changed it, all packages will go into %pkgddeps, and find as
many dependencies as possible.

Change-Id: I766f6c8bef710a22f4906ffa9e8695161985bea1

11 years agobump to version 0.7 for gbs 0.16 realease-0.7 release-0.7 0.7
Zhang Qiang [Tue, 14 May 2013 05:24:38 +0000 (13:24 +0800)]
bump to version 0.7 for gbs 0.16

Change-Id: I467e35697df650a58914aec06499b0879a6dce34

11 years agoavoid export multiple times for same package
Zhang Qiang [Mon, 13 May 2013 06:59:57 +0000 (14:59 +0800)]
avoid export multiple times for same package

Change-Id: I90cea9d29d220cc15e53497dc883717adef5c710

11 years agofix wrong @deps which contain version info
Yigang Wen [Fri, 10 May 2013 07:56:03 +0000 (15:56 +0800)]
fix wrong @deps which contain version info

if Buildrequires like "m4 >= 1.2", depanneur didn't remove version
info in @deps, so it may caused a wrong package dependency analysis.

Change-Id: Ic0e1bbf99c2fcc7835eec0fb48a208c6de5e2744

11 years agoprereqs should be involved for dependency resolving
Zhang Qiang [Tue, 7 May 2013 04:36:02 +0000 (12:36 +0800)]
prereqs should be involved for dependency resolving

Pre-requires: Requirespre/Requirespost/PreReq should be considerred for
dependency resolving

Example:
  fake.spec contails:
    Requires(post):   systemd
    Requires(preun):  systemd
    Requires(postun): systemd

If systemd does not available in remote repo and localrepo, depanneur
should report expansion error, instead of executing building

Change-Id: Ice4dfae9a45325ef19d21e38378a2083ceafdb56

11 years agoquote metacharacters in pattern to fix strip issue if metacharacters exist
Zhang Qiang [Thu, 2 May 2013 01:40:48 +0000 (09:40 +0800)]
quote metacharacters in pattern to fix strip issue if metacharacters exist

Change-Id: Iced588ef2dcc7f96cb7181c41e987eb0e3c0c1f7

11 years agocreate a individual dir:BUILD-ROOTS for all build roots
Zhang Qiang [Thu, 2 May 2013 01:57:53 +0000 (09:57 +0800)]
create a individual dir:BUILD-ROOTS for all build roots

create build roots under an individual dir, instead of GBS-ROOT/local.

In this way, developer can config 'BUILD-ROOTS' as tmpfs to speed up
local build.

Change-Id: Ibca2ca87a6f4d7acef22d2207eb592a152d62099

11 years agoAdd statistical data of each errors
Zhang Qiang [Mon, 29 Apr 2013 15:56:17 +0000 (23:56 +0800)]
Add statistical data of each errors

Change-Id: I85804e38ad4052a7162064f4bf4ac822e9f09a5a

11 years agorefine createrepo
Zhang Qiang [Fri, 12 Apr 2013 07:24:28 +0000 (15:24 +0800)]
refine createrepo

 - add & update group and patterns file
 - use --update option to speed up updating repo

Change-Id: I8c2145efd7fedc16226a627f543d7ac1c3fc0f6b

11 years agooptimization: break recursion if .git directory exist release-0.6
Yigang Wen [Mon, 8 Apr 2013 08:11:12 +0000 (16:11 +0800)]
optimization: break recursion if .git directory exist

without this patch, depanneur will scan all directory to find .git
dir, acturally, that's not needed, if .git exist, all dirs, with
same parent dir of .git, can be skipped.

Change-Id: I934695924edb288d7b3f3a00570b7d6bd341c0ef

11 years agocritical performance fix: remove duplicate dependency packages
Yigang Wen [Mon, 8 Apr 2013 08:10:45 +0000 (16:10 +0800)]
critical performance fix: remove duplicate dependency packages

Without this patch, package dependency and reverse depedency resolving
will take about 1-2G memory while scanning 800 Tizen packages, and
after remove duplicated packages only ~2M.

Change-Id: I220c9cb69e726e2202f98273de5b8a5cb823745a

11 years agooptimization: no need build %pkgdeps and %pkgrdeps if no --deps/--rdeps 0.6
Zhang Qiang [Wed, 3 Apr 2013 06:44:27 +0000 (14:44 +0800)]
optimization: no need build %pkgdeps and %pkgrdeps if no --deps/--rdeps

Change-Id: I5efdd1143bd3d54f28f3da8bd21edf644d5d3fec

11 years agosupport creating -32bit/-64bit/-x86 rpms for other archs, #852
Zhang Qiang [Thu, 28 Mar 2013 06:42:35 +0000 (14:42 +0800)]
support creating -32bit/-64bit/-x86 rpms for other archs, #852

This option is just like --baselibs of build script

Change-Id: I1fa339a2217acb09c3e71a753f12a355f5fab117

11 years agodepend on createrepo 0.9.8 to remove extra yum-3.2.29 dependency
Zhang Qiang [Wed, 27 Mar 2013 08:22:49 +0000 (16:22 +0800)]
depend on createrepo 0.9.8 to remove extra yum-3.2.29 dependency

Change-Id: I66ec6aa90a2484c4edc1fb5f175bd54a8787675b

11 years agofix a bug when spec file not exist
Yigang Wen [Thu, 7 Mar 2013 05:26:47 +0000 (13:26 +0800)]
fix a bug when spec file not exist

check spec file before push into @packs

Change-Id: I311208145252939b5e90916f43ae2ba8a7dd82b1

11 years agobump to version 0.6 for gbs 0.15
Zhang Qiang [Mon, 25 Mar 2013 22:03:43 +0000 (18:03 -0400)]
bump to version 0.6 for gbs 0.15

Change-Id: I76fb9b9fafaf2107d347a39213120ccde47a18ee

11 years agofix createrepo option error
Zhang Qiang [Mon, 25 Mar 2013 18:20:17 +0000 (14:20 -0400)]
fix createrepo option error

Change-Id: Ic4c5d1292d4eaf1f525dd41dd6e9b9481bc5ff81

11 years agodepend on new version of obs-build and createrepo
Zhang Qiang [Wed, 20 Mar 2013 16:05:28 +0000 (12:05 -0400)]
depend on new version of obs-build and createrepo

Change-Id: I7e43d2fceec7765e59980e25dbb1b2ac4163948f

11 years agoGer rid of security hole created by depanneur_sudo release-0.5 0.5
Ed Bartosh [Wed, 27 Feb 2013 18:01:58 +0000 (20:01 +0200)]
Ger rid of security hole created by depanneur_sudo

Instead of using easily exploitable hole, made by depanneur_sudo
commands, needed to be run from root account added to sudoers file with
as much restrictions as possible .

Fixes: #TZPC-909

Change-Id: I41529ed471a2cc2aca1925b1b0edf25b979e80b3
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
11 years agobump to version 0.5 for gbs 0.14
Zhang Qiang [Thu, 21 Feb 2013 19:56:02 +0000 (14:56 -0500)]
bump to version 0.5 for gbs 0.14

Change-Id: Icb09742e9ba015a2d579ea2549f478d973aec622

11 years agoUpdate --binary-list and add --binary-from-file two options. #720
Huang Hao [Wed, 20 Feb 2013 08:27:15 +0000 (16:27 +0800)]
Update --binary-list and add --binary-from-file two options. #720

Rename old --binary option to --binary-from-file and add a new
option --binary-list to accept a comma-separated string of packages
list to build.

Also remove useless option --build-all, which will always true
in gbs build. and previous logic of $buildall is wrong.

Change-Id: I73214fd58ae81d4d15616115602f5a905451892d

11 years agoCheck dependency circle before generating topological seq
Zhang Qiang [Wed, 6 Feb 2013 16:10:06 +0000 (11:10 -0500)]
Check dependency circle before generating topological seq

Change-Id: If94527cc7b76bfe56ea30b02088982294457f8da

11 years ago--deps and --rdeps support, #704
Zhang Qiang [Mon, 4 Feb 2013 19:26:20 +0000 (14:26 -0500)]
--deps and --rdeps support, #704

--rdeps: build specified packages and packages depend on them
--deps: build all specified packages and packages they depend on

Change-Id: I96b25c898d2901db8be86a414e0d1a158ed7941b

11 years agoCheck all mount point to build root, and list them all. release-0.4 0.4
Zhang Qiang [Tue, 29 Jan 2013 16:06:53 +0000 (11:06 -0500)]
Check all mount point to build root, and list them all.

Change-Id: Ib9598d03aedd50906f129e1a9aaacc8212979d56

11 years agoread /proc/self/mountinfo for mount info
Zhang Qiang [Mon, 28 Jan 2013 21:35:34 +0000 (16:35 -0500)]
read /proc/self/mountinfo for mount info

the output of 'mount' command are differents for each distros(fedora/
openSUSE/ubuntu), but the format of /proc/self/mountinfo are the same,
and contains all info we need.

Change-Id: I428235b7a08ed666524c99d48a4645aa33663778

11 years agouse sysconf() to get the number of processors
Zhang Qiang [Mon, 28 Jan 2013 19:44:42 +0000 (14:44 -0500)]
use sysconf() to get the number of processors

* use sysconf() to get the number of processors
* set jobs as $nprocessors * 2

Change-Id: Ib83100435f8a160400586f9a993fe46f22ad81dc

11 years agoAdd mounted source check to avoid being deleted unexpectlly, 580
Zhang Qiang [Mon, 28 Jan 2013 16:11:09 +0000 (11:11 -0500)]
Add mounted source check to avoid being deleted unexpectlly, 580

Change-Id: Ifca30dcfb1c0f774b7715bd1e8aaffa78e661e02

11 years agobump to version 0.4
Zhang Qiang [Fri, 18 Jan 2013 16:13:03 +0000 (11:13 -0500)]
bump to version 0.4

depend on new build >= 2012.10.10-tizen20130122

Change-Id: Ibca147e5e35e286dd9f23f5158475fea28cf560f

11 years agoCheck the exsistance of specfile for incremental build
Zhang Qiang [Mon, 21 Jan 2013 22:57:29 +0000 (17:57 -0500)]
Check the exsistance of specfile for incremental build

Change-Id: I876dd23864c1bf517ddd124639f688a73575d566

11 years agoRefine build behavior: don't depend on local copy, #535
Zhang Qiang [Sat, 19 Jan 2013 04:31:16 +0000 (23:31 -0500)]
Refine build behavior: don't depend on local copy, #535

* by default using git ls-files to search spec file
* only use local copy if --include-all specified
* set global $commit as 'HEAD' by default, which make some work
  flow more easier

Change-Id: I708a4d191ee74d91b730498e5f92cd3cd71b9eb0

11 years agouse the processors number instead of hard code 4 to build
Zhang Qiang [Fri, 18 Jan 2013 03:34:07 +0000 (22:34 -0500)]
use the processors number instead of hard code 4 to build

'build' can accept --jobs option to set the %jobs and %_smp_mflags
macros for rpm build, so the proper value should be the max number
of (number of system processors, 4)

Change-Id: I55a8111baf3ed04b99aef6865c39ac6e054af48a

11 years agoUse --target option for build to build specified arch,#673
Zhang Qiang [Thu, 17 Jan 2013 21:43:20 +0000 (16:43 -0500)]
Use --target option for build to build specified arch,#673

Change-Id: I36d5f8fd3b9dd485c235e791284da9fc39727f4f

11 years agomodify depanneur_sudo and sudoers configure
Yigang Wen [Mon, 14 Jan 2013 09:11:19 +0000 (17:11 +0800)]
modify depanneur_sudo and sudoers configure

* data/depanneur_sudo only support commands in depanneur:
  sudo "umount"|"mount"|"-E"|"mkdir"|"cp"|"rm"|"echo"
* date/gbs remove "Defaults targetpw" avoid inputing root passwd
  on ubuntu while using sudo xxx

Change-Id: Iebefe369e9ed5143d8b2e6e9f130e57ca8fce7be

11 years agoArch clean up, #654
Zhang Qiang [Mon, 14 Jan 2013 02:20:51 +0000 (10:20 +0800)]
Arch clean up, #654

Remove unsupportted arches, and only leave x86_64, i586, armv7l,
armv7hl, armv6l.

Update this map list:
i586 -> ["i686", "i586", "i486", "i386", "noarch"].

Change-Id: I8db3d0f453a969de51efaff83c7ef1fa2e4b7b6c

11 years agoAdd --no-patch-export option for source export, #594
Zhang Qiang [Tue, 8 Jan 2013 07:55:10 +0000 (15:55 +0800)]
Add --no-patch-export option for source export, #594

Change-Id: I3b8dc811dd59a5cc1ad20a821c4e056e2802c1dd

11 years agoadd sudoer file to avoid input passwd while build
Yigang Wen [Fri, 28 Dec 2012 06:24:38 +0000 (14:24 +0800)]
add sudoer file to avoid input passwd while build

Add a sudoers file for gbs to avoid input passwd for developer
* add data/gbs (sudoers file)
  data/depanneur_sudo (bash script)
* update depanneur and Makefile

Change-Id: I43a2681c7dc17be58ad3f7b6ca1e51895260258c

11 years agoShow the package name for arch incompatible warning
Zhang Qiang [Tue, 25 Dec 2012 04:58:56 +0000 (12:58 +0800)]
Show the package name for arch incompatible warning

Change-Id: I26fe9e4e33d42debbeafb630dcc84b44391fcb78

11 years agouse 'sudo echo' avoid request passwd everytime if NOPASSWD set release-0.3 0.3
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

11 years agoAdd archpolicies for supporting more x86 and arm archs
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

11 years agoupdate depends and bump to version 0.3
Zhang Qiang [Mon, 26 Nov 2012 07:38:39 +0000 (15:38 +0800)]
update depends and bump to version 0.3

Change-Id: I6b1272608433d681b1b18f7da64540ff80d98ba4

11 years agoAdd --clean-repos option, #548
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

11 years agogive warning if build arch not compatible, #552
Zhang Qiang [Tue, 27 Nov 2012 05:31:42 +0000 (13:31 +0800)]
give warning if build arch not compatible, #552

Change-Id: I7d14fdbee434205c17996a77fc59ad46f8cefbe1

11 years agoWarn user and try again if umount failed
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

11 years agoNo need archive tar ball for incremental build, #465
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

11 years agoSet signal handler before building packages
Zhang Qiang [Fri, 23 Nov 2012 07:09:41 +0000 (15:09 +0800)]
Set signal handler before building packages

Change-Id: I800bbb5aa8f7e8320269b356b05aa88d08771869

11 years agox86_64 support, #527
Zhang Qiang [Tue, 20 Nov 2012 09:40:29 +0000 (17:40 +0800)]
x86_64 support, #527

Change-Id: I59d7919bfa17567c06efd007f19e0435ff28bbb2

11 years agoKeep src rpm for each arch. #365
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

11 years agoMerge remote-tracking branch 'origin/release-0.2.1' into devel
Zhang Qiang [Wed, 21 Nov 2012 05:26:54 +0000 (13:26 +0800)]
Merge remote-tracking branch 'origin/release-0.2.1' into devel

11 years agolock shared vars operations to avoid race condition
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

11 years agoshow build progress for multiple packages build
Zhang Qiang [Sun, 18 Nov 2012 12:26:51 +0000 (20:26 +0800)]
show build progress for multiple packages build

Change-Id: I86e34c28438fe6bb94bc2db3a44be4f11e4cbce7