Compare commits
2 Commits
master
...
remote-sst
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa22dbf4d3 | ||
|
|
5f0b014af3 |
177
README
Normal file
177
README
Normal file
@@ -0,0 +1,177 @@
|
||||
.-. .-.
|
||||
| \ / | .-.
|
||||
| \/ |.-----.----.| | .-----.-----.-----..----.
|
||||
| || | .-'| '--.| ---' __ | |.-- |
|
||||
| | || ' | | | --'|--- | | | | ' \
|
||||
'----'---''-----'--' '----''-----'--. |--'--''--`--`
|
||||
.-' |
|
||||
'----'
|
||||
|
||||
meta-mortsgna is yet another distribution layer. It is based on Ångström
|
||||
distribution - check https://github.com/Angstrom-distribution/meta-angstrom.
|
||||
|
||||
The target of this layer is to build images with the best out-of-the-box
|
||||
experience and to support developers with helpers for common tasks.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Layer maintainer: Andreas Müller <schnitzeltony@gmail.com>
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Additionally this layer checks the following variable in local.conf:
|
||||
|
||||
* MORTSGNA_ARMV7_TUNE:
|
||||
If this variable is set to "1", all armv7a / cortex variants are build as
|
||||
armv7a.
|
||||
|
||||
+ Reduce build time/disk-space required when building for multiple machines
|
||||
- Build optimization (e.g vfp/NEON) is not the best your machine can get
|
||||
|
||||
Rules of thumb:
|
||||
* If you build images for multiple armv7 machines and don't need to tickle
|
||||
the last quarter of your machine's performance:
|
||||
Set MORTSGNA_ARMV7_TUNE="1"
|
||||
* If you are looking for best optimization for your machine and/or you have
|
||||
a fast build host with lots of disk-space: don't!
|
||||
see conf/distro/include/mortsgna-armv7-tune.inc for more information
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
The following image-features are (re-)added:
|
||||
|
||||
* x11-base: Let systemd boot into grahical target
|
||||
|
||||
* volatile-log: If set, journal goes to volatile /run/log and /var/log is
|
||||
linked to /run/log which is volatile.
|
||||
NOTE: We change OE-Core's default here: In bitbake.conf VOLATILE_LOG_DIR is
|
||||
enabled so that all images are build for volatile log. Since this is far off
|
||||
what others do change the default.
|
||||
See conf/distro/include/mortsgna-image-logfile-volatile.inc for more
|
||||
information.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
This layer contains the following folders:
|
||||
|
||||
appends:
|
||||
All bbappends are stored in this folder. For each layer a sub-folder exists
|
||||
and the appends are dynamic: If a layer is not in bblayers.conf the folder
|
||||
for the layer is ignored (see conf/layer.conf).
|
||||
|
||||
classes:
|
||||
* instant-remote-debug.bbclass: Create a sysroot for remote debugging -
|
||||
Yocto's suggested workflows are cumbersome for ad-hoc remote debugging.
|
||||
* instant-native-sysroot.bbclass: Native recipes inheriting this class
|
||||
install everything necessary to run into a native sysroot. It's like a
|
||||
quick & minimal native SDK. Currently gcc-cross and gdb-cross inherit this
|
||||
class to enable instant remote debugging.
|
||||
* user-with-full-skel.bbclass: Helper to populate /etc/skel in user's
|
||||
home at image creation time.
|
||||
|
||||
conf:
|
||||
layer.conf / and distro configurations
|
||||
|
||||
recipes-defaultconfig:
|
||||
* default configurations for lxqt and xfce to get a preconfigured
|
||||
environment. Note that all data is stored in th image at /etc/skel
|
||||
* unpriv-user: A default non root user (named morona) member of many groups
|
||||
required for daily operations. It is shipped with home folder populated
|
||||
form /etc/skel.
|
||||
|
||||
recipes-image:
|
||||
All images for console / kde / lxqt / xfce ar found. allgui-images build
|
||||
images for all graphical environments.
|
||||
|
||||
recipes-utlis:
|
||||
* udev-rules-udisks-hide-bootpart: Hide boot partition from udisks
|
||||
* Some tools (these are the only left from angstrom). Honestly: Have never
|
||||
used them but kept them if users come from angstrom and might miss
|
||||
them.
|
||||
|
||||
scripts:
|
||||
A script collection
|
||||
* to write images or kernel only to sdcards
|
||||
* for changing recipe checksums automatically after version bump
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
This layer depends on:
|
||||
|
||||
URI: git://git.openembedded.org/openembedded-core
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
|
||||
For building console images:
|
||||
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-oe
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-networking
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Other layers are required when building 'GUI images'
|
||||
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-gnome
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-multimedia
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-python
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-xfce
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://github.com/meta-qt5/meta-qt5.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://github.com/schnitzeltony/meta-qt5-extra.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://github.com/schnitzeltony/meta-office.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://github.com/OSSystems/meta-browser.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://github.com/cazfi/meta-games.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
URI: git://github.com/schnitzeltony/meta-retro
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
To add plymouth to 'GUI images'
|
||||
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-initramfs
|
||||
branch: master
|
||||
revision: HEAD
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
To hear radio
|
||||
|
||||
URI: git://github.com/balister/meta-sdr.git
|
||||
Layer: meta-initramfs
|
||||
branch: master
|
||||
revision: HEAD
|
||||
230
README.md
230
README.md
@@ -1,230 +0,0 @@
|
||||
# meta-mortsgna: (more than) yet another distro layer
|
||||
|
||||
The target of this layer is to build images with the best out-of-the-box experience and to support developers with helpers for common tasks.
|
||||
It has its origin Ångström distribution - check https://github.com/Angstrom-distribution/meta-angstrom.
|
||||
|
||||
----------------------------------------------
|
||||
### Additional global variable for local.conf:
|
||||
|
||||
* MORTSGNA_ARMV7_TUNE:
|
||||
|
||||
If this variable is set to "1", all armv7a / cortex variants are build as
|
||||
armv7a.
|
||||
|
||||
\+ Reduce build time/disk-space required when building for multiple machines
|
||||
|
||||
\- Build optimization (e.g vfp/NEON) is not the best your machine can get
|
||||
|
||||
Rules of thumb:
|
||||
* If you build images for multiple armv7 machines and don't need to tickle
|
||||
the last quarter of your machine's performance:
|
||||
Set MORTSGNA_ARMV7_TUNE="1"
|
||||
* If you are looking for best optimization for your machine and/or you have
|
||||
a fast build host with lots of disk-space: don't!
|
||||
see [mortsgna-armv7-tune.inc](conf/distro/include/mortsgna-armv7-tune.inc) for more information
|
||||
|
||||
------------------------------------------------
|
||||
### The following image-features are (re-)added:
|
||||
|
||||
* x11-base:
|
||||
Let systemd boot into grahical target
|
||||
|
||||
* volatile-log:
|
||||
If set, journal goes to volatile /run/log and /var/log is linked to /run/log
|
||||
which is volatile. NOTE: We change OE-Core's default here: In bitbake.conf
|
||||
VOLATILE_LOG_DIR is enabled so that all images are build for volatile log.
|
||||
Since this is far off what others do change the default. See
|
||||
[mortsgna-image-logfile-volatile.inc](conf/distro/include/mortsgna-image-logfile-volatile.inc) for more
|
||||
information.
|
||||
|
||||
----------------------------------------------
|
||||
### This layer contains the following folders:
|
||||
|
||||
[appends](appends):
|
||||
* All bbappends are stored in this folder. For each layer a sub-folder exists
|
||||
and the appends are dynamic: If a layer is not in bblayers.conf the folder
|
||||
for the layer is ignored (see conf/layer.conf).
|
||||
|
||||
[classes](classes):
|
||||
* [instant-sysroot-target.bbclass](classes/instant-sysroot-target.bbclass): Create a sysroot for target remote
|
||||
building/debugging - Yocto's suggested workflows are cumbersome for ad-hoc
|
||||
usage.
|
||||
* [instant-sysroot-native.bbclass](classes/instant-sysroot-native.bbclass): Native recipes inheriting this class
|
||||
install everything necessary to run into a native sysroot. For a
|
||||
quick & minimal native SDK gcc-cross and gdb-cross inherit this class.
|
||||
class to enable instant remote debugging.
|
||||
* [user-with-full-skel.bbclass](classes/user-with-full-skel.bbclass): Helper to populate /etc/skel in user's
|
||||
home at image creation time.
|
||||
|
||||
[conf](conf):
|
||||
* layer.conf / and distro configurations
|
||||
|
||||
[recipes-defaultconfig](recipes-defaultconfig):
|
||||
* default configurations for lxqt and xfce to get a preconfigured
|
||||
environment. Note that all data is stored in th image at /etc/skel
|
||||
* unpriv-user: A default non root user (named morona) member of many groups
|
||||
required for daily operations. It is shipped with home folder populated
|
||||
form /etc/skel.
|
||||
|
||||
[recipes-image](recipes-image):
|
||||
* All images for cinnamon / console / gnome / kde / lxqt / weston / xfce are found in this folder.
|
||||
allgui-images build images for all desktop environments.
|
||||
|
||||
[recipes-utils](recipes-utils):
|
||||
* udev-rules-udisks-hide-bootpart: Hide boot partition from udisks
|
||||
* Some tools (these are the only left from angstrom). Honestly: Have never
|
||||
used them but kept them if users come from angstrom and might miss
|
||||
them.
|
||||
|
||||
[scripts](scripts):
|
||||
A script collection
|
||||
* to write images or kernel only to sdcards
|
||||
* for changing recipe checksums automatically after version bump -> [update-recipe-checksums.sh](scripts/update-recipe-checksums.sh)
|
||||
|
||||
|
||||
--------------------------
|
||||
### This layer depends on:
|
||||
|
||||
```
|
||||
URI: git://git.openembedded.org/openembedded-core
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### For building console-images:
|
||||
```
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-oe
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-networking
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### For building GUI-images:
|
||||
|
||||
```
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-gnome
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-multimedia
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-python
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-xfce
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://github.com/meta-qt5/meta-qt5.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://github.com/schnitzeltony/meta-qt5-extra.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://github.com/schnitzeltony/meta-gnome-forks.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### To add plymouth to GUI-images:
|
||||
|
||||
```
|
||||
URI: git://git.openembedded.org/meta-openembedded
|
||||
Layer: meta-initramfs
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### To surf the internet:
|
||||
|
||||
```
|
||||
URI: git://github.com/OSSystems/meta-browser.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### To pretend work:
|
||||
```
|
||||
URI: git://github.com/schnitzeltony/meta-office.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### To produce music:
|
||||
|
||||
```
|
||||
URI: git://github.com/schnitzeltony/meta-musicians.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### To hear radio:
|
||||
|
||||
```
|
||||
URI: git://github.com/balister/meta-sdr.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
#### To happily waste time:
|
||||
|
||||
```
|
||||
URI: git://github.com/cazfi/meta-games.git
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
```
|
||||
URI: git://github.com/schnitzeltony/meta-retro
|
||||
branch: master
|
||||
revision: HEAD
|
||||
```
|
||||
|
||||
------------
|
||||
Contributing
|
||||
------------
|
||||
* Submit any patches against the `meta-mortsgna` layer by using the GitHub pull-request feature.
|
||||
|
||||
|
||||
--------
|
||||
Policies
|
||||
--------
|
||||
* Please do not send private emails to maintainers. For questions/suggestions.. use GitHub issues.
|
||||
* Pull requests should follow [OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) with the following additions:
|
||||
* Use 4 spaces for indention always
|
||||
* For splitting of long list values use four-space indentation on successive lines set the closing quote as the first character ([OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) - second example)
|
||||
|
||||
|
||||
-----------
|
||||
Maintainers
|
||||
-----------
|
||||
|
||||
Layer maintainer: Andreas Müller <schnitzeltony@gmail.com>
|
||||
3
TODO
3
TODO
@@ -1,5 +1,8 @@
|
||||
These are tasks are planned:
|
||||
|
||||
OE:
|
||||
* Introduce security_flags.inc
|
||||
|
||||
Scripts:
|
||||
* get rid of bashisms
|
||||
* dialog -> ncurses?
|
||||
|
||||
1
appends/meta-browser/chromium%.bbappend
Normal file
1
appends/meta-browser/chromium%.bbappend
Normal file
@@ -0,0 +1 @@
|
||||
PACKAGECONFIG_append = " use-egl impl-side-painting proprietary-codecs"
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG = "proprietary-codecs"
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG = "proprietary-codecs"
|
||||
@@ -18,6 +18,7 @@ if(wnd_type == "WINDOW_TYPE_NORMAL") then
|
||||
"xarchiver",
|
||||
"Thunar",
|
||||
"geany",
|
||||
"gedit",
|
||||
}
|
||||
|
||||
app_name = get_application_name()
|
||||
|
||||
@@ -1 +1 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
@@ -1 +1 @@
|
||||
PACKAGECONFIG:append = " archive gcr libmtp libgphoto2 samba systemd"
|
||||
PACKAGECONFIG_append = " archive gcr libmtp libgphoto2 samba systemd"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
PACKAGECONFIG ?= " \
|
||||
jack \
|
||||
portaudio \
|
||||
readline \
|
||||
sndfile \
|
||||
jack \
|
||||
pulseaudio \
|
||||
portaudio \
|
||||
"
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
PACKAGECONFIG_append = " \
|
||||
hls \
|
||||
libmms \
|
||||
faad \
|
||||
fluidsynth \
|
||||
gtk \
|
||||
"
|
||||
@@ -0,0 +1,4 @@
|
||||
PACKAGECONFIG_append = " \
|
||||
mad \
|
||||
x264 \
|
||||
"
|
||||
@@ -1,5 +0,0 @@
|
||||
# In our environment dnsmasq is used by networkmanager only. That takes care
|
||||
# of all the configuration parameters necessary. Unfortunately this is broken
|
||||
# by dnsmasq running as service: It is set-up by configuration files and that
|
||||
# are not matching networkmanagers's needs.
|
||||
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append = " gnome"
|
||||
@@ -1,3 +0,0 @@
|
||||
EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
|
||||
|
||||
RDEPENDS:${PN}-dev:remove = "${PN}-staticdev"
|
||||
@@ -1,4 +1,4 @@
|
||||
do_install:append() {
|
||||
do_install_append() {
|
||||
# Since we
|
||||
# * do not have angstroms's DISTRO_TYPE
|
||||
# * do not want to set all debug-tweaks
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append = " shared"
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append = "gui"
|
||||
@@ -1 +1 @@
|
||||
RRECOMMENDS:${PN} += "udev-rules-udisks-hide-bootpart"
|
||||
RRECOMMENDS_${PN} += "udev-rules-udisks-hide-bootpart"
|
||||
|
||||
1
appends/meta-oe/udisks_%.bbappend
Normal file
1
appends/meta-oe/udisks_%.bbappend
Normal file
@@ -0,0 +1 @@
|
||||
RRECOMMENDS_${PN} += "udev-rules-udisks-hide-bootpart"
|
||||
@@ -1,3 +0,0 @@
|
||||
inherit instant-sysroot-native
|
||||
|
||||
INSANE_SKIP += "native-last"
|
||||
@@ -4,39 +4,3 @@ PACKAGECONFIG_DISTRO += " \
|
||||
gtk \
|
||||
harfbuzz \
|
||||
"
|
||||
|
||||
inherit instant-paths
|
||||
|
||||
do_install:append() {
|
||||
# at least KDE's extra-cmake-modules expect qmake-qt5
|
||||
ln -s qmake ${D}/${bindir}/qmake-qt5
|
||||
}
|
||||
|
||||
do_copy_to_target_sysroot:append() {
|
||||
# ---------- qt.conf ----------
|
||||
# create
|
||||
generate_qt_config_file_paths
|
||||
|
||||
# move to target sysroot
|
||||
qtconf=`basename ${OE_QMAKE_QTCONF_PATH}`
|
||||
targetpath=${INSTANT_TARGET_PATH}${OE_QMAKE_PATH_HOST_BINS}
|
||||
rm -f "$targetpath/$qtconf"
|
||||
mv "${OE_QMAKE_QTCONF_PATH}" "$targetpath"
|
||||
echo "${OE_QMAKE_PATH_HOST_BINS}/$qtconf" >> ${INSTANT_MANIFEST}
|
||||
|
||||
# adjust to instant sysroot
|
||||
sed -i \
|
||||
-e 's:${STAGING_DIR_NATIVE}:${INSTANT_NATIVE_PATH}:g' \
|
||||
-e 's:${STAGING_DIR_HOST}:${INSTANT_TARGET_PATH}:g' \
|
||||
-e 's:^HostBinaries =.*:HostBinaries = ${INSTANT_NATIVE_PATH}${bindir}${QT_DIR_NAME}:g' \
|
||||
"$targetpath/$qtconf"
|
||||
|
||||
# ---------- mkspecs qmake.conf ----------
|
||||
rm ${INSTANT_TARGET_PATH}${libdir}${QT_DIR_NAME}/mkspecs/${XPLATFORM}/qmake.conf
|
||||
cp -f "${WORKDIR}/packages-split/${PN}-mkspecs${libdir}${QT_DIR_NAME}/mkspecs/${XPLATFORM}/qmake.conf" \
|
||||
"${INSTANT_TARGET_PATH}${libdir}${QT_DIR_NAME}/mkspecs/${XPLATFORM}/"
|
||||
sed -i \
|
||||
-e 's:${DEBUG_PREFIX_MAP}:-fdebug-prefix-map=${INSTANT_TARGET_PATH}= -fdebug-prefix-map=${INSTANT_NATIVE_PATH}=:g' \
|
||||
"${INSTANT_TARGET_PATH}${libdir}${QT_DIR_NAME}/mkspecs/${XPLATFORM}/qmake.conf"
|
||||
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append = " examples"
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append = " examples"
|
||||
@@ -1,3 +0,0 @@
|
||||
# VLC is not part of meta-qt5. We add append here so the append will work only
|
||||
# in case meta-qt5 is in layers
|
||||
PACKAGECONFIG:append = " qt5"
|
||||
@@ -1 +1 @@
|
||||
PACKAGECONFIG:append = " gladeui2"
|
||||
PACKAGECONFIG_append = " startup-notification gladeui"
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
RRECOMMENDS:${PN} += " \
|
||||
imsettings \
|
||||
"
|
||||
@@ -1 +1 @@
|
||||
PACKAGECONFIG:append = " notify"
|
||||
PACKAGECONFIG_append = " notify"
|
||||
|
||||
@@ -1 +1 @@
|
||||
PACKAGECONFIG:append = " sound-setter notify"
|
||||
PACKAGECONFIG_append = " datetime-setter sound-setter notify"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
RRECOMMENDS:${PN} += "xfce4-terminal-default-config"
|
||||
@@ -3,12 +3,14 @@
|
||||
|
||||
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
|
||||
|
||||
EDITOR="vi" # needed for packages like cron, git-commit
|
||||
|
||||
TERM="xterm-256color"
|
||||
|
||||
# Set the prompt for bash
|
||||
# Set the prompt for bash and ash (no other shells known to be in use here)
|
||||
PS1='\u@\h:\W\$ '
|
||||
PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
|
||||
|
||||
# loop profile.d scriptlets
|
||||
if [ -d /etc/profile.d ]; then
|
||||
for i in /etc/profile.d/*.sh; do
|
||||
if [ -f $i -a -r $i ]; then
|
||||
@@ -18,44 +20,15 @@ if [ -d /etc/profile.d ]; then
|
||||
unset i
|
||||
fi
|
||||
|
||||
# set locale fallback - all our images contain en_US
|
||||
if [ -z "$LANG" ]; then
|
||||
LANG="en_US.utf8"
|
||||
export LANG
|
||||
if command -v resize >/dev/null && command -v tty >/dev/null; then
|
||||
# Make sure we are on a serial console (i.e. the device used starts with
|
||||
# /dev/tty[A-z]), otherwise we confuse e.g. the eclipse launcher which
|
||||
# tries do use ssh
|
||||
case $(tty) in
|
||||
/dev/tty[A-z]*) resize >/dev/null;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# `ls' enhancements:
|
||||
eval `dircolors`
|
||||
alias l.='ls -d .* --color=auto'
|
||||
alias ll='ls -l --color=auto'
|
||||
alias ls='ls --color=auto'
|
||||
|
||||
# colorize all grep variants
|
||||
alias grep='grep --color'
|
||||
alias egrep='egrep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias xzegrep='xzegrep --color=auto'
|
||||
alias xzfgrep='xzfgrep --color=auto'
|
||||
alias xzgrep='xzgrep --color=auto'
|
||||
alias zegrep='zegrep --color=auto'
|
||||
alias zfgrep='zfgrep --color=auto'
|
||||
alias zgrep='zgrep --color=auto'
|
||||
|
||||
# Turn on parallel history
|
||||
shopt -s histappend
|
||||
history -a
|
||||
|
||||
HOSTNAME=`hostname 2>/dev/null`
|
||||
HISTSIZE=1000
|
||||
if [ "$HISTCONTROL" = "ignorespace" ] ; then
|
||||
export HISTCONTROL=ignoreboth
|
||||
else
|
||||
export HISTCONTROL=ignoredups
|
||||
fi
|
||||
|
||||
# Turn on checkwinsize
|
||||
shopt -s checkwinsize
|
||||
|
||||
export PATH TERM PS1 PROMPT_COMMAND HOSTNAME HISTSIZE
|
||||
export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM PROMPT_COMMAND
|
||||
|
||||
umask 022
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# ~/.bashrc: executed by bash(1) for interactive non-login shells.
|
||||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
|
||||
if [ -f /etc/profile ]; then
|
||||
. /etc/profile
|
||||
fi
|
||||
PS1='\u@\h:\W\$ '
|
||||
|
||||
# `ls' enhancements:
|
||||
export LS_OPTIONS='--color=auto'
|
||||
eval `dircolors`
|
||||
alias ls='ls $LS_OPTIONS'
|
||||
alias ll='ls $LS_OPTIONS -l'
|
||||
# REVISIT - do not change path
|
||||
alias su='su --login'
|
||||
|
||||
umask 022
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# ~/.profile: executed by interactive login shells.
|
||||
# ~/.profile: executed by Bourne-compatible login shells.
|
||||
|
||||
if [ -f ~/.bashrc ]; then
|
||||
. ~/.bashrc
|
||||
fi
|
||||
|
||||
# Might fail after "su - myuser" when /dev/tty* is not writable by "myuser".
|
||||
mesg n 2>/dev/null
|
||||
|
||||
# locale fallback for UTF8
|
||||
if [ -z "$LANG" ]; then
|
||||
LANG="en_US.utf8"
|
||||
export LANG
|
||||
fi
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
BASEFILESISSUEINSTALL = "do_install_mortsgnaissue"
|
||||
|
||||
do_install_mortsgnaissue () {
|
||||
echo ${MACHINE} > ${D}${sysconfdir}/hostname
|
||||
|
||||
install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir}
|
||||
if [ -n "${DISTRO_NAME}" ]; then
|
||||
echo -n "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
do_install:append() {
|
||||
sed -i 's|root::0:0:root:/home/root:/bin/sh|root::0:0:root:/home/root:/bin/bash|' ${D}${datadir}/${BPN}/passwd.master
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
# It is time I do suggest common / global PREFERRED_OPENGL variable
|
||||
|
||||
PACKAGECONFIG:remove:class-target = "opengl"
|
||||
PACKAGECONFIG_remove_class-target = "opengl"
|
||||
|
||||
PACKAGECONFIG:append:class-target = " egl glesv2"
|
||||
PACKAGECONFIG_append_class-target = " egl glesv2"
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
inherit instant-sysroot-native
|
||||
|
||||
INSANE_SKIP += "native-last"
|
||||
@@ -1,3 +0,0 @@
|
||||
PACKAGECONFIG = "hunspell"
|
||||
|
||||
RRECOMMENDS:${PN} += "hunspell-dictionaries"
|
||||
@@ -1 +1 @@
|
||||
inherit instant-sysroot-native
|
||||
inherit instant-native-sysroot
|
||||
|
||||
@@ -1 +1 @@
|
||||
inherit instant-sysroot-native
|
||||
inherit instant-native-sysroot
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
PACKAGECONFIG:append = " \
|
||||
hls \
|
||||
faad \
|
||||
fluidsynth \
|
||||
"
|
||||
@@ -1,3 +0,0 @@
|
||||
PACKAGECONFIG:append = " \
|
||||
x264 \
|
||||
"
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append:class-target = " jack"
|
||||
1
appends/oe-core/libsoup-2.4_%.bbappend
Normal file
1
appends/oe-core/libsoup-2.4_%.bbappend
Normal file
@@ -0,0 +1 @@
|
||||
PACKAGECONFIG ?= "gnome"
|
||||
@@ -1,4 +1,4 @@
|
||||
kernel_do_deploy:append() {
|
||||
kernel_do_deploy_append() {
|
||||
# deploy an extra link containing abiversion - used by our
|
||||
# card-kernel-write scripts
|
||||
for imageType in ${KERNEL_IMAGETYPES} ; do
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# we want xf86-input-libinput and some BSP layers exceed their allowed limits :(
|
||||
XSERVER:remove = " xf86-input-evdev "
|
||||
|
||||
# at least for test add xserver's standard xf86-video-modesetting
|
||||
XSERVER:append = " xf86-video-modesetting"
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append = " jack"
|
||||
@@ -1,8 +1,8 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI += "file://inputrc"
|
||||
|
||||
# Get more out of our console
|
||||
do_install:append() {
|
||||
do_install_append() {
|
||||
cp ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
PACKAGECONFIG:append = " pam-wheel"
|
||||
@@ -1,2 +0,0 @@
|
||||
# A root session without password activated by just two keys - honestly..
|
||||
RRECOMMENDS:${PN}:remove = "weston-init"
|
||||
@@ -1,86 +0,0 @@
|
||||
#
|
||||
# Writes build information to target filesystem on /etc/buildinfo
|
||||
#
|
||||
# Copyright (C) 2014 Intel Corporation
|
||||
# Author: Alejandro Enedino Hernandez Samaniego <alejandro.hernandez@intel.com>
|
||||
#
|
||||
# Licensed under the MIT license, see COPYING.MIT for details
|
||||
#
|
||||
# Usage: add INHERIT += "image-buildinfo_mortsgna-mortsgna" to your conf file
|
||||
#
|
||||
# This is a slightly reworked version oe-core's version. Patch was sent [1]
|
||||
# but...
|
||||
# [1] http://lists.openembedded.org/pipermail/openembedded-core/2018-September/274747.html
|
||||
|
||||
# Desired variables to display
|
||||
IMAGE_BUILDINFO_MORTSGNA_VARS ?= "DISTRO DISTRO_VERSION"
|
||||
|
||||
# Desired location of the output file in the image.
|
||||
IMAGE_BUILDINFO_MORTSGNA_FILE ??= "${sysconfdir}/buildinfo"
|
||||
|
||||
# Gets git branch's status (clean or dirty)
|
||||
def get_layer_mortsgna_git_status(path):
|
||||
import subprocess
|
||||
try:
|
||||
subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e;
|
||||
git diff --quiet --no-ext-diff
|
||||
git diff --quiet --no-ext-diff --cached""" % path,
|
||||
shell=True,
|
||||
stderr=subprocess.STDOUT)
|
||||
return ""
|
||||
except subprocess.CalledProcessError as ex:
|
||||
# Silently treat errors as "modified", without checking for the
|
||||
# (expected) return code 1 in a modified git repo. For example, we get
|
||||
# output and a 129 return code when a layer isn't a git repo at all.
|
||||
return "-- modified"
|
||||
|
||||
# Returns layer revisions along with their respective status
|
||||
def get_layer_mortsgna_revs(d):
|
||||
layers = (d.getVar("BBLAYERS") or "").split()
|
||||
medadata_revs = ["%-17s = %s:%s %s" % (os.path.basename(i), \
|
||||
base_get_metadata_git_branch(i, None).strip(), \
|
||||
base_get_metadata_git_revision(i, None), \
|
||||
get_layer_mortsgna_git_status(i)) \
|
||||
for i in layers]
|
||||
return '\n'.join(medadata_revs)
|
||||
|
||||
def buildinfo_mortsgna_target(d):
|
||||
# Get context
|
||||
if d.getVar('BB_WORKERCONTEXT') != '1':
|
||||
return ""
|
||||
# taken from base.bbclass
|
||||
localdata = bb.data.createCopy(d)
|
||||
statuslines = []
|
||||
g = globals()
|
||||
func = 'buildcfg_vars'
|
||||
if func not in g:
|
||||
bb.warn("Build configuration function '%s' does not exist" % func)
|
||||
else:
|
||||
flines = g[func](localdata)
|
||||
if flines:
|
||||
statuslines.extend(flines)
|
||||
return ('\n%s\n' % '\n'.join(statuslines))
|
||||
|
||||
# Write build information to target filesystem
|
||||
python buildinfo_mortsgna () {
|
||||
if not d.getVar('IMAGE_BUILDINFO_MORTSGNA_FILE'):
|
||||
return
|
||||
with open(d.expand('${IMAGE_ROOTFS}${IMAGE_BUILDINFO_MORTSGNA_FILE}'), 'w') as build:
|
||||
build.writelines((
|
||||
'''-----------------------
|
||||
Build Configuration: |
|
||||
-----------------------
|
||||
''',
|
||||
buildinfo_mortsgna_target(d),
|
||||
'''
|
||||
-----------------------
|
||||
Layer Revisions: |
|
||||
-----------------------
|
||||
''',
|
||||
get_layer_mortsgna_revs(d),
|
||||
'''
|
||||
'''
|
||||
))
|
||||
}
|
||||
|
||||
IMAGE_PREPROCESS_COMMAND += "buildinfo_mortsgna;"
|
||||
32
classes/instant-native-sysroot.bbclass
Normal file
32
classes/instant-native-sysroot.bbclass
Normal file
@@ -0,0 +1,32 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# class for instant native sysroot
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
inherit utils
|
||||
|
||||
# This is where instant sysroot is installed into
|
||||
INSTANT_SYSROOT_PATH ??= "${TMPDIR}/sysroot-instant-native"
|
||||
|
||||
do_prepare_recipe_sysroot[postfuncs] += "${INSTANTSYSROOTFUNC}"
|
||||
INSTANTSYSROOTFUNC = ""
|
||||
INSTANTSYSROOTFUNC_class-native = "instant_sysroot_copy"
|
||||
INSTANTSYSROOTFUNC_class-cross = "instant_sysroot_copy"
|
||||
|
||||
instant_sysroot_copy () {
|
||||
mkdir -p ${INSTANT_SYSROOT_PATH}
|
||||
hardlinkdir ${RECIPE_SYSROOT_NATIVE} ${INSTANT_SYSROOT_PATH}
|
||||
}
|
||||
|
||||
do_populate_sysroot[postfuncs] += "${INSTANTPOPULATE}"
|
||||
INSTANTPOPULATE = ""
|
||||
INSTANTPOPULATE_class-native = "instant_populate_sysroot"
|
||||
INSTANTPOPULATE_class-cross = "instant_populate_sysroot"
|
||||
|
||||
instant_populate_sysroot () {
|
||||
for executable in `find ${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE} -type f`; do
|
||||
alignedpath=`echo ${executable} | sed 's:${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}::'`
|
||||
targetdir=`dirname ${INSTANT_SYSROOT_PATH}/${alignedpath}`
|
||||
mkdir -p "$targetdir"
|
||||
cp -fl "${executable}" "${targetdir}"
|
||||
done
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
# This is where instant native sysroot is installed to
|
||||
INSTANT_NATIVE_PATH = "${TMPDIR}/sysroot-instant-native"
|
||||
|
||||
# This is where instant target sysroot is installed to
|
||||
INSTANT_TARGET_PATH = "${TMPDIR}/sysroot-instant-target-${MACHINE_ARCH}"
|
||||
158
classes/instant-remote-debug.bbclass
Normal file
158
classes/instant-remote-debug.bbclass
Normal file
@@ -0,0 +1,158 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# class for instant remote debugging by building a debug sysroot
|
||||
#
|
||||
# It adresses a use case seen umptenth times: After creating or changing a
|
||||
# recipe, the build result crashes on target e.g with segfault or without
|
||||
# dropping helpful information. In these situations one wants to debug NOW
|
||||
# without further waiting or quirky activities.
|
||||
#
|
||||
# To achieve, a machine specific debug sysroot is build
|
||||
#
|
||||
# to enable debug sysroot build set:
|
||||
# 'INHERIT += "instant-remote-debug"'
|
||||
# in your local.conf
|
||||
#
|
||||
# to debug by remote do:
|
||||
#
|
||||
# ON TARGET:
|
||||
# * install gdbserver (build automatically for images if this class enabled - see
|
||||
# EXTRA_IMAGEDEPENDS below)
|
||||
# * open a shell and enter 'gdbserver :<IP-Port> <full path of executable with optional args>' e.g
|
||||
# 'gdbserver :5000 /usr/bin/thunar'
|
||||
#
|
||||
# ON BUILD HOST (suggested IDE: QtCreator)
|
||||
# * build gdb-cross-<TARGET_ARCH> (done automatically on images if this class
|
||||
# enabled - see EXTRA_IMAGEDEPENDS below)
|
||||
# * in QtCreator select Menu Debug/Start Debugging/Attach to Running Debug Server
|
||||
# -> Dialog 'Start Debugger' opens
|
||||
# * At the first session a so called 'Kit' has to be set up (1st line -> 'Manage').
|
||||
# The settings are kept so 1.-6. have to be done once only.
|
||||
# 1. Create a Kit by 'Add' -> further dialog opens
|
||||
# 2. Select an name for the Kit e.g 'OE'
|
||||
# 3. Set sysroot (see INSTANT_REMOTE_PATH below):
|
||||
# ${TMPDIR}/sysroot-instant-remote-${MACHINE_ARCH}
|
||||
# 4. Select compilers (it is not necessary for debug but without QTCreator won't enable Kit) for C and C++ e.g:
|
||||
# C: '<TMDIR>/sysroot-instant-native/usr/bin/arm-mortsgna-linux-gnueabi/arm-mortsgna-linux-gnueabi-gcc'
|
||||
# C++: '<TMDIR>/sysroot-instant-native/usr/bin/arm-mortsgna-linux-gnueabi/arm-mortsgna-linux-gnueabi-g++'
|
||||
# 5. Select debugger e.g:
|
||||
# GDB: '<TMDIR>/sysroot-instant-native/usr/bin/arm-mortsgna-linux-gnueabi/arm-mortsgna-linux-gnueabi-gdb'
|
||||
# 6. Select 'OK' in Options dialog -> 'Start Debugger' should be back on top
|
||||
# * Make sure 'OE' Kit is selected
|
||||
# * Browse for executable e.g '<TMDIR>/sysroot-instant-remote/usr/bin/thunar'
|
||||
# * Set IP:Port of target machine e.g '192.168.2.108:5000'
|
||||
# * Select 'OK'
|
||||
#
|
||||
# Happy debugging!!
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# ensure necessary gdb recipes are build
|
||||
EXTRA_IMAGEDEPENDS += "gdb-cross-${TARGET_ARCH} gdb"
|
||||
|
||||
# This is where instant sysroot is installed into
|
||||
INSTANT_REMOTE_PATH = "${TMPDIR}/sysroot-instant-remote-${MACHINE_ARCH}"
|
||||
WORK_REMOTE_PATH = "${WORKDIR}/sysroot-instant-remote"
|
||||
|
||||
python __anonymous () {
|
||||
if d.getVar('CLASSOVERRIDE') != 'class-target':
|
||||
bb.build.deltask('do_copysourcestosysroot', d)
|
||||
}
|
||||
|
||||
do_copysourcestosysroot() {
|
||||
if [ ! -d "${WORKDIR}/packages-split" -o ! -d ${WORKDIR}/package ]; then
|
||||
exit 0
|
||||
fi
|
||||
# ---------- link source code files ----------
|
||||
if [ -d ${WORKDIR}/package/usr/src/debug/${PN} ] ; then
|
||||
mkdir -p ${WORK_REMOTE_PATH}/usr/src/debug/${PN}
|
||||
cd ${WORKDIR}/package/usr/src/debug/${PN}
|
||||
find . -print0 | cpio --null -pdlu ${WORK_REMOTE_PATH}/usr/src/debug/${PN}
|
||||
fi
|
||||
|
||||
# ---------- names of binaries and debuginfo -> manifest ----------
|
||||
mkdir -p ${WORK_REMOTE_PATH}/manifests
|
||||
# get path to library-link once only
|
||||
if [ "${PN}" = "glibc-locale" ] ; then
|
||||
PACK_SPLIT_LIB_LINK_SEARCH_PATH=`find ${WORKDIR}/packages-split -mindepth 1 -maxdepth 1 -type d ! -name '*-dbg' ! -name '*-dev' ! -name '*-staticdev' ! -name '*-doc' ! -name 'glibc*-localedata-*' ! -name 'glibc-charmap-*' ! -name 'locale-base-*'`
|
||||
# other specials go here
|
||||
# elif...
|
||||
else
|
||||
PACK_SPLIT_LIB_LINK_SEARCH_PATH=`find ${WORKDIR}/packages-split -mindepth 1 -maxdepth 1 -type d ! -name '*-dbg' ! -name '*-dev' ! -name '*-staticdev' ! -name '*-doc' ! -name '${PN}*-locale-*'`
|
||||
fi
|
||||
echo "Search so-link in $PACK_SPLIT_LIB_LINK_SEARCH_PATH.."
|
||||
# add new
|
||||
for pkgdbg in `find ${WORKDIR}/packages-split -mindepth 1 -maxdepth 1 -type d -name '*-dbg'` ; do
|
||||
debug_binaries=
|
||||
# Note: hardcoding is used in package.bbclass either (search for PACKAGE_DEBUG_SPLIT_STYLE)
|
||||
if [ "${PACKAGE_DEBUG_SPLIT_STYLE}" = "debug-file-directory" ] ; then
|
||||
if [ -d $pkgdbg/usr/lib/debug ] ; then
|
||||
debug_binaries=`find $pkgdbg/usr/lib/debug -name '*.debug'`
|
||||
fi
|
||||
else
|
||||
debug_binaries=`find $pkgdbg -wholename '*.debug/*'`
|
||||
fi
|
||||
for file in $debug_binaries; do
|
||||
# do 'root' path
|
||||
file=`echo $file | sed -e 's:'$pkgdbg'::'`
|
||||
|
||||
# stripped binary (non debug)
|
||||
if [ "${PACKAGE_DEBUG_SPLIT_STYLE}" = "debug-file-directory" ] ; then
|
||||
filestripped=`echo $file | sed -e 's:/usr/lib/debug::' -e 's:\.debug::'`
|
||||
else
|
||||
filestripped=`echo $file | sed -e 's:\.debug/::'`
|
||||
fi
|
||||
# keep files in manifest
|
||||
echo $file >> ${WORK_REMOTE_PATH}/manifests/${PN}
|
||||
echo $filestripped >> ${WORK_REMOTE_PATH}/manifests/${PN}
|
||||
# check for so-file links
|
||||
if echo $filestripped | grep -q '\.so'; then
|
||||
soname=`basename $filestripped`
|
||||
for packsplit in $PACK_SPLIT_LIB_LINK_SEARCH_PATH; do
|
||||
for link in `find $packsplit -lname $soname` ; do
|
||||
# do 'root' path
|
||||
link=`echo $link | sed -e 's:'$packsplit'::'`
|
||||
echo $link >> ${WORK_REMOTE_PATH}/manifests/${PN}
|
||||
done
|
||||
done
|
||||
fi
|
||||
done
|
||||
done
|
||||
# ---------- names of includes (they might contain debuggable code) -> manifest ----------
|
||||
if [ -d ${WORKDIR}/packages-split/${PN}-dev/${includedir} ]; then
|
||||
for include in `find ${WORKDIR}/packages-split/${PN}-dev/${includedir} -type f` ; do
|
||||
# do 'root' path
|
||||
include=`echo $include | sed -e 's:'${WORKDIR}/packages-split/${PN}-dev/'::'`
|
||||
echo $include >> ${WORK_REMOTE_PATH}/manifests/${PN}
|
||||
done
|
||||
fi
|
||||
|
||||
# ---------- link to files in package folder from manifest ----------
|
||||
if [ -f ${WORK_REMOTE_PATH}/manifests/${PN} ] ; then
|
||||
cd ${WORKDIR}/package
|
||||
for file in `cat ${WORK_REMOTE_PATH}/manifests/${PN}` ; do
|
||||
file=`echo $file | cut -c 2-`
|
||||
if [ -e $file ] ; then
|
||||
echo -n $file | cpio --null -pdlu ${WORK_REMOTE_PATH}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
addtask copysourcestosysroot after do_package before do_build
|
||||
SSTATETASKS += "do_copysourcestosysroot"
|
||||
|
||||
do_copysourcestosysroot[sstate-inputdirs] = "${WORK_REMOTE_PATH}"
|
||||
do_copysourcestosysroot[sstate-outputdirs] = "${INSTANT_REMOTE_PATH}"
|
||||
|
||||
# same as do package
|
||||
do_copysourcestosysroot[vardeps] = "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}"
|
||||
|
||||
do_copysourcestosysroot[stamp-extra-info] = "${MACHINE_ARCH}"
|
||||
do_copysourcestosysroot[cleandirs] = "${WORK_REMOTE_PATH}"
|
||||
|
||||
python do_copysourcestosysroot_setscene () {
|
||||
sstate_setscene(d)
|
||||
}
|
||||
addtask do_copysourcestosysroot_setscene
|
||||
|
||||
do_build[recrdeptask] += "do_copysourcestosysroot"
|
||||
@@ -1,31 +0,0 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# class for instant native sysroot
|
||||
#
|
||||
# Hardlink recipe sysroot and generated sysroot to instant native sysroot
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
inherit instant-paths
|
||||
|
||||
do_prepare_recipe_sysroot[postfuncs] += "${INSTANTSYSROOTFUNC}"
|
||||
INSTANTSYSROOTFUNC = ""
|
||||
INSTANTSYSROOTFUNC:class-native = "instant_sysroot_copy"
|
||||
INSTANTSYSROOTFUNC:class-cross = "instant_sysroot_copy"
|
||||
|
||||
instant_sysroot_copy () {
|
||||
mkdir -p ${INSTANT_NATIVE_PATH}
|
||||
hardlinkdir ${RECIPE_SYSROOT_NATIVE} ${INSTANT_NATIVE_PATH}
|
||||
}
|
||||
|
||||
do_populate_sysroot[postfuncs] += "${INSTANTPOPULATE} "
|
||||
INSTANTPOPULATE = ""
|
||||
INSTANTPOPULATE:class-native = "instant_populate_sysroot"
|
||||
INSTANTPOPULATE:class-cross = "instant_populate_sysroot"
|
||||
|
||||
instant_populate_sysroot () {
|
||||
find "${SYSROOT_DESTDIR}${STAGING_DIR_NATIVE}" -type f -o -type l | while read file; do
|
||||
alignedpath=`echo "$file" | sed 's:${SYSROOT_DESTDIR}${STAGING_DIR_NATIVE}::'`
|
||||
targetdir=`dirname "${INSTANT_NATIVE_PATH}/${alignedpath}"`
|
||||
mkdir -p "$targetdir"
|
||||
cp -fld "${file}" "${targetdir}"
|
||||
done
|
||||
}
|
||||
@@ -1,180 +0,0 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# class for instant remote debugging by building a debug sysroot
|
||||
#
|
||||
# It adresses a use case seen umptenth times: After creating or changing a
|
||||
# recipe, the build result crashes on target e.g with segfault or without
|
||||
# dropping helpful information. In these situations one wants to debug NOW
|
||||
# without further waiting or quirky activities.
|
||||
#
|
||||
# To achieve, a debug sysroot is build with low cost:
|
||||
#
|
||||
# * All files are hard-linked to recipe's ${WORKDIR}/package
|
||||
# * Additional build time for task do_copy_to_target_sysroot for most recipes is < 1s
|
||||
#
|
||||
# to enable debug sysroot build set:
|
||||
# 'INHERIT += "instant-sysroot-target"'
|
||||
# in your local.conf
|
||||
#
|
||||
# to debug by remote do:
|
||||
#
|
||||
# ON TARGET:
|
||||
# * install gdbserver (build automatically for images if this class enabled - see
|
||||
# EXTRA_IMAGEDEPENDS below)
|
||||
# * open a shell and enter 'gdbserver :<IP-Port> <full path of executable with optional args>' e.g
|
||||
# 'gdbserver :5000 /usr/bin/thunar'
|
||||
#
|
||||
# ON BUILD HOST (suggested IDE: QtCreator)
|
||||
# * 'bitbake gdb-cross-<TARGET_ARCH>' (done automatically on images if this class
|
||||
# is enabled - see EXTRA_IMAGEDEPENDS below)
|
||||
# * 'bitbake qtcreator-sdk-prepare' once to create a valid qt.conf for qmake
|
||||
# * in QtCreator select Menu Debug/Start Debugging/Attach to Running Debug Server
|
||||
# -> Dialog 'Start Debugger' opens
|
||||
# * At the first session a so called 'Kit' has to be set up (1st line -> 'Manage').
|
||||
# The settings are kept so 1.- 8. have to be done once only.
|
||||
# 1. Create a Kit by 'Add' -> further dialog opens
|
||||
# 2. Select an name for the Kit e.g 'OE'
|
||||
# 3. On recent QtCreators select 'Generic Linux Device' for 'Device type' -
|
||||
# otherwise QtCreator won't let you select the kit later
|
||||
# 4. Set sysroot (see INSTANT_TARGET_PATH in instant-path.bbclass):
|
||||
# ${TMPDIR}/sysroot-instant-target-${MACHINE_ARCH}
|
||||
# 5. Select compilers (it is not necessary for debug but without QTCreator won't enable Kit) for C and C++ e.g:
|
||||
# C: '${TMPDIR}/sysroot-instant-native/usr/bin/arm-mortsgna-linux-gnueabi/arm-mortsgna-linux-gnueabi-gcc'
|
||||
# C++: '${TMPDIR}/sysroot-instant-native/usr/bin/arm-mortsgna-linux-gnueabi/arm-mortsgna-linux-gnueabi-g++'
|
||||
# 6. Select debugger e.g:
|
||||
# GDB: '${TMPDIR}/sysroot-instant-native/usr/bin/arm-mortsgna-linux-gnueabi/arm-mortsgna-linux-gnueabi-gdb'
|
||||
# 7. To avoid qtcreator stopping on certain signals Select 'Debugger' in left list and in
|
||||
# * 'GDB'-tab unselect 'Show a message box when reciving a signal'
|
||||
# * 'Locals & Expressions' add in 'Debugging Helper Customization' lines as
|
||||
# 'handle SIG32 pass nostop noprint' to pass SIG32 to application without
|
||||
# running int breaks
|
||||
# 8. Select 'OK' in Options dialog -> 'Start Debugger' should be back on top
|
||||
# * Make sure 'OE' Kit is selected
|
||||
# * Browse for executable e.g '${TMPDIR}/sysroot-instant-target-${MACHINE_ARCH}/usr/bin/thunar'
|
||||
# * Set IP:Port of target machine e.g '192.168.2.108:5000'
|
||||
# * Select 'OK'
|
||||
#
|
||||
# Happy debugging!!
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
inherit utils instant-paths
|
||||
|
||||
# ensure necessary gdb recipes are build
|
||||
EXTRA_IMAGEDEPENDS += "gdb-cross-${TARGET_ARCH} gdb"
|
||||
|
||||
python __anonymous () {
|
||||
if d.getVar('CLASSOVERRIDE') != 'class-target':
|
||||
bb.build.deltask('do_copy_to_target_sysroot', d)
|
||||
}
|
||||
|
||||
INSTANT_MANIFEST = "${INSTANT_TARGET_PATH}/manifests/${PN}"
|
||||
|
||||
do_copy_to_target_sysroot() {
|
||||
# ---------- bail out on package-less recipes ----------
|
||||
if [ ! -d "${WORKDIR}/packages-split" -o ! -d ${WORKDIR}/package ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# ---------- remove old sources ----------
|
||||
rm -rf ${INSTANT_TARGET_PATH}/usr/src/debug/${PN}
|
||||
|
||||
# ---------- remove old files in manifest and manifest ----------
|
||||
if [ -f ${INSTANT_MANIFEST} ] ; then
|
||||
echo "Old manifest ${INSTANT_MANIFEST} found - remove files..."
|
||||
# remove old files from sysroot
|
||||
for file in `cat ${INSTANT_MANIFEST}` ; do
|
||||
if ! rm "${INSTANT_TARGET_PATH}/$file" 2> /dev/null; then
|
||||
echo "Tried to delete '${INSTANT_TARGET_PATH}/$file' but it is not there! A look into mainfest creation at '${INSTANT_MANIFEST}' might help."
|
||||
fi
|
||||
done
|
||||
# remove old manifest
|
||||
rm ${INSTANT_MANIFEST}
|
||||
fi
|
||||
|
||||
# ---------- hard link source code files ----------
|
||||
if [ -d ${WORKDIR}/package/usr/src/debug/${PN} ] ; then
|
||||
mkdir -p ${INSTANT_TARGET_PATH}/usr/src/debug/${PN}
|
||||
hardlinkdir ${WORKDIR}/package/usr/src/debug/${PN} ${INSTANT_TARGET_PATH}/usr/src/debug/${PN}
|
||||
fi
|
||||
|
||||
# ---------- names of binaries and debuginfo -> manifest ----------
|
||||
mkdir -p ${INSTANT_TARGET_PATH}/manifests
|
||||
# get path to library-link once only
|
||||
if [ "${PN}" = "glibc-locale" ] ; then
|
||||
PACK_SPLIT_LIB_LINK_SEARCH_PATH=`find ${WORKDIR}/packages-split -mindepth 1 -maxdepth 1 -type d ! -name '*-dbg' ! -name '*-dev' ! -name '*-staticdev' ! -name '*-doc' ! -name 'glibc*-localedata-*' ! -name 'glibc-charmap-*' ! -name 'locale-base-*'`
|
||||
# other specials go here
|
||||
# elif...
|
||||
else
|
||||
PACK_SPLIT_LIB_LINK_SEARCH_PATH=`find ${WORKDIR}/packages-split -mindepth 1 -maxdepth 1 -type d ! -name '*-dbg' ! -name '*-dev' ! -name '*-staticdev' ! -name '*-doc' ! -name '${PN}*-locale-*'`
|
||||
fi
|
||||
echo "Search so-links in:"
|
||||
echo "$PACK_SPLIT_LIB_LINK_SEARCH_PATH"
|
||||
echo
|
||||
# add new
|
||||
for pkgdbg in `find ${WORKDIR}/packages-split -mindepth 1 -maxdepth 1 -type d -name '*-dbg'` ; do
|
||||
debug_binaries=
|
||||
# Note: hardcoding is used in package.bbclass either (search for PACKAGE_DEBUG_SPLIT_STYLE)
|
||||
if [ "${PACKAGE_DEBUG_SPLIT_STYLE}" = "debug-file-directory" ] ; then
|
||||
if [ -d $pkgdbg/usr/lib/debug ] ; then
|
||||
debug_binaries=`find $pkgdbg/usr/lib/debug -name '*.debug'`
|
||||
fi
|
||||
else
|
||||
debug_binaries=`find $pkgdbg -wholename '*.debug/*'`
|
||||
fi
|
||||
for file in $debug_binaries; do
|
||||
# do 'root' path
|
||||
file=`echo $file | sed -e 's:'$pkgdbg'::'`
|
||||
|
||||
# stripped binary (non debug)
|
||||
if [ "${PACKAGE_DEBUG_SPLIT_STYLE}" = "debug-file-directory" ] ; then
|
||||
filestripped=`echo $file | sed -e 's:/usr/lib/debug::' -e 's:\.debug::'`
|
||||
else
|
||||
filestripped=`echo $file | sed -e 's:\.debug/::'`
|
||||
fi
|
||||
# keep files in manifest
|
||||
echo $file >> ${INSTANT_MANIFEST}
|
||||
echo $filestripped >> ${INSTANT_MANIFEST}
|
||||
# check for so-file links
|
||||
if echo $filestripped | grep -q '\.so'; then
|
||||
soname=`basename $filestripped`
|
||||
for packsplit in $PACK_SPLIT_LIB_LINK_SEARCH_PATH; do
|
||||
for link in `find $packsplit -lname $soname` ; do
|
||||
# do 'root' path
|
||||
link=`echo $link | sed -e 's:'$packsplit'::'`
|
||||
echo $link >> ${INSTANT_MANIFEST}
|
||||
done
|
||||
done
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
# ---------- get -dev/-mkspecs packet contents -> manifest ----------
|
||||
for package in "${PN}-dev" "${PN}-mkspecs" ; do
|
||||
if [ -d ${WORKDIR}/packages-split/$package ]; then
|
||||
echo "Add files from ${WORKDIR}/packages-split/$package to manifest..."
|
||||
for file in `find ${WORKDIR}/packages-split/$package -type f` ; do
|
||||
# do 'root' path
|
||||
file=`echo $file | sed -e 's:${WORKDIR}/packages-split/'$package'::'`
|
||||
echo $file >> ${INSTANT_MANIFEST}
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
# ---------- manifest: do the hardlinks (optimization welcome..) ----------
|
||||
if [ -f ${INSTANT_MANIFEST} ] ; then
|
||||
echo "Create hardlinks from manifest ${INSTANT_MANIFEST}..."
|
||||
cd ${WORKDIR}/package
|
||||
for file in `cat ${INSTANT_MANIFEST}` ; do
|
||||
file=`echo $file | cut -c 2-`
|
||||
if [ -e $file ] ; then
|
||||
echo -n $file | cpio --null -pdlu ${INSTANT_TARGET_PATH} > /dev/null 2>&1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
addtask copy_to_target_sysroot after do_package_write_deb do_package_write_ipk do_package_write_rpm do_package_write_tar
|
||||
|
||||
do_copy_to_target_sysroot[stamp-extra-info] = "${MACHINE_ARCH}"
|
||||
|
||||
do_build[recrdeptask] += "do_copy_to_target_sysroot"
|
||||
@@ -1,28 +0,0 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# class for instant toolchain
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
inherit instant-paths
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
do_compile[postfuncs] += "${COMPILE_POST_TARGET}"
|
||||
COMPILE_POST_TARGET = ""
|
||||
COMPILE_POST_TARGET:class-target = "instant_compile_target"
|
||||
|
||||
INSTANTPOPULATE_TOOLCHAIN_VARS = " \
|
||||
CC \
|
||||
CFLAGS \
|
||||
"
|
||||
|
||||
python instant_compile_target () {
|
||||
# create sourceable script that exports variables necessary
|
||||
for envvar in d.getVar('INSTANTPOPULATE_TOOLCHAIN_VARS').split():
|
||||
content = d.getVar(envvar).strip()
|
||||
line = 'export %s="%s"' % (envvar, content)
|
||||
line = line.replace(d.getVar('DEBUG_PREFIX_MAP'),'-fdebug-prefix-map=%s= -fdebug-prefix-map=%s=' % (d.getVar('INSTANT_TARGET_PATH'), d.getVar('INSTANT_NATIVE_PATH') ))
|
||||
line = line.replace(d.getVar('STAGING_DIR_NATIVE'),d.getVar('INSTANT_NATIVE_PATH'))
|
||||
line = line.replace(d.getVar('STAGING_DIR_HOST'),d.getVar('INSTANT_TARGET_PATH'))
|
||||
print(line)
|
||||
print(d.getVar('DEBUG_PREFIX_MAP'))
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
SKEL_INIT_MARKER = "force-skel-full-init"
|
||||
|
||||
# user recipe part
|
||||
pkg_postinst:${PN}:prepend() {
|
||||
pkg_postinst_${PN}_prepend() {
|
||||
if [ -n "$D" -a -n "${USERNAME}" ]; then
|
||||
touch $D/home/${USERNAME}/${SKEL_INIT_MARKER}
|
||||
fi
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
def armv7_tune_handler(d):
|
||||
tune = d.getVar('DEFAULTTUNE')
|
||||
tune = d.getVar('DEFAULTTUNE', True)
|
||||
# set MORTSGNA_ARMV7_TUNE="1" in your local.conf to reduce all cortex variants
|
||||
# to common tune value
|
||||
if d.getVar('MORTSGNA_ARMV7_TUNE') == '1':
|
||||
features = d.getVar('TUNE_FEATURES').split()
|
||||
if 'armv7a' in features or \
|
||||
'armv7ve' in features or \
|
||||
'cortexa7' in features or \
|
||||
'cortexa8' in features or \
|
||||
'cortexa9' in features:
|
||||
if d.getVar('MORTSGNA_ARMV7_TUNE', True) == '1':
|
||||
features = d.getVar('TUNE_FEATURES', True).split()
|
||||
if 'armv7a' in features or 'armv7ve' in features:
|
||||
tune = 'armv7athf'
|
||||
if 'bigendian' in features:
|
||||
tune += 'b'
|
||||
if 'neon' in features:
|
||||
tune += '-neon'
|
||||
else:
|
||||
tune = d.getVar('DEFAULTTUNE')
|
||||
tune = d.getVar('DEFAULTTUNE', True)
|
||||
|
||||
return tune
|
||||
|
||||
|
||||
@@ -1,62 +1,33 @@
|
||||
# We want images supporting the following features (for packagegroup(-core)-base)
|
||||
|
||||
DISTRO_FEATURES = " \
|
||||
alsa \
|
||||
argp \
|
||||
bluetooth \
|
||||
ext2 \
|
||||
ipv4 \
|
||||
ipv6 \
|
||||
irda \
|
||||
largefile \
|
||||
nfs \
|
||||
pam \
|
||||
pci \
|
||||
pcmcia \
|
||||
ppp \
|
||||
smbfs \
|
||||
systemd \
|
||||
usbgadget \
|
||||
usbhost \
|
||||
vfat \
|
||||
wifi \
|
||||
xattr \
|
||||
zeroconf \
|
||||
gobject-introspection-data \
|
||||
"
|
||||
DISTRO_FEATURES = "alsa argp bluetooth ext2 ipv4 ipv6 irda largefile nfs pam pci pcmcia ppp smbfs systemd usbgadget usbhost vfat wifi xattr zeroconf gobject-introspection-data"
|
||||
|
||||
# Disable sysvinit for recipes with systemd support
|
||||
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
|
||||
VIRTUAL-RUNTIME_init_manager = "systemd"
|
||||
# Uncomment to completely disable support for sysv scripts:
|
||||
#PACKAGECONFIG:pn-systemd = "xz"
|
||||
#PACKAGECONFIG_pn-systemd = "xz"
|
||||
|
||||
# USE-flag like features
|
||||
DISTRO_FEATURES += "tk"
|
||||
DISTRO_FEATURES += "x11"
|
||||
DISTRO_FEATURES += "3g"
|
||||
DISTRO_FEATURES += "pulseaudio"
|
||||
DISTRO_FEATURES += "ldconfig"
|
||||
DISTRO_FEATURES += "polkit"
|
||||
DISTRO_FEATURES += "helpfiles"
|
||||
|
||||
# OpenGL support
|
||||
DISTRO_FEATURES += "opengl"
|
||||
|
||||
# wayland...
|
||||
DISTRO_WAYLAND = "wayland"
|
||||
|
||||
# No wayland for vivante blobs
|
||||
DISTRO_WAYLAND:mx6 = ""
|
||||
DISTRO_WAYLAND:mx7 = ""
|
||||
DISTRO_WAYLAND:mx8 = ""
|
||||
DISTRO_WAYLAND:use-mainline-bsp = "wayland"
|
||||
DISTRO_WAYLAND_mx6 = ""
|
||||
DISTRO_WAYLAND_mx7 = ""
|
||||
DISTRO_WAYLAND_mx8 = ""
|
||||
DISTRO_WAYLAND_use-mainline-bsp = "wayland"
|
||||
|
||||
DISTRO_FEATURES += "${DISTRO_WAYLAND}"
|
||||
|
||||
# vulkan
|
||||
DISTRO_VULKAN = ""
|
||||
DISTRO_VULKAN:raspberrypi4 = "vulkan"
|
||||
DISTRO_VULKAN:raspberrypi4-64 = "vulkan"
|
||||
DISTRO_FEATURES += "${DISTRO_VULKAN}"
|
||||
|
||||
# Uncomment for tests on gold-trouble only
|
||||
#DISTRO_FEATURES += 'ld-is-gold'
|
||||
# Inherit the default LIBC features superset from OE-core
|
||||
DISTRO_FEATURES += "${DISTRO_FEATURES_LIBC}"
|
||||
|
||||
|
||||
@@ -4,6 +4,9 @@ INHERIT += "debian"
|
||||
# activate config checker
|
||||
INHERIT += "sanity"
|
||||
|
||||
# activate the blacklister
|
||||
INHERIT += "blacklist"
|
||||
|
||||
# make devshell available as task
|
||||
INHERIT += "devshell"
|
||||
|
||||
@@ -17,5 +20,7 @@ INHERIT += "insane"
|
||||
INHERIT += "sstate"
|
||||
|
||||
# drop buildinfo to /etc/build
|
||||
INHERIT += "image-buildinfo-mortsgna"
|
||||
INHERIT += "image-buildinfo"
|
||||
|
||||
# Prelink images
|
||||
INHERIT += "image-prelink"
|
||||
|
||||
@@ -1,2 +1,17 @@
|
||||
# glibc:
|
||||
SKIP_RECIPE[libiconv] = "the glibc provided iconv library is used"
|
||||
PNBLACKLIST[libiconv] = "the glibc provided iconv library is used"
|
||||
|
||||
TARGET_OS = "linux"
|
||||
|
||||
# sane-toolchain.inc has this, and explains the GNU and ABI suffices:
|
||||
#TARGET_OS = "${@compute_os_portion_of_target_triplet(d)}"
|
||||
|
||||
TARGET_OS .= "${@['','-gnueabi'][d.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}"
|
||||
TARGET_OS .= "${@['','-gnuspe'][d.getVar('TUNE_PKGARCH',d,1) in ['ppce500', 'ppce500v2']]}"
|
||||
|
||||
# perl has some problems, see http://bugs.openembedded.net/show_bug.cgi?id=1616
|
||||
# [23:00] oxo: glibc (any version) on sparc does not like (repeat me) "-Os"
|
||||
|
||||
TARGET_LINK_HASH_STYLE = "${@['-Wl,--hash-style=gnu',''][d.getVar('TARGET_ARCH',d,1) in ['mips', 'mipsel', 'mips64', 'mips64el']]}"
|
||||
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
# The things musl can provide. We default to wanting musl to provide them.
|
||||
# libc settings
|
||||
DISTRO_FEATURES += "${@['', ' nls'][d.getVar('ENABLE_BINARY_LOCALE_GENERATION') == '1']}"
|
||||
|
||||
DISTRO_FEATURES:remove = "ldconfig"
|
||||
DISTRO_FEATURES += "${@['', ' nls'][d.getVar('ENABLE_BINARY_LOCALE_GENERATION', 1) == '1']}"
|
||||
|
||||
USE_NLS_glib-2.0 = "yes"
|
||||
USE_NLS_glib-2.0-native = "yes"
|
||||
USE_NLS_gcc-cross = "no"
|
||||
|
||||
TARGET_LINK_HASH_STYLE = "${@['-Wl,--hash-style=gnu',''][d.getVar('TARGET_ARCH',1) in ['mips', 'mipsel', 'mips64', 'mips64el', 'avr32']]}"
|
||||
|
||||
@@ -22,13 +22,3 @@ XSERVER ?= " \
|
||||
xf86-video-modesetting \
|
||||
"
|
||||
|
||||
# Follow meta-java README:
|
||||
# Possible provider: cacao-initial-native and jamvm-initial-native
|
||||
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"
|
||||
|
||||
# Possible provider: cacao-native and jamvm-native
|
||||
PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"
|
||||
|
||||
# Optional since there is only one provider for now
|
||||
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"
|
||||
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
# Global settings
|
||||
###############################################################################
|
||||
|
||||
# follow Yocto version scheme
|
||||
DISTRO_VERSION = "v3.5"
|
||||
DISTRO_VERSION = "v0.1"
|
||||
|
||||
# With Angstrom we had DISTRO_TYPE = "debug"/"release". No recipe except
|
||||
# good old lxdm takes care (yes it was me). OE-Core way is setting
|
||||
@@ -54,7 +53,7 @@ ONLINE_PACKAGE_MANAGEMENT = "full"
|
||||
BB_SIGNATURE_HANDLER ?= "OEBasicHash"
|
||||
|
||||
# We want to build a superset for the default config
|
||||
LICENSE_FLAGS_ACCEPTED += "commercial"
|
||||
LICENSE_FLAGS_WHITELIST += "commercial"
|
||||
|
||||
# Can be "glibc" or "musl"
|
||||
TCLIBC ?= "glibc"
|
||||
@@ -88,25 +87,19 @@ require conf/distro/include/toolchain-${TOOLCHAIN_TYPE}.inc
|
||||
|
||||
# thumb2 only
|
||||
ARM_INSTRUCTION_SET ??= "thumb"
|
||||
ARM_INSTRUCTION_SET:armv4 ?= "arm"
|
||||
ARM_INSTRUCTION_SET:armv5 ?= "arm"
|
||||
ARM_INSTRUCTION_SET:armv6 ?= "arm"
|
||||
ARM_INSTRUCTION_SET_armv4 ?= "arm"
|
||||
ARM_INSTRUCTION_SET_armv5 ?= "arm"
|
||||
ARM_INSTRUCTION_SET_armv6 ?= "arm"
|
||||
|
||||
# set MORTSGNA_ARMV7_TUNE="1" in your local.conf to build armv7athf
|
||||
require conf/distro/include/mortsgna-armv7-tune.inc
|
||||
DEFAULTTUNE:mortsgna := "${@armv7_tune_handler(d)}"
|
||||
DEFAULTTUNE_mortsgna := "${@armv7_tune_handler(d)}"
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Extra tweaks
|
||||
###############################################################################
|
||||
|
||||
# xorg is seriously broken with 1.20 -> 21.1 and nobody seems to care
|
||||
PREFERRED_VERSION_virtual/xserver = "1.20.%"
|
||||
|
||||
# enable fortran for octave
|
||||
FORTRAN:forcevariable = ",fortran"
|
||||
|
||||
# Unbreak multimachine builds
|
||||
LICENSE_DIRECTORY = "${DEPLOY_DIR}/licenses/${MACHINE_ARCH}"
|
||||
|
||||
@@ -117,36 +110,32 @@ MACHINEOVERRIDES[vardepsexclude] += "SOC_FAMILY"
|
||||
ENABLE_BINARY_LOCALE_GENERATION_ep9312 = "0"
|
||||
|
||||
# qemu has taken a dislike to armeb as well
|
||||
ENABLE_BINARY_LOCALE_GENERATION:armeb = "0"
|
||||
ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
|
||||
|
||||
# blacklist policy
|
||||
SKIP_RECIPE[pn-fso-apm] = "regular apmd is good enough"
|
||||
SKIP_RECIPE[weston-init] = "A passwordless root session reachable by two keys - security???"
|
||||
SKIP_RECIPE[packagegroup-core-x11] = "Conflicts with mortsgna-images"
|
||||
SKIP_RECIPE[xserver-nodm-init] = "Mortsgna-images use graphical display managers"
|
||||
PNBLACKLIST[pn-fso-apm] = "regular apmd is good enough"
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Quality & security hardening
|
||||
###############################################################################
|
||||
|
||||
require conf/distro/include/security_flags.inc
|
||||
# uncomment to enable security flags - images tested had issues
|
||||
#require conf/distro/include/security_flags.inc
|
||||
|
||||
# disable static libs
|
||||
require conf/distro/include/no-static-libs.inc
|
||||
|
||||
# QA check settings - make all warnings errors
|
||||
WARN_TO_ERROR_QA = " \
|
||||
libdir xorg-driver-abi \
|
||||
textrel incompatible-license files-invalid \
|
||||
infodir build-deps src-uri-bad symlink-to-sysroot multilib \
|
||||
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
|
||||
mime mime-xdg unlisted-pkg-lics unhandled-features-check \
|
||||
missing-update-alternatives missing-ptest \
|
||||
license-exists license-no-generic license-syntax license-format \
|
||||
license-incompatible license-file-missing \
|
||||
"
|
||||
WARN_QA:remove = "${WARN_TO_ERROR_QA}"
|
||||
ERROR_QA:append = " ${WARN_TO_ERROR_QA}"
|
||||
# QA check settings - a little stricter than the OE-Core / poky for two reasons
|
||||
# 1. They make sense
|
||||
# 2. Many poky users out there might complain about my other layers or patches
|
||||
# sent
|
||||
WARN_TO_ERROR_QA = "already-stripped compile-host-path install-host-path \
|
||||
installed-vs-shipped ldflags pn-overrides rpaths staticdev \
|
||||
unknown-configure-option useless-rpaths host-user-contaminated"
|
||||
WARN_QA_remove = "${WARN_TO_ERROR_QA}"
|
||||
ERROR_QA_append = " ${WARN_TO_ERROR_QA}"
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Image defaults
|
||||
@@ -163,7 +152,7 @@ DISTRO_GUI_USER ?= "unpriv-user"
|
||||
# If you don't want parts of this in your packagegroup-base using images you can put this in the image recipe:
|
||||
# BAD_RECOMMENDATIONS = "<packages-to-remove>"
|
||||
# or
|
||||
# IMAGE_INSTALL:remove = "<packages-to-remove>"
|
||||
# IMAGE_INSTALL_remove = "<packages-to-remove>"
|
||||
#
|
||||
# os-release: Distro release info on target
|
||||
# kernel modules: ship fs modules so you can mount stuff and af-packet so networking works
|
||||
@@ -173,7 +162,6 @@ DISTRO_GUI_USER ?= "unpriv-user"
|
||||
# DEBUG_APPS: ship strace and procpc to make simple debugging a lot easier
|
||||
DISTRO_EXTRA_RRECOMMENDS += " \
|
||||
os-release \
|
||||
default-locale \
|
||||
\
|
||||
kernel-module-vfat \
|
||||
kernel-module-ext2 \
|
||||
@@ -187,12 +175,7 @@ DISTRO_EXTRA_RRECOMMENDS += " \
|
||||
"
|
||||
|
||||
# In case one wants to use packagegroup-basic: Prefer openssh over dropbear
|
||||
# Note: to avoid redundancies TASK_BASIC_SSHDAEMON is used in this layer
|
||||
TASK_BASIC_SSHDAEMON = " \
|
||||
openssh-ssh openssh-sshd \
|
||||
openssh-scp \
|
||||
openssh-sftp openssh-sftp-server \
|
||||
"
|
||||
TASK_BASIC_SSHDAEMON = "openssh-ssh openssh-sshd openssh-scp openssh-sftp openssh-sftp-server"
|
||||
|
||||
# Image features strongly suggested
|
||||
EXTRA_IMAGE_FEATURES += " \
|
||||
@@ -200,7 +183,6 @@ EXTRA_IMAGE_FEATURES += " \
|
||||
empty-root-password \
|
||||
allow-empty-password \
|
||||
post-install-logging \
|
||||
volatile-log \
|
||||
"
|
||||
|
||||
# make x11-base a valid IMAGE_FEATURES
|
||||
@@ -228,7 +210,7 @@ IMAGE_BOOT ?= "${IMAGE_INITSCRIPTS} \
|
||||
IMAGE_INSTALL += "${IMAGE_BOOT}"
|
||||
|
||||
# some default locales
|
||||
IMAGE_LINGUAS:libc-glibc ?= "de-de fr-fr en-us en-gb es-es it-it"
|
||||
IMAGE_LINGUAS ?= "de-de fr-fr en-gb en-us es-es it-it"
|
||||
|
||||
# there are important missing I bet
|
||||
IMAGE_LINGUAS_FULL ?= " \
|
||||
|
||||
@@ -8,7 +8,7 @@ BBFILE_COLLECTIONS += "mortsgna-layer"
|
||||
BBFILE_PATTERN_mortsgna-layer := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_mortsgna-layer = "7"
|
||||
|
||||
LAYERSERIES_COMPAT_mortsgna-layer = "kirkstone langdale"
|
||||
LAYERSERIES_COMPAT_mortsgna-layer = "sumo thud"
|
||||
|
||||
# This is a compromise: Because of dynamic appends it needs oe-core only. Our
|
||||
# images have a huge dependency list (see README). So the layers set here are
|
||||
@@ -17,18 +17,14 @@ LAYERDEPENDS_mortsgna-layer = "core openembedded-layer networking-layer"
|
||||
|
||||
BBFILES_DYNAMIC += " \
|
||||
browser-layer:${LAYERDIR}/appends/meta-browser/*.bbappend \
|
||||
chromium-browser-layer:${LAYERDIR}/appends/meta-browser/*.bbappend \
|
||||
\
|
||||
gnome-layer:${LAYERDIR}/appends/meta-gnome/*.bbappend \
|
||||
\
|
||||
networking-layer:${LAYERDIR}/appends/meta-networking/*.bbappend \
|
||||
\
|
||||
multimedia-layer:${LAYERDIR}/appends/meta-multimedia/*.bbappend \
|
||||
\
|
||||
openembedded-layer:${LAYERDIR}/appends/meta-oe/*.bbappend \
|
||||
\
|
||||
qt5-layer:${LAYERDIR}/appends/meta-qt5/*.bbappend \
|
||||
qt5-layer:${LAYERDIR}/qt5-sdk-recipes/*.bb \
|
||||
\
|
||||
xfce-layer:${LAYERDIR}/appends/meta-xfce/*.bbappend \
|
||||
\
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
SUMMARY = "Prepare environment for cross building/debugging with QtCreator"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||
|
||||
inherit qmake5_base instant-toolchain-target
|
||||
|
||||
DEPENDS = "qtbase"
|
||||
|
||||
deltask do_prepare_recipe_sysroot
|
||||
|
||||
do_install[depends] = "qtbase:do_copy_to_target_sysroot"
|
||||
do_install[nostamp] = "1"
|
||||
|
||||
do_install() {
|
||||
# inject qt.conf into native sysroot
|
||||
qtconf=`basename ${OE_QMAKE_QTCONF_PATH}`
|
||||
sourcepath=${INSTANT_TARGET_PATH}${OE_QMAKE_PATH_HOST_BINS}
|
||||
targetpath=${INSTANT_NATIVE_PATH}${OE_QMAKE_PATH_HOST_BINS}
|
||||
# be sure we remove old link (if any...)
|
||||
rm -f $targetpath/$qtconf
|
||||
cp $sourcepath/$qtconf $targetpath/
|
||||
}
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
# An image installing this requires the following packages at least for working
|
||||
# instant sdk support
|
||||
RDEPENDS:${PN} = " \
|
||||
qtbase \
|
||||
gdbserver \
|
||||
${TASK_BASIC_SSHDAEMON} \
|
||||
"
|
||||
@@ -1,66 +0,0 @@
|
||||
Setup new image:
|
||||
|
||||
* BACKUP CURRENT HOME
|
||||
* REMOVE NETWORK PLUG
|
||||
|
||||
* 1st login xfce
|
||||
* copy this file to /home/morona / open with gedit / setup colour theme
|
||||
|
||||
As root:
|
||||
* systemctl disable serial-getty@ttyS0
|
||||
* systemctl disable serial-getty@ttyAMA0
|
||||
* systemctl enable dbus-broker.service
|
||||
* systemctl --global enable dbus-broker.service
|
||||
* create /home/<user>/.asoundrc with (soundcards can be sndrpihifiberry/audioinjectorpi...)
|
||||
pcm.!default {
|
||||
type hw
|
||||
card sndrpihifiberry
|
||||
}
|
||||
ctl.!default {
|
||||
type hw
|
||||
card sndrpihifiberry
|
||||
}
|
||||
* audioinjector: enable mixer control "Output Mixer HiFi"
|
||||
* passwd
|
||||
|
||||
As user:
|
||||
* passwd
|
||||
* check session autostart (evt. disable blueman/baloo/tracker/scrensaver..)
|
||||
* datetime: timezone
|
||||
* optionally for a tiny better performance: reduce screen resolution (yes really tested: 1280x1024 / 1280x720 are fine)
|
||||
* check /var/log/postinstall.log
|
||||
* restart
|
||||
* network plug
|
||||
* check journalctl output
|
||||
* check systemd-analyze: Can be 8-9s
|
||||
* glmark2-es2: On Pi3 (no B+) ~145 / On Pi 4 ~269
|
||||
* chromium unselect 'Allow Chromium-sign-in / add ad-blocker / check youtube music-video
|
||||
* libreoffice: open documents to set libreoffice default
|
||||
* jack setup
|
||||
* qtractor midiimport / open reference-project and check all instruments
|
||||
* ardour5/6
|
||||
* qmmp/projectm
|
||||
* mixxx
|
||||
* vlc
|
||||
* supercollider
|
||||
* krita/kdenlive/kalzium
|
||||
* set-up git (.gitconfig) / ssh-keygen -> github
|
||||
* qt-creator
|
||||
standard build directory:
|
||||
/home/morona/tmp/qtbuilds/build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}
|
||||
help/about plugins
|
||||
disable ClangCodeModel
|
||||
kit/compiler:
|
||||
set gcc explicitly - clang causes trouble on qml-register functions
|
||||
kit/cmake:
|
||||
CMAKE_INSTALL_PREFIX:STRING=/home/morona/tmp/qtinstalls/usr
|
||||
CMAKE_PREFIX_PATH:STRING=/home/morona/tmp/qtinstalls/usr;%{Qt:QT_INSTALL_PREFIX}
|
||||
OE_QMAKE_PATH_EXTERNAL_HOST_BINS:STRING=/usr/bin
|
||||
* clone avr projects & build them
|
||||
* kicad: open example / check 3d preview
|
||||
* mame: set video opengl / test some ROMs
|
||||
* vice: select cairo
|
||||
* dosbox / dosbox-x / stella
|
||||
* supertux(kart??)
|
||||
* open all available desktops
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
SUMMARY = "LXQT default user configuration"
|
||||
DESCRIPTION = "This recipe presets xfce user default configuration"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
[xfdesktop-version-4.10.3+-rcfile_format]
|
||||
4.10.3+=true
|
||||
|
||||
[BB09-AB56]
|
||||
row=1
|
||||
col=0
|
||||
|
||||
[4C9E-146F]
|
||||
row=0
|
||||
col=0
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
timeout=1
|
||||
show_cpu=-3
|
||||
show_cpu=0
|
||||
show_icon=false
|
||||
show_label_freq=true
|
||||
show_label_governor=true
|
||||
show_warning=true
|
||||
keep_compact=false
|
||||
one_line=false
|
||||
fontname=Sans 7
|
||||
icon_color_freq=false
|
||||
freq_unit=0
|
||||
fontname=Sans 8
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ Command=xfce4-taskmanager
|
||||
InTerminal=0
|
||||
StartupNotification=1
|
||||
ColorMode=0
|
||||
Background=rgb(0,0,0)
|
||||
PerCore=0
|
||||
Foreground1=#0000ffff0000
|
||||
Foreground2=#ffff00000000
|
||||
Foreground3=#00000000ffff
|
||||
Background=#333339393b3b
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[Main]
|
||||
Timeout=500
|
||||
Timeout_Seconds=1
|
||||
Use_Timeout_Seconds=false
|
||||
Use_Click_Command=false
|
||||
Click_Command=xfce4-taskmanager
|
||||
|
||||
[SL_Cpu]
|
||||
Enabled=false
|
||||
Use_Label=true
|
||||
Color=rgb(0,0,192)
|
||||
Text=cpu
|
||||
|
||||
[SL_Mem]
|
||||
Enabled=true
|
||||
Use_Label=false
|
||||
Color=rgb(0,192,0)
|
||||
Text=mem
|
||||
|
||||
[SL_Swap]
|
||||
Enabled=false
|
||||
Use_Label=true
|
||||
Color=rgb(240,240,0)
|
||||
Text=swap
|
||||
|
||||
[SL_Uptime]
|
||||
Enabled=false
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-web-browser.desktop,qjackctl.desktop,ardour5.desktop,ardour6.desktop,lmms.desktop,muse.desktop,qtractor.desktop,rosegarden.desktop,mixxx.desktop,cgenie.desktop,vice_64.desktop
|
||||
favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,exo-web-browser.desktop,qjackctl.desktop,ardour5.desktop,lmms.desktop,muse.desktop,qtractor.desktop,rosegarden.desktop,mixxx.desktop,cgenie.desktop,vice_64.desktop
|
||||
recent=
|
||||
button-title=Anwendungen
|
||||
button-icon=xfce4-whiskermenu
|
||||
@@ -15,6 +15,7 @@ category-icon-size=1
|
||||
load-hierarchy=false
|
||||
recent-items-max=10
|
||||
favorites-in-recent=true
|
||||
display-recent-default=false
|
||||
position-search-alternate=false
|
||||
position-commands-alternate=false
|
||||
position-categories-alternate=false
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
[General]
|
||||
Show_Title=false
|
||||
Show_Labels=false
|
||||
str_fontsize=small
|
||||
val_fontsize=1
|
||||
Font=Sans 11
|
||||
Update_Interval=1
|
||||
Show_Units=true
|
||||
Small_Spacings=false
|
||||
Command_Name=xfce4-sensors
|
||||
|
||||
[Chip0]
|
||||
Name=ACPI
|
||||
Number=0
|
||||
|
||||
[Chip0_Feature0]
|
||||
Address=0
|
||||
Name=thermal_zone0
|
||||
Color=#008000
|
||||
Show=true
|
||||
Min=0.00
|
||||
Max=70.00
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
display_type=0
|
||||
display_textsize=2
|
||||
group_policy=0
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
[Configuration]
|
||||
FontName=Monospace 9
|
||||
MiscAlwaysShowTabs=FALSE
|
||||
MiscBell=FALSE
|
||||
MiscBellUrgent=FALSE
|
||||
MiscBordersDefault=TRUE
|
||||
MiscCursorBlinks=FALSE
|
||||
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
|
||||
MiscDefaultGeometry=80x24
|
||||
MiscInheritGeometry=FALSE
|
||||
MiscMenubarDefault=FALSE
|
||||
MiscMouseAutohide=FALSE
|
||||
MiscMouseWheelZoom=TRUE
|
||||
MiscToolbarDefault=TRUE
|
||||
MiscConfirmClose=TRUE
|
||||
MiscCycleTabs=TRUE
|
||||
MiscTabCloseButtons=TRUE
|
||||
MiscTabCloseMiddleClick=TRUE
|
||||
MiscTabPosition=GTK_POS_TOP
|
||||
MiscHighlightUrls=TRUE
|
||||
MiscMiddleClickOpensUri=FALSE
|
||||
MiscCopyOnSelect=FALSE
|
||||
MiscDefaultWorkingDir=
|
||||
MiscRewrapOnResize=TRUE
|
||||
MiscUseShiftArrowsToScroll=FALSE
|
||||
MiscSlimTabs=FALSE
|
||||
ColorForeground=#000000000000
|
||||
ColorBackground=#fae0f4f1a311
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="pointers" version="1.0">
|
||||
<property name="ADS7846_Touchscreen" type="empty">
|
||||
<property name="TouchscreenPointer" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="eGalax_Inc_USB_TouchController" type="empty">
|
||||
<property name="TouchscreenPointer" type="bool" value="true"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="ristretto" version="1.0">
|
||||
<property name="window" type="empty">
|
||||
<property name="navigationbar" type="empty">
|
||||
<property name="position" type="string" value="left"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="desktop" type="empty">
|
||||
<property name="type" type="string" value="xfce"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="thunar-volman" version="1.0">
|
||||
<property name="automount-drives" type="empty">
|
||||
<property name="enabled" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="automount-media" type="empty">
|
||||
<property name="enabled" type="bool" value="true"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -4,14 +4,14 @@
|
||||
<property name="default-view" type="string" value="void"/>
|
||||
<property name="last-compact-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_SMALLEST"/>
|
||||
<property name="last-details-view-column-order" type="string" value="THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE,THUNAR_COLUMN_DATE_MODIFIED"/>
|
||||
<property name="last-details-view-column-widths" type="string" value="50,142,50,50,254,50,50,80,181,139"/>
|
||||
<property name="last-details-view-column-widths" type="string" value="50,155,50,50,492,50,50,83,181"/>
|
||||
<property name="last-details-view-fixed-columns" type="bool" value="false"/>
|
||||
<property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE"/>
|
||||
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_50_PERCENT"/>
|
||||
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_SMALL"/>
|
||||
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_NORMAL"/>
|
||||
<property name="last-location-bar" type="string" value="ThunarLocationEntry"/>
|
||||
<property name="last-separator-position" type="int" value="232"/>
|
||||
<property name="last-show-hidden" type="bool" value="true"/>
|
||||
<property name="last-separator-position" type="int" value="303"/>
|
||||
<property name="last-show-hidden" type="bool" value="false"/>
|
||||
<property name="last-side-pane" type="string" value="ThunarShortcutsPane"/>
|
||||
<property name="last-sort-column" type="string" value="THUNAR_COLUMN_NAME"/>
|
||||
<property name="last-sort-order" type="string" value="GTK_SORT_ASCENDING"/>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-appfinder" version="1.0">
|
||||
<property name="last" type="empty">
|
||||
<property name="window-height" type="int" value="343"/>
|
||||
<property name="window-width" type="int" value="750"/>
|
||||
<property name="pane-position" type="int" value="180"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-mixer" version="1.0">
|
||||
<property name="sound-card" type="string" value="overoAlsamixer"/>
|
||||
<property name="sound-cards" type="empty">
|
||||
<property name="overoAlsamixer" type="array">
|
||||
<value type="string" value="DAC1 Analog"/>
|
||||
<value type="string" value="Headset"/>
|
||||
<value type="string" value="HeadsetL Mixer AudioL1"/>
|
||||
<value type="string" value="HeadsetR Mixer AudioR1"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="window-height" type="int" value="400"/>
|
||||
<property name="window-width" type="int" value="659"/>
|
||||
</channel>
|
||||
@@ -14,15 +14,16 @@
|
||||
<value type="int" value="15"/>
|
||||
<value type="int" value="8"/>
|
||||
<value type="int" value="5"/>
|
||||
<value type="int" value="9"/>
|
||||
<value type="int" value="13"/>
|
||||
<value type="int" value="6"/>
|
||||
<value type="int" value="10"/>
|
||||
<value type="int" value="2"/>
|
||||
<value type="int" value="4"/>
|
||||
<value type="int" value="11"/>
|
||||
<value type="int" value="7"/>
|
||||
<value type="int" value="12"/>
|
||||
<value type="int" value="1"/>
|
||||
<value type="int" value="7"/>
|
||||
</property>
|
||||
<property name="mode" type="uint" value="2"/>
|
||||
<property name="background-alpha" type="uint" value="17"/>
|
||||
@@ -52,17 +53,19 @@
|
||||
<property name="show-frame" type="bool" value="false"/>
|
||||
<property name="size-max" type="uint" value="40"/>
|
||||
<property name="square-icons" type="bool" value="false"/>
|
||||
<property name="icon-size" type="int" value="32"/>
|
||||
</property>
|
||||
<property name="plugin-8" type="string" value="closebutton">
|
||||
<property name="theme" type="string" value="Default"/>
|
||||
</property>
|
||||
<property name="plugin-9" type="string" value="separator">
|
||||
<property name="expand" type="bool" value="true"/>
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-10" type="string" value="separator">
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-13" type="string" value="separator">
|
||||
<property name="style" type="uint" value="0"/>
|
||||
<property name="expand" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="plugin-2" type="string" value="clock">
|
||||
<property name="mode" type="uint" value="0"/>
|
||||
@@ -81,25 +84,10 @@
|
||||
</property>
|
||||
<property name="plugin-3" type="string" value="whiskermenu"/>
|
||||
<property name="plugin-1" type="string" value="cpugraph"/>
|
||||
<property name="plugin-11" type="string" value="cpufreq"/>
|
||||
<property name="plugin-12" type="string" value="systemload">
|
||||
<property name="cpu" type="empty">
|
||||
<property name="enabled" type="bool" value="false"/>
|
||||
</property>
|
||||
<property name="memory" type="empty">
|
||||
<property name="label" type="string" value=""/>
|
||||
</property>
|
||||
<property name="swap" type="empty">
|
||||
<property name="enabled" type="bool" value="false"/>
|
||||
</property>
|
||||
<property name="uptime" type="empty">
|
||||
<property name="enabled" type="bool" value="false"/>
|
||||
</property>
|
||||
<property name="network" type="empty">
|
||||
<property name="enabled" type="bool" value="true"/>
|
||||
<property name="label" type="string" value=""/>
|
||||
</property>
|
||||
<property name="plugin-7" type="string" value="xkb">
|
||||
<property name="group-policy" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-7" type="string" value="xfce4-sensors-plugin"/>
|
||||
<property name="plugin-11" type="string" value="cpufreq"/>
|
||||
<property name="plugin-12" type="string" value="systemload"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-settings-editor" version="1.0">
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="640"/>
|
||||
<property name="window-height" type="int" value="500"/>
|
||||
<property name="paned-position" type="int" value="180"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -3,6 +3,6 @@
|
||||
<channel name="xfce4-settings-manager" version="1.0">
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="858"/>
|
||||
<property name="window-height" type="int" value="675"/>
|
||||
<property name="window-height" type="int" value="661"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
||||
@@ -2,12 +2,87 @@
|
||||
|
||||
<channel name="xfwm4" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="frame_opacity" type="int" value="90"/>
|
||||
<property name="inactive_opacity" type="int" value="90"/>
|
||||
<property name="move_opacity" type="int" value="90"/>
|
||||
<property name="activate_action" type="string" value="bring"/>
|
||||
<property name="borderless_maximize" type="bool" value="true"/>
|
||||
<property name="box_move" type="bool" value="false"/>
|
||||
<property name="box_resize" type="bool" value="false"/>
|
||||
<property name="button_layout" type="string" value="O|SHMC"/>
|
||||
<property name="button_offset" type="int" value="0"/>
|
||||
<property name="button_spacing" type="int" value="0"/>
|
||||
<property name="click_to_focus" type="bool" value="true"/>
|
||||
<property name="focus_delay" type="int" value="250"/>
|
||||
<property name="cycle_apps_only" type="bool" value="false"/>
|
||||
<property name="cycle_draw_frame" type="bool" value="true"/>
|
||||
<property name="cycle_hidden" type="bool" value="true"/>
|
||||
<property name="cycle_minimum" type="bool" value="true"/>
|
||||
<property name="cycle_workspaces" type="bool" value="false"/>
|
||||
<property name="double_click_time" type="int" value="250"/>
|
||||
<property name="double_click_distance" type="int" value="5"/>
|
||||
<property name="double_click_action" type="string" value="maximize"/>
|
||||
<property name="easy_click" type="string" value="Alt"/>
|
||||
<property name="focus_hint" type="bool" value="true"/>
|
||||
<property name="focus_new" type="bool" value="true"/>
|
||||
<property name="frame_opacity" type="int" value="87"/>
|
||||
<property name="full_width_title" type="bool" value="true"/>
|
||||
<property name="inactive_opacity" type="int" value="87"/>
|
||||
<property name="maximized_offset" type="int" value="0"/>
|
||||
<property name="move_opacity" type="int" value="87"/>
|
||||
<property name="placement_ratio" type="int" value="20"/>
|
||||
<property name="placement_mode" type="string" value="center"/>
|
||||
<property name="popup_opacity" type="int" value="100"/>
|
||||
<property name="resize_opacity" type="int" value="90"/>
|
||||
<property name="mousewheel_rollup" type="bool" value="true"/>
|
||||
<property name="prevent_focus_stealing" type="bool" value="false"/>
|
||||
<property name="raise_delay" type="int" value="250"/>
|
||||
<property name="raise_on_click" type="bool" value="true"/>
|
||||
<property name="raise_on_focus" type="bool" value="false"/>
|
||||
<property name="raise_with_any_button" type="bool" value="true"/>
|
||||
<property name="repeat_urgent_blink" type="bool" value="false"/>
|
||||
<property name="resize_opacity" type="int" value="87"/>
|
||||
<property name="restore_on_move" type="bool" value="true"/>
|
||||
<property name="scroll_workspaces" type="bool" value="true"/>
|
||||
<property name="shadow_delta_height" type="int" value="0"/>
|
||||
<property name="shadow_delta_width" type="int" value="0"/>
|
||||
<property name="shadow_delta_x" type="int" value="0"/>
|
||||
<property name="shadow_delta_y" type="int" value="-3"/>
|
||||
<property name="shadow_opacity" type="int" value="50"/>
|
||||
<property name="show_app_icon" type="bool" value="false"/>
|
||||
<property name="show_dock_shadow" type="bool" value="true"/>
|
||||
<property name="show_frame_shadow" type="bool" value="true"/>
|
||||
<property name="show_popup_shadow" type="bool" value="false"/>
|
||||
<property name="snap_resist" type="bool" value="false"/>
|
||||
<property name="snap_to_border" type="bool" value="true"/>
|
||||
<property name="snap_to_windows" type="bool" value="false"/>
|
||||
<property name="snap_width" type="int" value="10"/>
|
||||
<property name="theme" type="string" value="Default"/>
|
||||
<property name="tile_on_move" type="bool" value="true"/>
|
||||
<property name="title_alignment" type="string" value="center"/>
|
||||
<property name="title_font" type="string" value="Sans Bold 9"/>
|
||||
<property name="title_horizontal_offset" type="int" value="0"/>
|
||||
<property name="title_shadow_active" type="string" value="false"/>
|
||||
<property name="title_shadow_inactive" type="string" value="false"/>
|
||||
<property name="title_vertical_offset_active" type="int" value="0"/>
|
||||
<property name="title_vertical_offset_inactive" type="int" value="0"/>
|
||||
<property name="toggle_workspaces" type="bool" value="false"/>
|
||||
<property name="unredirect_overlays" type="bool" value="true"/>
|
||||
<property name="urgent_blink" type="bool" value="false"/>
|
||||
<property name="use_compositing" type="bool" value="false"/>
|
||||
<property name="workspace_count" type="int" value="1"/>
|
||||
<property name="workspace_names" type="array">
|
||||
<value type="string" value="Arbeitsfläche 1"/>
|
||||
<value type="string" value="Arbeitsfläche 2"/>
|
||||
<value type="string" value="Arbeitsfläche 3"/>
|
||||
<value type="string" value="Arbeitsfläche 4"/>
|
||||
</property>
|
||||
<property name="wrap_cycle" type="bool" value="true"/>
|
||||
<property name="wrap_layout" type="bool" value="true"/>
|
||||
<property name="wrap_resistance" type="int" value="10"/>
|
||||
<property name="wrap_windows" type="bool" value="true"/>
|
||||
<property name="wrap_workspaces" type="bool" value="false"/>
|
||||
<property name="cycle_preview" type="bool" value="true"/>
|
||||
<property name="cycle_tabwin_mode" type="int" value="0"/>
|
||||
<property name="horiz_scroll_opacity" type="bool" value="false"/>
|
||||
<property name="sync_to_vblank" type="bool" value="false"/>
|
||||
<property name="titleless_maximize" type="bool" value="false"/>
|
||||
<property name="zoom_desktop" type="bool" value="true"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="Adwaita-dark"/>
|
||||
<property name="IconThemeName" type="string" value="Adwaita"/>
|
||||
<property name="IconThemeName" type="empty"/>
|
||||
<property name="DoubleClickTime" type="empty"/>
|
||||
<property name="DoubleClickDistance" type="empty"/>
|
||||
<property name="DndDragThreshold" type="empty"/>
|
||||
@@ -31,7 +31,7 @@
|
||||
<property name="MenuImages" type="empty"/>
|
||||
<property name="ButtonImages" type="empty"/>
|
||||
<property name="MenuBarAccel" type="empty"/>
|
||||
<property name="CursorThemeName" type="string" value="Adwaita"/>
|
||||
<property name="CursorThemeName" type="string" value="default"/>
|
||||
<property name="CursorThemeSize" type="empty"/>
|
||||
<property name="DecorationLayout" type="empty"/>
|
||||
<property name="TouchscreenMode" type="bool" value="false"/>
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
[Default Applications]
|
||||
application/x-bzip-compressed-tar=xarchiver.desktop
|
||||
application/x-compressed-tar=xarchiver.desktop
|
||||
text/plain=gedit.desktop
|
||||
application/x-lrzip=xarchiver.desktop
|
||||
application/x-bzip=xarchiver.desktop
|
||||
application/gzip=xarchiver.desktop
|
||||
application/x-lzip=xarchiver.desktop
|
||||
application/zip=xarchiver.desktop
|
||||
application/x-lzma-compressed-tar=xarchiver.desktop
|
||||
application/x-tar=xarchiver.desktop
|
||||
application/x-tarz=xarchiver.desktop
|
||||
application/x-ustar=xarchiver.desktop
|
||||
application/x-xz-compressed-tar=xarchiver.desktop
|
||||
image/png=ristretto.desktop
|
||||
image/jpeg=ristretto.desktop
|
||||
application/x-deb=xarchiver.desktop
|
||||
application/pdf=evince.desktop
|
||||
|
||||
[Added Associations]
|
||||
application/x-bzip-compressed-tar=xarchiver.desktop;
|
||||
application/x-compressed-tar=xarchiver.desktop;
|
||||
text/plain=gedit.desktop;
|
||||
application/x-lrzip=xarchiver.desktop;
|
||||
application/x-bzip=xarchiver.desktop;
|
||||
application/gzip=xarchiver.desktop;
|
||||
application/x-lzip=xarchiver.desktop;
|
||||
application/zip=xarchiver.desktop;
|
||||
application/x-lzma-compressed-tar=xarchiver.desktop;
|
||||
application/x-tar=xarchiver.desktop;
|
||||
application/x-tarz=xarchiver.desktop;
|
||||
application/x-ustar=xarchiver.desktop;
|
||||
application/x-xz-compressed-tar=xarchiver.desktop;
|
||||
image/png=ristretto.desktop;
|
||||
image/jpeg=ristretto.desktop;
|
||||
application/x-deb=xarchiver.desktop;
|
||||
application/pdf=evince.desktop;
|
||||
@@ -1,6 +1,7 @@
|
||||
SUMMARY = "XFCE default user configuration"
|
||||
DESCRIPTION = "This recipe presets xfce user default configuration"
|
||||
LICENSE = "MIT & CC0-1.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
PR = "r4"
|
||||
|
||||
# License sunrise: https://www.pexels.com/photo/sunrise-under-cloudy-sky-illustration-67832/
|
||||
|
||||
@@ -23,9 +24,9 @@ do_install() {
|
||||
install -m 0644 ${WORKDIR}/sunrise-sky-blue-sunlight-67832.jpeg ${D}${datadir}/backgrounds/
|
||||
}
|
||||
|
||||
FILES:${PN} += "${datadir}/backgrounds"
|
||||
FILES_${PN} += "${datadir}/backgrounds"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
RDEPENDS_${PN} += " \
|
||||
adwaita-icon-theme-cursors \
|
||||
adwaita-icon-theme-symbolic \
|
||||
adwaita-icon-theme-symbolic-hires \
|
||||
@@ -1,8 +0,0 @@
|
||||
[Configuration]
|
||||
MiscMenubarDefault=FALSE
|
||||
MiscToolbarDefault=FALSE
|
||||
MiscConfirmClose=FALSE
|
||||
ScrollingLines=1000000
|
||||
ScrollingOnOutput=FALSE
|
||||
ColorPalette=rgb(0,0,0);rgb(252,30,30);rgb(132,237,32);rgb(236,202,50);rgb(48,70,252);rgb(198,60,221);rgb(6,152,154);rgb(211,215,207);rgb(85,87,83);rgb(252,96,96);rgb(161,246,79);rgb(247,232,114);rgb(99,131,254);rgb(211,167,206);rgb(80,252,252);rgb(238,238,236)
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
SUMMARY = "xfce4-terminal default user configuration"
|
||||
LICENSE = "MIT & CC0-1.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
|
||||
inherit allarch
|
||||
|
||||
SRC_URI = " \
|
||||
file://.config \
|
||||
"
|
||||
|
||||
do_install() {
|
||||
# default user configration -> /etc/skel
|
||||
install -d ${D}${sysconfdir}/skel
|
||||
cp -r ${WORKDIR}/.config ${D}${sysconfdir}/skel/
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
# Since systemd 240 LANG="C.UTF-8" is set if no /etc/locale.conf
|
||||
# is found and mentions that 'This locale is supported by various
|
||||
# distributions' and 'upstream glibc is going to make it available too' [1].
|
||||
#
|
||||
# And oe-core makes situation worse by setting default locale to 'C' (although
|
||||
# I aske for a change and was ignored as ususal [2]).
|
||||
#
|
||||
# [1] https://lists.freedesktop.org/archives/systemd-devel/2018-December/041852.html
|
||||
# [2] http://lists.openembedded.org/pipermail/openembedded-core/2019-April/281327.html
|
||||
#
|
||||
# Neither default is working properly:
|
||||
#
|
||||
# * german Umlaute cannot be displayed anymore
|
||||
# * at least menulibre does not start anymore and complains with
|
||||
# | File "/usr/lib/python3.7/site-packages/menulibre/MenulibreApplication.py", line 390, in configure_application_actions
|
||||
# | label=_('Add _Launcher<65><72><EFBFBD>'),
|
||||
# | UnicodeDecodeError: 'locale' codec can't decode byte 0xe2 in position 13: decoding error
|
||||
#
|
||||
# so set locale default - all our images contain en_US
|
||||
|
||||
LANG="en_US.UTF-8"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user