Age | Commit message (Collapse) | Author | Files | Lines |
|
- PROBLEM
We use OBS to build packages in Tizen.
There is a mechanism not to rebuild when the result binary is the same.
For example, there is a dependency graph: A->B->C.
If A is modified, B would be built.
If the result RPM of B is not changed, OBS does not trigger a build of C.
To effectively use this mechanism, each packages make sure that
the result binary should be the same if the input source is the same.
There is a reason we found is that the file list given by
python(os.walk(), os.listdir()), widely used executable(find),
and system call(readdir()) is unordered.
In this case, different OBS workers can make different results
because of the file list in different order.
The same thing happens in kickstarter.
tools/kickstarter uses os.listdir() which returns an unordered list of files.
- SOLUTION
Use sorted(os.listdir()).
We can obtain a sorted list of files when using sorted().
Change-Id: I9047ca08f748a938557ced46e350c24c378d439d
Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
|
|
Current problem is the kickstart definitions have no target
identification information in meta-* packages, which cause the generated
images in product for each snapshot will be duplicated among the
different targets. To resolve it, we need three modifications together:
1. Added the definition of relationship with images and targets, in
meta-* packages. Sample as below:
/profile/ivi/meta-ivi:/ivi-targets.yaml ->
"""
Targets:
- Name: atom
Images:
- ivi-efi-i586.yaml
- ivi-mbr-i586.yaml
- Name: emulator
Images:
- ivi-mbr-i586-emul.yaml
"""
2. In the building of image-configurations: add extra command line
options for kickstarter command:
kickstarter ... --targetdef .../%{_profile}-targets.yaml \
--target %{_repository}
3. This patch: to provide the new --targetdef and --target options.
3.1 --targetdef to specify the YAML file of targets definition
3.2 --target to specify the dedicated build target to filter images
The final result will be: nothing changed to Jenkins jobs and BOSS, and
the image-configuration*.rpm will not their name but will only contain
the build target corresponding ks files.
To keep the compatibility of all the changes, rule-1st is:
The order of change integration to product server will NOT break
current work as most as possible.
So the integration order can be: {1, 3} -> {2}, change-2 should be the
last step.
Change-Id: Ie4fb251c8e6442880cb3b5386bd0dd9f4bd3adbe
Signed-off-by: JF Ding <jian-feng.ding@intel.com>
|
|
|
|
check for external configs
|
|
|
|
|
|
|
|
create individual ks files and add support for returning list of
packages and groups to be installed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
furthormore, just one '\n' there enough
|
|
now it supports kickstart magic; on top the line evaluated by mic2
Signed-off-by: Li Yi <yix.li@intel.com>
|
|
|
|
|
|
|
|
|
|
|