blob: 597363b12980d01f65d83e045eaa5c335b4fd012 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/nxserver-freenx/nxserver-freenx-0.7.1-r1.ebuild,v 1.2 2008/03/18 23:49:08 voyageur Exp $
inherit multilib eutils
MY_PN="freenx"
DESCRIPTION="Free Software Implementation of the NX Server"
HOMEPAGE="http://freenx.berlios.de/"
SRC_URI="http://download.berlios.de/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="strip"
IUSE="arts cups esd nxclient"
DEPEND="virtual/ssh
dev-tcltk/expect
sys-apps/gawk
net-analyzer/gnu-netcat
nxclient? ( net-misc/nxclient )
!nxclient? ( !net-misc/nxclient
|| ( x11-misc/xdialog
x11-apps/xmessage ) )
>=net-misc/nx-2.1.0
arts? ( kde-base/arts )
cups? ( net-print/cups )
esd? ( media-sound/esound )
!net-misc/nxserver-freeedition
!net-misc/nxserver-2xterminalserver"
RDEPEND="${DEPEND}
media-fonts/font-misc-misc
media-fonts/font-cursor-misc
x11-apps/xauth
x11-apps/xrdb
x11-apps/sessreg"
S=${WORKDIR}/${MY_PN}-${PV}
export NX_HOME_DIR=/var/lib/nxserver/home
pkg_setup () {
enewuser nx -1 -1 ${NX_HOME_DIR}
}
src_unpack() {
unpack ${A}
cd "${S}"
mv node.conf.sample node.conf || die
epatch "${FILESDIR}"/${P}-nxloadconfig.patch
epatch "${FILESDIR}"/${P}-cups.patch
epatch "${FILESDIR}"/${P}-nxdialog.patch
epatch "${FILESDIR}"/${P}-nscd.patch
epatch "${FILESDIR}"/${P}-usession_fixes.patch
epatch "${FILESDIR}"/${P}-nxserver_fixes.patch
sed -i "/PATH_LIB=/s/lib/$(get_libdir)/g" nxloadconfig || die
sed -i "/REAL_PATH_BIN=/s/lib/$(get_libdir)/g" nxloadconfig || die
# Change the defaults in nxloadconfig to meet the users needs.
if use arts ; then
einfo "Enabling arts support."
sed -i '/ENABLE_ARTSD_PRELOAD=/s/"0"/"1"/' nxloadconfig || die
sed -i '/ENABLE_ARTSD_PRELOAD=/s/"0"/"1"/' node.conf || die
fi
if use esd ; then
einfo "Enabling esd support."
sed -i '/ENABLE_ESD_PRELOAD=/s/"0"/"1"/' nxloadconfig || die
sed -i '/ENABLE_ESD_PRELOAD=/s/"0"/"1"/' node.conf || die
fi
if use cups ; then
einfo "Enabling cups support."
sed -i '/ENABLE_KDE_CUPS=/s/"0"/"1"/' nxloadconfig || die
sed -i '/ENABLE_KDE_CUPS=/s/"0"/"1"/' node.conf || die
fi
}
src_compile() {
einfo "Nothing to compile"
}
src_install() {
NX_ETC_DIR=/etc/nxserver
NX_SESS_DIR=/var/lib/nxserver/db
dobin nxserver
dobin nxnode
dobin nxnode-login
dobin nxkeygen
dobin nxloadconfig
dobin nxsetup
dobin nxcups-gethost
dobin nxdialog
dobin nxdesktop_helper
dobin nxviewer_helper
# This should be renamed to remove the blocker on net-misc/nxclient
use nxclient || dobin nxprint
dodir ${NX_ETC_DIR}
for x in passwords passwords.orig ; do
touch "${D}"${NX_ETC_DIR}/$x
chmod 600 "${D}"${NX_ETC_DIR}/$x
done
insinto ${NX_ETC_DIR}
doins node.conf
dodir ${NX_HOME_DIR}
for x in closed running failed ; do
keepdir ${NX_SESS_DIR}/$x
fperms 0700 ${NX_SESS_DIR}/$x
done
newinitd "${FILESDIR}"/nxserver.init nxserver
}
pkg_postinst () {
# Other NX servers ebuilds may have already created the nx account
# However they use different login shell/home directory paths
if [[ ${ROOT} == "/" ]]; then
usermod -s /usr/bin/nxserver nx || die "Unable to set login shell of nx user!!"
usermod -d ${NX_HOME_DIR} nx || die "Unable to set home directory of nx user!!"
usermod -G utmp nx || die "Unable to add nx user to utmp group!!"
else
elog "If you had another NX server installed before, please make sure"
elog "the nx user account is correctly set to:"
elog " * login shell: /usr/bin/nxserver"
elog " * home directory: ${NX_HOME_DIR}"
elog " * supplementary groups: utmp"
fi
elog "To complete the installation, run:"
elog " nxsetup --install --setup-nomachine-key --clean --purge"
elog "This will use the default Nomachine SSH key"
}
|