install:
install -d ${DESTDIR}/usr/share/package-groups/generic
+ install -d ${DESTDIR}/usr/share/image-configurations/generic/scripts
install -m 644 patterns/*.yaml ${DESTDIR}/usr/share/package-groups/generic
+ install -D scripts/* ${DESTDIR}/usr/share/image-configurations/generic/scripts
test:
merge-patterns -o output/ -p patterns -s
%files
%manifest %{name}.manifest
-/usr/share/package-groups/generic/*.yaml
+%attr(644,-,-) %{_datadir}/package-groups/generic/*.yaml
+%{_datadir}/image-configurations/generic/scripts
+
+++ /dev/null
-Summary: Generic Adaptation x86 Multimedia
-Description: Generic Adaptation x86 Multimedia
-Name: generic-adaptation-x86-multimedia
-Packages:
-- gst-libav
-- gstreamer-vaapi
-- libva-intel-driver
-- vaapi-tools
- default-ac-domains
- wpa_supplicant
- prelink
+- usbutils
- ca-certificates-mozilla
- iptables
- tree
-- intel-gpu-tools
Packages:
- crosswalk
- tizen-extensions-crosswalk
-- wrt-widgets
Name: generic-desktop-applications
Packages:
- emotion
-#- econnman
-#- bluetooth-agent
-- net-config
-- org.tizen.calculator
- efl-theme-tizen-hd
- evolution-data-server
- libprivilege-control-conf
-- model-config-generic
-- neard
-- neardal
+- notification-service
- obexd
-- ofono
- pkgmgr-server
- sqlite3
+- usb-server
+- sdbd
+- security-server
--- /dev/null
+Summary: Generic Multimedia Intel
+Description: Generic Multimedia Intel
+Name: generic-multimedia-intel
+Packages:
+- gst-libav
+- gstreamer-vaapi
+- libva-intel-driver
+- vaapi-tools
- pulseaudio-locale
- pulseaudio-module-bluetooth
- pulseaudio-utils
-- gst-libav
- gst-plugins-bad
- gst-plugins-base
- gst-plugins-good
- gstreamer
-- gstreamer-vaapi
- gstreamer-utils
-- libva-intel-driver
-- vaapi-tools
- eet-tools
- gdb
- gstreamer-utils
-- neard-test
-- ofono-test
- python-xml
- wget
Description: Generic Qt5
Name: generic-qt5
Packages:
-- qt5-tools
-- qt5-qtdeclarative-examples
+- qt-tizen-full
- cantarell-fonts
- dejavu-fonts
- weston
-- weston-clients
- mesa
- xkeyboard-config
- tizen-branding-default
+++ /dev/null
-Summary: Generic Webkit
-Description: Generic Webkit
-Name: generic-webkit
-Packages:
-- wrt-widgets
-- wrt
-- wrt-commons
-- wrt-installer
-- wrt-installer-preinstall-service
-- wrt-plugins-tizen
-- wrt-security
-- webkit2-efl-test
-- web-ui-fw
-- web-ui-fw-demo-tizen-winsets
-- web-ui-fw-theme-default
-- web-ui-fw-theme-tizen-black
-- web-ui-fw-theme-tizen-white
--- /dev/null
+Summary: Generic X11 Intel
+Description: Generic X11 Intel
+Name: generic-x11-intel
+Packages:
+- xf86-input-synaptics
+- xf86-video-intel
+- xf86-input-keyboard
+
--- /dev/null
+Summary: Generic X11
+Description: Generic X11
+Name: generic-x11
+Packages:
+- xorg-server
+- xorg-launch-helper
+- enlightenment
+- user-session-units
+
--- /dev/null
+####################### buildname.nochroot #######################
+if [ -n "$IMG_NAME" ]; then
+ echo "BUILD_ID=$IMG_NAME" >> $INSTALL_ROOT/etc/tizen-release
+ echo "BUILD_ID=$IMG_NAME" >> $INSTALL_ROOT/etc/os-release
+ echo "$IMG_NAME @BUILD_ID@" >>$INSTALL_ROOT/etc/tizen-snapshot
+fi
--- /dev/null
+#!/bin/sh
+echo "#################### generic-adaptation.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-applications.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-autoqa.post ####################"
+
+# generate private/public key for autologin as root
+
+mkdir /root/.ssh
+chown root:root /root/.ssh
+chmod 700 /root/.ssh
+
+# the private key: use the following key on the ssh client side (copied here for reference)
+cat <<EOF >/root/.ssh/id_eat_dsa
+-----BEGIN DSA PRIVATE KEY-----
+MIIBugIBAAKBgQCE/Ulli3iKf8IwKVacoGCDyZhuabZ+h2oBSd/xlURZa/p3EQVg
+9cFXcyYcjDvKqDu/OZ82l1L33ytZQ1D7Ag/4WOTdUZImQiQakntE6tMLeEtkiXBd
+l4s9QQY8BrHcuoB4fZoLlbs2Jqbz+e2HDlUD+rKmzba/5d70Ze9YmFyDRQIVANH/
+yWdBBWXrFRexL6DIBTwFATM3AoGAcTiEj7Ai18KkajMW/TeiTWA+O3ZeBCFHLPGx
+tSyQKkJ0EUJfTSg9ixn4XfLW61JuY/pkhRDMwCbAto1ymy11hqWKRadpxAmu4czQ
+vWYUSERiS/28xGjKrazWjpM0sSmqZ+Tgezc1FWfCWAfHHpEg0YcttnOvJTB8hj6V
+d84WHKoCgYAw/uP6bE7xxCWUqAtQKob2P/xkXPPWKZ2nAWCxgnYVimGuXc+jThOo
+UBhkIpD+fdMtbRHdLtbzOLohUgaZokgEi58+pjJAJU/tW4Lvzw0nBfReG5OTvfuu
+CLchiFnppSDLi8u4Q4URorg4WFudXrGvUBwvHSGJYNczj7e3XJissAIUTPS6vh9U
+pp1kboovuWeQFduOSOU=
+-----END DSA PRIVATE KEY-----
+EOF
+
+# the public key
+cat <<EOF >/root/.ssh/id_eat_dsa.pub
+ssh-dss AAAAB3NzaC1kc3MAAACBAIT9SWWLeIp/wjApVpygYIPJmG5ptn6HagFJ3/GVRFlr+ncRBWD1wVdzJhyMO8qoO785nzaXUvffK1lDUPsCD/hY5N1RkiZCJBqSe0Tq0wt4S2SJcF2Xiz1BBjwGsdy6gHh9mguVuzYmpvP57YcOVQP6sqbNtr/l3vRl71iYXINFAAAAFQDR/8lnQQVl6xUXsS+gyAU8BQEzNwAAAIBxOISPsCLXwqRqMxb9N6JNYD47dl4EIUcs8bG1LJAqQnQRQl9NKD2LGfhd8tbrUm5j+mSFEMzAJsC2jXKbLXWGpYpFp2nECa7hzNC9ZhRIRGJL/bzEaMqtrNaOkzSxKapn5OB7NzUVZ8JYB8cekSDRhy22c68lMHyGPpV3zhYcqgAAAIAw/uP6bE7xxCWUqAtQKob2P/xkXPPWKZ2nAWCxgnYVimGuXc+jThOoUBhkIpD+fdMtbRHdLtbzOLohUgaZokgEi58+pjJAJU/tW4Lvzw0nBfReG5OTvfuuCLchiFnppSDLi8u4Q4URorg4WFudXrGvUBwvHSGJYNczj7e3XJissA== meego@testCtrlPC
+EOF
+
+# public key is authorized to login (automatically)
+cat /root/.ssh/id_eat_dsa.pub >>/root/.ssh/authorized_keys
+
+# adjust permissions on ssh config files
+chmod 600 /root/.ssh/*
--- /dev/null
+#!/bin/sh
+echo "#################### generic-base-micro.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-base.post ####################"
+
+# setup systemd default target for user session
+cat <<'EOF' >>/lib/systemd/user/default.target
+[Unit]
+Description=User session default target
+EOF
+mkdir -p /lib/systemd/user/default.target.wants
+
+# start dbus session
+ln -s ../dbus.service /lib/systemd/user/default.target.wants/
+
+# Run prelink to speed up dynamic binary/library loading
+/usr/sbin/prelink --all
+
+ln -sf /proc/self/mounts /etc/mtab
+
+# fix TIVI-2291
+sed -ri "s/(^blacklist i8042.*$)/#fix from base-general.post \1/" /etc/modprobe.d/blacklist.conf
+
+# sdx: fix smack labels on /var/log
+chsmack -a '*' /var/log
+
+# workaround for bug PTREL-763
+patch -b -p1 -d/ <<'EOF'
+--- bad/etc/pam.d/systemd-user 2014-03-20 10:01:36.657843073 +0100
++++ good/etc/pam.d/systemd-user 2014-03-20 10:06:51.586121696 +0100
+@@ -4,5 +4,6 @@
+
+ account include system-auth
+ session include system-auth
++session required pam_systemd.so
+ auth required pam_deny.so
+ password required pam_deny.so
+EOF
+
+# extra fix to avoid root and display sessions (PTREL-763)
+patch -b -p1 -d/ <<'EOF'
+--- bad/etc/pam.d/system-auth 2014-04-07 06:16:51.888018876 -0700
++++ good/etc/pam.d/system-auth 2014-04-07 06:16:46.335018503 -0700
+@@ -11,7 +11,6 @@
+ password required pam_deny.so
+
+ session optional pam_keyinit.so revoke
+-session optional pam_systemd.so
+ session required pam_limits.so
+ session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
+ session required pam_unix.so
+EOF
+
+# create appfw dirs inside homes
+function generic_base_user_exists() {
+ user=$1
+ getent passwd | grep -q ^${user}:
+}
+
+function generic_base_user_home() {
+ user=$1
+ getent passwd | grep ^${user}: | cut -f6 -d':'
+}
+
+function generic_base_fix_user_homedir() {
+ user=$1
+ generic_base_user_exists $user || return 1
+
+ homedir=$(generic_base_user_home $user)
+ for appdir in desktop manifest dbspace; do
+ mkdir -p $homedir/.applications/$appdir
+ done
+ find $homedir -type d -exec chsmack -a User {} \;
+ chown -R $user:users $homedir
+ return 0
+}
+
+# create appfw dirs for user 'app'
+generic_base_fix_user_homedir app
+
+# adjust app group: main group 'users', extra group 'app'
+usermod -g users app
+usermod -G app app
--- /dev/null
+#!/bin/sh
+echo "#################### generic-bluetooth.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-console-tools.post ####################"
+
+# customize bash prompt
+cat >/etc/profile.d/bash_prompt_custom.sh <<'EOF'
+if [ "$PS1" ]; then
+
+ function proml {
+ # set a fancy prompt (overwrite the one in /etc/profile)
+ local default="\[\e[0m\]"
+ local usercol='\[\e[1;34m\]' # blue
+ local hostcol='\[\e[1;32m\]' # green
+ local pathcol='\[\e[1;33m\]' # yellow
+ local gitcol='\[\e[1;31m\]' # light red
+ local termcmd=''
+ local _p="$";
+
+ if [ "`id -u`" -eq 0 ]; then
+ usercol='\[\e[1;31m\]'
+ _p="#"
+ fi
+
+ PS1="${usercol}\u${default}@${hostcol}\h${default}:${pathcol}\w${default}${gitcol}${default}${_p} ${termcmd}"
+ }
+
+ proml
+
+ function rcd () {
+ [ "${1:0:1}" == "/" ] && { cd $1; } || { cd $(pwd -P)/$1; }
+ }
+
+ alias ll="ls -lZ"
+ alias lr="ls -ltrZ"
+ alias la="ls -alZ"
+
+ function get_manifest () {
+ rpm -qa --queryformat="%{name} %{Version} %{Release} %{VCS}\n" | sort
+ }
+fi
+EOF
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-crosswalk.post ####################"
+
+# make crosswak start in user session (default target)
+mkdir -p /lib/systemd/user/default.target.wants/
+ln -s ../xwalk.service /lib/systemd/user/default.target.wants/
+
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-desktop-applications.post ####################"
+
+# temp workaround to fill each user app_info database with global db infos
+. /etc/tizen-platform.conf
+ail_initdb
+pkg_initdb
+
+echo "Fixing multiuser app_info dbs"
+chsmack -a "_" $TZ_SYS_DB/.app_info.db*
+chmod 764 $TZ_SYS_DB/.app_info.db*
+
+# depends on generic-base functions
+function generic_desktop_applications_fix_userhome() {
+ user=$1
+
+ generic_base_user_exists $user || return 1
+ homedir=$(generic_base_user_home $user)
+
+ echo "Fix app_info.db of $user"
+ chown -R $user:users $homedir/.applications/dbspace/
+
+ if [ -f $homedir/.applications/dbspace/.app_info.db ]; then
+ sqlite3 $homedir/.applications/dbspace/.app_info.db <<EOF
+attach database '$TZ_SYS_DB/.app_info.db' as common;
+insert into app_info select * from common.app_info;
+EOF
+ else
+ cp $TZ_SYS_DB/.app_info.db $homedir/.applications/dbspace/.app_info.db
+ fi
+
+ chown -R $user:users $homedir/.applications/dbspace/
+ chsmack -a User $homedir/.applications/dbspace/.app_info.db*
+}
+
+# fix app user
+generic_desktop_applications_fix_userhome app
+
+
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-development.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-middleware.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-multimedia-intel.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-multimedia.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-packaging.post ####################"
+
+rm -rf /root/.zypp
+
+# was: rpm.post
+rm -f /var/lib/rpm/__db*
+rpmdb --rebuilddb
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-qa.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-qt5.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-wayland.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-x11-intel.post ####################"
+
--- /dev/null
+#!/bin/sh
+echo "#################### generic-x11.post ####################"
+
+# enable X11 forwarding on ssh
+if [ -f /etc/ssh/sshd_config ]; then
+ echo "X11Forwarding yes" >>/etc/ssh/sshd_config
+ echo "AddressFamily inet" >>/etc/ssh/sshd_config
+fi
+