italc2/italc2.spec
2013-09-04 13:27:24 +04:00

225 lines
8.8 KiB
RPMSpec
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%define name1 italc
%define libname %mklibname %{name1}
%define italcgrp italc
%define debug_package %{nil}
Name: italc2
Version: 2.0.1
Release: 2
Summary: Intelligent Teaching And Learning with Computers - software for teachers
Summary(ru): Интеллектуальное Обучение и Изучение с Компьютерами - ПО для учителей
License: GPLv2+
Group: Networking/Remote access
URL: http://italc.sourceforge.net/
Source: italc2-%{version}.tar.bz2
Source2: italc-start_ica
Source3: italc.sysconfig
Source5: ica-autostart.desktop
Source6: italc-launcher
BuildRequires: qt4-devel
BuildRequires: zlib-devel
BuildRequires: jpeg-devel
BuildRequires: qt4-linguist
BuildRequires: libxtst-devel
BuildRequires: openssl-devel
%description
iTALC is a use- and powerful didactical tool for teachers. It lets you view
and control other computers in your network in several ways. It supports Linux
and Windows 2000/XP/Vista.
Features:
* see what's going on in computer-labs by using overview mode and
make snapshots
* remote-control computers to support and help other people
* show a demo (either in fullscreen or in a window) - the teacher's screen
is shown on all student's computers in realtime
* lock workstations for moving undivided attention to teacher
* send text-messages to students
* powering on/off and rebooting computers per remote
* remote logon and logoff and remote execution of arbitrary commands/scripts
* home-schooling - iTALC's network-technology is not restricted to a subnet
and therefore students at home can join lessons via VPN-connections just
by installing iTALC client
Furthermore iTALC is optimized for usage on multi-core systems (by making
heavy use of threads). No matter how many cores you have, iTALC can make use
of all of them.
%description -l ru
iTALC - это мощный дидактический инструмент для учителей. Он позволяет Вам наблюдать
и управлять другими компьютерами в своей сети разными способами. Программа поддерживает Linux
и Windows 2000/XP/Vista.
Особенности:
* Можно видеть то, что делается на компьютерах кабинета при использовании краткого обзора и делать снимки экрана
* Дистанционное управления компьютерами, для поддержки и помощи пользователям
* Можно показать демонстрационный пример (или в полноэкранном или в окнонном режиме) с экрана учителя всем студентам в реальном времени
* Блокирование компьютеров для того, чтобы направить внимание учеников на учителя
* Можно посылать текстовые сообщения ученикам
* Удаленное влкючение/выключение и перезагрузка компьютеров
* Удаленный вход в систему и выход из нее, а также удаленное выполнение произвольных команд/скриптов
* Домашнее-обучение - технология iTALC не ограничена локальной сетью и поэтому ученики дома могут присоединиться
к урокам через VPN-связи только устанавливив iTALC-клиент
Кроме того iTALC оптимизирован для использования на многоядерных системах.
Независимо от того, сколько ядер Вы имеете, iTALC может использовать их все.
%package client
Summary: Software for iTALC-clients
Summary(ru): Клиентская часть iTALC
Group: Networking/Remote access
#Requires: italc = %{version}-%release
%description client
This package contains the software, needed by iTALC-clients.
See /usr/share/italc/doc/INSTALL for details on how to install and setup iTALC
in your network.
%package master
Summary: iTALC master software
Group: Networking/Remote access
Requires: %{libname} = %{version}-%{release}
Requires: %{name}-client = %{version}
Requires(post): %{name}-client = %{version}
%description master
This package contains the actual master-software for accessing clients.
See /usr/share/italc/doc/INSTALL for details on how to install and setup iTALC
in your network.
%package -n %libname
Summary: Library used by ITALC
Group: Networking/Remote access
%description -n %libname
iTALC is a use- and powerful didactical tool for teachers. It lets you
view and control other computers in your network in several ways. It
supports Linux and Windows 2000/XP/Vista and it even can be used
transparently in mixed environments!
This is a library used by %{name}-master and %{name}-client.
%prep
%setup -q
%build
%cmake_qt4
%make
%install
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
%makeinstall_std -C build
# create the directories containing the auth-keys
mkdir -p %{buildroot}%{_sysconfdir}/italc/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}/italc/keys/{private,public}/$role/key
done
# create the initial config
mkdir -p "%{buildroot}/%{_sysconfdir}/settings/iTALC Solutions"
cat > "%{buildroot}/%{_sysconfdir}/settings/iTALC Solutions/iTALC.conf" << EOF
[keypathsprivate]
admin=%{_sysconfdir}/italc/keys/private/admin/key
supporter=%{_sysconfdir}/italc/keys/private/supporter/key
teacher=%{_sysconfdir}/italc/keys/private/teacher/key
[keypathspublic]
admin=%{_sysconfdir}/italc/keys/public/admin/key
supporter=%{_sysconfdir}/italc/keys/public/supporter/key
teacher=%{_sysconfdir}/italc/keys/public/teacher/key
EOF
# install start script for ica client
install -D -m755 %{SOURCE2} %{buildroot}/%{_bindir}/start-ica
install -D -m644 %{SOURCE5} %{buildroot}/%{_sysconfdir}/xdg/autostart/ica-autostart.desktop
install -D -m755 %{SOURCE6} %{buildroot}/%{_bindir}/italc-launcher
# icon for the desktop file
install -Dm644 ima/data/italc.png %{buildroot}/%{_datadir}/pixmaps/italc.png
#
# Distribution specific
#
# configuration for ica
install -D -m644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/sysconfig/ica
%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
for role in admin supporter teacher; do
if [ ! -f "%{_sysconfdir}/italc/keys/private/$role/key" ]; then
/usr/bin/ica -role $role -createkeypair 1>/dev/null
chgrp %{italcgrp} "%{_sysconfdir}/italc/keys/private/$role/key"
chmod 0440 "%{_sysconfdir}/italc/keys/private/$role/key"
fi
done
fi
%files client
%{_bindir}/ica
%{_bindir}/start-ica
%{_bindir}/italc_auth_helper
%config %{_sysconfdir}/xdg/autostart/ica-autostart.desktop
%config(noreplace) %{_sysconfdir}/sysconfig/ica
%dir %{_sysconfdir}/settings
%dir "%{_sysconfdir}/settings/iTALC Solutions"
%config(missingok,noreplace) "%{_sysconfdir}/settings/iTALC Solutions/iTALC.conf"
%dir %{_sysconfdir}/italc/keys/private
%defattr(0440,root,%{italcgrp},0750)
%dir %{_sysconfdir}/italc/keys/private/teacher
%dir %{_sysconfdir}/italc/keys/private/admin
%dir %{_sysconfdir}/italc/keys/private/supporter
%dir %{_sysconfdir}/italc/keys/private/other
%ghost %attr(0440,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/private/teacher/key
%ghost %attr(0440,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/private/admin/key
%ghost %attr(0440,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/private/supporter/key
#%ghost %attr(0440,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/private/other/key
%ghost %attr(0444,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/public/teacher/key
%ghost %attr(0444,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/public/admin/key
%ghost %attr(0444,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/public/supporter/key
#%ghost %attr(0444,root,%{italcgrp}) %config(noreplace) %{_sysconfdir}/italc/keys/public/other/key
%files master
%doc AUTHORS COPYING ChangeLog INSTALL README TODO
%{_bindir}/italc
%{_bindir}/italc-launcher
%{_bindir}/imc
%{_datadir}/italc
%{_datadir}/pixmaps/*
%files -n %libname
%doc AUTHORS COPYING ChangeLog INSTALL README TODO
%{_libdir}/*