summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Maw <jonathan.maw@codethink.co.uk>2015-05-01 13:39:50 (GMT)
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-10-13 16:45:02 (GMT)
commitcbd4681b9330bc49ef0e636546756ee72afb1c07 (patch)
tree686dbe263275f828bdfefb14c79ef410300e3366
parent34aaa622a884c361834f76479801260ffea48228 (diff)
downloaddefinitions-cbd4681b9330bc49ef0e636546756ee72afb1c07.tar.gz
Add GENIVI Demo Platform system and stratum
-rw-r--r--strata/genivi-demo-platform.morph96
-rw-r--r--strata/genivi-demo-platform/audiomanager-poc.morph10
-rw-r--r--strata/genivi-demo-platform/automotive-message-broker.morph23
-rw-r--r--strata/genivi-demo-platform/boost.morph8
-rw-r--r--strata/genivi-demo-platform/browser-poc.morph29
-rw-r--r--strata/genivi-demo-platform/dbus-c++.morph9
-rw-r--r--strata/genivi-demo-platform/genivi-demo-platform-hmi.morph129
-rw-r--r--strata/genivi-demo-platform/glibmm.morph6
-rw-r--r--strata/genivi-demo-platform/mm-common.morph7
-rw-r--r--strata/genivi-demo-platform/navit.morph5
-rw-r--r--strata/genivi-demo-platform/pygobject.morph8
-rw-r--r--strata/genivi-demo-platform/sigc++.morph6
-rw-r--r--systems/genivi-demo-platform-x86_64-generic.morph61
13 files changed, 397 insertions, 0 deletions
diff --git a/strata/genivi-demo-platform.morph b/strata/genivi-demo-platform.morph
new file mode 100644
index 0000000..878ddf8
--- /dev/null
+++ b/strata/genivi-demo-platform.morph
@@ -0,0 +1,96 @@
+name: genivi-demo-platform
+kind: stratum
+description: Components which make up the GENIVI demo platform.
+build-depends:
+- morph: strata/gtk2.morph
+- morph: strata/qt5-tools.morph
+- morph: strata/qt5-tools-qtmultimedia.morph
+- morph: strata/qt5-tools-qtwebkit.morph
+- morph: strata/genivi.morph
+- morph: strata/wayland-generic.morph
+- morph: strata/weston-genivi.morph
+chunks:
+- name: mm-common
+ morph: strata/genivi-demo-platform/mm-common.morph
+ repo: upstream:mm-common
+ ref: baserock/genivi-demo-platform
+ unpetrify-ref: master
+ build-depends: []
+- name: sigc++
+ morph: strata/genivi-demo-platform/sigc++.morph
+ repo: upstream:sigc++
+ ref: d3f8647ee43f875915ddedbaaf719cc2a3d98c52
+ unpetrify-ref: master
+ build-depends:
+ - mm-common
+- name: glibmm
+ morph: strata/genivi-demo-platform/glibmm.morph
+ repo: upstream:glibmm
+ ref: e289d513b1565d7f829d62d54bff6b629d760379
+ unpetrify-ref: glibmm-2-40
+ build-depends:
+ - mm-common
+ - sigc++
+- name: boost
+ morph: strata/genivi-demo-platform/boost.morph
+ repo: upstream:boost-tarball
+ ref: ed232fdd34968697a68783b3195b1da4226915b5
+ unpetrify-ref: boost_1_57_0
+ build-depends: []
+- name: dbus-c++
+ morph: strata/genivi-demo-platform/dbus-c++.morph
+ repo: upstream:dbus-c++
+ ref: 8d351eec25430651acbac014e44ec011fac32d57
+ unpetrify-ref: baserock/genivi-demo-platform
+ build-depends: []
+- name: libxslt
+ repo: upstream:libxslt
+ ref: master
+ build-depends: []
+- name: browser-poc
+ morph: strata/genivi-demo-platform/browser-poc.morph
+ repo: upstream:genivi/browser-poc
+# ref: f1d02d11d86d53b96c85a2ea03d7cd4736c1c616
+ ref: baserock/jonathanmaw/sensible-build
+ unpetrify-ref: baserock/genivi-demo-platform
+ build-depends: []
+- name: dbus-python
+ repo: upstream:dbus-python
+ ref: d0d5b5be685dc4c16b21c54335becc87ca4d6f58
+ unpetrify-ref: dbus-python-1.2.0
+- name: gnome-common
+ repo: upstream:gnome-common
+ ref: d213283fcb5228d05eb2c796579f18240e8467e8
+ unpetrify-ref: 3.12.0
+- name: pygobject
+ morph: strata/genivi-demo-platform/pygobject.morph
+ repo: upstream:pygobject
+ ref: 9456ba70fdb98b3a4eb7ee2f630182387a54ca00
+ unpetrify-ref: pygobject-2-28
+ build-depends:
+ - gnome-common
+- name: automotive-message-broker
+ morph: strata/genivi-demo-platform/automotive-message-broker.morph
+ repo: upstream:automotive-message-broker
+ ref: 2b8c0be99cf8d99ede79d4842191ae39d7c6e15a
+ unpetrify-ref: 0.13
+ build-depends:
+ - dbus-python
+ - pygobject
+ - boost
+- name: audiomanager-poc
+ morph: strata/genivi-demo-platform/audiomanager-poc.morph
+ repo: upstream:audiomanager
+ ref: baserock/jonathanmaw/genivi-demo-jetson
+- name: navit
+ morph: strata/genivi-demo-platform/navit.morph
+ repo: upstream:navit-svn
+ ref: 358812af2c27c4abe324beb205e6d156b96fb1ea
+ unpetrify-ref: master
+- name: genivi-demo-platform-hmi
+ morph: strata/genivi-demo-platform/genivi-demo-platform-hmi.morph
+ repo: upstream:genivi/genivi-demo-platform-hmi
+ ref: baserock/genivi/gdp-0.1
+ unpetrify-ref: 3955d0dd4a544577f812854ef333ddb80dbc177f
+ build-depends:
+ - dbus-c++
diff --git a/strata/genivi-demo-platform/audiomanager-poc.morph b/strata/genivi-demo-platform/audiomanager-poc.morph
new file mode 100644
index 0000000..6974705
--- /dev/null
+++ b/strata/genivi-demo-platform/audiomanager-poc.morph
@@ -0,0 +1,10 @@
+name: audiomanager-poc
+kind: chunk
+pre-configure-commands:
+- sed 's:/opt/:/usr/lib/:g' $(git grep -l "/opt/")
+configure-commands:
+- cd AudioManagerPoC && qmake -makefile
+build-commands:
+- cd AudioManagerPoC && make
+install-commands:
+- cd AudioManagerPoC && make install INSTALL_ROOT="$DESTDIR"
diff --git a/strata/genivi-demo-platform/automotive-message-broker.morph b/strata/genivi-demo-platform/automotive-message-broker.morph
new file mode 100644
index 0000000..b877564
--- /dev/null
+++ b/strata/genivi-demo-platform/automotive-message-broker.morph
@@ -0,0 +1,23 @@
+name: automotive-message-broker
+kind: chunk
+description: The GENIVI Automotive Message Broker
+build-system: cmake
+pre-configure-commands:
+- sed -i 's:pkg_check_modules(json REQUIRED json):pkg_check_modules(json REQUIRED json-c):' $(find -name 'CMakeLists.txt')
+- sed -i 's:<json/json.h>:<json-c/json.h>:' $(find . -name '*.h' -o -name '*.c' -o -name '*.hpp' -o -name '*.cpp')
+post-install-commands:
+- mkdir -p "$DESTDIR/usr/lib/systemd/system"
+- |
+ cat >"$DESTDIR/usr/lib/systemd/system/ambd.service" <<EOF
+ [Unit]
+ Description=Automotive Message Broker
+ After=syslog.target
+
+ [Service]
+ Type=dbus
+ BusName=org.automotive.message.broker
+ ExecStart=/usr/bin/ambd
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
diff --git a/strata/genivi-demo-platform/boost.morph b/strata/genivi-demo-platform/boost.morph
new file mode 100644
index 0000000..cc95407
--- /dev/null
+++ b/strata/genivi-demo-platform/boost.morph
@@ -0,0 +1,8 @@
+name: boost
+kind: chunk
+configure-commands:
+- ./bootstrap.sh
+build-commands:
+- ./b2
+install-commands:
+- ./b2 install --prefix="$DESTDIR$PREFIX"
diff --git a/strata/genivi-demo-platform/browser-poc.morph b/strata/genivi-demo-platform/browser-poc.morph
new file mode 100644
index 0000000..de460cd
--- /dev/null
+++ b/strata/genivi-demo-platform/browser-poc.morph
@@ -0,0 +1,29 @@
+name: browser-poc
+kind: chunk
+description: The GENIVI browser proof-of-concept for the GENIVI Demo Platform.
+configure-commands:
+- qmake -d -r browser-poc.pro
+build-commands:
+- make all
+install-commands:
+- make INSTALL_ROOT="$DESTDIR" install
+- mkdir -p "$DESTDIR/usr/lib/systemd/user"
+- |
+ cat >"$DESTDIR/usr/lib/systemd/user/browser.service" <<EOF
+ [Unit]
+ Description=Genivi Browser PoC service
+ Requires=dbus.service
+
+ [Service]
+ ExecStart=/usr/lib/browser-poc/browser/bin/browser
+ EOF
+- |
+ cat >"$DESTDIR/usr/lib/systemd/user/demoui.service" <<EOF
+ [Unit]
+ Description=Genivi Browser PoC demoui
+ Requires=browser.service
+
+ [Service]
+ Environment=LD_PRELOAD=/usr/lib/libEGL.so
+ ExecStart=/usr/lib/browser-poc/demoui/bin/demoui
+ EOF
diff --git a/strata/genivi-demo-platform/dbus-c++.morph b/strata/genivi-demo-platform/dbus-c++.morph
new file mode 100644
index 0000000..ec8beef
--- /dev/null
+++ b/strata/genivi-demo-platform/dbus-c++.morph
@@ -0,0 +1,9 @@
+name: dbus-c++
+kind: chunk
+description: libdbus-c++ and dbusxx-xml2cpp tool
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix=$PREFIX --disable-ecore
+post-install-commands:
+- install tools/dbusxx-xml2cpp "$DESTDIR/$PREFIX"/bin/dbusxx-xml2cpp
diff --git a/strata/genivi-demo-platform/genivi-demo-platform-hmi.morph b/strata/genivi-demo-platform/genivi-demo-platform-hmi.morph
new file mode 100644
index 0000000..b30e72d
--- /dev/null
+++ b/strata/genivi-demo-platform/genivi-demo-platform-hmi.morph
@@ -0,0 +1,129 @@
+name: genivi-demo-platform-hmi
+kind: chunk
+pre-configure-commands:
+- |
+ sed -i 's/sd_journal_print(LOG_DEBUG,/printf("DEBUG: "/' $(find . -name '*.cpp' -o -name '*.h')
+- |
+ sed -i 's/sd_journal_print(LOG_INFO,/printf("INFO: "/' $(find . -name '*.cpp' -o -name '*.h')
+- |
+ sed -i 's/sd_journal_print(LOG_ERR,/printf("ERR: "/' $(find . -name '*.cpp' -o -name '*.h')
+- |
+ git apply - << "EOF"
+ diff --git a/configure.ac b/configure.ac
+ index f0c7ba2..4ff1462 100644
+ --- a/configure.ac
+ +++ b/configure.ac
+ @@ -61,10 +61,10 @@ PKG_CHECK_MODULES([CLIENT], [
+ AC_CHECK_HEADERS([ilm/ilm_types.h])
+ AC_CHECK_LIB(ilmClient, ilm_UpdateInputEventAcceptanceOn,
+ [ILM_LIBS="-lilmCommon -lilmClient"],
+ - [AC_MSG_ERROR([Can't find correct ilmClient library.])])
+ + [AC_MSG_ERROR([Can't find correct ilmClient library.])], -lilmControl)
+ AC_CHECK_LIB(ilmControl, ilm_SetKeyboardFocusOn,
+ [ILM_LIBS="$ILM_LIBS -lilmControl"],
+ - [AC_MSG_ERROR([Can't find correct ilmControl library.])])
+ + [AC_MSG_ERROR([Can't find correct ilmControl library.])], -lilmClient)
+ AC_SUBST(ILM_LIBS)
+
+ WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
+ EOF
+configure-commands:
+- autoreconf -vfi && ./configure --prefix=$PREFIX
+- cd app/gdp-hmi-background && qmake
+- cd app/gdp-hmi-launcher2 && qmake
+- cd app/gdp-hmi-panel && qmake
+- cd app/qml-example && qmake
+build-commands:
+- make
+- cd app/gdp-hmi-background && make
+- cd app/gdp-hmi-launcher2 && make
+- cd app/gdp-hmi-panel && make
+- cd app/qml-example && make
+install-commands:
+- make DESTDIR=$DESTDIR install
+- cd app/gdp-hmi-background && make INSTALL_ROOT=$DESTDIR install
+- cd app/gdp-hmi-launcher2 && make INSTALL_ROOT=$DESTDIR install
+- cd app/gdp-hmi-panel && make INSTALL_ROOT=$DESTDIR install
+- cd app/qml-example && make INSTALL_ROOT=$DESTDIR install
+- mkdir -p $DESTDIR/usr/share/gdp
+- cp -a app/*/assets/* $DESTDIR/usr/share/gdp/
+- mkdir -p "$DESTDIR/usr/lib/systemd/user"
+- |
+ cat >"$DESTDIR/usr/lib/systemd/user/gdp-hmi-launcher2.service" <<EOF
+ [Unit]
+ Description=GENIVI Demo Platform HMI - Launcher2
+ After=gdp-hmi-controller.service gdp-hmi-background.service gdp-hmi-panel.service
+
+ [Service]
+ Environment=LD_PRELOAD=/usr/lib/libEGL.so
+ ExecStart=/usr/bin/gdp-hmi-launcher2
+
+ [Install]
+ WantedBy=default.target
+ EOF
+- |
+ cat >"$DESTDIR/usr/lib/systemd/user/gdp-hmi-background.service" <<EOF
+ [Unit]
+ Description=GENIVI Demo Platform HMI - Background
+ After=gdp-hmi-controller.service
+
+ [Service]
+ Environment=LD_PRELOAD=/usr/lib/libEGL.so
+ ExecStart=/usr/bin/gdp-hmi-background
+
+ [Install]
+ WantedBy=default.target
+ EOF
+- |
+ cat >"$DESTDIR/usr/lib/systemd/user/gdp-hmi-controller.service" <<EOF
+ [Unit]
+ Description=GENIVI Demo Platform HMI - Controller
+ Requires=dbus.service
+ After=dbus.service weston.service
+
+ [Service]
+ ExecStart=/usr/bin/gdp-hmi-controller
+ Restart=always
+ RestartSec=2
+ TimeoutStopSec=1
+
+ [Install]
+ WantedBy=default.target
+ EOF
+- |
+ cat >"$DESTDIR/usr/lib/systemd/user/gdp-hmi-panel.service" <<EOF
+ [Unit]
+ Description=GENIVI Demo Platform HMI - Panel
+ After=gdp-hmi-controller.service
+
+ [Service]
+ Environment=LD_PRELOAD=/usr/lib/libEGL.so
+ ExecStart=/usr/bin/gdp-hmi-panel
+
+ [Install]
+ WantedBy=default.target
+ EOF
+- |
+ cat >"$DESTDIR/usr/lib/systemd/user/EGLWLMockNavigation.service" <<EOF
+ [Unit]
+ Description=EGL Wayland Mock Navigation
+
+ [Service]
+ ExecStart=/usr/bin/EGLWLMockNavigation -surface 10
+ EOF
+- |
+ cat > "$DESTDIR/usr/lib/systemd/user/EGLWLInputEventExample.service" <<EOF
+ [Unit]
+ Description=EGL Wayland Input Event Example
+
+ [Service]
+ ExecStart=/usr/bin/EGLWLInputEventExample --surface=5100
+ EOF
+- |
+ cat > "$DESTDIR/usr/lib/systemd/user/qml-example.service" <<EOF
+ [Unit]
+ Description=Genivi QML Example
+
+ [Service]
+ ExecStart=/usr/bin/qml-example
+ EOF
diff --git a/strata/genivi-demo-platform/glibmm.morph b/strata/genivi-demo-platform/glibmm.morph
new file mode 100644
index 0000000..2ebb7fb
--- /dev/null
+++ b/strata/genivi-demo-platform/glibmm.morph
@@ -0,0 +1,6 @@
+name: glibmm
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --prefix="$PREFIX" --disable-documentation --enable-maintainer-mode
diff --git a/strata/genivi-demo-platform/mm-common.morph b/strata/genivi-demo-platform/mm-common.morph
new file mode 100644
index 0000000..4f416e7
--- /dev/null
+++ b/strata/genivi-demo-platform/mm-common.morph
@@ -0,0 +1,7 @@
+name: mm-common
+kind: chunk
+description: Common build files of the GNOME C++ bindings.
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --prefix="$PREFIX"
diff --git a/strata/genivi-demo-platform/navit.morph b/strata/genivi-demo-platform/navit.morph
new file mode 100644
index 0000000..2bdb09d
--- /dev/null
+++ b/strata/genivi-demo-platform/navit.morph
@@ -0,0 +1,5 @@
+name: navit
+kind: chunk
+build-system: cmake
+configure-commands:
+- cmake . -DSAMPLE_MAP=n
diff --git a/strata/genivi-demo-platform/pygobject.morph b/strata/genivi-demo-platform/pygobject.morph
new file mode 100644
index 0000000..d7582be
--- /dev/null
+++ b/strata/genivi-demo-platform/pygobject.morph
@@ -0,0 +1,8 @@
+name: pygobject
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- sed -i 's/automake-1.11/automake-1.15/g' autogen.sh
+- sed -i 's/aclocal-1.11/aclocal-1.15/g' autogen.sh
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-cairo
diff --git a/strata/genivi-demo-platform/sigc++.morph b/strata/genivi-demo-platform/sigc++.morph
new file mode 100644
index 0000000..da575fb
--- /dev/null
+++ b/strata/genivi-demo-platform/sigc++.morph
@@ -0,0 +1,6 @@
+name: sigc++
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --disable-documentation --prefix="$PREFIX"
diff --git a/systems/genivi-demo-platform-x86_64-generic.morph b/systems/genivi-demo-platform-x86_64-generic.morph
new file mode 100644
index 0000000..6a33854
--- /dev/null
+++ b/systems/genivi-demo-platform-x86_64-generic.morph
@@ -0,0 +1,61 @@
+name: genivi-demo-platform-x86_64-generic
+kind: system
+description: A GENIVI demo platform for a 64-bit x86 system.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: connman-common
+ morph: strata/connman-common.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: libdrm-common
+ morph: strata/libdrm-common.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: wayland-generic
+ morph: strata/wayland-generic.morph
+- name: graphics-common
+ morph: strata/graphics-common.morph
+- name: input-common
+ morph: strata/input-common.morph
+- name: llvm-common
+ morph: strata/llvm-common.morph
+- name: mesa-common
+ morph: strata/mesa-common.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: weston-genivi
+ morph: strata/weston-genivi.morph
+- name: ruby
+ morph: strata/ruby.morph
+- name: qt5-tools
+ morph: strata/qt5-tools.morph
+- name: qt5-tools-qtmultimedia
+ morph: strata/qt5-tools-qtmultimedia.morph
+- name: qt5-tools-qtwebkit
+ morph: strata/qt5-tools-qtwebkit.morph
+- name: gtk2
+ morph: strata/gtk2.morph
+- name: genivi-demo-platform
+ morph: strata/genivi-demo-platform.morph
+- name: tools
+ morph: strata/tools.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files