diff options
author | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:24:26 +0200 |
---|---|---|
committer | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:24:26 +0200 |
commit | 7224c1253228e5c29c78cb3f0f26ce34770f2356 (patch) | |
tree | 1684924656132935256e034f35f92abee6623265 /app-misc/sabayon-mce |
Added ebuilds for kogaion desktop
Diffstat (limited to 'app-misc/sabayon-mce')
-rw-r--r-- | app-misc/sabayon-mce/Manifest | 6 | ||||
-rw-r--r-- | app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session | 3 | ||||
-rw-r--r-- | app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start | 18 | ||||
-rw-r--r-- | app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx | 171 | ||||
-rw-r--r-- | app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce | 41 | ||||
-rw-r--r-- | app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop | 8 | ||||
-rw-r--r-- | app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild | 56 |
7 files changed, 303 insertions, 0 deletions
diff --git a/app-misc/sabayon-mce/Manifest b/app-misc/sabayon-mce/Manifest new file mode 100644 index 00000000..ab0d505a --- /dev/null +++ b/app-misc/sabayon-mce/Manifest @@ -0,0 +1,6 @@ +AUX 1.1/bin/sabayon-mce-session 67 RMD160 ecb8a619ef1b8c24027a8645546aaa8ade67a0c3 SHA1 b47675404b79a106483a7346c5076c3704f6f9b8 SHA256 456a32721da17c42e4cd3ff33a619acbbcba94de3394003a2bc0a747b55c2c10 +AUX 1.1/bin/sabayon-mce-start 528 RMD160 d7456e2a140c4052dd17084c82602fcf484c0126 SHA1 d99ae41ef4b48be71de5e4abd173ed53dfdbe50b SHA256 4dadf0e7a5d6eb5144c40391e181dc16f91c5aa95944248ec69124acf4325983 +AUX 1.1/bin/sabayon-mce-startx 4376 RMD160 1a580f9a7d90888efeea725835314c5ff4667760 SHA1 2a67bde14cb92f244bc16bba22173e4688b4eefe SHA256 4443354db9f8d44ec52c3b76ce46179f666e990fde9f0673d9eebb3bf02424a8 +AUX 1.1/init.d/sabayon-mce 835 RMD160 ef59ade2e9da6219bc31fcd41a0206d2c8d3f635 SHA1 fe42a50c7134e0d5ddf745942c248a7b3a326500 SHA256 bacbc7a42986da1d0de7c889a16d5c8acad39ba2c4f09df453682cf46a3936c8 +AUX 1.1/xsession/sabayon-mce.desktop 171 RMD160 52b8a3457819fa93ff3f14c9ec9ee13935602d41 SHA1 2eb008a480813179fd01a951046faa6f3fe4e6a4 SHA256 28c4770d694038dff9ac3c8d116239491d0ddc95a0deeaa0adf6e6ea0753bb8b +EBUILD sabayon-mce-1.1-r1.ebuild 1173 RMD160 f5459e2c75c1eba6c5665a1841c7984abf71bcad SHA1 066787eca9d6f68d25b3650f27114d9913079c66 SHA256 5ff266b3c0290390a8e9accc35539a643da34c1283eaef5de36b7d4fca2ddd8b diff --git a/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session new file mode 100644 index 00000000..66d0ed03 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-session @@ -0,0 +1,3 @@ +#!/bin/sh +# Start Xbox Media Center +exec /usr/bin/xbmc --standalone
\ No newline at end of file diff --git a/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start new file mode 100644 index 00000000..ff2f9ee2 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-start @@ -0,0 +1,18 @@ +#!/bin/sh + +# setup +myxinitrc="/usr/bin/sabayon-mce-session" +myuser="sabayonmce" +mcepid="/var/sabayonmce/.mcepid" + +# make sure samba is started +[[ -f "/etc/init.d/samba" ]] && /etc/init.d/samba start &> /dev/null + +# Kill previous instance running since +# /etc/init.d/xdm does not support PIDFILE for +# custom DISPLAYMANAGER +[[ -f "$mcepid" ]] && kill $(cat $mcepid) &> /dev/null + +# spawn! +echo $$ > /var/run/sabayon-mce-start.pid +su - ${myuser} -c "source /etc/profile && /usr/bin/sabayon-mce-startx ${myxinitrc} &> /dev/null" & diff --git a/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx new file mode 100644 index 00000000..21ca87e8 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/bin/sabayon-mce-startx @@ -0,0 +1,171 @@ +#!/bin/sh + +# $Xorg: startx.cpp,v 1.3 2000/08/17 19:54:29 cpqbld Exp $ +# +# This is just a sample implementation of a slightly less primitive +# interface than xinit. It looks for user .xinitrc and .xserverrc +# files, then system xinitrc and xserverrc files, else lets xinit choose +# its default. The system xinitrc should probably do things like check +# for .Xresources files and merge them in, startup up a window manager, +# and pop a clock and serveral xterms. +# +# Site administrators are STRONGLY urged to write nicer versions. +# +# $XFree86: xc/programs/xinit/startx.cpp,v 3.16tsi Exp $ + + +userclientrc="$1" +sysclientrc="$1" + +pidfilepath="$HOME/.mcepid" +userserverrc="$HOME/.xserverrc" +sysserverrc=/etc/X11/xinit/xserverrc +defaultclientargs="" +defaultserverargs="-nolisten tcp -br vt07" +clientargs="" +serverargs="" + +enable_xauth=1 + +if [ -f $userclientrc ]; then + defaultclientargs=$userclientrc +elif [ -f $sysclientrc ]; then + defaultclientargs=$sysclientrc +fi + +if [ x"$display" != x ]; then + export DISPLAY=$display +else + export DISPLAY=:0 +fi + + +if [ -f $userserverrc ]; then + defaultserverargs=$userserverrc +elif [ -f $sysserverrc ]; then + defaultserverargs=$sysserverrc +fi + +whoseargs="client" +while [ x"$1" != x ]; do + case "$1" in + /''*|\.*) if [ "$whoseargs" = "client" ]; then + if [ "x$clientargs" = x ]; then + clientargs="$1" + else + clientargs="$clientargs $1" + fi + else + if [ "x$serverargs" = x ]; then + serverargs="$1" + else + serverargs="$serverargs $1" + fi + fi ;; + --) whoseargs="server" ;; + *) if [ "$whoseargs" = "client" ]; then + if [ "x$clientargs" = x ]; then + clientargs="$defaultclientargs $1" + else + clientargs="$clientargs $1" + fi + else + case "$1" in + :[0-9]*) display="$1"; serverargs="$serverargs $1";; + *) serverargs="$serverargs $1" ;; + esac + fi ;; + esac + shift +done + +if [ x"$clientargs" = x ]; then + clientargs="$defaultclientargs" +fi +if [ x"$serverargs" = x ]; then + serverargs="$defaultserverargs" +fi + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$XAUTHORITY" = x ]; then + XAUTHORITY=$HOME/.Xauthority + export XAUTHORITY + fi + + removelist= + + # set up default Xauth info for this machine + case `uname` in + Linux*) + if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then + hostname=`hostname -f` + else + hostname=`hostname` + fi + ;; + *) + hostname=`hostname` + ;; + esac + + authdisplay=${display:-:0} + + mcookie=`/usr/bin/mcookie` + + dummy=0 + + # create a file with auth information for the server. ':0' is a dummy. + xserverauthfile=$HOME/.serverauth.$$ + trap "rm -f $xserverauthfile" HUP INT QUIT ILL TRAP KILL BUS TERM + xauth -q -f $xserverauthfile << EOF +add :$dummy . $mcookie +EOF + serverargs=${serverargs}" -auth "${xserverauthfile} + + # now add the same credentials to the client authority file + # if '$displayname' already exists do not overwrite it as another + # server man need it. Add them to the '$xserverauthfile' instead. + for displayname in $authdisplay $hostname$authdisplay; do + authcookie=`xauth list "$displayname" \ + | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null; + if [ "z${authcookie}" = "z" ] ; then + xauth -q << EOF +add $displayname . $mcookie +EOF + removelist="$displayname $removelist" + else + dummy=$(($dummy+1)); + xauth -q -f $xserverauthfile << EOF +add :$dummy . $authcookie +EOF + fi + done +fi + +cleanup() { + + [ -n "$PID" ] && kill $PID > /dev/null 2>&1 + if [ x"$enable_xauth" = x1 ] ; then + if [ x"$removelist" != x ]; then + xauth remove $removelist + fi + if [ x"$xserverauthfile" != x ]; then + rm -f $xserverauthfile + fi + fi + +} + + +trap cleanup 0 + +xinit $clientargs -- $serverargs -deferglyphs 16 & + +PID=$! + +# Write pid to pid file +echo $PID > $pidfilepath + +wait $PID + +unset PID diff --git a/app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce b/app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce new file mode 100644 index 00000000..0dba609b --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/init.d/sabayon-mce @@ -0,0 +1,41 @@ +#!/sbin/runscript +# Copyright 2012 Sabayon + +depend() { + # In this way autologin settings are overwritten + after mtab sabayonlive + before xdm + need net +} + +start() { + + SABAYON_USER="sabayonmce" + source /sbin/rogentos-functions.sh + + if sabayon_is_mce; then + + ebegin "Sabayon Media Center mode enabled" + + # setup default .dmrc + echo "[Desktop]" > /var/sabayonmce/.dmrc + echo "Session=sabayon-mce" >> /var/sabayonmce/.dmrc + chown sabayonmce /var/sabayonmce/.dmrc + if [ -x "/usr/libexec/gdm-set-default-session" ]; then + # oh my fucking glorious god, this + # is AccountsService bullshit + # cross fingers + /usr/libexec/gdm-set-default-session sabayon-mce + fi + + sabayon_setup_autologin + + elif ! sabayon_is_live && ! sabayon_is_mce; then + ebegin "Sabayon Media Center mode disabled" + sabayon_disable_autologin + fi + + eend 0 + +} + diff --git a/app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop b/app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop new file mode 100644 index 00000000..46d11f10 --- /dev/null +++ b/app-misc/sabayon-mce/files/1.1/xsession/sabayon-mce.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Sabayon Media Center +Comment=This session loads Sabayon in Media Center mode +Exec=/usr/bin/sabayon-mce-session +Icon= +Type=Application + diff --git a/app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild b/app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild new file mode 100644 index 00000000..885bdad8 --- /dev/null +++ b/app-misc/sabayon-mce/sabayon-mce-1.1-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 2004-2012 Sabayon +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +DESCRIPTION="Sabayon Linux Media Center Infrastructure" +HOMEPAGE="http://www.sabayon.org/" +SRC_URI="" + +RESTRICT="nomirror" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="" + +RDEPEND="media-tv/xbmc + >=app-misc/rogentoslive-tools-1.0" +DEPEND="" + +S="${WORKDIR}" + +src_unpack() { + cp "${FILESDIR}"/${PV}/* "${WORKDIR}"/ -Rp || die "cannot unpack" +} + +src_install () { + + cd "${WORKDIR}"/init.d + newinitd sabayon-mce sabayon-mce + + cd "${WORKDIR}"/bin + exeinto /usr/bin + doexe * + + cd "${WORKDIR}"/xsession + dodir /usr/share/xsessions + insinto /usr/share/xsessions + doins *.desktop + +} + +pkg_postinst() { + # create new user sabayonmce + local mygroups="users" + for mygroup in lp wheel uucp audio cdrom scanner video cdrw usb plugdev polkituser; do + if [[ -n $(egetent group "${mygroup}") ]]; then + mygroups+=",${mygroup}" + fi + done + enewuser sabayonmce -1 /bin/sh /var/sabayonmce "${mygroups}" + + elog "For those who are using <=Sabayon-5.1 as Media Center:" + elog "PLEASE update DISPLAYMANAGER= in /etc/conf.d/xdm" + elog "setting it to gdm or kdm." + +} |