%define nx_userid 65029 %define nx_groupid 65029 %define cc_ver gcc %define cxx_ver g++ %define freenx_version 0.4.2 %define nx_version 1.4.0 Name: freenx-server Version: 0.4.2 Release: 2qilnx Summary: The core libraries and proxy for NX Group: System/Libraries Vendor: QiLinux Distribution: QiLinux Packager: Silvan Calarco URL: http://www.nomachine.com Source: http://www.nomachine.com/download/nxsources/nxproxy/nxcomp-%{nx_version}-31.tar.gz Source1: http://www.nomachine.com/download/nxsources/nxproxy/nxcompext-%{nx_version}-3.tar.gz Source2: http://www.nomachine.com/download/nxsources/nxproxy/nxproxy-%{nx_version}-2.tar.gz Source3: http://www.nomachine.com/download/nxsources/nxproxy/nx-X11-%{nx_version}-10.tar.gz Source4: http://www.nomachine.com/download/nxsources/nxproxy/nxauth-%{nx_version}-1.tar.gz Source5: http://www.nomachine.com/download/nxsources/nxproxy/nxagent-%{nx_version}-65.tar.gz Source6: http://www.nomachine.com/download/nxsources/nxproxy/nxssh-%{nx_version}-18.tar.gz Source7: http://www.nomachine.com/download/nxsources/nxproxy/nxesd-%{nx_version}-1.tar.gz Source8: http://www.nomachine.com/download/nxsources/nxproxy/nxscripts-%{nx_version}-3.tar.gz Source9: http://www.nomachine.com/download/nxsources/nxproxy/nxdarwin-%{nx_version}-2.tar.gz Source10: http://www.nomachine.com/download/nxsources/nxproxy/nxwin-%{nx_version}-3.tar.gz Source11: http://www.nomachine.com/download/nxsources/nxproxy/nxviewer-%{nx_version}-4.tar.gz Source12: http://www.nomachine.com/download/nxsources/nxproxy/nxdesktop-%{nx_version}-57.tar.gz Source13: http://download.berlios.de/freenx/freenx-%{version}.tar.gz #http://freshmeat.net/redir/freenx/56028/url_tgz/freenx-%{version}.tar.gz Patch0: freenx-0.4.2-qilinux.patch Patch2: nx-1.4.0-gcc4.patch License: GPL BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot BuildRequires: ccache >= 2.3 Requires: netcat >= 1.10 Obsoletes: nx #libstdc++5-devel >= 3.3.3, ccache >= 2.3 %description The core libraries and proxy for NX %package devel Group: Development/Libraries Summary: Static libraries and headers for %{name} Requires: %{name} = %{version} %description devel The core libraries and proxy for NX This package contains static libraries and header files need for development. %prep %setup -q -c -a 0 -a 1 -a 2 -a 3 -a 4 -a 5 -a 6 -a 8 -a 9 -a 10 -a 11 -a 12 -a 13 %patch0 -p0 %patch2 -p1 pushd freenx-%{version} >/dev/null popd >/dev/null %define __find_requires %{_builddir}/%{name}-%{version}/find_requires.sh cat > find_requires.sh < find_provides.sh << _EOF #! /bin/sh grep -v libexpat | \ grep -v libfontconfig |\ grep -v libICE |\ grep -v libSM |\ grep -v libX11 |\ grep -v libXaw |\ grep -v libXcursor |\ grep -v libXext |\ grep -v libXfont |\ grep -v libXft |\ grep -v libXmu |\ grep -v libXmuu |\ grep -v libXpm |\ grep -v libXrender |\ grep -v libXt |\ grep -v libXtst |\ %{_prefix}/lib/rpm/find-provides %{buildroot} %{_target_cpu} _EOF chmod +x find_provides.sh %build # # build nx-X11 # pushd nx-X11 sed -i "s|#define ProjectRoot .*|#define ProjectRoot /usr/nx-X11|" config/cf/site.def echo "#define EtcX11Directory /etc/nx-X11" >> config/cf/site.def echo "#define NothingOutsideProjectRoot YES" >> config/cf/site.def make CC="ccache %{cc_ver}" CXX="ccache %{cxx_ver}" %{_smp_mflags} World popd # # build nxproxy # pushd nxproxy ./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir} make CC=%{cc_ver} %{?_smp_mflags} popd # # build nxdesktop # pushd nxdesktop ./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir} make %{?_smp_mflags} popd # # build nxviewer # #pushd nxviewer #xmkmf #make %{?_smp_mflags} #popd # # build nxssh # pushd nxssh ./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir} make %{?_smp_mflags} popd %install [ "%{buildroot}" != / ] && rm -rf %{buildroot} # # install nx-X11 # pushd nx-X11 make install DESTDIR=%{buildroot} popd # # install nxproxy # pushd nxproxy make install man1dir=%buildroot/%_mandir/man1 bindir=%buildroot/usr/nx-X11/bin popd # # install nxcomp # pushd nxcomp cp libXcomp.* %buildroot/usr/nx-X11/lib/ popd # # install nxcompext # pushd nxcompext cp libXcompext.* %buildroot/usr/nx-X11/lib/ popd # # install nxscripts # mkdir %buildroot/usr/nx-X11/scripts/ pushd nxscripts install * %buildroot/usr/nx-X11/scripts/ popd # # install nxdesktop # pushd nxdesktop mv doc/rdesktop.1 doc/nxdesktop.1 make install DESTDIR=%buildroot popd # create a needed symlink to fonts and keyboard mappings ln -s ../../../X11R6/lib/X11/fonts %{buildroot}/usr/nx-X11/lib/X11/fonts ln -s ../../../../etc/X11/xkb %{buildroot}/usr/nx-X11/lib/X11/xkb # # install nxssh # pushd nxssh cp nxssh %buildroot/usr/nx-X11/bin/ popd mkdir -p %{buildroot}%{_bindir} NXPREFIX=%{buildroot}/usr/nx-X11 # Libraries #cp -a nx-X11/lib/X11/libX11.so* ${NXPREFIX}/lib #cp -a nx-X11/lib/Xext/libXext.so* ${NXPREFIX}/lib #cp -a nx-X11/lib/Xrender/libXrender.so* ${NXPREFIX}/lib #cp -a nxcomp/libXcomp.so* ${NXPREFIX}/lib #cp -a nxcompext/libXcompext.so* ${NXPREFIX}/lib # binaries #cp -a nx-X11/programs/Xserver/nxagent ${NXPREFIX}/bin #cp -a nxproxy/nxproxy ${NXPREFIX}/bin #cp -a nxdesktop/nxdesktop ${NXPREFIX}/bin #cp -a nxviewer/nxviewer ${NXPREFIX}/bin #cp -a nxviewer/nxpasswd ${NXPREFIX}/bin # install freenx scripts cp -a freenx*/nxnode $NXPREFIX/bin cp -a freenx*/nxserver $NXPREFIX/bin cp -a freenx*/nxsetup $NXPREFIX/bin cp -a freenx*/nxkeygen $NXPREFIX/bin cp -a freenx*/nxnode-login $NXPREFIX/bin cp -a freenx*/nxloadconfig $NXPREFIX/bin cp -a freenx*/nxclient $NXPREFIX/bin mkdir -p %{buildroot}%{_bindir} ln -s %{_prefix}/nx-X11/bin/nxnode %{buildroot}%{_bindir} ln -s %{_prefix}/nx-X11/bin/nxserver %{buildroot}%{_bindir} ln -s %{_prefix}/nx-X11/bin/nxsetup %{buildroot}%{_bindir} ln -s %{_prefix}/nx-X11/bin/nxkeygen %{buildroot}%{_bindir} ln -s %{_prefix}/nx-X11/bin/nxnode-login %{buildroot}%{_bindir} ln -s %{_prefix}/nx-X11/bin/nxloadconfig %{buildroot}%{_bindir} ln -s %{_prefix}/nx-X11/bin/nxclient %{buildroot}%{_bindir} install -d -m 0750 %{buildroot}/var/lib/nxserver install -d -m 0750 %{buildroot}/var/log/nxserver # config file cp -a freenx*/node.conf.sample ${NXPREFIX}/etc %clean [ "%{buildroot}" != / ] && rm -rf %{buildroot} %pre groupadd nx -g %{nx_groupid} 2>/dev/null || true useradd nx -u %{nx_userid} -g nx -c "freenx user" \ -d /var/lib/nxserver/home -s /usr/nx-X11/bin/nxserver 2>/dev/null || true exit 0 %post # new install if [ $1 -ge 1 ]; then %{_bindir}/nxsetup --install --setup-nomachine-key --uid %{nx_userid} >/dev/null fi exit 0 %preun # erase if [ $1 -eq 0 ]; then %{_bindir}/nxsetup --uninstall >/dev/null fi exit 0 %postun # erase if [ $1 -eq 0 ]; then userdel nx 2>/dev/null || true fi exit 0 %files %defattr(-,root,root) %{_bindir}/* %{_prefix}/nx-X11/etc/* %{_prefix}/nx-X11/bin/* %{_prefix}/nx-X11/lib/*.so.* %{_prefix}/nx-X11/lib/X11/* %{_prefix}/nx-X11/lib/X11/fonts %{_prefix}/nx-X11/lib/X11/xkb %{_prefix}/nx-X11/scripts/* # below nxdesktop files (maybe to be split into a separate package) %{_prefix}/nx-X11/share/keymaps-windows/* %{_mandir}/man1/nxdesktop.* %dir %attr(0750,nx,nx) /var/lib/nxserver %dir %attr(0750,nx,nx) /var/log/nxserver %exclude /usr/include/GL %exclude /etc/X11/xserver/SecurityPolicy %files devel %defattr(-,root,root) %{_prefix}/nx-X11/include/* %{_prefix}/nx-X11/lib/*.a %{_prefix}/nx-X11/lib/*.so %{_prefix}/nx-X11/lib/pkgconfig/*.pc %changelog * Mon Aug 29 2005 Silvan Calarco 0.4.2-2qilnx - fixed uid and gid numbering, the latter was conflicting with packager group * Thu Aug 18 2005 Silvan Calarco 0.4.1-1qilnx - renamed to freenx-server - rebuild with freeNX 0.4.1 * Mon Mar 21 2005 Silvan Calarco 1.4.0-4qilnx - fixed a keyboard problem * Sun Mar 20 2005 Silvan Calarco 1.4.0-3qilnx - post: nxsetup script execution with default nomachine key * Wed Mar 16 2005 Silvan Calarco 1.4.0-2qilnx - added nx-ssh module * Fri Dec 03 2004 Silvan Calarco 1.4.0-1qilnx - package created by autospec