%define italcgrp italc Name: italc # version used by GlobalConfig.xml Version: 2.0.2 Release: %mkrel 3 Summary: Intelligent teaching and learning with computers Group: Networking/Remote access License: GPLv2+ URL: http://italc.sourceforge.net Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2 Source1: italc.desktop Source3: ica-autostart.desktop Source4: ica-start Patch0: italc-2.0.0-mdv-fix_cmake.diff Patch1: harbour-3.2.0-mga-minilzo-2.8.patch Patch2: italc-2.0.2-mga-globalconfig.patch BuildRequires: cmake BuildRequires: qt4-devel BuildRequires: pkgconfig(xtst) BuildRequires: jpeg-devel BuildRequires: zlib-devel BuildRequires: openssl-devel BuildRequires: pam-devel BuildRequires: desktop-file-utils BuildRequires: java-devel %description iTALC is a useful and powerful didactic tool which lets you view and control computers in your labs and interact with students in a modern way. It supports Linux and Windows NT/2000/XP and it even can be used transparently in mixed environments. %package client Summary: Software for iTALC-clients Group: Networking/Remote access Requires: %{name} = %{version} %description client This package contains the software, needed by iTALC-clients. %package client-autostart Summary: Autostart for italc-client Group: Networking/Remote access Requires: %{name} = %{version} Requires: italc-client %description client-autostart This package contains autostart for italc-client. %package master Summary: iTALC master software Group: Networking/Remote access Requires: %{name} = %{version} Requires: %{name}-client = %{version} %description master This package contains the actual master-software for accessing clients. %prep %setup -q %patch0 -p1 pushd ica/x11/common %patch1 -p5 -b .lzo popd %patch2 -p1 %build %cmake %make %install %makeinstall_std -C build # From Suse # create the directories containing the auth-keys mkdir -p %{buildroot}%{_sysconfdir}/%{name}/keys/{private,public}/{teacher,admin,supporter,other} # create pseudo key files so RPM can own them (ghost files) for role in admin supporter teacher; do touch %{buildroot}%{_sysconfdir}/%{name}/keys/{private,public}/$role/key done # create the initial config mkdir -p "%{buildroot}%{_sysconfdir}/iTALC Solutions" cat > "%{buildroot}%{_sysconfdir}/iTALC Solutions/iTALC.conf" << EOF [Authentication] LogonAuthenticationEnabled=0 KeyAuthenticationEnabled=1 PublicKeyBaseDir=%{_sysconfdir}/%{name}/keys/public PrivateKeyBaseDir=%{_sysconfdir}/%{name}/keys/private LogonGroups= PermissionRequiredWithKeyAuthentication=0 PermissionRequiredWithLogonAuthentication=0 SameUserConfirmationDisabled=0 [DemoServer] Backend=0 Multithreaded=1 [Logging] LimittedLogFileSize=0 LogFileDirectory=\$TEMP LogFileSizeLimit=-1 LogLevel=4 LogToStdErr=1 LogToWindowsEventLog=0 [Network] CoreServerPort=11100 DemoServerPort=11400 FirewallExceptionEnabled=1 HttpServerEnabled=0 HttpServerPort=5800 [Service] Arguments= Autostart=1 HideTrayIcon=0 [VNC] CaptureLayeredWindows=0 LowAccuracy=1 PollFullScreen=1 [Paths] PersonalConfiguration=\$APPDATA/PersonalConfig.xml GlobalConfiguration=\$APPDATA/GlobalConfig.xml SnapshotDirectory=\$APPDATA/Snapshots EOF # create GlobalConfig.xml mkdir -p "%{buildroot}%{_sysconfdir}/skel/.%{name}" cat > "%{buildroot}%{_sysconfdir}/skel/.%{name}/GlobalConfig.xml" << EOF <?xml version="1.0"?> <!DOCTYPE %{name}-config-file> <globalclientconfig version="%{version}"> <body/> </globalclientconfig> EOF desktop-file-install --dir=%{buildroot}%{_datadir}/applications/ %{SOURCE1} install -Dm 0644 ima/data/%{name}.png %{buildroot}%{_datadir}/icons/%{name}.png install -dm 755 %{buildroot}%{_sysconfdir}/xdg/autostart install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/xdg/autostart/ install -dm 755 %{buildroot}%{_bindir} install -m 755 %{SOURCE4} %{buildroot}%{_bindir}/ %pre client %{_sbindir}/groupadd -r -f %{italcgrp} 2>/dev/null ||: %post client if getent group %{italcgrp} >/dev/null then : OK group %{italcgrp} already present else groupadd -r %{italcgrp} 2>/dev/null || : fi %post master if getent group %{italcgrp} >/dev/null then : OK group %{italcgrp} already present else groupadd -r %{italcgrp} 2>/dev/null || : fi # dont run scripts on update if [ ${1:-0} -lt 2 ]; then # the imc command tries to start its Qt GUI if $DISPLAY is set... if [ ! -z ${DISPLAY+x} ]; then remembered_DISPLAY=$DISPLAY fi unset DISPLAY for role in admin supporter teacher; do if [ ! -f "%{_sysconfdir}/%{name}/keys/private/$role/key" ]; then /usr/bin/imc -role $role -createkeypair "%{_sysconfdir}/%{name}/keys" >/dev/null chgrp %{italcgrp} "%{_sysconfdir}/%{name}/keys/private/$role/key" chmod 0440 "%{_sysconfdir}/%{name}/keys/private/$role/key" fi done if [ ! -z "${remembered_DISPLAY+x}" ]; then DISPLAY=$remembered_DISPLAY fi fi %files %doc COPYING README AUTHORS ChangeLog %files client %{_bindir}/ica %{_bindir}/%{name}_auth_helper %{_libdir}/libItalcCore.so %dir "%{_sysconfdir}/iTALC Solutions" %attr(0660,root,%{italcgrp}) %config(missingok,noreplace) "%{_sysconfdir}/iTALC Solutions/iTALC.conf" %dir %{_sysconfdir}/%{name}/keys/private %defattr(0440,root,%{italcgrp},0750) %dir %{_sysconfdir}/%{name}/keys/private/teacher %dir %{_sysconfdir}/%{name}/keys/private/admin %dir %{_sysconfdir}/%{name}/keys/private/supporter %dir %{_sysconfdir}/%{name}/keys/private/other %ghost %attr(0440,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/%{name}/keys/private/teacher/key %ghost %attr(0440,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/%{name}/keys/private/admin/key %ghost %attr(0440,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/%{name}/keys/private/supporter/key %ghost %attr(0444,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/%{name}/keys/public/teacher/key %ghost %attr(0444,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/%{name}/keys/public/admin/key %ghost %attr(0444,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/%{name}/keys/public/supporter/key %files master %{_bindir}/%{name} %{_bindir}/imc %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/%{name}.png %{_datadir}/%{name}/JavaViewer/VncViewer.jar %{_datadir}/%{name}/JavaViewer/index.vnc %config %{_sysconfdir}/skel/.%{name}/GlobalConfig.xml %files client-autostart %{_sysconfdir}/xdg/autostart/ica-autostart.desktop %{_bindir}/ica-start %changelog * Sun Dec 28 2014 alexl <alexl> 2.0.2-3.mga5 + Revision: 807016 - added GlobalConfig.xml * Fri Dec 26 2014 alexl <alexl> 2.0.2-2.mga5 + Revision: 806332 - ensure that $DISPLAY is unset before evoking the imc -createkeypair command (from Debian) * Fri Dec 19 2014 alexl <alexl> 2.0.2-1.mga5 + Revision: 804237 - version 2.0.2, which fix mga#12870 * Sat Nov 29 2014 alexl <alexl> 2.0.1-7.mga5 + Revision: 799923 - added italc-client-autostart pkg * Wed Oct 15 2014 umeabot <umeabot> 2.0.1-6.mga5 + Revision: 746752 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 2.0.1-5.mga5 + Revision: 680579 - Mageia 5 Mass Rebuild * Wed Aug 20 2014 luigiwalser <luigiwalser> 2.0.1-4.mga5 + Revision: 666009 - add patch from harbour to fix CVE-2014-4607 in bundled minilzo * Wed Apr 02 2014 dams <dams> 2.0.1-3.mga5 + Revision: 611417 - add initial configuration (mga#13035) * Wed Apr 02 2014 dams <dams> 2.0.1-2.mga5 + Revision: 611392 - update .desktop file (i18n) mga#13035 * Thu Feb 27 2014 dams <dams> 2.0.1-1.mga5 + Revision: 597650 - new version 2.0.1 * Fri Oct 18 2013 umeabot <umeabot> 2.0.0-3.mga4 + Revision: 506154 - Mageia 4 Mass Rebuild * Sat Jan 12 2013 umeabot <umeabot> 2.0.0-2.mga3 + Revision: 354590 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Jan 08 2013 bersuit <bersuit> 2.0.0-1.mga3 + Revision: 343004 - Fixed BuildRequires: java-devel - Update to New Version 2.0.0 * Sat May 14 2011 dmorgan <dmorgan> 1.0.13-1.mga1 + Revision: 98418 - imported package italc * Tue Apr 20 2010 Funda Wang <fwang@mandriva.org> 1.0.9-3mdv2010.1 + Revision: 536984 - rebuild * Sat Aug 22 2009 Funda Wang <fwang@mandriva.org> 1.0.9-2mdv2010.0 + Revision: 419543 - fix str fmt - fix build with gcc 4.4 * Mon Nov 03 2008 Funda Wang <fwang@mandriva.org> 1.0.9-2mdv2009.1 + Revision: 299629 - add post requires - more exact patch on translations - generate keypair after installation - fix zh_cn translation * Wed Aug 06 2008 Funda Wang <fwang@mandriva.org> 1.0.9-1mdv2009.0 + Revision: 264283 - New version 1.0.9 - fix qt4 detection - fix setup subdir build + Thierry Vignaud <tv@mandriva.org> - rebuild * Thu Feb 14 2008 Thierry Vignaud <tv@mandriva.org> 1.0.4-2mdv2008.1 + Revision: 168504 - rebuild - fix summary - fix no-buildroot-tag * Sat Dec 22 2007 Nicolas Lécureuil <nlecureuil@mandriva.com> 1.0.4-1mdv2008.1 + Revision: 137243 - Fix Build on x86_64 - Add openssl-devel as BuildRequire - New version 1.0.4 Remove patch0 : not needed anymore Do not export qt4 : already done by default Fix BuildRequires + Nicolas Vigier <nvigier@mandriva.com> - Import italc