openmamba logo
GNU/Linux distribution
distribution community wiki forum bugs events products
software   community wiki forum bugs events products
packages freenx-server.spec
      Pages: < 1 >  DOWNLOAD      
%define        nx_userid 65029
%define        nx_groupid 65029
%define	       cc_ver gcc
%define        cxx_ver g++
%define        freenx_version %version
%define        nx_version 3.3.0
Name:          freenx-server
Version:       0.7.3
Release:       2mamba
Summary:       The core libraries and proxy for NX
Group:         System/Libraries
Vendor:        openmamba
Distribution:  openmamba
Packager:      Silvan Calarco <silvan.calarco@...>
URL:           http://www.nomachine.com
Source0:       http://64.34.161.181/download/%{nx_version}/sources/nxproxy-%{nx_version}-2.tar.gz
Source1:       http://64.34.161.181/download/%{nx_version}/sources/nxcomp-%{nx_version}-3.tar.gz
Source2:       http://64.34.161.181/download/%{nx_version}/sources/nxcompext-%{nx_version}-2.tar.gz
Source3:       http://64.34.161.181/download/%{nx_version}/sources/nxssh-%{nx_version}-1.tar.gz
Source4:       http://64.34.161.181/download/%{nx_version}/sources/nxuexec-%{nx_version}-1.tar.gz
Source5:       http://64.34.161.181/download/%{nx_version}/sources/nxspool-%{nx_version}-1.tar.gz
Source6:       http://64.34.161.181/download/%{nx_version}/sources/nxsensor-%{nx_version}-1.tar.gz
Source7:       http://64.34.161.181/download/%{nx_version}/sources/nxbuilder-%{nx_version}-1.tar.gz
Source8:       http://64.34.161.181/download/%{nx_version}/sources/nxservice-%{nx_version}-1.tar.gz
Source9:       http://64.34.161.181/download/%{nx_version}/sources/nxcompsh-%{nx_version}-1.tar.gz
Source10:      http://64.34.161.181/download/%{nx_version}/sources/nxkill-%{nx_version}-1.tar.gz
Source11:      http://64.34.161.181/download/%{nx_version}/sources/nxcompshad-%{nx_version}-2.tar.gz
Source12:      http://64.34.161.181/download/%{nx_version}/sources/nx-X11-%{nx_version}-3.tar.gz
Source13:      http://64.34.161.181/download/%{nx_version}/sources/nxwin-%{nx_version}-2.tar.gz
Source14:      http://64.34.161.181/download/%{nx_version}/sources/nxauth-%{nx_version}-1.tar.gz
Source15:      http://64.34.161.181/download/%{nx_version}/sources/nx-X11-compat-%{nx_version}-1.tar.gz
Source16:      http://64.34.161.181/download/%{nx_version}/sources/nxagent-%{nx_version}-6.tar.gz
Source17:      http://64.34.161.181/download/%{nx_version}/sources/nxesd-%{nx_version}-1.tar.gz
Source18:      http://64.34.161.181/download/%{nx_version}/sources/nxscripts-%{nx_version}-1.tar.gz
Source19:      http://download.berlios.de/freenx/freenx-server-%{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
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libgcc
BuildRequires: libjpeg-devel
BuildRequires: libopenssl-devel
BuildRequires: libpng-devel
BuildRequires: libstdc++6-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
BuildRequires: ccache >= 2.3
Requires:      netcat >= 1.10
Requires:      xorg-apps-xdm
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 -a0 -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a12 -a13 -a14 -a16 -a17 -a18 -a19 -D -T
:<< _EOF
#%patch0 -p0
#%patch2 -p1

%define __find_requires %{_builddir}/%{name}-%{version}/find_requires.sh
cat > find_requires.sh <<EOF
#! /bin/sh
%{_prefix}/lib/rpm/find-requires %{buildroot} %{_target_cpu} |\
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 
EOF

chmod +x find_requires.sh

%define __find_provides %{_builddir}/%{name}-%{version}/find_provides.sh
cat > 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
:<< __EOF

%build
:<< __EOF
#
# build nx-X11
#
cd 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 
cd ..

#
# build nxproxy
#
cd nxproxy
./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir}
make CC=%{cc_ver} %{?_smp_mflags}
cd ..


##
## build nxdesktop
##
#cd nxdesktop
#./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir}
#make %{?_smp_mflags}
#cd ..

#
# build nxviewer
#
#pushd nxviewer
#xmkmf
#make %{?_smp_mflags}
#popd

#
# build nxssh
#
cd nxssh
./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir}
make %{?_smp_mflags}
cd ..
__EOF

##
## build nxcompsh
##
#cd nxcompsh
#./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir}
#make CC=%{cc_ver} %{?_smp_mflags}
#cd ..

#
# build nxcompshad
#
cd nxcompshad
./configure --prefix=%{_prefix}/nx-X11 --mandir=%{_mandir}
make CC=%{cc_ver} %{?_smp_mflags}
cd ..

#
# build freenx-server
#
cd freenx-server-%{version}
make CC=%{cc_ver} %{?_smp_mflags}
cd ..

%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}

#
# install nx-X11
#
cd nx-X11
make install DESTDIR=%{buildroot}
cd ..

#
# install nxproxy
#
cd nxproxy
make install man1dir=%buildroot/%_mandir/man1 bindir=%buildroot/usr/nx-X11/bin
cd ..

#
# install nxcomp
#
cd nxcomp
cp libXcomp.* %buildroot/usr/nx-X11/lib/
cd ..

##
## install nxcompsh
##
#cd nxcompsh
#cp libXcompsh.* %buildroot/usr/nx-X11/lib/
#cd ..

#
# install nxcompshad
#
cd nxcompshad
cp libXcompshad.* %buildroot/usr/nx-X11/lib/
cd ..

#
# install nxcompext
#
cd nxcompext
cp libXcompext.* %buildroot/usr/nx-X11/lib/
cd ..

#
# install nxscripts
#
mkdir %buildroot/usr/nx-X11/scripts/
cd nxscripts
install * %buildroot/usr/nx-X11/scripts/
cd ..

##
## install nxdesktop
##
#cd nxdesktop
#mv doc/rdesktop.1 doc/nxdesktop.1
#make install DESTDIR=%buildroot
#cd ..

# 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
#
cd nxssh
cp nxssh %buildroot/usr/nx-X11/bin/
cd ..

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*/nxcups-gethost $NXPREFIX/bin
cp -a freenx*/nxdesktop_helper $NXPREFIX/bin
cp -a freenx*/nxdialog $NXPREFIX/bin
cp -a freenx*/nxkeygen $NXPREFIX/bin
cp -a freenx*/nxloadconfig $NXPREFIX/bin
cp -a freenx*/nxnode $NXPREFIX/bin
cp -a freenx*/nxnode-login $NXPREFIX/bin
cp -a freenx*/nxprint $NXPREFIX/bin
cp -a freenx*/nxredir/nxredir $NXPREFIX/bin
cp -a freenx*/nxserver $NXPREFIX/bin
cp -a freenx*/nxserver-helper/nxserver-helper $NXPREFIX/bin
cp -a freenx*/nxserver-suid/nxserver-suid $NXPREFIX/bin
cp -a freenx*/nxserver-usermode $NXPREFIX/bin
cp -a freenx*/nx-session-launcher $NXPREFIX/bin
cp -a freenx*/nxsetup $NXPREFIX/bin
cp -a freenx*/nxviewer_helper $NXPREFIX/bin
#cp -a freenx*/nxviewer-passwd/nxviewer-passwd $NXPREFIX/bin

mkdir -p %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxagent %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxcups-gethost %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxdesktop_helper %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxdialog %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxkeygen %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxloadconfig %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxnode %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxnode-login %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxprint %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxredir %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxserver %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxserver-helper %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxserver-suid %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxserver-usermode %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nx-session-launcher %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxsetup %{buildroot}%{_bindir}
ln -s %{_prefix}/nx-X11/bin/nxviewer_helper %{buildroot}%{_bindir}
#ln -s %{_prefix}/nx-X11/bin/nxviewer-passwd %{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

%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
* Thu Dec 11 2008 Silvan Calarco <silvan.calarco@...> 0.7.3-2mamba
- ... add a changelog entry

* Thu Dec 11 2008 Silvan Calarco <silvan.calarco@...> 0.7.3-1mamba
- update to 0.7.3

* Mon Aug 29 2005 Silvan Calarco <silvan.calarco@...> 0.4.2-2qilnx
- fixed uid and gid numbering, the latter was conflicting with packager group

* Thu Aug 18 2005 Silvan Calarco <silvan.calarco@...> 0.4.1-1qilnx
- renamed to freenx-server
- rebuild with freeNX 0.4.1

* Mon Mar 21 2005 Silvan Calarco <silvan.calarco@...> 1.4.0-4qilnx
- fixed a keyboard problem

* Sun Mar 20 2005 Silvan Calarco <silvan.calarco@...> 1.4.0-3qilnx
- post: nxsetup script execution with default nomachine key

* Wed Mar 16 2005 Silvan Calarco <silvan.calarco@...> 1.4.0-2qilnx
- added nx-ssh module

* Fri Dec 03 2004 Silvan Calarco <silvan.calarco@...> 1.4.0-1qilnx
- package created by autospec