# Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils DESCRIPTION="X11 protocol compression library" HOMEPAGE="http://www.kalyxo.org/twiki/bin/view/Main/FreeNX" SRC_URI="http://kalyxo.freedesktop.org/debian/pool/n/nxserver/nxserver_0.1.orig.tar.gz" LICENSE="GPL" SLOT="0" KEYWORDS="~x86" IUSE="" DEPEND=">=nxserver-free-base-1.3.99" S=${WORKDIR}/${PN}-0.1 src_compile() { cd $S epatch ${FILESDIR}/nxserver-0.1_gentoo.diff } src_install() { into /usr dobin nxserver dobin nxnode # directories needed by nxserver echo -n "Searching for nxserver binary..." export $(grep ^NX_ $(which nxserver)) einfo "done" dodir $NX_ETC_DIR diropts -m 0700 dodir $NX_HOME_DIR } pkg_preinst() { export $(grep ^NX_ $(which nxserver)) enewuser nx -1 $(which nxserver) $NX_HOME_DIR || die "problem adding user nx" } pkg_postinst() { einfo "Setting up $NX_SESS_DIR ..." install -d -m0700 $NX_SESS_DIR/closed install -d -m0700 $NX_SESS_DIR/running install -d -m0700 $NX_SESS_DIR/failed #your friendly public service announcement... einfo einfo "You might want to run:" einfo "\"ebuild /var/db/pkg/net-misc/${PF}/${PF}.ebuild config\"" einfo "if this is a new install." einfo } pkg_config() { # Original code: copyright (c) 2004 by Fabian Franz. einfo "Searching for nxserver binary..." export $(grep ^NX_ $(which nxserver)) einfo "Setting up $NX_ETC_DIR ..." touch $NX_ETC_DIR/passwords $NX_ETC_DIR/passwords.orig chmod 600 $NX_ETC_DIR/passwords $NX_ETC_DIR/passwords.orig if [ ! -f $NX_ETC_DIR/users.id_dsa ] then ssh-keygen -f $NX_ETC_DIR/users.id_dsa -t dsa -N "" fi if [ ! -f $NX_HOME_DIR/.ssh ] then einfo "Setting up user nx ..." mkdir -p $NX_HOME_DIR/.ssh chmod 700 $NX_HOME_DIR/ $NX_HOME_DIR/.ssh fi einfo "Setting up known_hosts and authorized_keys2 ..." if [ ! -f $NX_HOME_DIR/.ssh/authorized_keys2 ] then cat << EOF >$NX_HOME_DIR/.ssh/authorized_keys2 ssh-dss AAAAB3NzaC1kc3MAAACBAJe/0DNBePG9dYLWq7cJ0SqyRf1iiZN/IbzrmBvgPTZnBa5FT/0Lcj39sRYt1paAlhchwUmwwIiSZaON5JnJOZ6jKkjWIuJ9MdTGfdvtY1aLwDMpxUVoGwEaKWOyin02IPWYSkDQb6cceuG9NfPulS9iuytdx0zIzqvGqfvudtufAAAAFQCwosRXR2QA8OSgFWSO6+kGrRJKiwAAAIEAjgvVNAYWSrnFD+cghyJbyx60AAjKtxZ0r/Pn9k94Qt2rvQoMnGgt/zU0v/y4hzg+g3JNEmO1PdHh/wDPVOxlZ6Hb5F4IQnENaAZ9uTZiFGqhBO1c8Wwjiq/MFZy3jZaidarLJvVs8EeT4mZcWxwm7nIVD4lRU2wQ2lj4aTPcepMAAACANlgcCuA4wrC+3Cic9CFkqiwO/Rn1vk8dvGuEQqFJ6f6LVfPfRTfaQU7TGVLk2CzY4dasrwxJ1f6FsT8DHTNGnxELPKRuLstGrFY/PR7KeafeFZDf+fJ3mbX5nxrld3wi5titTnX+8s4IKv29HJguPvOK/SI7cjzA+SqNfD7qEo8= root@nettuno EOF fi if [ ! -f $NX_HOME_DIR/.ssh/known_hosts ] then echo -n "127.0.0.1 " > $NX_HOME_DIR/.ssh/known_hosts cat /etc/ssh/ssh_host_rsa_key.pub >> $NX_HOME_DIR/.ssh/known_hosts fi einfo "Setting up permissions ..." chown -R nx:root $NX_SESS_DIR chown -R nx:root $NX_ETC_DIR chown -R nx:root $NX_HOME_DIR einfo "Ok, nxserver is ready." einfo "" einfo "To add new users to the nx database do:" einfo " nxserver --adduser " einfo "Afterwards change the password with:" einfo " nxserver --passwd " einfo "" einfo "Have Fun!" einfo einfo "Note: You need to start sshd in order to be able " einfo "to have incoming connections by nxclient!" }