Browse Source

update to 1.0.0

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@6956 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 11 years ago
parent
commit
7dcbc10d2e
1 changed files with 287 additions and 36 deletions
  1. 287 36
      r/remmina/remmina-vl.spec

+ 287 - 36
r/remmina/remmina-vl.spec

@@ -1,31 +1,63 @@
-Summary: 	Remote Desktop Connection utility for GNOME
-Summary(ja): 	GNOME 用リモートデスクトップ接続ユーティリティ
+Summary: 	Remote Desktop Connection utility
+Summary(ja): 	リモートデスクトップ接続ユーティリティ
 Name: 		remmina
-Version: 	0.9.3
+Version: 	1.0.0
 Release:        1%{?_dist_release}
 
-Source0: 	%{name}-%{version}.tar.gz
-Source10:	remmina-0.7.4-ja.po
-Patch10:	remmina-0.7.4-ja.patch
+Source0:	https://github.com/downloads/FreeRDP/Remmina/Remmina-%{version}.tar.gz
+#VCS: git:https://github.com/FreeRDP/Remmina.git
 
-License: 	GPLv2+
+# from lauchpad
+Source10:	remmina-ja.po
+
+# The following two patches will fix some linking errors
+# https://github.com/FreeRDP/Remmina/commit/503a008e
+Patch0:         remmina-1.0.0-fix-library-name.patch
+# https://github.com/FreeRDP/Remmina/commit/13f20367
+Patch1:         remmina-1.0.0-linker-error.patch
+
+# The following 4 patches are needed to add clipboard support (#818155)
+# https://github.com/FreeRDP/Remmina/commit/3ebdd6e7
+Patch2:         remmina-1.0.0-add-clipboard-support.patch
+# https://github.com/FreeRDP/Remmina/commit/97c2af8c
+Patch3:         remmina-1.0.0-clipboard-bugfix.patch
+# https://github.com/FreeRDP/Remmina/commit/84327f81
+Patch4:         remmina-1.0.0-some-more-clipboard-fixes.patch
+# https://github.com/FreeRDP/Remmina/commit/c1ef3a16
+Patch5:		remmina-1.0.0-disconnect-signal-handler-after-disconnect.patch
+
+# https://github.com/FreeRDP/Remmina/commit/6ee20289
+Patch10:        remmina-1.0.0-fix-crashes-in-some-cases.patch
+# https://github.com/FreeRDP/Remmina/commit/b2277827
+Patch11:        remmina-1.0.0-fix-memory-leak.patch
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=819976
+Patch20:        remmina-1.0.0-dsofix.patch
+
+
+License: 	GPLv2+ and MIT
 Group: 		Applications/Internet
-URL: 		http://sourceforge.net/projects/grdc/
+URL: 		http://remmina.sourceforge.net/
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires:  glib2-devel
-BuildRequires:  intltool
-BuildRequires:  gtk2-devel
+BuildRequires:  gtk3-devel
+BuildRequires:  vte3-devel
 BuildRequires:  libgcrypt-devel
 BuildRequires:  libssh-devel
 BuildRequires:  avahi-ui-devel
-BuildRequires:  vte-devel
-BuildRequires:  unique-devel
+BuildRequires:  libxkbfile-devel
 BuildRequires:  desktop-file-utils
+BuildRequires:  gnutls-devel
+BuildRequires:  libjpeg-devel
+BuildRequires:  libvncserver-devel
+
+BuildRequires:  cmake
+BuildRequires:  gettext
+BuildRequires:  intltool
 
 Obsoletes: grdc < 0.7.0
 Provides: grdc = %{version}
-
+Obsoletes: remmina-gnome <= 0.7.3
 
 %description
 Grdc is a remote desktop connection client that can view and control a
@@ -44,28 +76,195 @@ Requires:       pkgconfig
 Header files and libraries for building a extension library for the
 remmina.
 
+%package        plugins-common
+Summary:        Common files for Remmina Remote Desktop Client plugins
+Summary(ja):    Remmina プラグインの共通ファイル
+Group:          Applications/System
+Requires:       %{name} >= 0.9
+
+%description    plugins-common
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work 
+with lots of remote computers in front of either large monitors or 
+tiny netbooks.
+
+This package contains files shared among all plugins for the Remmina
+remote desktop client.
+
+
+%package        plugins-gnome
+Summary:        GNOME keyring integration for Remmina Remote Desktop Client
+Summary(ja):	RemminaのGNOMEキーリング統合
+BuildRequires:  libgnome-keyring-devel
+Group:          Applications/System
+Requires:       %{name}-plugins-common%{?_isa} = %{version}-%{release}
+Requires:       libgnome-keyring
+
+%description    plugins-gnome
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work 
+with lots of remote computers in front of either large monitors or
+tiny netbooks.
+
+This package contains the plugin with GNOME keyring support for the
+Remmina remote desktop client.
+
+
+%package        plugins-nx
+Summary:        NX plugin for Remmina Remote Desktop Client
+Summary(ja):	RemminaのNXプラグイン
+Group:          Applications/System
+Requires:       %{name}-plugins-common%{?_isa} = %{version}-%{release}
+Requires:       nx
+
+%description    plugins-nx
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work 
+with lots of remote computers in front of either large monitors or
+tiny netbooks.
+
+This package contains the NX plugin for the Remmina remote desktop
+client.
+
+
+%package        plugins-rdp
+Summary:        RDP plugin for Remmina Remote Desktop Client
+Summary(ja):	RemminaのRDPプラグイン
+Group:          Applications/System
+BuildRequires:  freerdp-devel >= 1.0.1
+Requires:       %{name}-plugins-common%{?_isa} = %{version}-%{release}
+Requires:       freerdp
+
+%description    plugins-rdp
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work 
+with lots of remote computers in front of either large monitors or
+tiny netbooks.
+
+This package contains the Remote Desktop Protocol (RDP) plugin for the
+Remmina remote desktop client.
+
+
+%package        plugins-telepathy
+Summary:        Telepathy plugin for Remmina Remote Desktop Client
+Summary(ja):	RemminaのTelepathyプラグイン
+Group:          Applications/System
+BuildRequires:  telepathy-glib-devel
+Requires:       %{name}-plugins-common%{?_isa} = %{version}-%{release}
+
+%description    plugins-telepathy
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work 
+with lots of remote computers in front of either large monitors or
+tiny netbooks.
+
+This package contains the Telepathy plugin for the Remmina remote
+desktop  client.
+
+
+%package        plugins-vnc
+Summary:        VNC plugin for Remmina Remote Desktop Client
+Summary(ja):	RemminaのVNCプラグイン
+Group:          Applications/System
+BuildRequires:  gnutls-devel
+BuildRequires:  libjpeg-devel
+BuildRequires:  libvncserver-devel
+Requires:       %{name}-plugins-common%{?_isa} = %{version}-%{release}
+
+%description    plugins-vnc
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work 
+with lots of remote computers in front of either large monitors or 
+tiny netbooks.
+
+This package contains the VNC plugin for the Remmina remote desktop 
+client.
+
+
+%package        plugins-xdmcp
+Summary:        XDMCP plugin for Remmina Remote Desktop Client
+Summary(ja):	RemminaのXDMCPプラグイン
+Group:          Applications/System
+Requires:       %{name}-plugins-common%{?_isa} = %{version}-%{release}
+Requires:       xorg-x11-server-Xephyr
+
+%description    plugins-xdmcp
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work 
+with lots of remote computers in front of either large monitors or 
+tiny netbooks.
+
+This package contains the XDMCP plugin for the Remmina remote desktop 
+client.
+
 
 %prep
-%setup -q
-#%patch10 -p1
+%setup -qn FreeRDP-Remmina-356c033
+
+#cp %{SOURCE10} remmina/po/ja.po
 
-#cp -f %{SOURCE10} po/ja.po
+%patch0 -p1 -b .fix-library-name
+%patch1 -p1 -b .linker-error
+
+%patch2 -p1 -b .add-clipboard-support
+%patch3 -p1 -b .clipboard-bugfix
+%patch4 -p1 -b .some-more-clipboard-fixes
+%patch5 -p1 -b .disconnect-signal-handler
+
+%patch10 -p1 -b .fix-crashes-in-some-cases
+%patch11 -p1 -b .fix-memory-leak
+
+%patch20 -p0 -b .dsofix
+
+# Don't hardcode libdir
+sed -i "s,/lib/remmina/plugins,/%{_lib}/remmina/plugins,g" CMakeLists.txt
 
 %build
-autoreconf -f -i
-%configure
-%__make %{?_smp_mflags}
+mkdir -p build
+pushd build
+
+LDFLAGS="-Wl,-z,relro -Wl,--no-as-needed"
+
+%cmake \
+  -DWITH_PTHREAD=ON \
+  -DWITH_GCRYPT=ON \
+  -DWITH_LIBSSH=ON \
+  -DWITH_VTE=ON \
+  -DWITH_GETTEXT=ON \
+  -DWITH_LIBSSH=ON \
+  -DWITH_FREERDP=ON \
+  -DWITH_TELEPATHY=ON \
+  -DWITH_ZLIB=ON \
+  -DWITH_GETTEXT=ON \
+  -DWITH_AVAHI=ON \
+  -DWITH_APPINDICATOR=OFF \
+  -LIBVNCSERVER_INCLUDE_DIRS=%{_includedir} \
+  -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
+  ..
+
+make %{?_smp_mflags}
+popd
 
 %install
-rm -rf $RPM_BUILD_ROOT
-%__make DESTDIR=$RPM_BUILD_ROOT install
+rm -rf %{buildroot}
+# make install DESTDIR=%{buildroot}
+make install/fast DESTDIR=%{buildroot} -C build
+
+
+# dirty hack as desktop file does not get built.
+sed 's,^_,,g' remmina/desktop/remmina.desktop.in > remmina/desktop/remmina.desktop
+
+# another dirty hack
+mv %{buildroot}/usr/share/remmina/icons %{buildroot}/usr/share/icons
 
-desktop-file-install --vendor="" \
+desktop-file-install --vendor="" --delete-original \
   --add-category="RemoteAccess" \
-  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
-  $RPM_BUILD_ROOT%{_datadir}/applications/*
+  --remove-key="Actions" \
+  --dir %{buildroot}%{_datadir}/applications \
+  remmina/desktop/remmina.desktop
 
-%find_lang %name
+%find_lang %{name}
+%find_lang %{name}-plugins
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -74,31 +273,83 @@ rm -rf $RPM_BUILD_ROOT
 update-desktop-database -q
 touch --no-create %{_datadir}/icons/hicolor
 if [ -x /usr/bin/gtk-update-icon-cache ]; then
-  gtk-update-icon-cache -q %{_datadir}/icons/hicolor
+  gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null ||:
 fi
 
 %postun
 update-desktop-database -q
 touch --no-create %{_datadir}/icons/hicolor
 if [ -x /usr/bin/gtk-update-icon-cache ]; then
-  gtk-update-icon-cache -q %{_datadir}/icons/hicolor
+  gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null ||:
+fi
+
+%posttrans
+if [ -x /usr/bin/gtk-update-icon-cache ]; then
+  gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null ||:
 fi
 
-%files -f %name.lang
-%defattr(-,root,root)
-%doc ChangeLog NEWS README AUTHORS COPYING
+%files -f %{name}.lang
+%defattr(-,root,root,-)
+# FIXME: Add NEWS if not empty
+%doc remmina/AUTHORS remmina/ChangeLog remmina/COPYING README 
 %{_bindir}/%{name}
-%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/icons/hicolor
-%{_datadir}/icons/hicolor/*/apps/*
 %{_datadir}/applications/*.desktop
+%{_datadir}/icons/hicolor/*/*/*.*
+%{_datadir}/%{name}/
 
 %files devel
-%defattr(-,root,root)
-%{_includedir}/%{name}/*.h
+%defattr(-,root,root,-)
+%doc
+%{_includedir}/%{name}/
+%{_libdir}/pkgconfig/%{name}.pc
 
+%files plugins-common -f %{name}-plugins.lang
+%defattr(-,root,root,-)
+# FIXME: Add docs once there are some *proper* ones
+#%doc remmina-plugins/AUTHORS remmina-plugins/COPYING
+%dir %{_libdir}/remmina/
+%dir %{_libdir}/remmina/plugins/
+
+%files plugins-gnome
+%defattr(-,root,root,-)
+%{_libdir}/remmina/plugins/remmina-plugins-gnome.so
+
+%files plugins-nx
+%defattr(-,root,root,-)
+%{_libdir}/remmina/plugins/remmina-plugin-nx.so
+%{_datadir}/icons/hicolor/*/emblems/remmina-nx.png
+
+%files plugins-rdp
+%defattr(-,root,root,-)
+%{_libdir}/remmina/plugins/remmina-plugin-rdp.so
+%{_datadir}/icons/hicolor/*/emblems/remmina-rdp-ssh.png
+%{_datadir}/icons/hicolor/*/emblems/remmina-rdp.png
+
+%files plugins-telepathy
+%defattr(-,root,root,-)
+%{_libdir}/remmina/plugins/remmina-plugin-telepathy.so
+#%{_datadir}/dbus-1/services/org.freedesktop.Telepathy.Client.Remmina.service
+#%{_datadir}/telepathy/clients/Remmina.client
+
+%files plugins-vnc
+%defattr(-,root,root,-)
+%{_libdir}/remmina/plugins/remmina-plugin-vnc.so
+%{_datadir}/icons/hicolor/*/emblems/remmina-vnc-ssh.png
+%{_datadir}/icons/hicolor/*/emblems/remmina-vnc.png
+
+%files plugins-xdmcp
+%defattr(-,root,root,-)
+%{_libdir}/remmina/plugins/remmina-plugin-xdmcp.so
+%{_datadir}/icons/hicolor/*/emblems/remmina-xdmcp-ssh.png
+%{_datadir}/icons/hicolor/*/emblems/remmina-xdmcp.png
 
 %changelog
+* Fri Oct 19 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.0.0-1
+- Update to 1.0.0
+- add BuildRequires
+- add patches from fedora package (upstream patches)
+- add subpackage for plugins
+
 * Thu Aug 18 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.9.3-1
 - new upstream release
 - add BuildRequires: avahi-ui-devel, vte-devel, unique-devel, desktop-file-utils