fix vncserver@ service template to use PIDFile and support pam [release 1.3.10-5mamba;Sun May 11 2014]
This commit is contained in:
parent
fccde2cc73
commit
3683286201
@ -1,2 +1,5 @@
|
||||
# tightvnc
|
||||
|
||||
Virtual Network Computing (VNC) is a remote display system which allows you to view a computing 'desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures. TightVNC is an enhanced VNC distribution.
|
||||
This package contains a client which will allow you to connect to other desktops running a VNC or a TightVNC server.
|
||||
|
||||
|
11
tightvnc-1.3.10-arm.patch
Normal file
11
tightvnc-1.3.10-arm.patch
Normal file
@ -0,0 +1,11 @@
|
||||
diff -ru vnc_unixsrc.orig//Xvnc/configure vnc_unixsrc/Xvnc/configure
|
||||
--- vnc_unixsrc.orig//Xvnc/configure 2010-12-01 01:24:05.000000000 +0000
|
||||
+++ vnc_unixsrc/Xvnc/configure 2010-12-01 01:20:19.000000000 +0000
|
||||
@@ -39,6 +39,7 @@
|
||||
echo "#define OSMinorVersion $MINOR" >> config/cf/platform.def
|
||||
echo "#define OSTeenyVersion $TEENY" >> config/cf/platform.def
|
||||
echo "#define LinuxCLibMajorVersion 6" >> config/cf/platform.def
|
||||
+echo "#define ArmArchitecture 1" >> config/cf/platform.def
|
||||
|
||||
if [ "$SYSNAME" = AIX ]
|
||||
then
|
24
tightvnc-1.3.10-config.patch
Normal file
24
tightvnc-1.3.10-config.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -Nru vnc_unixsrc.orig//tightvncserver.conf vnc_unixsrc/tightvncserver.conf
|
||||
--- vnc_unixsrc.orig//tightvncserver.conf 2009-02-12 05:27:18.000000000 +0100
|
||||
+++ vnc_unixsrc/tightvncserver.conf 2010-11-30 22:34:35.879961723 +0100
|
||||
@@ -19,16 +19,16 @@
|
||||
# $geometry = "1024x768";
|
||||
# $depth = 24;
|
||||
# $desktopName = "X";
|
||||
-# $vncClasses = "/usr/local/vnc/classes";
|
||||
+$vncClasses = "/usr/share/vnc/classes";
|
||||
# $vncUserDir = "$ENV{HOME}/.vnc";
|
||||
# $fontPath = "unix/:7100";
|
||||
# $authType = "-rfbauth $vncUserDir/passwd";
|
||||
-# $colorPath = "/usr/lib/X11/rgb";
|
||||
+$colorPath = "/usr/share/X11/rgb.txt";
|
||||
|
||||
## Here is another example of setting the font path:
|
||||
#
|
||||
-# $fontPath = "/usr/lib/X11/fonts/misc/"
|
||||
-# $fontPath = "$fontPath,/usr/lib/X11/fonts/75dpi/";
|
||||
+$fontPath = "/usr/share/fonts/X11/misc/"
|
||||
+$fontPath = "$fontPath,/usr/share/fonts/X11/75dpi/";
|
||||
|
||||
## You might wish to make your vnc directory under /tmp, to make sure
|
||||
## passwords are always kept on the local filesystem. To do that, just
|
184
tightvnc.spec
Normal file
184
tightvnc.spec
Normal file
@ -0,0 +1,184 @@
|
||||
### AUTOUPDATE-OFF: 6
|
||||
Name: tightvnc
|
||||
Version: 1.3.10
|
||||
Release: 5mamba
|
||||
Summary: A VNC distribution with many new features, improvements, and bugfixes over VNC
|
||||
Group: Graphical Desktop/Applications/Networking
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: http://www.tightvnc.com/
|
||||
Source: http://downloads.sourceforge.net/sourceforge/vnc-tight/tightvnc-%{version}_unixsrc.tar.bz2
|
||||
Source1: vncserver@.service
|
||||
Patch0: %{name}-1.3.10-config.patch
|
||||
Patch1: %{name}-1.3.10-arm.patch
|
||||
License: GPL
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libICE-devel
|
||||
BuildRequires: libSM-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXaw-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: libXmu-devel
|
||||
BuildRequires: libXpm-devel
|
||||
BuildRequires: libXt-devel
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libwrap-devel
|
||||
BuildRequires: libz-devel
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: imake
|
||||
BuildRequires: gccmakedep
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
Virtual Network Computing (VNC) is a remote display system which allows you to view a computing 'desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures. TightVNC is an enhanced VNC distribution.
|
||||
This package contains a client which will allow you to connect to other desktops running a VNC or a TightVNC server.
|
||||
|
||||
%package server
|
||||
Summary: TightVNC server
|
||||
Obsoletes: vnc-server
|
||||
Group: Graphical Desktop/Applications/Networking
|
||||
Requires: xorg-fonts-base
|
||||
Requires: xorg-fonts-75dpi
|
||||
Requires: xorg-apps-base
|
||||
Requires: xauth
|
||||
Requires: rgb
|
||||
|
||||
%description server
|
||||
The VNC system allows you to access the same desktop from a wide variety of platforms.
|
||||
TightVNC is an enhanced VNC distribution. This package is a TightVNC server, allowing others to access the desktop on your machine.
|
||||
|
||||
%prep
|
||||
%setup -q -n vnc_unixsrc
|
||||
%patch0 -p1
|
||||
%ifarch arm
|
||||
%patch1 -p1
|
||||
%endif
|
||||
perl -pi -e "s|/usr/local/vnc/classes|%{_datadir}/vnc/classes|" vncserver
|
||||
|
||||
%build
|
||||
# Use xinit's Xclients script to start the session (bug #52711)
|
||||
patch < vnc-xclients.patch
|
||||
|
||||
xmkmf
|
||||
make Makefiles LIBDIR=%{_libdir}/X11
|
||||
%make World \
|
||||
CC=%{_host}-gcc \
|
||||
CXX=%{_host}-c++ \
|
||||
LIBDIR=%{_libdir}/X11
|
||||
|
||||
cd Xvnc
|
||||
%configure
|
||||
|
||||
make World \
|
||||
EXTRA_LIBRARIES="-lwrap -lnss_nis -DArmArchitecture" \
|
||||
EXTRA_DEFINES="-DUSE_LIBWRAP=1" \
|
||||
INCROOT=%{_includedir}/X11 \
|
||||
SHLIBDIR=%{_libdir}/X11 \
|
||||
MANPATH=%{_mandir}
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%makeinstall
|
||||
install -d %{buildroot}%{_mandir}/man1 %{buildroot}%{_bindir}
|
||||
./vncinstall %{buildroot}%{_bindir} %{buildroot}%{_mandir}
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/vnc
|
||||
cp -aR classes %{buildroot}%{_datadir}/vnc
|
||||
|
||||
install -D -m0644 tightvncserver.conf %{buildroot}%{_sysconfdir}/tightvncserver.conf
|
||||
#install -D -m755 vncserver.init %{buildroot}%{_initrddir}/vncserver
|
||||
|
||||
install -d %{buildroot}%{_sysconfdir}/sysconfig
|
||||
cat > %{buildroot}%{_sysconfdir}/sysconfig/vncservers << EOF
|
||||
# The VNCSERVERS variable is a list of display:user pairs.
|
||||
#
|
||||
# Uncomment the line below to start a VNC server on display :1
|
||||
# as my 'myusername' (adjust this to your own). You will also
|
||||
# need to set a VNC password; run 'man vncpasswd' to see how
|
||||
# to do that.
|
||||
#
|
||||
# DO NOT RUN THIS SERVICE if your local area network is
|
||||
# untrusted! For a secure way of using VNC, see
|
||||
# <URL:http://www.uk.research.att.com/vnc/sshvnc.html>.
|
||||
|
||||
# VNCSERVERS="1:myusername"
|
||||
EOF
|
||||
chmod 644 %{buildroot}%{_sysconfdir}/sysconfig/vncservers
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
cat > %{buildroot}%{_datadir}/applications/vncviewer.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Name=VNC Viewer
|
||||
Comment=VNC client application
|
||||
Exec=/usr/bin/vncviewer
|
||||
Terminal=0
|
||||
Type=Application
|
||||
Categories=Application;Network;
|
||||
EOF
|
||||
|
||||
install -D -m0755 %{SOURCE1} %{buildroot}/lib/systemd/system/vncserver@.service
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%post server
|
||||
if [ "$1" -ge 1 ]; then
|
||||
systemctl -q daemon-reload
|
||||
fi
|
||||
|
||||
%postun server
|
||||
if [ "$1" -eq "0" ]; then
|
||||
systemctl -q daemon-reload
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/vncviewer
|
||||
%{_datadir}/applications/vncviewer.desktop
|
||||
%{_mandir}/man1/vncviewer.1*
|
||||
%doc LICENCE.TXT
|
||||
#% doc ChangeLog README
|
||||
|
||||
%files server
|
||||
%defattr(-,root,root)
|
||||
#%attr(0755,root,root) %config /etc/rc.d/init.d/vncserver
|
||||
%config(noreplace) %{_sysconfdir}/tightvncserver.conf
|
||||
%config(noreplace) /etc/sysconfig/vncservers
|
||||
%{_bindir}/Xvnc
|
||||
%{_bindir}/vncserver
|
||||
%{_bindir}/vncpasswd
|
||||
%{_bindir}/vncconnect
|
||||
%dir %{_datadir}/vnc
|
||||
%{_datadir}/vnc/classes/*.class
|
||||
%{_datadir}/vnc/classes/VncViewer.jar
|
||||
%{_datadir}/vnc/classes/index.vnc
|
||||
/lib/systemd/system/vncserver@.service
|
||||
%{_mandir}/man1/Xvnc.1*
|
||||
%{_mandir}/man1/vncserver.1*
|
||||
%{_mandir}/man1/vncconnect.1*
|
||||
%{_mandir}/man1/vncpasswd.1*
|
||||
%doc LICENCE.TXT
|
||||
#README WhatsNew ChangeLog
|
||||
|
||||
%changelog
|
||||
* Sun May 11 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.10-5mamba
|
||||
- fix vncserver@ service template to use PIDFile and support pam
|
||||
|
||||
* Sat May 03 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.10-4mamba
|
||||
- fix X11 font path
|
||||
- add systemd service file
|
||||
|
||||
* Sat Dec 04 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.10-3mamba
|
||||
- vncserver: added requirement for X11 fonts and apps
|
||||
|
||||
* Tue Nov 30 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.10-2mamba
|
||||
- added configuration patch to fix fonts and rgb.txt paths and install it in /etc
|
||||
|
||||
* Wed Jun 17 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.10-1mamba
|
||||
- update to 1.3.10
|
||||
|
||||
* Tue Sep 11 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.9_unixsrc-1mamba
|
||||
- package created by autospec
|
32
vncserver@.service
Normal file
32
vncserver@.service
Normal file
@ -0,0 +1,32 @@
|
||||
# The vncserver service unit file
|
||||
#
|
||||
# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
|
||||
# 2. Edit User= and PIDFile=
|
||||
# ("User=foo")
|
||||
# 3. Edit and vncserver parameters appropriately
|
||||
# ("/usr/bin/vncserver %i -arg1 -arg2 -argn")
|
||||
# 4. Run `systemctl --system daemon-reload`
|
||||
# 5. Run `systemctl enable vncserver@:<display>.service`
|
||||
#
|
||||
# DO NOT RUN THIS SERVICE if your local area network is untrusted!
|
||||
#
|
||||
# See the wiki page for more on security
|
||||
# https://wiki.archlinux.org/index.php/Vncserver
|
||||
|
||||
[Unit]
|
||||
Description=Remote desktop service (VNC)
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=root
|
||||
PAMName=login
|
||||
|
||||
# Clean any existing files in /tmp/.X11-unix environment
|
||||
ExecStartPre=-/usr/bin/vncserver -kill %i
|
||||
ExecStart=/usr/bin/vncserver %i
|
||||
PIDFile=/root/.vnc/%H%i.pid
|
||||
ExecStop=/usr/bin/vncserver -kill %i
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user