Skip to content

Commit 1e7e06b

Browse files
author
Changhyeok Bae
committed
webos-image: Update layer pins for 2018-03-17 (build 1)
webOS Open Source Edition initial release
0 parents  commit 1e7e06b

13 files changed

+2758
-0
lines changed

.gitignore

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copyright (c) 2012-2014 LG Electronics, Inc.
2+
3+
# A leading / matches only entries in the top-level directory
4+
# A trailing / matches only directories
5+
# A trailing / is not added to directories which are often replaced with symlink
6+
7+
# Common Eclipse project files
8+
.project
9+
.cproject
10+
.pc
11+
12+
# Editor backup files
13+
*~
14+
15+
# Build products worth keeping between clean builds
16+
/sstate-cache
17+
/buildhistory
18+
/downloads
19+
/cache
20+
21+
# Other build products
22+
/BUILD/
23+
/BUILD-ARTIFACTS/
24+
/Makefile
25+
TAGS
26+
/bitbake.lock
27+
/mcf.status
28+
/oe-init-build-env
29+
/conf/
30+
__pycache__/
31+
tmp/
32+
patches/
33+
34+
# Artifacts from generating build_changes.log
35+
build_changes.log
36+
latest_project_baselines*txt
37+
38+
# Checkouts managed by mcf
39+
/bitbake
40+
/oe-core
41+
/meta-*
42+
43+
# Local override file
44+
/webos-local.conf

NOTICE

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Copyright (c) 2013 LG Electronics, Inc.
2+
3+
This software contains code licensed as described in COPYING.MIT

README.md

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
build-webos
2+
===========
3+
4+
Summary
5+
-------
6+
Build webOS OSE (Open Source Edition) images
7+
8+
Description
9+
-----------
10+
This repository contains the top level code that aggregates the various [OpenEmbedded](http://openembedded.org) layers into a whole from which webOS OSE images can be built.
11+
12+
Cloning
13+
=======
14+
Set up build-webos by cloning its Git repository:
15+
16+
git clone https://github.com/webosose/build-webos.git
17+
18+
Note: If you populate it by downloading an archive (zip or tar.gz file), then you will get the following error when you run mcf:
19+
20+
fatal: Not a git repository (or any parent up to mount parent).
21+
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYTEM not set).
22+
23+
24+
Prerequisites
25+
=============
26+
Before you can build, you will need some tools. If you try to build without them, bitbake will fail a sanity check and tell you what's missing, but not really how to get the missing pieces. On Ubuntu, you can force all of the missing pieces to be installed by entering:
27+
28+
$ sudo scripts/prerequisites.sh
29+
30+
Also, the bitbake sanity check will issue a warning if you're not running under Ubuntu 14.04 64bit LTS.
31+
32+
33+
Building
34+
========
35+
To configure the build for the raspberrypi3 and to fetch the sources:
36+
37+
$ ./mcf -p 0 -b 0 raspberrypi3
38+
39+
The `-p 0` and `-b 0` options set the make and bitbake parallelism values to the number of CPU cores found on your computer.
40+
41+
To kick off a full build of webOS OSE, make sure you have at least 100GB of disk space available and enter the following:
42+
43+
$ make webos-image
44+
45+
This may take in the neighborhood of two hours on a multi-core workstation with a fast disk subsystem and lots of memory, or many more hours on a laptop with less memory and slower disks or in a VM.
46+
47+
48+
Images
49+
======
50+
The following images can be built:
51+
52+
- `webos-image`: The production webOS OSE image.
53+
- `webos-image-devel`: Adds various development tools to `webos-image`, including gdb and strace. See `packagegroup-core-tools-debug` and `packagegroup-core-tools-profile` in `oe-core` and `packagegroup-webos-test` in `meta-webos` for the complete list.
54+
55+
56+
Cleaning
57+
========
58+
To blow away the build artifacts and prepare to do clean build, you can remove the build directory and recreate it by typing:
59+
60+
$ rm -rf BUILD
61+
$ ./mcf.status
62+
63+
What this retains are the caches of downloaded source (under `./downloads`) and shared state (under `./sstate-cache`). These caches will save you a tremendous amount of time during development as they facilitate incremental builds, but can cause seemingly inexplicable behavior when corrupted. If you experience strangeness, use the command presented below to remove the shared state of suspicious components. In extreme cases, you may need to remove the entire shared state cache. See [here](http://www.yoctoproject.org/docs/latest/overview-manual/overview-manual.html#shared-state-cache) for more information on it.
64+
65+
66+
Building Individual Components
67+
==============================
68+
To build an individual component, enter:
69+
70+
$ make <component-name>
71+
72+
To clean a component's build artifacts under BUILD, enter:
73+
74+
$ make clean-<component-name>
75+
76+
To remove the shared state for a component as well as its build artifacts to ensure it gets rebuilt afresh from its source, enter:
77+
78+
$ make cleanall-<component-name>
79+
80+
Adding new layers
81+
=================
82+
The script automates the process of adding new OE layers to the build environment. The information required for integrate new layer are; layer name, OE priority, repository, identification in the form branch, commit or tag ids. It is also possible to reference a layer from local storage area. The details are documented in weboslayers.py.
83+
84+
Copyright and License Information
85+
=================================
86+
Unless otherwise specified, all content, including all source code files and
87+
documentation files in this repository are:
88+
89+
Copyright (c) 2008-2018 LG Electronics, Inc.
90+
91+
Unless otherwise specified or set forth in the NOTICE file, all content,
92+
including all source code files and documentation files in this repository are:
93+
Licensed under the Apache License, Version 2.0 (the "License");
94+
you may not use this content except in compliance with the License.
95+
You may obtain a copy of the License at
96+
97+
http://www.apache.org/licenses/LICENSE-2.0
98+
99+
Unless required by applicable law or agreed to in writing, software
100+
distributed under the License is distributed on an "AS IS" BASIS,
101+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
102+
See the License for the specific language governing permissions and
103+
limitations under the License.

build-templates/Makefile.in

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# DO NOT MODIFY! This script is generated by mcf. Changes made
2+
# here will be lost. The source for this file is in build-templates/Makefile.in.
3+
#
4+
# Copyright (c) 2008-2014 LG Electronics, Inc.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
18+
srcdir := @srcdir@
19+
machines := @machines@
20+
21+
TIME := time
22+
23+
webos-image:
24+
all: webos-image
25+
26+
force:;:
27+
28+
oe-init-build-env mcf.status Makefile conf/local.conf conf/bblayers.conf: \
29+
$(srcdir)/build-templates/oe-init-build-env.in \
30+
$(srcdir)/build-templates/mcf-status.in \
31+
$(srcdir)/build-templates/Makefile.in \
32+
$(srcdir)/build-templates/local-conf.in \
33+
$(srcdir)/build-templates/bblayers-conf.in
34+
./mcf.status
35+
36+
# everything else is already set by oe-init-build-env
37+
BITBAKE := . $(srcdir)/oe-init-build-env && bitbake
38+
39+
### intended for command line use
40+
BBFLAGS =
41+
42+
%:; for MACHINE in $(machines) ; do $(BITBAKE) $(BBFLAGS) $*; done
43+
44+
define convenience
45+
$(1)-$(2)-%:; export MACHINE=$(1) && $(TIME) $(MAKE) $(2)-$$*
46+
$(1)-%:; for MACHINE in $(machines) ; do $$(BITBAKE) $(BBFLAGS) -c $(1) $$*; done
47+
endef
48+
49+
conveniences := \
50+
clean \
51+
cleanall \
52+
cleansstate \
53+
compile \
54+
configure \
55+
fetch \
56+
fetchall \
57+
install \
58+
listtasks \
59+
package \
60+
patch \
61+
patchall \
62+
unpack \
63+
unpackall \
64+
65+
# Used by _bitbake() in bitbake-bash_completion
66+
_display_conveniences:
67+
@echo $(conveniences)
68+
69+
$(foreach c, $(conveniences),$(eval $(call convenience,$(c))))
70+
71+
# In most cases, "install-foo" is a coded request
72+
# for 'bitbake -c install foo'. However, at least one component has a
73+
# name prefixed by "install-". Hence the need for the "just-" target
74+
# which lets us name "just-install-first" in order to request
75+
# "install-first". (Yes, I'm sorry it's complicated.)
76+
just-%:; $(BITBAKE) $(BBFLAGS) $*

build-templates/bblayers-conf.in

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Copyright (c) 2008-2017 LG Electronics, Inc.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
##
15+
16+
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
17+
# changes incompatibly
18+
LCONF_VERSION = "7"
19+
20+
BBPATH = "${TOPDIR}"
21+
22+
# Pull in two optional configuration files to allow the user to override
23+
# component source directories, shared state locations, etc.
24+
#
25+
# webos-global.conf (in the user's home directory) applies overrides to
26+
# all clones of openwebos/build-webos in the user's account.
27+
#
28+
# webos-local.conf resides at the top of the build-webos repo and applies
29+
# overrides on a per-repo basis.
30+
#
31+
# Including both here saves the user remmebering to chain to the local
32+
# file from the global one, avoids them forgetting to do so, and makes
33+
# the existence of a global override file optional.
34+
#
35+
# The location of the shared-state cache can be moved by overriding
36+
# DL_DIR and SSTATE_DIR.
37+
#
38+
# The meta-webos layer can be moved out-of-tree by overriding WEBOS_LAYER.
39+
# Note that running mcf will still clone and checkout a meta-webos directory
40+
# in the root of the repo, but "make" will ignore it and use the overridden
41+
# location for recipes etc. The first time you move a meta-webos layer out of
42+
# tree may invalidate your shared state information, as a result of recloning
43+
# the meta-webos layer.
44+
45+
# NOTE: directory names META_*LAYER are used in scripts/bitbake.bash_completion

0 commit comments

Comments
 (0)