commit:     b59b766f6b243d444558c7e8efe5ce3d5cfd337a
Author:     Michael Weber <michael <AT> xmw <DOT> de>
AuthorDate: Thu Jul  9 07:16:56 2015 +0000
Commit:     Michael Weber <xmw <AT> gentoo <DOT> org>
CommitDate: Thu Jul  9 07:16:56 2015 +0000
URL:        https://gitweb.gentoo.org/dev/xmw.git/commit/?id=b59b766f

Version bump.

Package-Manager: portage-2.2.20
Manifest-Sign-Key: 62EEF090

 x11-misc/trivdm/ChangeLog                 |  8 +++-
 x11-misc/trivdm/files/trivdm-0_p20150709  | 63 ++++++++++++++++++++++++++++++
 x11-misc/trivdm/metadata.xml              |  1 -
 x11-misc/trivdm/trivdm-0_p20150709.ebuild | 64 +++++++++++++++++++++++++++++++
 4 files changed, 134 insertions(+), 2 deletions(-)

diff --git a/x11-misc/trivdm/ChangeLog b/x11-misc/trivdm/ChangeLog
index 0dc097c..d293da6 100644
--- a/x11-misc/trivdm/ChangeLog
+++ b/x11-misc/trivdm/ChangeLog
@@ -1,7 +1,13 @@
 # ChangeLog for x11-misc/trivdm
-# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*trivdm-0_p20150709 (09 Jul 2015)
+
+  09 Jul 2015; Michael Weber <[email protected]> +files/trivdm-0_p20150709,
+  +trivdm-0_p20150709.ebuild, metadata.xml:
+  Version bump.
+
 *trivdm-0_p20130707-r1 (01 Aug 2013)
 
   01 Aug 2013; Michael Weber <[email protected]> +trivdm-0_p20130707-r1.ebuild,

diff --git a/x11-misc/trivdm/files/trivdm-0_p20150709 
b/x11-misc/trivdm/files/trivdm-0_p20150709
new file mode 100644
index 0000000..64bdd0d
--- /dev/null
+++ b/x11-misc/trivdm/files/trivdm-0_p20150709
@@ -0,0 +1,63 @@
+#!/bin/zsh
+# trivdm by Christian Neukirchen, Michael Weber [email protected]
+# wget http://xmw.de/tmp/trivdm -O /usr/local/bin/trivdm
+# c7:2345:respawn:/usr/bin/openvt -c 7 -f -w /usr/local/bin/trivdm
+# symlinks to /usr/local/bin/{gdmflexiserver,w} and /etc/local.d/trivdm.start
+# groupadd --system trivdm ; useradd --system -g trivdm -G wheel trivdm 
+# chmod u+s /usr/bin/chvt
+
+NAME=$(basename $0) ; USER=trivdm ; LANG=C ; TTYNUM=7 ; FALLBACK=Xsession
+log() { echo "$@" | logger -s -t $NAME }
+trap 'read -s -k -t 10 "?Press any key to continue ..." ; exit -1 ' ZERR
+w() { ps haxo ruser,tty,comm | egrep -v "$USER|tty${TTYNUM}|agetty|login$" | \
+    awk '{ if ( $3 == "X" || $2 != "?" ) print $1" "$2 }' | sort -u | \
+    awk '{ ORS="" ; if ( u != $1 ) { u=$1 ; print "\n"u"\t" } ; print $2"," }' 
\
+    | sed -e '1d ; s:,$:: ; $a\' }
+
+case $NAME in
+    gdmflexiserver)
+       [ "$1" = "-ls" ] && exec chvt 7 || exec /usr/bin/gdmflexiserver $@ ;;
+    trivdm.start)
+       chvt ${TTYNUM} ; exec setfont sun12x22 ;;
+    w)
+       w ; exec /usr/bin/w $@ ;;
+    *)
+       [ "$1" = "update" ] && exec wget http://xmw.de/tmp/$NAME -O $0
+       [ "$(id -un)" = "$USER" ] || exec su -c $0 $USER ;;
+esac
+
+clear
+toilet --font mono9 --metal $(hostname) | awk \
+    '{a[NR%8]=a[NR%8] $0} END {for (i=1;i<=NR;i++) print a[i];print a[0]}' \
+    | sed 's/ *$//g;/^$/d' ; echo
+( uname -srp ; echo "  (" ; date +%H:%M:%S ; echo ")" ) | tr -d '\n'
+print -n "\n\nUsage:  <username>[/<session type>]|!halt|!reboot
+       <session type> in ~/.xinitrc (default), $FALLBACK (fallback),\n\t"
+find /etc/X11/Sessions -type f ! -name $FALLBACK | \
+    awk -F / 'BEGIN { ORS=", " } { print $5 }' | sed 's:, $:\n\n:'
+print "connected users:\n$({ w | grep '' || print '<none>'} | sed 's:^:\t:')\n"
+read "login?$(hostname)/tty7 x11 login: "
+
+case $login in
+    "" ) [ ] ;;
+    !* ) if [ -z "$(w)" ] ; then sudo -n "${login[2,-1]}"
+       else log "$login denied, users logged in!" ; fi ; [ ] ;;
+    */* ) xclient=$(find /etc/X11/Sessions -iname "*${login#*/}*" \
+           -type f | sort | head -n 1)
+       [ -n "$xclient" ] || { log invalid session ; [ ] }
+       login=${login%/*} ;;
+    * ) xclient="~/.xinitrc" ;;
+esac
+
+id "$login" 2>&1 >/dev/null | sed "s|^id:|$NAME:|"
+id "$login" 2>/dev/null >/dev/null 
+
+tty=$(ps h -eo ruser,tty,comm | grep "^$login " | awk '$3=="X" {print $2}')
+[ "$tty" ] && { log switching to console $tty ; chvt "${tty#tty}" ; [ ] }
+
+dpy=0 ; while [ -e /tmp/.X11-unix/X$dpy ] ; do (( dpy += 1 )) done
+su -l -c "export xclient=$xclient ; 
+    [ -x \"\$xclient\" ] || xclient=/etc/X11/Sessions/$FALLBACK ; 
+    /usr/sbin/daemonize -a -e ~/.xorg-stderr -o ~/.xorg-stdout -c ~ \
+        /usr/bin/startx \$xclient -- :$dpy -retro" $login 
+[ ]

diff --git a/x11-misc/trivdm/metadata.xml b/x11-misc/trivdm/metadata.xml
index 02b909e..59acc2c 100644
--- a/x11-misc/trivdm/metadata.xml
+++ b/x11-misc/trivdm/metadata.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
-<herd>no-herd</herd>
 <maintainer>
 <email>[email protected]</email>
 <name>Michael Weber</name>

diff --git a/x11-misc/trivdm/trivdm-0_p20150709.ebuild 
b/x11-misc/trivdm/trivdm-0_p20150709.ebuild
new file mode 100644
index 0000000..563e111
--- /dev/null
+++ b/x11-misc/trivdm/trivdm-0_p20150709.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils readme.gentoo user
+
+DESCRIPTION="trivial display manager"
+HOMEPAGE="http://xmw.de/tmp/trivdm";
+SRC_URI=""
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="app-admin/sudo
+       app-misc/toilet
+       app-shells/zsh
+       sys-apps/daemonize
+       sys-apps/kbd"
+DEPEND=""
+
+S=${WORKDIR}
+
+pkg_postinst() {
+       enewgroup ${PN}
+       enewuser ${PN} -1 /usr/bin/${PN} -1 ${PN}
+
+       readme.gentoo_print_elog
+}
+
+src_install() {
+       newbin "${FILESDIR}"/${P} ${PN}
+
+       echo "CONFIG_PROTECT=\"/usr/bin/${PN}\"" > "${T}"/90${PN} || die
+       doenvd "${T}"/90${PN}
+
+       echo "#${PN} ALL=(root) NOPASSWD: /sbin/reboot,/sbin/halt" \
+               > "${T}"/${PN} || die
+       insopts -m0440
+       insinto /etc/sudoers.d
+       doins "${T}"/${PN}
+
+       readme.gentoo_create_doc
+}
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="Your system needs 5 minor adjustments that
+must not be made by Gentoo portage system:
+1) enable xscreensaver->newlogin compartibility
+    ln -s ../../bin/${PN} /usr/local/bin/gdmflexiserver
+2) tune w to display remote login sessions and daemonized X11
+    ln -s ../../bin/${PN} /usr/local/bin/w
+3) set a fancy font on framebuffer console on startup
+    ln -s ../../usr/bin/${PN} /etc/local.d/${PN}.start
+4) grant chvt to everyone
+    chmod u+s /usr/bin/chvt
+5) updated /etc/inittab (etc-update, dispatch-conf, ...) and reload
+    echo \"c7:2345:respawn:/usr/bin/openvt -c 7 -f -w /usr/bin/trivdm\" \
+               > /etc/inittab 
+    kill -HUP 1
+Install app-admin/sudo and review /etc/sudoers.d/${PN}"

Reply via email to