mirror of
https://github.com/tuxbox-neutrino/buildenv.git
synced 2025-08-26 23:13:18 +02:00
Compare commits
37 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5e68f8ae32 | ||
|
e7dfb1bad8 | ||
|
d84ba263a0 | ||
|
6ff644d8a5 | ||
|
2a8d426461 | ||
|
cd5b0f29ff | ||
|
078cd35de1 | ||
|
4264e706f7 | ||
|
7de2d09c94 | ||
|
fe0fc188cf | ||
|
8282272189 | ||
|
acc4c14a11 | ||
|
97f20986cb | ||
|
4ce9986d03 | ||
|
803697a20c | ||
|
eeec3fae0c | ||
|
bd83cbb8c1 | ||
|
409a9cc2e0 | ||
|
6e9868d181 | ||
|
ca0fe8f903 | ||
|
4eed1f45bf | ||
|
adf32c85ae | ||
|
09538c7a69 | ||
|
eacce3ecf2 | ||
|
be25daedbc | ||
|
315975d540 | ||
|
88d708c4fe | ||
|
82a5d7a1b4 | ||
|
1582a34f8b | ||
|
5c3b8c35c8 | ||
|
5841847489 | ||
|
85370e135d | ||
|
b9718c4352 | ||
|
acd579ae31 | ||
|
ab35dab3e2 | ||
|
2258e9a89a | ||
|
5c67c090ea |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -11,4 +11,6 @@ dist/*
|
||||
build*
|
||||
*.orig
|
||||
*.log
|
||||
local build increment
|
||||
*.list
|
||||
|
||||
|
89
README.md
89
README.md
@@ -1,64 +1,56 @@
|
||||
# Quick start image build #
|
||||
|
||||
## Preparation
|
||||
NOTE: If you are using the Tuxbox-Builder VM please jump to step 1. The Tuxbox-Builder VM already contains required packages.
|
||||
For details and download of Tuxbox-Builder VM see: https://sourceforge.net/projects/n4k/files/Tuxbox-Builder
|
||||
NOTE: If you are using the Tuxbox-Builder VM (this is not mandatory) please jump to [step 1](#1-clone-init-script-into-a-directory-of-your-choice). The Tuxbox-Builder VM already contains required packages.
|
||||
For details and download of Tuxbox-Builder VM see: [Tuxbox-Builder](https://sourceforge.net/projects/n4k/files/Tuxbox-Builder)
|
||||
|
||||
### Install required packages (Debian 9/10)
|
||||
```bash
|
||||
apt-get install -y gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa pylint3 xterm subversion locales-all libxml2-utils ninja-build default-jre clisp
|
||||
```
|
||||
Also required is sdl.
|
||||
```bash
|
||||
apt-get install -y libsdl1.2-dev
|
||||
```
|
||||
For newer image versions with dunfell (3.1) or later use libsdl2-dev instead libsdl1.2-dev
|
||||
```bash
|
||||
apt-get install -y libsdl2-dev
|
||||
apt-get install -y gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential \
|
||||
chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils \
|
||||
iputils-ping python3-git python3-jinja2 libegl1-mesa pylint3 xterm subversion locales-all \
|
||||
libxml2-utils ninja-build default-jre clisp libcapstone3 libsdl2-dev
|
||||
```
|
||||
NOTE: Older buildsystem versions < 3.2 need libsdl1.2-dev
|
||||
|
||||
### Recommended additional packages:
|
||||
### Recommended additional packages for graphical support (e.g. KDE ...):
|
||||
```bash
|
||||
apt-get install -y gitk git-gui meld
|
||||
```
|
||||
NOTE: In case of no configured git, please set your global git user data:
|
||||
|
||||
### Optional: In case of no configured git, please set your global git user data:
|
||||
```bash
|
||||
git config --global user.email "you@example.com"
|
||||
git config --global user.user "Your Name"
|
||||
```
|
||||
|
||||
For usage with other distributions see:
|
||||
For usage with other distributions see: [Yocto Project Quick Build](https://www.yoctoproject.org/docs/latest/brief-yoctoprojectqs/brief-yoctoprojectqs.html)
|
||||
|
||||
https://www.yoctoproject.org/docs/3.0.3/brief-yoctoprojectqs/brief-yoctoprojectqs.html
|
||||
### let's start:
|
||||
|
||||
## 1. Clone init script into a directory of your choice
|
||||
```bash
|
||||
$:~ git clone https://github.com/Tuxbox-Project/build.git
|
||||
```
|
||||
|
||||
## 2. Change to the generated directory
|
||||
```bash
|
||||
$:~ git clone https://github.com/tuxbox-neutrino/build.git
|
||||
$:~ cd build
|
||||
```
|
||||
|
||||
## 3. Execute init script
|
||||
This will clone all required layers and moves some config files into your build directory.
|
||||
* Parameter 1: Machine type can be h7, hd51, hd60, hd61, osmio4k, osmio4kplus or set 'all' or keep empty '' for all machines.
|
||||
* Parameter 2: Image version can be 3.0, 3.1, 3.2 or keep empty for latest version (recommended, because of older versions are not really maintained anymore)
|
||||
## 2. Execute init script
|
||||
This will clone all required layers and create some config files into your build directories.
|
||||
* Parameter 1 <machine>: could be h7, hd51, hd60, hd61, osmio4k, osmio4kplus or set 'all' or keep empty ' ' for all machines.
|
||||
* Parameter 2 <image-version>: could be 3.0, 3.1, 3.2 or keep empty for latest version (recommended, older versions are not really maintained anymore)
|
||||
```bash
|
||||
$:~ ./init.sh <machine> <image-version>
|
||||
$:~ cd poky-<image-version>
|
||||
```
|
||||
|
||||
## 4. Switch to poky directory
|
||||
After sccessfull executed init script you will find a subdirectory like poky-3.x .
|
||||
Now switch to this directory e.g.:
|
||||
example:
|
||||
```bash
|
||||
$:~ ./init.sh hd51 3.2
|
||||
$:~ cd poky-3.2
|
||||
```
|
||||
|
||||
## 5. Execute environment script
|
||||
Please use possible machine type which you selected (see step 3)! Here as example we use hd51.
|
||||
This creates (if not exists!) the build directory named as hd51 (default name ist build) and sets the build environment.
|
||||
## 3. Execute environment script
|
||||
Please use possible machine type which you selected (see [step 2](#2-execute-init-script))! Here as example we use hd51.
|
||||
This creates (if not exists!) the build directory named as hd51, sets the build environment and will print some lines:
|
||||
```bash
|
||||
$:~ . ./oe-init-build-env hd51
|
||||
|
||||
@@ -79,16 +71,16 @@ Other commonly useful commands are:
|
||||
- 'bitbake-layers' handles common layer tasks
|
||||
- 'oe-pkgdata-util' handles common target package tasks
|
||||
tuxbox@tuxbox-builder:~/Build/poky-3.0/hd51
|
||||
$ . ./oe-init-build-env hd51
|
||||
$
|
||||
```
|
||||
NOTE: If you left the build directory you must retry step 5 for your machine type to recreate the required environment.
|
||||
**NOTE:** If you left the current shell you must retry [step 3](#3-execute-environment-script) for your machine type to recreate the required environment.
|
||||
|
||||
## 6. Build image
|
||||
After step 5 you are ready to build an image.
|
||||
## 4. Build image
|
||||
Now you are ready to build an image.
|
||||
```bash
|
||||
$:~ /build/poky-3.0/<machine>$ bitbake neutrino-image
|
||||
$:~ /build/poky-3.2/<machine>$ bitbake neutrino-image
|
||||
```
|
||||
This may take a while. Some warn messages can be ignored and error messages during setscene tasks are no problem but errors during build and package tasks will abort the process. In this case please report or send us your solution to https://forum.tuxbox-neutrino.org/forum/viewforum.php?f=77. Help is very welcome.
|
||||
This may take a while. Some warn messages can be ignored. Error messages during setscene tasks are no problem but errors during build and package tasks will abort the process. In this case please report or send us your solution to [Tuxbox-Forum](https://forum.tuxbox-neutrino.org/forum/viewforum.php?f=77). Help is very welcome.
|
||||
|
||||
If all done, such a message should appear:
|
||||
```bash
|
||||
@@ -107,22 +99,33 @@ or in the dist directory:
|
||||
~/build/dist/<image-version/<machine>/
|
||||
```
|
||||
|
||||
## Update the meta layer repositories
|
||||
Execution of init script will update the meta layers. Of corse you can update your meta-layer repositories manually.
|
||||
## Updating
|
||||
|
||||
Note: Your config files will be untouched. New or adapted config options are not considered. Please check your configuration if required.
|
||||
### Update target sources
|
||||
An explicit update for any sources (e.g. neutrino) is not required. This will be done automatically on evrery called target with bitbake. This will also update required dependencies. See also "[Working on target sources](#working-on-target-sources)"!
|
||||
|
||||
### Update meta layer repositories
|
||||
Execution of init script will update the yocto poky-x.x repository to the required yocto release and will updating the included local meta layers to current
|
||||
state of remote repositories. Of corse you can update and modiify your local meta-layer for meta-neutrino and machine layers repositories manually. The update routines will stash uncommitted changes or will rebase your local commits to new remote changes, but conflicts are possible. In this case you must solve manually.
|
||||
|
||||
## Reset configuration
|
||||
If you want to reset your configs, please rename (delete is not recommended) the conf directory and execute the init script again.
|
||||
**Note: Your config files will be untouched. New or adapted config options are not considered. Please check your configuration if required.**
|
||||
|
||||
## Working on target sources
|
||||
In this case you should transfer the desiered target source into the workspace repository.
|
||||
if You have moved any target source into the workspace tree you have full control to source code you want to modify. See also [devtool](https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#using-devtool-in-your-sdk-workflow) and especially [devtool modify](https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#sdk-devtool-use-devtool-modify-to-modify-the-source-of-an-existing-component).
|
||||
|
||||
## Reset configuration if required
|
||||
If you want to reset your configs, please rename (delete is not recommended) the conf directory ($HOME/build/poky-X.X/<machine>/conf) and execute the init script again.
|
||||
|
||||
|
||||
## Customize if required
|
||||
It's recommended to build for first time without any changes on config files to get an impression how the build process is working and see the results.
|
||||
The possibilities for adjustments are very extensive and not really manageable for beginners. However, the Yoctoproject is very
|
||||
extensively documented and provides the best source of information.
|
||||
|
||||
**Please do not modify the Yocto-sources! This is not recommended by the Yocto-Team, but you can use [.bbappend](https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#using-bbappend-files) files to complete, expand or override meta core Yocto recipes.**
|
||||
|
||||
The generated local.conf contains only a few lines but contains a line which is linking a common config file and is valid for all images and supported machine types. The origin cloned sample config file ("local.conf.common.inc.sample") should be untouched. This avoids possible conflicts during updating the init script from git repo. After executed init script (step 3), the config sample file was renamed from "local.conf.common.inc.sample" to "local.conf.common.inc" and this file you can feed with your own options which have effect for all images you want to build.
|
||||
The generated local.conf contains only a few lines but contains a line which is linking a common config file and is valid for all images and supported machine types. The origin cloned sample config file ("local.conf.common.inc.sample") should be untouched. This avoids possible conflicts during updating the init script from git repo. After executed init script (step 2), the config sample file was renamed from "local.conf.common.inc.sample" to "local.conf.common.inc" and this file you can feed with your own options which have effect for all images you want to build.
|
||||
Alternatively you can modify the default "$HOME/Build/poky-X.X/<machine>/conf/local.conf" with your own requirements or include your own config file. After updated init script, some new or changed options could be added or removed. This case you should consider for your own configuration.
|
||||
|
||||
For local configuration these config files within your build directory are required:
|
||||
|
1
image_build_increment.sample
Normal file
1
image_build_increment.sample
Normal file
@@ -0,0 +1 @@
|
||||
0
|
130
init.sh
130
init.sh
@@ -92,12 +92,19 @@ GUI_LAYER_NAME=meta-neutrino
|
||||
BACKUP_SUFFIX=bak
|
||||
|
||||
YOCTO_GIT_URL=https://git.yoctoproject.org/git/poky
|
||||
# update of yocto layer is disabled on executing init script, for yocto oe it's better to use a tested tag, defined with $YOCTO_BRANCH_HASH
|
||||
YOCTO_LAYER_DO_UPDATE=0
|
||||
|
||||
TUXBOX_LAYER_GIT_URL=https://github.com/neutrino-hd
|
||||
|
||||
PYTHON2_LAYER_NAME=meta-python2
|
||||
PYTHON2_LAYER_GIT_URL=https://git.openembedded.org
|
||||
PYTHON2_LAYER_DO_UPDATE=1
|
||||
|
||||
QT5_LAYER_NAME=meta-qt5
|
||||
QT5_LAYER_GIT_URL=https://github.com/meta-qt5
|
||||
QT5_LAYER_DO_UPDATE=1
|
||||
|
||||
GIT_CLONE='git clone'
|
||||
GIT_PULL='git pull -r'
|
||||
GIT_STASH='git stash'
|
||||
@@ -114,39 +121,65 @@ elif [ "$IMAGE_VERSION" = "3.1" ]; then
|
||||
YOCTO_BRANCH_HASH=2181825
|
||||
elif [ "$IMAGE_VERSION" = "3.2" ]; then
|
||||
YOCTO_BRANCH_NAME=gatesgarth
|
||||
YOCTO_BRANCH_HASH=4e4a302
|
||||
PYTHON2_BRANCH_HASH=27d2aeb
|
||||
YOCTO_BRANCH_HASH=60c8482
|
||||
fi
|
||||
PYTHON2_BRANCH_HASH=27d2aeb
|
||||
|
||||
# clone required branch from yocto
|
||||
if test ! -d $BUILD_ROOT_DIR/.git; then
|
||||
echo -e "\033[36;1mCLONE POKY:\033[0m\nclone branch $YOCTO_BRANCH_NAME from $YOCTO_GIT_URL into $BUILD_ROOT_DIR..."
|
||||
echo -e "\033[36;1mCLONE POKY:\033[0m clone branch $YOCTO_BRANCH_NAME from $YOCTO_GIT_URL into $BUILD_ROOT_DIR..."
|
||||
do_exec "$GIT_CLONE -b $YOCTO_BRANCH_NAME $YOCTO_GIT_URL $POKY_NAME" ' ' 'show_output'
|
||||
do_exec "cd $BUILD_ROOT_DIR"
|
||||
do_exec "git checkout $YOCTO_BRANCH_HASH -b $IMAGE_VERSION"
|
||||
do_exec "git tag $IMAGE_VERSION"
|
||||
do_exec "$GIT_PULL origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
|
||||
echo -e "set $POKY_NAME-repository to required yocto-release $IMAGE_VERSION at commit $YOCTO_BRANCH_HASH..."
|
||||
do_exec "git -C $BUILD_ROOT_DIR reset --hard $YOCTO_BRANCH_HASH"
|
||||
|
||||
echo -e "create local branch $IMAGE_VERSION at commit $YOCTO_BRANCH_HASH..."
|
||||
do_exec "git -C $BUILD_ROOT_DIR checkout $YOCTO_BRANCH_HASH -b $IMAGE_VERSION"
|
||||
|
||||
echo -e "create local tag $IMAGE_VERSION..."
|
||||
do_exec "git -C $BUILD_ROOT_DIR tag $IMAGE_VERSION"
|
||||
|
||||
# if [ $YOCTO_LAYER_DO_UPDATE != 0 ]; then
|
||||
# do_exec "git pull -C $BUILD_ROOT_DIR origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
# fi
|
||||
echo -e "\033[36;1mdone ...\033[0m\n"
|
||||
else
|
||||
do_exec "cd $BUILD_ROOT_DIR"
|
||||
CURRENT_YOCTO_BRANCH=`git -C $BUILD_ROOT_DIR rev-parse --abbrev-ref HEAD`
|
||||
if [ $YOCTO_LAYER_DO_UPDATE != 0 ]; then
|
||||
|
||||
echo -e "\033[36;1mUPDATE poky:\033[0m\nupdate $CURRENT_YOCTO_BRANCH..."
|
||||
CURRENT_YOCTO_BRANCH=`git -C $BUILD_ROOT_DIR rev-parse --abbrev-ref HEAD`
|
||||
|
||||
echo -e "\033[37;1mCHECKOUT:\033[0m\nswitch from $CURRENT_YOCTO_BRANCH to $IMAGE_VERSION..."
|
||||
do_exec "git checkout $IMAGE_VERSION"
|
||||
echo -e "\033[36;1mUPDATE poky:\033[0m\nupdate $CURRENT_YOCTO_BRANCH..."
|
||||
|
||||
echo -e "\033[37;1mUPDATE:\033[0m\nupdate $POKY_NAME from (branch $YOCTO_BRANCH_NAME) $YOCTO_GIT_URL ..."
|
||||
do_exec "$GIT_PULL origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
echo -e "switch from $CURRENT_YOCTO_BRANCH to $IMAGE_VERSION..."
|
||||
do_exec "git -C $BUILD_ROOT_DIR checkout $IMAGE_VERSION" ' ' 'show_output'
|
||||
|
||||
echo -e "\033[37;1mCHECKOUT:\033[0m\nswitch back to $YOCTO_BRANCH_NAME ..."
|
||||
do_exec "git checkout $YOCTO_BRANCH_NAME"
|
||||
do_exec "$GIT_PULL origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
echo -e "update $POKY_NAME from (branch $YOCTO_BRANCH_NAME) $YOCTO_GIT_URL ..."
|
||||
do_exec "git pull -r -C $BUILD_ROOT_DIR origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
|
||||
echo -e "\033[37;1mCHECKOUT:\033[0m\nswitch back to $IMAGE_VERSION ..."
|
||||
do_exec "git checkout $IMAGE_VERSION"
|
||||
echo -e "switch back to $YOCTO_BRANCH_NAME ..."
|
||||
do_exec "git -C $BUILD_ROOT_DIR checkout $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
do_exec "git pull -r -C $BUILD_ROOT_DIR origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
|
||||
echo -e "\033[36;1mdone ...\033[0m\n"
|
||||
echo -e "switch back to $IMAGE_VERSION ..."
|
||||
do_exec "git -C $BUILD_ROOT_DIR checkout $IMAGE_VERSION" ' ' 'show_output'
|
||||
|
||||
echo -e "\033[36;1mdone ...\033[0m\n"
|
||||
else
|
||||
YOCTO_BRANCH_HASH_CURRENT=`git -C $BUILD_ROOT_DIR rev-parse --verify HEAD | awk '{print substr($0, 0,7)}'`
|
||||
HAS_CHANGES=0
|
||||
if [[ "$YOCTO_BRANCH_HASH_CURRENT" != "$YOCTO_BRANCH_HASH" ]]; then
|
||||
HAS_CHANGES=1
|
||||
LOCAL_YOCTO_BRANCH=$IMAGE_VERSION.mod.$YOCTO_BRANCH_HASH_CURRENT
|
||||
echo -e "\033[36;1mupdate yocto: found local changes, create branch $LOCAL_YOCTO_BRANCH\033[0m\n"
|
||||
do_exec "git -C $BUILD_ROOT_DIR checkout $YOCTO_BRANCH_HASH_CURRENT -b $LOCAL_YOCTO_BRANCH"
|
||||
echo -e "\033[36;1mswitch to required branch $YOCTO_BRANCH_NAME at $YOCTO_BRANCH_HASH\033[0m\n"
|
||||
do_exec "git -C $BUILD_ROOT_DIR checkout $IMAGE_VERSION"
|
||||
fi
|
||||
if [ $HAS_CHANGES=0 ]; then
|
||||
echo -e "\033[36;1mkeeping $YOCTO_BRANCH_NAME at $YOCTO_BRANCH_HASH\033[0m\n"
|
||||
do_exec "git -C $BUILD_ROOT_DIR reset --hard $YOCTO_BRANCH_HASH"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -167,7 +200,7 @@ else
|
||||
do_exec "git checkout $YOCTO_BRANCH_NAME"
|
||||
fi
|
||||
|
||||
#echo -e "\033[37;1mUPDATE:\033[0m\nupdate $GUI_LAYER_NAME from (branch $YOCTO_BRANCH_NAME) $TUXBOX_LAYER_GIT_URL ..."
|
||||
echo -e "\033[37;1mUPDATE:\033[0m\nupdate $GUI_LAYER_NAME from (branch $YOCTO_BRANCH_NAME) $TUXBOX_LAYER_GIT_URL ..."
|
||||
do_exec "$GIT_PULL origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
|
||||
if [ "$CURRENT_GUI_LAYER_BRANCH" != "$YOCTO_BRANCH_NAME" ]; then
|
||||
@@ -226,6 +259,49 @@ function clone_meta_python2 () {
|
||||
fi
|
||||
}
|
||||
|
||||
# clone or update required branch for qt5
|
||||
function clone_meta_qt5 () {
|
||||
META_MACHINE_LAYER=meta-$1
|
||||
|
||||
if [ $QT5_LAYER_DO_UPDATE == "1" ] && [ "$IMAGE_VERSION" != "3.0" ] && [ "$IMAGE_VERSION" != "3.1" ] && test -d $BUILD_ROOT_DIR/$META_MACHINE_LAYER/recipes-multimedia/kodi; then
|
||||
|
||||
$CURRENT_QT_LAYER_BRANCH
|
||||
|
||||
if test ! -d $BUILD_ROOT_DIR/$QT5_LAYER_NAME/.git; then
|
||||
echo -e "\033[35;1mCLONE $QT5_LAYER_NAME:\033[0m\nclone $QT5_LAYER_NAME (branch $YOCTO_BRANCH_NAME) from $QT5_LAYER_GIT_URL ..."
|
||||
do_exec "cd $BUILD_ROOT_DIR"
|
||||
do_exec "$GIT_CLONE -b $YOCTO_BRANCH_NAME $QT5_LAYER_GIT_URL/$QT5_LAYER_NAME $QT5_LAYER_NAME" ' ' 'show_output'
|
||||
do_exec "git -C $BUILD_ROOT_DIR/$QT5_LAYER_NAME checkout $QT5_BRANCH_HASH -b $IMAGE_VERSION"
|
||||
do_exec "$GIT_PULL origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
echo -e "\033[35;1mdone ...\033[0m\n"
|
||||
else
|
||||
do_exec "cd $BUILD_ROOT_DIR/$QT5_LAYER_NAME"
|
||||
CURRENT_QT_LAYER_BRANCH=`git -C $BUILD_ROOT_DIR/$QT5_LAYER_NAME rev-parse --abbrev-ref HEAD`
|
||||
echo -e "\033[35;1mUPDATE: update $QT5_LAYER_NAME $CURRENT_QT_LAYER_BRANCH\033[0m"
|
||||
do_exec "$GIT_STASH" 'no_exit'
|
||||
|
||||
if [ "$CURRENT_QT_LAYER_BRANCH" != "$YOCTO_BRANCH_NAME" ]; then
|
||||
echo -e "\033[35;1mCHECKOUT:\033[0m\nswitch from $CURRENT_QT_LAYER_BRANCH to $YOCTO_BRANCH_NAME..."
|
||||
do_exec "git checkout $YOCTO_BRANCH_NAME"
|
||||
fi
|
||||
|
||||
#echo -e "\033[35;1mUPDATE:\033[0m\nupdate $QT5_LAYER_NAME from (branch $YOCTO_BRANCH_NAME) $QT5_LAYER_GIT_URL ..."
|
||||
do_exec "$GIT_PULL origin $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
|
||||
if [ "$CURRENT_QT_LAYER_BRANCH" != "$YOCTO_BRANCH_NAME" ]; then
|
||||
echo -e "\033[35;1mCHECKOUT:\033[0m\nswitch back to $CURRENT_QT_LAYER_BRANCH ..."
|
||||
do_exec "git checkout $CURRENT_QT_LAYER_BRANCH"
|
||||
echo -e "\033[35;1mREBASE:\033[0m\nrebase branch $YOCTO_BRANCH_NAME into $CURRENT_QT_LAYER_BRANCH"
|
||||
do_exec "git rebase $YOCTO_BRANCH_NAME" ' ' 'show_output'
|
||||
fi
|
||||
|
||||
do_exec "$GIT_STASH_POP" 'no_exit'
|
||||
echo -e "\033[35;1mdone ...\033[0m\n"
|
||||
QT5_LAYER_DO_UPDATE=0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function get_metaname () {
|
||||
TMP_NAME=$1
|
||||
|
||||
@@ -257,6 +333,10 @@ function clone_box_layer () {
|
||||
if test ! -d $BUILD_ROOT_DIR/$PYTHON2_LAYER_NAME; then
|
||||
clone_meta_python2 $NAME
|
||||
fi
|
||||
|
||||
if test ! -d $BUILD_ROOT_DIR/$QT5_LAYER_NAME; then
|
||||
clone_meta_qt5 $NAME
|
||||
fi
|
||||
else
|
||||
do_exec "cd $BUILD_ROOT_DIR/meta-$NAME"
|
||||
do_exec "$GIT_STASH" 'no_exit'
|
||||
@@ -281,6 +361,7 @@ function clone_box_layer () {
|
||||
echo -e "\033[34;1mdone ...\033[0m\n"
|
||||
|
||||
clone_meta_python2 $NAME
|
||||
clone_meta_qt5 $NAME
|
||||
fi
|
||||
fi
|
||||
}
|
||||
@@ -316,7 +397,7 @@ function create_local_config () {
|
||||
CLC_ARG1=$1
|
||||
if [ "$CLC_ARG1" != "all" ]; then
|
||||
BOX_BUILD_DIR=$BUILD_ROOT_DIR/$CLC_ARG1
|
||||
|
||||
|
||||
# generate default config
|
||||
if test ! -d $BOX_BUILD_DIR/conf; then
|
||||
echo -e "\033[37;1m\tcreate directory for $CLC_ARG1 environment ...\033[0m"
|
||||
@@ -351,6 +432,11 @@ function create_local_config () {
|
||||
'$BUILD_ROOT_DIR'/'$PYTHON2_LAYER_NAME' \
|
||||
"' >> $BOX_BUILD_DIR/conf/bblayers.conf
|
||||
fi
|
||||
if test -d $BUILD_ROOT_DIR/$QT5_LAYER_NAME; then
|
||||
echo 'BBLAYERS += " \
|
||||
'$BUILD_ROOT_DIR'/'$QT5_LAYER_NAME' \
|
||||
"' >> $BOX_BUILD_DIR/conf/bblayers.conf
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@@ -5,14 +5,16 @@ BB_NUMBER_THREADS ?= "8"
|
||||
#
|
||||
# Determine how many processes make should run in parallel when running compile tasks:
|
||||
PARALLEL_MAKE ?= "-j 4"
|
||||
# Note: For your decision you can get information about core and threads at your machine with this command:
|
||||
# ~ $ lscpu | grep -E '^Thread|^CPU\('
|
||||
|
||||
DISTRO = "tuxbox"
|
||||
|
||||
|
||||
### System variables
|
||||
#
|
||||
#DL_DIR ?= "${COREBASE}/yocto-downloads"
|
||||
DL_DIR = "${HOME}/Downloads"
|
||||
DL_DIR = "${COREBASE}/yocto-downloads"
|
||||
#DL_DIR = "${HOME}/Archive"
|
||||
|
||||
### sdk options
|
||||
#
|
||||
@@ -97,9 +99,14 @@ INHIBIT_EXTENDED_IMAGE_VERSION = "1"
|
||||
# sample result: neutrino-image_hd51-20200926170603_v2020.39_usb.zip
|
||||
#DISTRO_CUSTOM_VERSION = "2020.39"
|
||||
#
|
||||
# sample result with increment: neutrino-image_hd51-20200926170603_v20.0_usb.zip
|
||||
# sample result with auto increment: neutrino-image_hd51-20200926170603_v20.0_usb.zip
|
||||
# Result for next build will be: neutrino-image_hd51-20200926170603_v20.1_usb.zip
|
||||
#DISTRO_CUSTOM_VERSION = "${IMAGE_YEARLY_TAG}.${IMAGE_BUILD_INCREMENT}"
|
||||
#
|
||||
# For user defined build increment you can generate manually (or how ever you want) a local increment file which cantains
|
||||
# at the first line an increment number, other lines will be ignored.
|
||||
# Sample result with local increment number '99' at the 1st line inside LOCAL_BUILD_INCREMENT_FILE: neutrino-image_hd51-20200926170603_v20.99_usb.zip
|
||||
#LOCAL_BUILD_INCREMENT_FILE = "${HOME}/build/image_build_increment"
|
||||
|
||||
|
||||
### default image root password
|
||||
@@ -146,6 +153,9 @@ WEATHER_DEV_KEY = ""
|
||||
#"
|
||||
#EXTRA_OECONF_append_pn-gdb = "--with-system-gdbinit=/etc/gdbinit"
|
||||
|
||||
### experimental kodi, qtwebflix
|
||||
#DEPENDS_pn-neutrino-image += "kodi qtwebflix"
|
||||
|
||||
|
||||
### package feed configuration
|
||||
#
|
||||
@@ -195,17 +205,17 @@ BUG_REPORT_URL = "https://forum.tuxbox-neutrino.org"
|
||||
|
||||
### download mirrors
|
||||
#
|
||||
PREMIRRORS_prepend = "\
|
||||
https://.*/.* https://archiv.tuxbox-neutrino.org/ \n \
|
||||
git://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
http://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
https://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
"
|
||||
# PREMIRRORS_prepend = "\
|
||||
# https://.*/.* https://archiv.tuxbox-neutrino.org/ \n \
|
||||
# git://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
# ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
# http://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
# https://.*/.* http://www.yoctoproject.org/sources/ \n \
|
||||
# "
|
||||
|
||||
#see: https://wiki.yoctoproject.org/wiki/How_do_I#Q:_How_do_I_create_my_own_source_download_mirror_.3F
|
||||
#
|
||||
SOURCE_MIRROR_URL ?= "https://archiv.tuxbox-neutrino.org"
|
||||
SOURCE_MIRROR_URL = "https://archiv.tuxbox-neutrino.org"
|
||||
INHERIT += "own-mirrors"
|
||||
BB_GENERATE_MIRROR_TARBALLS = "1"
|
||||
#BB_NO_NETWORK = "1"
|
||||
@@ -238,6 +248,10 @@ SSTATE_MIRRORS = "\
|
||||
# NOTE: Some masked targets with related depends could break the build.
|
||||
# BBMASK += "/meta-neutrino/recipes-qt/qt5"
|
||||
|
||||
### Build packages but do not install packages into root filesystem/image
|
||||
# https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-EXTRA_IMAGEDEPENDS
|
||||
EXTRA_IMAGEDEPENDS += " samba "
|
||||
|
||||
# These entries replace default installed entries which are contained in ./meta-neutrino/recipes-images/images/neutrino-image-base.inc.
|
||||
# You can add more entries with variable IMAGE_INSTALL_append see below...
|
||||
#
|
||||
@@ -291,5 +305,5 @@ SSTATE_MIRRORS = "\
|
||||
|
||||
# Put additional packages that should be packaged into your image. Separated with a whitespace. or use IMAGE_INSTALL += ...
|
||||
#
|
||||
# IMAGE_INSTALL_append = " gdb-dbg glibc-dbg glibc-thread-db qtwebflix webmin rpm"
|
||||
# IMAGE_INSTALL_append = " gdb-dbg glibc-dbg glibc-thread-db webmin rpm"
|
||||
# IMAGE_INSTALL_append = " gdb-dbg glibc-dbg glibc-thread-db qtwebflix webmin"
|
||||
# IMAGE_INSTALL_append = " gdb-dbg glibc-dbg glibc-thread-db webmin"
|
||||
|
Reference in New Issue
Block a user