summaryrefslogtreecommitdiff
path: root/yocto-poky/meta/recipes-graphics/builder
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/meta/recipes-graphics/builder')
-rw-r--r--yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb33
-rw-r--r--yocto-poky/meta/recipes-graphics/builder/files/builder_hob_start.sh37
-rw-r--r--yocto-poky/meta/recipes-graphics/builder/files/please_wait_dialog.py28
3 files changed, 98 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb b/yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb
new file mode 100644
index 000000000..bb729fce2
--- /dev/null
+++ b/yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "New user to do specific job"
+DESCRIPTION = "This recipe create a new user named ${PN}, who is used for specific jobs like building. The task can be auto started via mini X"
+SECTION = "x11"
+PR = "r6"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://builder_hob_start.sh;endline=5;md5=84796c3c41785d86100fdabcbdade00e"
+
+SRC_URI = "file://builder_hob_start.sh \
+ file://please_wait_dialog.py \
+ "
+
+S = "${WORKDIR}"
+
+RDEPENDS_${PN} = "mini-x-session"
+
+inherit useradd
+
+# builder user password is "builder"
+BUILDER_PASSWORD ?= ".gLibiNXn0P12"
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --create-home \
+ --groups video,tty,audio \
+ --password ${BUILDER_PASSWORD} \
+ --user-group builder"
+
+do_install () {
+ install -d -m 755 ${D}${sysconfdir}/mini_x/session.d
+ install -p -m 755 builder_hob_start.sh ${D}${sysconfdir}/mini_x/session.d/
+
+ chown builder.builder ${D}${sysconfdir}/mini_x/session.d/builder_hob_start.sh
+ install -p -m 755 please_wait_dialog.py ${D}${sysconfdir}/mini_x
+}
+
diff --git a/yocto-poky/meta/recipes-graphics/builder/files/builder_hob_start.sh b/yocto-poky/meta/recipes-graphics/builder/files/builder_hob_start.sh
new file mode 100644
index 000000000..b394b0905
--- /dev/null
+++ b/yocto-poky/meta/recipes-graphics/builder/files/builder_hob_start.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+#This script will be called via mini X session on behalf of file owner, after
+#installed in /etc/mini_x/session.d/. Any auto start jobs including X apps can
+#be put here
+
+# start hob here
+export PSEUDO_PREFIX=/usr
+export PSEUDO_LOCALSTATEDIR=/home/builder/pseudo
+export PSEUDO_LIBDIR=/usr/lib/pseudo/lib64
+export GIT_PROXY_COMMAND=/home/builder/poky/scripts/oe-git-proxy
+
+#start pcmanfm in daemon mode to allow asynchronous launch
+pcmanfm -d&
+
+#register handlers for some file types
+if [ ! -d /home/builder/.local/share/applications ]; then
+ mkdir -p /home/builder/.local/share/applications/
+ #register folders to open with PCManFM filemanager
+ xdg-mime default pcmanfm.desktop inode/directory
+
+ #register html links and files with epiphany
+ xdg-mime default epiphany.desktop x-scheme-handler/http
+ xdg-mime default epiphany.desktop x-scheme-handler/https
+ xdg-mime default epiphany.desktop text/html
+
+ #register text files with leafpad text editor
+ xdg-mime default leafpad.desktop text/plain
+fi
+
+cd /home/builder/poky
+. ./oe-init-build-env
+
+hob &
+
+matchbox-terminal&
+
+/etc/mini_x/please_wait_dialog.py &
diff --git a/yocto-poky/meta/recipes-graphics/builder/files/please_wait_dialog.py b/yocto-poky/meta/recipes-graphics/builder/files/please_wait_dialog.py
new file mode 100644
index 000000000..fd2381bc8
--- /dev/null
+++ b/yocto-poky/meta/recipes-graphics/builder/files/please_wait_dialog.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+import glib
+import gtk
+
+def destroy_window_cb(widget, event):
+ gtk.main_quit()
+
+def all_done_cb():
+ gtk.main_quit()
+
+def dialogue_ui():
+ window = gtk.Window()
+ window.set_title("Please wait...")
+ window.connect("delete-event", destroy_window_cb)
+ window.show()
+ window.set_border_width(12)
+
+ msg = "Please wait while BitBake initializes Hob"
+ label = gtk.Label(msg)
+ label.show()
+ window.add(label)
+
+ glib.timeout_add_seconds(10, all_done_cb)
+
+if __name__ == "__main__":
+ dialogue_ui()
+ gtk.main()
+