Author: walluck
Date: Sat Feb 3 02:48:34 2007
New Revision: 116031
Modified:
packages/cooker/freenx/current/SPECS/freenx.spec
Log:
0.6.0
macros
use macros for paths
create users.id_dsa.pub ghostfile
use %%bcond_with
some grammar fixes
bunzip2 souces and patches and use more consistent names
use more explicit file list
Modified: packages/cooker/freenx/current/SPECS/freenx.spec
==============================================================================
--- packages/cooker/freenx/current/SPECS/freenx.spec (original)
+++ packages/cooker/freenx/current/SPECS/freenx.spec Sat Feb 3 02:48:34 2007
@@ -1,144 +1,150 @@
# --with NomachineKey
# Allow login with the key shipped with the NoMachine client.
-# This can be a security risk. So it is disabled by default
-# and a ssh key is generated at install
-
-%define nomachine_key 0
-%{?_with_NomachineKey: %{expand: %%define nomachine_key 1}}
-
-%define name freenx
-%define version 0.5.0
-%define release %mkrel 3.rev281.3
-
-Summary: Free NX implementation
-Name: %{name}
-Version: %{version}
-Release: %{release}
-Source0: http://debian.tu-bs.de/knoppix/nx/%{name}-%{version}.tar.bz2
-Source1: logrotate-nxserver.bz2
-Patch0: freenx-nxsetup-warning.diff.bz2
-
-License: GPL
-Group: Networking/Remote access
-Url: http://debian.tu-bs.de/knoppix/nx/
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
-Requires: nxproxy, nxagent, openssh-server, expect, netcat
-Requires: xmessage, Xdialog, xterm
-BuildArch: noarch
-Requires(pre): rpm-helper
+# This can be a security risk, so it is disabled by default
+# and an SSH key is generated at install time.
+%bcond_with NomachineKey
+
+Summary: Free NX implementation
+Name: freenx
+Version: 0.6.0
+Release: %mkrel 1
+License: GPL
+Group: Networking/Remote access
+URL: http://freenx.berlios.de/
+Source0: http://download.berlios.de/freenx/freenx-%{version}.tar.gz
+Source1: freenx-nxserver.logrotate
+Patch0: freenx-nxsetup-warning.patch
+Requires: expect
+Requires: netcat
+Requires: nxagent
+Requires: nxproxy
+Requires: openssh-server
+Requires: Xdialog
+Requires: xmessage
+Requires: xterm
+Requires(pre): rpm-helper
Requires(post): expect
+BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
NoMachine NX is the next-generation X compression and roundtrip
suppression scheme. It can operate remote X11 sessions over 56k
modem dialup links or anything better.
-This package contains a free (GPL) implementation of the nxserver component.
+
+This package contains a free (GPL) implementation of the nxserver
+component.
%prep
%setup -q
%patch0 -p1
%build
-
-perl -pi -e "s|/var/lib/nxserver/home|%{_localstatedir}/nxserver/nxhome|"
nxloadconfig
+%{__perl} -pi -e "s|/var/lib/nxserver/home|%{_localstatedir}/nxserver/nxhome|"
nxloadconfig
# README.install.urpmi doesn't work yet.
-cat << EOF > README.urpmi
-After installing this package, an nx user is created ( this is a
-system user, do not try to log in with it ), with a home located
-at %{_localstatedir}/nxserver/nxhome His password is a random
-32char pass.
+%{__cat} << EOF > README.urpmi
+After installing this package, an nx user is created (this is a
+system user, do not try to log in as him), with a home located
+at %{_localstatedir}/nxserver/nxhome. His password is a random
+32-character password.
-%if %nomachine_key
+%if %with NomachineKey
Using Nomachine ssh key, warning, this is a potential security risk.
%else
Your user must install the key located at:
%{_localstatedir}/nxserver/nxhome/.ssh/client.id_dsa.key
to log in.
-For knx, put it in: /usr/share/knx/ with world-readable right.
+For knx, put it in: %{_datadir}/knx/ with world-readable right.
For nomachine.com Nx client for windows put it in : C:\Program
Files\NX Client for Windows\share
You user will now be able to log in using their username
and password provided you have ssh logins enabled for them
%endif
-
EOF
%install
-rm -rf $RPM_BUILD_ROOT
-install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
-install -d -m 755 $RPM_BUILD_ROOT%{_sbindir}
-install -m 755 {nxclient,nxkeygen,nxloadconfig,nxnode,nxnode-login,nxserver}
$RPM_BUILD_ROOT%{_bindir}
-install -m 755 nxsetup $RPM_BUILD_ROOT%{_sbindir}
-
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/nxserver/nxhome/.ssh
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/nxserver/db/{closed,failed,running}
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/nxserver
-mkdir -p $RPM_BUILD_ROOT%{_var}/log
-touch
$RPM_BUILD_ROOT%{_sysconfdir}/nxserver/{passwords,passwords.orig,users.id_dsa,users.id_dsa.pub}
-touch
$RPM_BUILD_ROOT%{_localstatedir}/nxserver/nxhome/.ssh/{server.id_dsa.pub.key,client.id_dsa.key,authorized_keys2,known_hosts}
-touch $RPM_BUILD_ROOT%{_var}/log/nxserver.log
-install node.conf.sample $RPM_BUILD_ROOT%{_sysconfdir}/nxserver/node.conf
-echo 'ENABLE_1_5_0_BACKEND="1"' >>
$RPM_BUILD_ROOT%{_sysconfdir}/nxserver/node.conf
-echo 'ENABLE_2_0_0_BACKEND="1"' >>
$RPM_BUILD_ROOT%{_sysconfdir}/nxserver/node.conf
-echo 'ENABLE_ROOTLESS_MODE="1"' >>
$RPM_BUILD_ROOT%{_sysconfdir}/nxserver/node.conf
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
-bzcat %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
-
-# makes a link from /usr/X11R6/lib/X11/fonts -> /usr/share/fonts
-mkdir -p $RPM_BUILD_ROOT/usr/X11R6/lib/X11/
-ln -s /usr/share/fonts $RPM_BUILD_ROOT/usr/X11R6/lib/X11/
+%{__rm} -rf %{buildroot}
+%{__mkdir_p} %{buildroot}%{_bindir}
+%{__mkdir_p} %{buildroot}%{_sbindir}
+%{__install} -m 755
{nxclient,nxkeygen,nxloadconfig,nxnode,nxnode-login,nxserver}
%{buildroot}%{_bindir}
+%{__install} -m 755 nxsetup %{buildroot}%{_sbindir}
+
+%{__mkdir_p} %{buildroot}%{_localstatedir}/nxserver/nxhome/.ssh
+%{__mkdir_p} %{buildroot}%{_localstatedir}/nxserver/db/{closed,failed,running}
+%{__mkdir_p} %{buildroot}%{_sysconfdir}/nxserver
+%{__mkdir_p} %{buildroot}%{_logdir}
+/bin/touch
%{buildroot}%{_sysconfdir}/nxserver/{passwords,passwords.orig,users.id_dsa,users.id_dsa.pub}
+/bin/touch
%{buildroot}%{_localstatedir}/nxserver/nxhome/.ssh/{server.id_dsa.pub.key,client.id_dsa.key,authorized_keys2,known_hosts}
+/bin/touch %{buildroot}%{_logdir}/nxserver.log
+%{__install} node.conf.sample %{buildroot}%{_sysconfdir}/nxserver/node.conf
+/bin/echo 'ENABLE_1_5_0_BACKEND="1"' >>
%{buildroot}%{_sysconfdir}/nxserver/node.conf
+/bin/echo 'ENABLE_2_0_0_BACKEND="1"' >>
%{buildroot}%{_sysconfdir}/nxserver/node.conf
+/bin/echo 'ENABLE_ROOTLESS_MODE="1"' >>
%{buildroot}%{_sysconfdir}/nxserver/node.conf
+%{__mkdir_p} %{buildroot}%{_sysconfdir}/logrotate.d
+%{__cp} -a %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
+
+# make a link from %{_usr}/X11R6/lib/X11/fonts -> %{_datadir}/fonts
+%{__mkdir_p} %{buildroot}%{_usr}/X11R6/lib/X11/
+%{__ln_s} %{_datadir}/fonts %{buildroot}%{_usr}/X11R6/lib/X11/
# tell spec-helper to not remove passwords.orig
export DONT_CLEANUP=1
+
%clean
-rm -rf $RPM_BUILD_ROOT
+%{__rm} -rf %{buildroot}
%pre
if [ $1 = 1 ]; then
- %_pre_useradd nx %{_localstatedir}/nxserver/nxhome %{_bindir}/nxserver
+ %_pre_useradd nx %{_localstatedir}/nxserver/nxhome %{_bindir}/nxserver
fi
%postun
if [ $1 = 0 ]; then
- %_postun_userdel nx
+ %_postun_userdel nx
fi
%post
if [ $1 = 1 ]; then
- ssh-keygen -f %{_sysconfdir}/nxserver/users.id_dsa -t dsa -N "" 2>&1 >
/dev/null
- chown nx.root %{_sysconfdir}/nxserver/users.id_dsa
- chmod 600 %{_sysconfdir}/nxserver/users.id_dsa
+ %{_bindir}/ssh-keygen -f %{_sysconfdir}/nxserver/users.id_dsa -t dsa
-N "" 2>&1 > /dev/null
+ %{__chown} nx.root %{_sysconfdir}/nxserver/users.id_dsa
+ %{__chmod} 600 %{_sysconfdir}/nxserver/users.id_dsa
-%if %nomachine_key
- cat << EOF > %{_localstatedir}/nxserver/nxhome/.ssh/authorized_keys2
+%if %with NomachineKey
+ %{__cat} << EOF >
%{_localstatedir}/nxserver/nxhome/.ssh/authorized_keys2
ssh-dss
AAAAB3NzaC1kc3MAAACBAJe/0DNBePG9dYLWq7cJ0SqyRf1iiZN/IbzrmBvgPTZnBa5FT/0Lcj39sRYt1paAlhchwUmwwIiSZaON5JnJOZ6jKkjWIuJ9MdTGfdvtY1aLwDMpxUVoGwEaKWOyin02IPWYSkDQb6cceuG9NfPulS9iuytdx0zIzqvGqfvudtufAAAAFQCwosRXR2QA8OSgFWSO6+kGrRJKiwAAAIEAjgvVNAYWSrnFD+cghyJbyx60AAjKtxZ0r/Pn9k94Qt2rvQoMnGgt/zU0v/y4hzg+g3JNEmO1PdHh/wDPVOxlZ6Hb5F4IQnENaAZ9uTZiFGqhBO1c8Wwjiq/MFZy3jZaidarLJvVs8EeT4mZcWxwm7nIVD4lRU2wQ2lj4aTPcepMAAACANlgcCuA4wrC+3Cic9CFkqiwO/Rn1vk8dvGuEQqFJ6f6LVfPfRTfaQU7TGVLk2CzY4dasrwxJ1f6FsT8DHTNGnxELPKRuLstGrFY/PR7KeafeFZDf+fJ3mbX5nxrld3wi5titTnX+8s4IKv29HJguPvOK/SI7cjzA+SqNfD7qEo8=
[EMAIL PROTECTED]
EOF
%else
- ssh-keygen -q -t dsa -N '' -f
%{_localstatedir}/nxserver/nxhome/.ssh/local.id_dsa 2>&1 > /dev/null
- mv -f %{_localstatedir}/nxserver/nxhome/.ssh/local.id_dsa
%{_localstatedir}/nxserver/nxhome/.ssh/client.id_dsa.key
- mv -f %{_localstatedir}/nxserver/nxhome/.ssh/local.id_dsa.pub
%{_localstatedir}/nxserver/nxhome/.ssh/server.id_dsa.pub.key
- cat %{_localstatedir}/nxserver/nxhome/.ssh/server.id_dsa.pub.key >
%{_localstatedir}/nxserver/nxhome/.ssh/authorized_keys2
-
+ %{_bindir}/ssh-keygen -q -t dsa -N '' -f
%{_localstatedir}/nxserver/nxhome/.ssh/local.id_dsa 2>&1 > /dev/null
+ %{__mv} -f %{_localstatedir}/nxserver/nxhome/.ssh/local.id_dsa
%{_localstatedir}/nxserver/nxhome/.ssh/client.id_dsa.key
+ %{__mv} -f %{_localstatedir}/nxserver/nxhome/.ssh/local.id_dsa.pub
%{_localstatedir}/nxserver/nxhome/.ssh/server.id_dsa.pub.key
+ %{__cat} %{_localstatedir}/nxserver/nxhome/.ssh/server.id_dsa.pub.key
> %{_localstatedir}/nxserver/nxhome/.ssh/authorized_keys2
+
%endif
- echo -n "127.0.0.1 " >
%{_localstatedir}/nxserver/nxhome/.ssh/known_hosts
- cat %{_sysconfdir}/ssh/ssh_host_rsa_key.pub >>
%{_localstatedir}/nxserver/nxhome/.ssh/known_hosts
- chmod 600 %{_localstatedir}/nxserver/nxhome/.ssh/*
- chown nx.root %{_localstatedir}/nxserver/nxhome/.ssh/*
- %create_ghostfile %{_sysconfdir}/nxserver/passwords.orig nx root 600
- %create_ghostfile %{_sysconfdir}/nxserver/passwords nx root 600
- %create_ghostfile %{_var}/log/nxserver.log nx root 600
- mkpasswd -l 32 | passwd --stdin nx 2>&1 > /dev/null
+ /bin/echo -n "127.0.0.1 " >
%{_localstatedir}/nxserver/nxhome/.ssh/known_hosts
+ %{__cat} %{_sysconfdir}/ssh/ssh_host_rsa_key.pub >>
%{_localstatedir}/nxserver/nxhome/.ssh/known_hosts
+ %{__chmod} 600 %{_localstatedir}/nxserver/nxhome/.ssh/*
+ %{__chown} nx.root %{_localstatedir}/nxserver/nxhome/.ssh/*
+ %create_ghostfile %{_sysconfdir}/nxserver/users.id_dsa.pub root root
644
+ %create_ghostfile %{_sysconfdir}/nxserver/passwords.orig nx root 600
+ %create_ghostfile %{_sysconfdir}/nxserver/passwords nx root 600
+ %create_ghostfile %{_logdir}/nxserver.log nx root 600
+ %{_bindir}/mkpasswd -l 32 | %{_bindir}/passwd --stdin nx 2>&1 >
/dev/null
fi
%files
-%defattr(-,root,root)
+%defattr(0644,root,root,0755)
%doc AUTHORS COPYING README.urpmi
-%{_bindir}/*
-%{_sbindir}/*
+%attr(0755,root,root) %{_bindir}/nxclient
+%attr(0755,root,root) %{_bindir}/nxkeygen
+%attr(0755,root,root) %{_bindir}/nxloadconfig
+%attr(0755,root,root) %{_bindir}/nxnode
+%attr(0755,root,root) %{_bindir}/nxnode-login
+%attr(0755,root,root) %{_bindir}/nxserver
+%attr(0755,root,root) %{_sbindir}/nxsetup
%{_usr}/X11R6/lib/X11/fonts
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%attr(755,nx,root) %dir %{_sysconfdir}/nxserver
@@ -158,4 +164,5 @@
%attr(600,nx,root) %ghost
%{_localstatedir}/nxserver/nxhome/.ssh/authorized_keys2
%attr(600,nx,root) %ghost
%{_localstatedir}/nxserver/nxhome/.ssh/client.id_dsa.key
%attr(600,nx,root) %ghost
%{_localstatedir}/nxserver/nxhome/.ssh/server.id_dsa.pub.key
-%attr(600,nx,root) %ghost %{_var}/log/nxserver.log
+# E: freenx non-root-user-log-file /var/log/nxserver.log nx
+%attr(600,nx,root) %ghost %{_logdir}/nxserver.log