summaryrefslogtreecommitdiffstats
path: root/import-layers/yocto-poky/meta/recipes-graphics/builder
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-graphics/builder')
-rw-r--r--import-layers/yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb31
-rw-r--r--import-layers/yocto-poky/meta/recipes-graphics/builder/files/builder_session.sh33
2 files changed, 64 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb b/import-layers/yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb
new file mode 100644
index 000000000..0a64c31ab
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/builder/builder_0.1.bb
@@ -0,0 +1,31 @@
+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_session.sh;endline=5;md5=84796c3c41785d86100fdabcbdade00e"
+
+SRC_URI = "file://builder_session.sh \
+ "
+
+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_session.sh ${D}${sysconfdir}/mini_x/session.d/
+
+ chown builder.builder ${D}${sysconfdir}/mini_x/session.d/builder_session.sh
+}
+
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/builder/files/builder_session.sh b/import-layers/yocto-poky/meta/recipes-graphics/builder/files/builder_session.sh
new file mode 100644
index 000000000..001a03357
--- /dev/null
+++ b/import-layers/yocto-poky/meta/recipes-graphics/builder/files/builder_session.sh
@@ -0,0 +1,33 @@
+#!/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
+
+matchbox-terminal&
OpenPOWER on IntegriCloud