 |
freenx-server.spec |
|
%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
|
|
|