[X2Go-Commits] [x2goserver] 01/01: Merge-in x2goserver.spec from master branch...

git-admin at x2go.org git-admin at x2go.org
Tue Oct 28 14:19:46 CET 2014


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch release/4.0.1.x
in repository x2goserver.

commit 996fb63d94f97677338e9e78f6ec279f68fe8994
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Oct 28 14:08:58 2014 +0100

    Merge-in x2goserver.spec from master branch...
    
      + Use proper if... then... clauses.
      + For SUSE builds: Add to R: shadow (useradd, groupadd).
      + Replace historical "egrep" with "grep -E".
      + Systemd support for SUSE >= 12.10.
      + Set %defattr macro for every bin:package.
      + SUSE and Fedora/RHEL have different package group names.
      + Add x2goserver-rpmlintrc file to handle some rpmlint errors and warnings.
      + SUSE has openssh, but no openssh-server.
      + Add to R (x2goserver): perl-X2Go-Server.
      + Add to R (diverse): perl(Config::Simple), perl(Switch) and
        perl(Capture::Tiny).
      + Add to R (x2goserver): perl(File::BaseDir).
---
 debian/changelog |   12 ++++
 x2goserver.spec  |  189 +++++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 170 insertions(+), 31 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 4c89683..ed4ba47 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -47,6 +47,18 @@ x2goserver (4.0.1.19-0x2go1) UNRELEASED; urgency=medium
     + Don't mention /etc/x2go/x2gosql/sql twice (directly and with wildcard).
     + No %{_sysconfdir}/x2go/Xclients.d on SUSE systems.
     + Use %{_localstatedir} instead of %{_sharedstatedir}.
+    + Use proper if... then... clauses.
+    + For SUSE builds: Add to R: shadow (useradd, groupadd).
+    + Replace historical "egrep" with "grep -E".
+    + Systemd support for SUSE >= 12.10.
+    + Set %defattr macro for every bin:package.
+    + SUSE and Fedora/RHEL have different package group names.
+    + Add x2goserver-rpmlintrc file to handle some rpmlint errors and warnings.
+    + SUSE has openssh, but no openssh-server.
+    + Add to R (x2goserver): perl-X2Go-Server.
+    + Add to R (diverse): perl(Config::Simple), perl(Switch) and
+      perl(Capture::Tiny).
+    + Add to R (x2goserver): perl(File::BaseDir).
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 07 Oct 2014 15:35:38 +0200
 
diff --git a/x2goserver.spec b/x2goserver.spec
index cd5e41c..45c1103 100644
--- a/x2goserver.spec
+++ b/x2goserver.spec
@@ -3,16 +3,20 @@ Version:        4.0.1.19
 Release:        0.0x2go1%{?dist}
 Summary:        X2Go Server
 
+%if 0%{?fedora} || 0%{?rhel}
 Group:          Applications/Communications
 License:        GPLv2+
+%else
+Group:          Productivity/Networking/Remote Desktop
+License:        GPL-2.0+
+%endif
+
 URL:            http://www.x2go.org
 Source0:        http://code.x2go.org/releases/source/%{name}/%{name}-%{version}.tar.gz
-# git clone git://code.x2go.org/x2goserver
-# cd x2goserver
-# git archive --prefix=x2goserver-4.1.0.0-20130722git65169c9/ 65169c9d65b117802e50631be0bbd719163d969e | gzip > ../x2goserver-4.1.0.0-20130722git65169c9.tar.gz
-#Source0:        %{name}/%{name}-%{version}-%{checkout}.tar.gz
-Source1:        x2goserver.service
-Source2:        x2goserver.init
+Source1:        %{name}.service
+Source2:        %{name}.init
+Source3:        %{name}-rpmlintrc
+
 %if 0%{?el5}
 # For compatibility with EPEL5
 BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
@@ -20,30 +24,56 @@ BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 
 BuildRequires:  desktop-file-utils
 BuildRequires:  perl(ExtUtils::MakeMaker)
+
 %if 0%{?fedora} || 0%{?rhel} >= 7
 BuildRequires:  man2html-core
-BuildRequires:  systemd
 %else
 BuildRequires:  man
 %endif
+
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210
+BuildRequires:  systemd
+%endif
+
+# for useradd/groupadd
+%if 0%{?suse_version}
+BuildRequires:  pwdutils
+Requires(pre):  pwdutils
+%else
+BuildRequires:  shadow-utils
+Requires(pre):  shadow-utils
+%endif
+
 # So XSESSIONDIR gets linked
-%if 0%{suse_version}
+%if 0%{?suse_version}
 BuildRequires:  xinit
 %else
 BuildRequires:  xorg-x11-xinit
-%fi
+%endif
+
+%if 0%{?suse_version}
+Requires:       openssh
+%else
+Requires:       openssh-server
+%endif
+
+%if 0%{?suse_version}
+%if 0%{?suse_version} < 1140
+Requires:       perl = %{perl_version}
+%else
+%{perl_requires}
+%endif
+%else
+Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+%endif
+
 # For x2goruncommand - for now
 Requires:       bc
 # For x2goshowblocks
 Requires:       lsof
 # For netstat in x2goresume-session
 Requires:       net-tools
-Requires:       openssh-server
-%if 0%{suse_version}
-Requires:       perl
-%else
-Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
-%endif
+Requires:       perl(Try::Tiny)
 # We need a database
 # For killall in x2gosuspend-session
 Requires:       psmisc
@@ -54,17 +84,37 @@ Requires:       sshfs
 # For /etc/sudoers.d
 Requires:       sudo
 Requires:       x2goagent >= 3.5.0.25
-Requires:       xorg-x11-fonts-misc
-Requires:       xorg-x11-xauth
-Requires:       perl(File::Which)
-Requires(pre):  shadow-utils
 Requires(post): grep
 Requires(post): perl(DBD::SQLite)
+Requires:       perl(DBD::Pg)
+Requires:       perl(File::Which)
+Requires:       perl(File::BaseDir)
+
+Requires:       perl(Config::Simple)
+Requires:       perl(Switch)
+
+%if 0%{?suse_version}
+%if 0%{?suse_version} >= 1220
+Requires:       setxkbmap xmessage xwininfo
+%else
+Requires:       xorg-x11
+%endif
+%else
+Requires:       xorg-x11-fonts-misc
+Requires:       xorg-x11-xauth
+Requires:       which
+%endif
+
 %if 0%{?fedora} || 0%{?rhel} >= 7
 Requires(post): systemd
 Requires(preun): systemd
 Requires(postun): systemd
 %endif
+
+%if 0%{?suse_version} >= 1210
+%{?systemd_requires}
+%endif
+
 Requires:       x2goserver-extensions
 Requires:       x2goserver-xsession
 #Recommands:       x2goserver-fmbindings
@@ -72,6 +122,12 @@ Requires:       x2goserver-xsession
 
 %{?perl_default_filter}
 
+Requires:       perl(Capture::Tiny)
+%if 0%{?suse_version}
+Requires(pre):  permissions
+%endif
+
+
 %description
 X2Go is a server based computing environment with
     - session resuming
@@ -88,12 +144,20 @@ administrations.
 %package printing
 Summary:        X2Go Server (printing support)
 Requires:       %{name} = %{version}-%{release}
-%if 0%{suse_version}
-Requires:       perl
+%if 0%{?suse_version}
+%if 0%{?suse_version} < 1140
+Requires:       perl = %{perl_version}
+%else
+%{perl_requires}
+%endif
 %else
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
 %endif
+%if 0%{?fedora} || 0%{?rhel}
 Group:          Applications/Communications
+%else
+Group:          Productivity/Networking/Remote Desktop
+%endif
 
 %description printing
 X2Go is a server based computing environment with
@@ -119,7 +183,11 @@ server).
 %package extensions
 Summary:        X2Go Server (extension support)
 Requires:       %{name} = %{version}-%{release}
+%if 0%{?fedora} || 0%{?rhel}
 Group:          Applications/Communications
+%else
+Group:          Productivity/Networking/Remote Desktop
+%endif
 
 %description extensions
 X2Go is a server based computing environment with
@@ -142,8 +210,16 @@ without lack of features.
 Summary:        X2Go Server (Xsession runner)
 Requires:       %{name} = %{version}-%{release}
 # For /etc/X11/Xresources
+%if 0%{?suse_version}
+Requires:       xinit
+%else
 Requires:       xorg-x11-xinit
+%endif
+%if 0%{?fedora} || 0%{?rhel}
 Group:          Applications/Communications
+%else
+Group:          Productivity/Networking/Remote Desktop
+%endif
 
 %description xsession
  X2Go is a server based computing environment with
@@ -162,6 +238,7 @@ Group:          Applications/Communications
  startups and many more Xsession related features on
  X2Go session login automagically.
 
+
 %package fmbindings
 Summary:        X2Go Server (file manager bindings)
 Requires:       %{name} = %{version}-%{release}
@@ -169,7 +246,11 @@ Requires:       xdg-utils
 Requires:       desktop-file-utils
 Requires(post):   desktop-file-utils
 Requires(postun): desktop-file-utils
+%if 0%{?fedora} || 0%{?rhel}
 Group:          Applications/Communications
+%else
+Group:          Productivity/Networking/Remote Desktop
+%endif
 
 %description fmbindings
 X2Go is a server based computing environment with
@@ -212,21 +293,21 @@ make CFLAGS="%{optflags} -fPIC" %{?_smp_mflags} PERL_INSTALLDIRS=vendor PREFIX=%
 %install
 make install DESTDIR=%{buildroot} PREFIX=%{_prefix}
 
-# Make sure the .packlist file is removed from %{perl_vendorarch}...
-#rm -f %{buildroot}%{perl_vendorarch}/auto/x2goserver/.packlist
+# Make sure the .packlist file is removed from %%{perl_vendorarch}...
+rm -f %{buildroot}%{perl_vendorarch}/auto/x2goserver/.packlist
 
 # Remove placeholder files (in a way that works on EPEL-5, as well)
 find %{buildroot}%{_libdir}/x2go/extensions/ -type f -name ".placeholder" | while read file; do rm -f "$file"; done
 
 # x2gouser homedir, state dir
-mkdir -p %{buildroot}%{_localstatedir}/x2go
+mkdir -p %{buildroot}%{_localstatedir}/lib/x2go/
 # Create empty session file for %%ghost
-touch %{buildroot}%{_localstatedir}/x2go/x2go_sessions
+touch %{buildroot}%{_localstatedir}/lib/x2go/x2go_sessions
 
 # Printing spool dir
 mkdir -p %{buildroot}%{_localstatedir}/spool/x2goprint
 
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210
 # System.d session cleanup script
 mkdir -p %{buildroot}%{_unitdir}
 install -pm0644 %SOURCE1 %{buildroot}%{_unitdir}
@@ -239,6 +320,9 @@ install -pm0755 %SOURCE2 %{buildroot}%{_initrddir}/x2goserver
 mkdir -p %{buildroot}%{_initddir}
 install -pm0755 %SOURCE2 %{buildroot}%{_initddir}/x2goserver
 %endif
+%if 0%{?suse_version} && 0%{?suse_version} < 1210
+ln -sf %{_initddir}/x2goserver %{buildroot}%{_sbindir}/rcx2goserver
+%endif
 %endif
 
 %if 0%{?el5}
@@ -257,22 +341,57 @@ exit 0
 
 %post
 # Initialize the session database
-[ ! -s %{_localstatedir}/x2go/x2go_sessions ] && \
-  egrep "^backend=sqlite.*" /etc/x2go/x2gosql/sql >/dev/null 2>&1 && \
-  %{_sbindir}/x2godbadmin --createdb >/dev/null 2>&1 || :
+if [ ! -s %{_localstatedir}/lib/x2go/x2go_sessions ]; then
+  if [ -d %{_datadir}/doc/packages/perl-X2Go-Server-DB ]; then
+    if grep -E "^backend=sqlite.*" /etc/x2go/x2gosql/sql >/dev/null 2>&1; then
+      %{_sbindir}/x2godbadmin --createdb >/dev/null 2>&1 || :
+    fi
+  fi
+fi
 
+if grep -E "^backend=sqlite.*" /etc/x2go/x2gosql/sql 1>/dev/null 2>/dev/null; then
+  if [ -s %{_localstatedir}/lib/x2go/x2go_sessions ]; then
+    %{_sbindir}/x2godbadmin --updatedb 1>/dev/null 2>/dev/null || :
+  fi
+fi
+
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210
 %if 0%{?fedora} || 0%{?rhel} >= 7
 %systemd_post x2goserver.service
 
+%pre
+%systemd_pre x2goserver.service
+
 %preun
 %systemd_preun x2goserver.service
 
 %postun
 %systemd_postun x2goserver.service
 %else
+%service_add_post x2goserver.service
+
+%pre
+%service_add_pre x2goserver.service
+
+%preun
+%service_del_preun x2goserver.service
+
+%postun
+%service_del_postun x2goserver.service
+%endif
+%else
 /sbin/chkconfig --add x2goserver
 /sbin/service x2goserver condrestart >/dev/null 2>&1 || :
 
+%if 0%{?suse_version}
+%set_permissions %{_libdir}/x2go/x2gosqlitewrapper
+
+
+%verifyscript
+%verify_permissions %{_libdir}/x2go/x2gosqlitewrapper
+%endif
+
+
 %postun
 if [ "$1" -ge "1" ] ; then
     /sbin/service x2goserver condrestart >/dev/null 2>&1 || :
@@ -304,6 +423,7 @@ getent passwd x2goprint >/dev/null || \
 exit 0
 
 %files
+%defattr(-,root,root)
 %doc debian/copyright
 %doc debian/changelog
 %dir %{_sysconfdir}/logcheck
@@ -351,8 +471,8 @@ exit 0
 %{_datadir}/x2go/versions/VERSION.x2goserver
 %dir %{_localstatedir}
 %attr(0775,root,x2gouser) %dir %{_localstatedir}/x2go/
-%ghost %attr(0660,root,x2gouser) %{_localstatedir}/x2go/x2go_sessions
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%ghost %attr(0660,root,x2gouser) %{_localstatedir}/lib/x2go/x2go_sessions
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1210
 %{_unitdir}/x2goserver.service
 %else
 %if 0%{?el5}
@@ -360,10 +480,14 @@ exit 0
 %else
 %{_initddir}/x2goserver
 %endif
+%if 0%{?suse_version}
+%{_sbindir}/rcx2goserver
+%endif
 %endif
 
 
 %files extensions
+%defattr(-,root,root)
 %{_libdir}/x2go/extensions
 %{_bindir}/x2goserver-run-extensions
 %{_datadir}/x2go/x2gofeature.d/x2goserver-extensions.features
@@ -372,6 +496,7 @@ exit 0
 
 
 %files fmbindings
+%defattr(-,root,root)
 %{_bindir}/x2gofm
 %{_datadir}/applications/x2gofm.desktop
 %{_datadir}/mime/packages/sshfs-x2go.xml
@@ -381,6 +506,7 @@ exit 0
 
 
 %files printing
+%defattr(-,root,root)
 %{_bindir}/x2goprint
 %{_datadir}/x2go/versions/VERSION.x2goserver-printing
 %{_datadir}/x2go/x2gofeature.d/x2goserver-printing.features
@@ -389,6 +515,7 @@ exit 0
 
 
 %files xsession
+%defattr(-,root,root)
 %{_sysconfdir}/x2go/xinitrc.d
 %if 0%{?fedora} || 0%{?rhel}
 %{_sysconfdir}/x2go/Xclients.d

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git


More information about the x2go-commits mailing list