mirror of
https://abf.rosa.ru/djam/italc2.git
synced 2025-02-24 06:52:48 +00:00
234 lines
8.9 KiB
RPMSpec
234 lines
8.9 KiB
RPMSpec
%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: cmake
|
||
BuildRequires: qt4-devel
|
||
BuildRequires: zlib-devel
|
||
BuildRequires: jpeg-devel
|
||
BuildRequires: pam-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}/*
|
||
|
||
|