--- italc-1.0.9-rc4.orig/debian/italc-master.dirs +++ italc-1.0.9-rc4/debian/italc-master.dirs @@ -0,0 +1 @@ +usr/bin --- italc-1.0.9-rc4.orig/debian/libitalc.dirs +++ italc-1.0.9-rc4/debian/libitalc.dirs @@ -0,0 +1 @@ +usr/lib/italc --- italc-1.0.9-rc4.orig/debian/italc.desktop +++ italc-1.0.9-rc4/debian/italc.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Name=iTalc master interface +Comment=Computer room overview +Exec=/usr/bin/italc-launcher +Icon=/usr/share/pixmaps/italc.xpm +Terminal=false +Type=Application +StartupNotify=false +Categories=GNOME;KDE;System; +X-Ubuntu-Gettext-Domain=italc --- italc-1.0.9-rc4.orig/debian/patches/00list +++ italc-1.0.9-rc4/debian/patches/00list @@ -0,0 +1,4 @@ +01_simplify_ui.patch +04_autoarrange.patch +02_forcevisible.patch +03_username.patch --- italc-1.0.9-rc4.orig/debian/patches/01_simplify_ui.patch +++ italc-1.0.9-rc4/debian/patches/01_simplify_ui.patch @@ -0,0 +1,34 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_simplify_ui.patch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Remove the tryicon from ICA and hide info-bubble by default + +@DPATCH@ +diff -Nrup ../../italc-1.0.9-rc1.orig/ima/src/tool_button.cpp ../ima/src/tool_button.cpp +--- ../../italc-1.0.9-rc1.orig/ima/src/tool_button.cpp 2008-04-30 16:43:15.000000000 +0200 ++++ ../ima/src/tool_button.cpp 2008-05-09 20:07:41.000000000 +0200 +@@ -42,7 +42,7 @@ + const int MARGIN = 10; + const int ROUNDED = 2000; + +-bool toolButton::s_toolTipsDisabled = FALSE; ++bool toolButton::s_toolTipsDisabled = TRUE; + bool toolButton::s_iconOnlyMode = FALSE; + + +diff -Nrup ../../italc-1.0.9-rc1.orig/lib/include/qt_features.h ../lib/include/qt_features.h +--- ../../italc-1.0.9-rc1.orig/lib/include/qt_features.h 2007-11-24 21:06:10.000000000 +0100 ++++ ../lib/include/qt_features.h 2008-05-09 20:08:20.000000000 +0200 +@@ -35,9 +35,9 @@ + + #else + +-#ifdef BUILD_ICA ++/*#ifdef BUILD_ICA + #define SYSTEMTRAY_SUPPORT +-#endif ++#endif*/ + + #ifdef BUILD_LINUX + #define NATIVE_VIRTUAL_KEY_SUPPORT --- italc-1.0.9-rc4.orig/debian/patches/04_autoarrange.patch +++ italc-1.0.9-rc4/debian/patches/04_autoarrange.patch @@ -0,0 +1,51 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 06_autoarrange.patch by Stéphane Graber +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Auto-arrange windows when more than one is at 0;0 + +@DPATCH@ +Index: ../ima/src/classroom_manager.cpp +=================================================================== +--- ../ima/src/classroom_manager.cpp (Revision 401) ++++ ../ima/src/classroom_manager.cpp (Arbeitskopie) +@@ -77,6 +77,7 @@ inline T roundCorrect( T _val ) + + + const int widths[] = { 128, 192, 256, 320, 384, 448, 512, 0 }; ++int items_at_zero_pos = 0; + + + +@@ -719,6 +720,7 @@ void classroomManager::loadTree( classRo + getMainWindow(), + e.attribute( "id" ).toInt() ); + c->hide(); ++ ++items_at_zero_pos; + } + else + { +@@ -733,6 +735,10 @@ void classroomManager::loadTree( classRo + e.attribute( "y" ).toInt() ); + c->m_rasterX = e.attribute( "x" ).toInt(); + c->m_rasterY = e.attribute( "y" ).toInt(); ++ if( c->m_rasterX != 0 || c->m_rasterY != 0 ) ++ { ++ --items_at_zero_pos; ++ } + c->setFixedSize( e.attribute( "w" ).toInt(), + e.attribute( "h" ).toInt() ); + +@@ -982,6 +988,12 @@ void classroomManager::updateClients( vo + cl->update(); + } + ++ if ( items_at_zero_pos > 1 ) ++ { ++ arrangeWindows(); ++ items_at_zero_pos = 0; ++ } ++ + QTimer::singleShot( m_clientUpdateInterval * 1000, this, + SLOT( updateClients() ) ); + } --- italc-1.0.9-rc4.orig/debian/patches/02_forcevisible.patch +++ italc-1.0.9-rc4/debian/patches/02_forcevisible.patch @@ -0,0 +1,26 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_forcevisible.patch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Add a forcevisible one-time option to the .xml + +@DPATCH@ +diff -Nrup ../../orig/ima/src/classroom_manager.cpp ../ima/src/classroom_manager.cpp +--- ../../orig/ima/src/classroom_manager.cpp 2008-04-17 23:02:23.000000000 +0200 ++++ ../ima/src/classroom_manager.cpp 2008-04-25 00:11:41.000000000 +0200 +@@ -719,7 +719,14 @@ void classroomManager::loadTree( classRo + _parent_item, + getMainWindow(), + e.attribute( "id" ).toInt() ); +- c->hide(); ++ if( _parent_element.attribute("forcevisible") == "yes" ) ++ { ++ c->show(); ++ } ++ else ++ { ++ c->hide(); ++ } + ++items_at_zero_pos; + } + else --- italc-1.0.9-rc4.orig/debian/patches/03_username.patch +++ italc-1.0.9-rc4/debian/patches/03_username.patch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 04_username.patch by Stéphane Graber +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Remove ,,, from the gecos + +@DPATCH@ +diff -Nrup ../../../package/italc-1.0.9-rc3/ica/src/local_system_ica.cpp ../ica/src/local_system_ica.cpp +--- ../../../package/italc-1.0.9-rc3/ica/src/local_system_ica.cpp 2008-04-02 14:22:11.000000000 +0200 ++++ ../ica/src/local_system_ica.cpp 2008-06-13 14:54:53.000000000 +0200 +@@ -388,7 +388,7 @@ QString currentUser( void ) + } + + return( QString( "%1 (%2)" ). +- arg( QString::fromUtf8( pw_entry->pw_gecos ) ). ++ arg( QString::fromUtf8( pw_entry->pw_gecos ).replace( ",,,", "" ) ). + arg( QString::fromUtf8( pw_entry->pw_name ) ) ); + } + #endif --- italc-1.0.9-rc4.orig/debian/changelog +++ italc-1.0.9-rc4/debian/changelog @@ -0,0 +1,289 @@ +italc (1:1.0.9-rc4-0ubuntu1) intrepid; urgency=low + + * New pre-release upstream + * Drop 03_remoteica.patch (included upstream) + * Drop 05_x11vnc.patch (included upstream) + * Drop 07_masterpatch.patch (included upstream) + * Re-order remaining patches + + -- Stéphane Graber Mon, 07 Jul 2008 12:23:33 +0200 + +italc (1:1.0.9-rc3-0ubuntu3) intrepid; urgency=low + + * Update X11VNC fixing tight encoding issues. (05_x11vnc.patch) + * Update ica-launcher to kill already running ica. (LP: #238839) + * Auto-arrange screen previews when more than one is at position 0;0. + (06_autoarrange.patch) + * Add upstream master interface patch (07_masterpatch.patch) + * Resync patches with upstream code. (line number) + + -- Stéphane Graber Fri, 04 Jul 2008 12:14:53 +0200 + +italc (1:1.0.9-rc3-0ubuntu2) intrepid; urgency=low + + * Fix tight VNC issue. + + -- Stéphane Graber Tue, 24 Jun 2008 00:31:59 +0200 + +italc (1:1.0.9-rc3-0ubuntu1) intrepid; urgency=low + + * Packaging + * Take some packaging changes from Debian (libitalc.dirs, libitalc.install, + s/openssl/libssl-dev/ in control) + * Change Maintainer to Ubuntu Core Developers + * Move Homepage to the source package + * Change italc-client.postinst to set $USER in ldm session script + * Drop patches (included upstream) + * 02_demofix.patch + * 04_errorfix.patch + * Add patches (will be included upstream in final release) + * 03_remoteica.patch (connect to remote ISD) + * Add patches (Debian/Ubuntu specific) + * 04_username.patch (remove ,,, from the end of gecos) + + * ica-launcher + * Add support for LTSP chroot + * Avoid avahi service name conflict + + * italc-launcher + * Add support for remote ISD + * Add support for LTSP chroot + + -- Stéphane Graber Thu, 08 May 2008 11:23:56 +0200 + +italc (1:1.0.8-0ubuntu1) intrepid; urgency=low + + * pulled from https://launchpad.net/~edubuntu-italc-devel as this version + is superior to the one in debian (instead of merging), thanks to + Stéphane Graber for preparing that. + + -- Oliver Grawert Wed, 07 May 2008 16:36:08 +0200 + +italc (1:1.0.8-0ubuntu1~ppa5) hardy; urgency=low + + * Add support for installation in LTSP chroot + + -- Stéphane Graber Thu, 01 May 2008 20:15:46 +0200 + +italc (1:1.0.8-0ubuntu1~ppa4) hardy; urgency=low + + * Replace /bin/bash by /bin/sh + * Fix typo in postinst script (s/priavte/private/) + * Filter auto-generated classroom to remove the teacher computer + + -- Stéphane Graber Wed, 30 Apr 2008 08:56:08 +0200 + +italc (1:1.0.8-0ubuntu1~ppa3) hardy; urgency=low + + * Add a forcevisible one-time option to globalconfig.xml and use it in + italc-launcher. + * Fix infinite loop when no read access to private keys + * Fix LTSP support in italc-launcher + + -- Stéphane Graber Fri, 25 Apr 2008 00:20:50 +0200 + +italc (1:1.0.8-0ubuntu1~ppa2) hardy; urgency=low + + * Add patch from upstream to fix demo mode + + -- Stéphane Graber Thu, 24 Apr 2008 16:27:13 +0200 + +italc (1:1.0.8-0ubuntu1~ppa1) hardy; urgency=low + + * New upstream release (1.0.8) + - disabled MMX-optimized image-scaler on x86_64 as it's currently buggy + - added zoom-feature: holding mouse-button on a client-window makes it zoom + - display hostname in client-windows when "show user" is not checked + - removed support-tab and added a button in toolbar instead + - improved sidebar + - visibility of individual toolbar-buttons can be configured via the toolbar-contextmenu + - fixed several issues with scaling in remote-control-window + - always try to run demo-server on default-port 5858 to allow easier and more secure firewall-configuration + - drag'n drop support in classroom manager + - fixed confirmation-dialog when closing setup-window via Alt+F4/close-button + - added timeout-recognition in isdConnection::readFromServer()-function which makes iTALC-master not hang when quitting if a connection is somehow blocked + - the name-field of a client is now optional - if you do not specify it, the hostname/IP is used for displaying the client's name + - network-interface for demo-mode doesn't need to be configured anymore - it's auto-detected by clients + - improved stability of demo-server + + -- Stéphane Graber Mon, 21 Apr 2008 13:04:54 +0200 + +italc (1:1.0.8-rc3-0ubuntu1~ppa1) hardy; urgency=low + + * New upstream version + + -- Stéphane Graber Sat, 19 Apr 2008 14:10:45 +0200 + +italc (1:1.0.7-0ubuntu3~ppa3) hardy; urgency=low + + * Fix menu entry to hide the startup notify + * Select the right role depending on key access + + -- Stéphane Graber Wed, 16 Apr 2008 09:01:58 +0200 + +italc (1:1.0.7-0ubuntu3~ppa2) hardy; urgency=low + + * Remove remaining debug instructions + * Wait for .italc to be created (possible race condition here) + + -- Stéphane Graber Tue, 15 Apr 2008 12:40:34 +0200 + +italc (1:1.0.7-0ubuntu3~ppa1) hardy; urgency=low + + * Replace old launcher scripts with avahi powered ones. + + -- Stéphane Graber Sat, 05 Apr 2008 00:06:30 +0200 + +italc (1:1.0.7-0ubuntu2) hardy; urgency=low + + * Fix the "Execute commands" window, the icon was overlapping the text. Icon + is now removed. + * Fix italc-client.postinst to create the admin group if it doesn't already + exist. (LP: #204235) + + -- Stéphane Graber Thu, 20 Mar 2008 13:44:28 +0100 + +italc (1:1.0.7-0ubuntu1) hardy; urgency=low + + * New version upstream (1.0.7) + * improved overall usability by adding new icons and reworking look of + overview-mode + * added new image-scaling algorithm with (optional) MMX-optimizations in order + to use less CPU-time on master-computer when monitoring a lot of clients with + short update-intervals + * thanks to fast image-scaler, remote-control and demo-mode now scale screen + in real-time instead of having the user to scroll + * removed user-list and added ability to display user-name instead of + IP-address in classroom-manager + * removed remote-IP-property as not used anymore + * fixed logon-feature from classroom-action-menu + * in case user accidently changed role but no keys exist for this role try + teacher-role as fallback in order to make iTALC still usable in such cases + (Closes #1866440) + * updated spec-file for building RPMs + * added Polish localization-files + * made power-down, reboot and logoff work under Linux if no user is logged in + * fixed various crashes + * Update UI patch for Edubuntu + * Fix FTBFS and segfault for MMX on amd64 + + -- Stéphane Graber Mon, 10 Mar 2008 00:19:35 +0100 + +italc (1:1.0.6-0ubuntu1) hardy; urgency=low + + * New upstream version (bug fixes) + * Set Ubuntu maintainer address. + * Add ica-launcher, launcher script for ICA + * Add italc-launcher, launcher script for iTalc + * Add an iTalc menu entry for the master interface + * Set iTalc client to autostart using xdg + * Disable the remote Logon function (not working if not running as a root + service) + * Update "Execute commands" to execute only one command at a time + * Sync packaging from Debian Unstable (Patrick Winnertz) + * Add options for dh_shlibdeps to debian/rules to prevent a ftbfs + * Added new package libitalc to control since now both + applications needs this lib. + * Changed my maintainer address. + * Add compiler flags to rules + * Modified menu file to fit into the new layout + * Add Homepage: tag and remove Homepage from description + * use new standard-version (3.7.3) + + -- Stéphane Graber Mon, 11 Feb 2008 23:40:20 +0100 + +italc (1:1.0.4-0ubuntu1) hardy; urgency=low + + * New upstream release + - Fix VNC crash + - Code moved from ica/italc into libitalc.so + * Add libitalc.so to italc-client + * Remove the client systray icon + * Turn off the help bubbles by default in italc + * Fix FTBFS due to missing za locale + * Use gnome-session-save/gdm-signal for Gnome shutdown/reboot/logoff + * Use dcop for KDE shutdown/reboot/logoff + + -- Stéphane Graber Tue, 27 Nov 2007 22:34:58 +0100 + +italc (1:1.0.2-2) unstable; urgency=low + + * Upload of the package to unstable + + -- Patrick Winnertz Wed, 16 May 2007 13:45:10 +0200 + +italc (1:1.0.2-1) experimental; urgency=low + + * Packaging new upstream release + * FTBFS Bug on kfreeBSD send to upstream and this is fixed in + this version now. (Closes: #414096) + + -- Patrick Winnertz Tue, 10 Apr 2007 15:29:41 +0200 + +italc (1:1.0.0-1) experimental; urgency=low + + * Packaging new upstream version. + Must use epoch since 1.0.0 seems to be lesser than 1.0.0.0~rc2 + * Added build dependency libxtst-dev + * Modified rules: + - Removed build of icon, since this is now upstream + - Added --with-linux to enable build on kfreeBSD. Thanks to Cyril + Brulebois. (Closes: #414096) + + -- Patrick Winnertz Sat, 24 Mar 2007 15:44:11 +0100 + +italc (1.0.0.0~rc2-1) experimental; urgency=low + + * Packaging new upstream release + * Adopting this package from Steffen Joeris with his acceptance + * Increasing the debhelper level to 5 + * Adding the build-depends: + - libqt4-dev + - zlib1g-dev + - libjpeg62-dev + - openssl + * italc-master now has a dependency against italc-client, since + the client server (ica ) also have to run on the master. + * Updated Copyright file, since some files were removed + * Removed build depends libxaw7-dev, libqt3-mt-dev, libssl-dev, libxtst-dev + since they are obsolete + * Removed patches since upstream adopted them + * Added README.Debian to make key creation easier for local administrators + + -- Patrick Winnertz Wed, 27 Dec 2006 20:16:04 +0100 + +italc (0.9.6.2-3) unstable; urgency=low + + * Change build-depends against libxaw8-dev to libxaw7-dev + (Closes: #370197) + * Expand 20-configure.patch to adjust to newer X libraries + Thanks to Peter Eisentraut + * Bump standard version to 3.7.2 + * Provide the italc-keygen program which is needed for + the key generation to enable the connection + Thanks to Patrick Winnertz for some further skolelinux packaging + * Fix spelling error in descriptions (Closes: #363282, #363979) + * Upload sponsored by Morten Werner Olsen. + + -- Steffen Joeris Sun, 4 Jun 2006 13:23:38 +0200 + +italc (0.9.6.2-2) unstable; urgency=low + + [ Steffen Joeris ] + * Include patch to prevent italc to segfault on architectures + where the size of a pointer is greater than the size of + an integer, such as ia64. (Closes: #340684) + Thanks to Dann Frazier. + + [ Florian Ragwitz ] + * Removed build-dep on xlibs-dev, which is deprecated now, and depend on the + individual libraries we need. + + -- Florian Ragwitz Mon, 9 Jan 2006 15:51:40 +0100 + +italc (0.9.6.2-1) unstable; urgency=low + + * Initial release (Closes: #338678) + + -- Steffen Joeris Sat, 12 Nov 2005 00:20:36 +0100 + --- italc-1.0.9-rc4.orig/debian/libitalc.install +++ italc-1.0.9-rc4/debian/libitalc.install @@ -0,0 +1 @@ +usr/lib/italc/libitalc_core.so usr/lib/italc/ --- italc-1.0.9-rc4.orig/debian/copyright +++ italc-1.0.9-rc4/debian/copyright @@ -0,0 +1,211 @@ +This package was debianized by Steffen Joeris on +Sat, 12 Nov 2005 00:20:36 +0100. + +It was downloaded from http://italc.sourceforge.net/download.php + +Copyright Holders: + +Main Developer: Tobias Doerffel + + +Other Developers: + + Rohit Kumar + Copyright (C) 2005 + List of files: +./ica/x11/rfb/rfb.h +./ica/x11/libvncserver/scale.c +./ica/x11/libvncserver/auth.c +./ica/x11/libvncserver/sockets.c +./ica/x11/libvncserver/rfbserver.c +./common/include/rfb/rfb.h +./common/include/rfb/rfbproto.h + + Dan McGuirk + Copyright (C) 2001 + List of files: +./ica/x11/rfb/rfb.h +./ica/x11/libvncserver/corre.c +./ica/x11/libvncserver/tabletrans24template.c +./ica/x11/libvncserver/rre.c +./ica/x11/libvncserver/scale.c +./ica/x11/libvncserver/tableinittctemplate.c +./ica/x11/libvncserver/tableinitcmtemplate.c +./ica/x11/libvncserver/stats.c +./ica/x11/libvncserver/tableinit24.c +./ica/x11/libvncserver/auth.c +./ica/x11/libvncserver/tabletranstemplate.c +./ica/x11/libvncserver/hextile.c +./ica/x11/libvncserver/translate.c +./ica/x11/libvncserver/sockets.c +./ica/x11/libvncserver/rfbserver.c +./ica/x11/libvncserver/cutpaste.c +./common/include/rfb/rfb.h + + RealVNC Ltd. + Copyright (C) 2002 + List of files: +./ica/x11/rfb/rfb.h +./ica/x11/libvncserver/corre.c +./ica/x11/libvncserver/scale.c +./ica/x11/libvncserver/zrlepalettehelper.c +./ica/x11/libvncserver/zrlepalettehelper.h +./ica/x11/libvncserver/zrletypes.h +./ica/x11/libvncserver/stats.c +./ica/x11/libvncserver/zrleoutstream.c +./ica/x11/libvncserver/zrleoutstream.h +./ica/x11/libvncserver/zrleencodetemplate.c +./ica/x11/libvncserver/zrle.c +./ica/x11/libvncserver/httpd.c +./ica/x11/libvncserver/rfbserver.c +./common/include/rfb/rfb.h + + AT&T Laboratories Cambridge + Copyright (C) 1999 + List of files: +./ica/x11/rfb/rfb.h +./ica/x11/libvncserver/corre.c +./ica/x11/libvncserver/tabletrans24template.c +./ica/x11/libvncserver/rre.ci +./ica/x11/libvncserver/scale.c +./ica/x11/libvncserver/d3des.c +./ica/x11/libvncserver/d3des.h +./ica/x11/libvncserver/tableinittctemplate.c +./ica/x11/libvncserver/tableinitcmtemplate.c +./ica/x11/libvncserver/cursor.c +./ica/x11/libvncserver/stats.c +./ica/x11/libvncserver/tight.c +./ica/x11/libvncserver/tableinit24.c +./ica/x11/libvncserver/auth.c +./ica/x11/libvncserver/tabletranstemplate.c +./ica/x11/libvncserver/hextile.c +./ica/x11/libvncserver/zlib.c +./ica/x11/libvncserver/translate.c +./ica/x11/libvncserver/httpd.c +./ica/x11/libvncserver/vncauth.c +./ica/x11/libvncserver/sockets.c +./ica/x11/libvncserver/rfbserver.c +./ica/x11/libvncserver/cutpaste.c +./common/include/rfb/rfb.h +./common/include/rfb/rfbproto.h +./tightvnc4win_italc.diff + + James "Wez" Weatherall + Copyright (C) 2001 + List of files: +./ica/x11/libvncserver/rfbregion.c + + Johannes E. Schindelin + Copyright (C) 2001 + List of files: +./ica/x11/libvncserver/rfbregion.c +./ica/x11/libvncserver/scale.c +./ica/x11/libvncserver/auth.c +./ica/x11/libvncserver/sockets.c +./ica/x11/libvncserver/rfbserver.c +./common/include/rfb/rfbproto.h + + Sun Microsystems, Inc. + Copyright (C) 2003 + List of files: +./ica/x11/libvncserver/zrlepalettehelper.c +./ica/x11/libvncserver/zrlepalettehelper.h +./ica/x11/libvncserver/zrleoutstream.c +./ica/x11/libvncserver/zrleoutstream.h +./ica/x11/libvncserver/zrleencodetemplate.c +./ica/x11/libvncserver/zrle.c + + Richard Outerbridge + Copyright (C) 1988-1992 + List of files: +./ica/x11/libvncserver/d3des.c +./ica/x11/libvncserver/d3des.h +./common/include/rfb/rfbproto.h + + Constantin Kaplinsky + Copyright (C) 2000,2001 + List of files: +./ica/x11/libvncserver/cursor.c +./ica/x11/libvncserver/tight.c + + Tridia Corporation + Copyright (C) 2000 + List of files: +./ica/x11/libvncserver/zlib.c +./common/include/rfb/rfbproto.h + + Karl J. Runge + Copyright (C) 2004-2006 + List of files: +./ica/x11/x11vnc/tkx11vnc.h +./ica/x11/x11vnc/x11vnc.c +./ica/x11/x11vnc/help.c + + Free Software Foundation, Inc. + Copyright (C) 1989, 1991 + List of files: +./ica/x11/x11vnc/help.c + + The Open Group + Copyright (C) 1987, 1998 + List of files: +./ica/x11/x11vnc/nox11.h + + Markus Franz Xaver + Copyright (C) 2002 + List of files: +./ica/src/lzoconf.h +./ica/src/minilzo.c +./ica/src/minilzo.h + + Johannes Oberhumer + Copyright (C) 2002 + List of files: +./ica/src/lzoconf.h +./ica/src/minilzo.c +./ica/src/minilzo.h + + Joseph Wenniger + Copyright (C) 2001-2003 + List of files: +./ima/src/kmultitabbar.h +./ima/src/kmultitabbar.cpp + + Trolltech ASA + Copyright (C) 1992-2006 + List of files: +./ima/src/3rdparty/qnetworkinterface.h +./ima/src/3rdparty/qnetworkinterface_win.cpp +./ima/src/3rdparty/qnetworkinterface_win_p.h +./ima/src/3rdparty/qnetworkinterface.cpp +./ima/src/3rdparty/qnetworkinterface_p.h +./ima/src/3rdparty/qnetworkinterface_unix.cpp + + Tatu Ylonen + Copyright (C) 1995 + List of files: +./common/src/dsa_key.cpp + + Harakan Software + Copyright (C) 2001 + List of files: +./common/include/rfb/rfbproto.h + + X Consortium + Copyright (C) 1987 + List of files: +./common/include/rfb/keysym.h + +License: + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License, version 2 +as published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANDABILITY of FITNESS FOR A PARTICULAR PURPOSE. +See the GNU General Public License for details. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in /usr/share/common-licenses/GPL. --- italc-1.0.9-rc4.orig/debian/italc-client.manpages +++ italc-1.0.9-rc4/debian/italc-client.manpages @@ -0,0 +1 @@ +ica/ica.1 --- italc-1.0.9-rc4.orig/debian/ica-launcher +++ italc-1.0.9-rc4/debian/ica-launcher @@ -0,0 +1,51 @@ +#!/bin/sh +# iTalc client launcher using avahi +# Written by Stéphane Graber + +ICA_LTSP=`xprop -root ica_ltsp | sed 's/^.* //' 2> /dev/zero` +if [ "$ICA_LTSP" = "1" ] +then + echo "ICA already running on the thin client." + exit 0 +fi + +ISDPORT=5800 +IVSPORT=5900 +HOSTNAME=`hostname` +MD5_3=`md5sum /etc/italc/keys/public/teacher/key | awk '{print \$1}'` +MD5_2=`md5sum /etc/italc/keys/public/admin/key | awk '{print \$1}'` +MD5_1=`md5sum /etc/italc/keys/public/supporter/key | awk '{print \$1}'` + +if [ "$LTSP_CLIENT" ]; +then + echo LTSP environement detected + PORT=`echo $LTSP_CLIENT | awk -F . '{print \$4}'` + ISDPORT=$((11000 + $PORT)) + IVSPORT=$((10000 + $PORT)) +fi + +if [ -f /etc/ltsp_chroot ] +then + IP=`ip addr show | grep " inet " | grep -v 127.0.0.1 | head -n1 | awk '{print \$2}' | sed "s/\/.*//"` + HOSTNAME="$IP ($USER)" +fi + +RUNNING_ICA=`ps ux | awk '{print \$2" "\$11}' | grep -E "^[0-9]* ica" | awk '{print \$1}'` +if [ "$RUNNING_ICA" ] +then + for processus in $RUNNING_ICA + do + kill $processus + done + echo ICA already running, killing it. + sleep 1s +fi + +echo Announce the service on avahi +avahi-publish-service "italc $HOSTNAME" _italc._tcp $IVSPORT $MD5_1 $MD5_2 $MD5_3 "$HOSTNAME" > /dev/zero & + +echo Starting ICA +ica -noshm -isdport $ISDPORT -ivsport $IVSPORT + +echo Stopping avahi +kill `ps ux | grep avahi-publish-service | grep italc | grep $IVSPORT | grep $HOSTNAME | awk '{print \$2}'` --- italc-1.0.9-rc4.orig/debian/ica.desktop +++ italc-1.0.9-rc4/debian/ica.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Name=iTalc client +Comment=iTalc client daemon +Exec=/usr/bin/ica-launcher +Icon=/usr/share/pixmaps/italc.xpm +Terminal=false +Type=Application +StartupNotify=true +Categories=GNOME;KDE;System; +X-Ubuntu-Gettext-Domain=ica --- italc-1.0.9-rc4.orig/debian/italc-master.install +++ italc-1.0.9-rc4/debian/italc-master.install @@ -0,0 +1,2 @@ +usr/bin/italc /usr/bin/ +../italc-launcher /usr/bin/ --- italc-1.0.9-rc4.orig/debian/menu +++ italc-1.0.9-rc4/debian/menu @@ -0,0 +1,7 @@ +?package(italc-master):\ + needs="X11"\ + section="Applications/Education"\ + title="iTALC"\ + command="/usr/bin/italc-launcher" \ + icon32x32="/usr/share/pixmaps/italc.xpm"\ + hints="KDE" --- italc-1.0.9-rc4.orig/debian/italc-client.install +++ italc-1.0.9-rc4/debian/italc-client.install @@ -0,0 +1,2 @@ +usr/bin/ica /usr/bin/ +../ica-launcher /usr/bin/ --- italc-1.0.9-rc4.orig/debian/italc-launcher +++ italc-1.0.9-rc4/debian/italc-launcher @@ -0,0 +1,151 @@ +#!/usr/bin/python +# coding=UTF-8 + +# iTalc master launcher using avahi +# Written by Stéphane Graber + +from xml.dom import minidom +import md5, subprocess, re, socket, os, sys + +def getLocalIPs(): + "Scan ifconfig output for local IPV4 addresses" + os.environ["LANG"]="C" # Set environ LANG to C + ip=[] + output=subprocess.Popen("ifconfig",stdout=subprocess.PIPE) + output.wait() + for line in output.stdout.readlines(): + line=line.strip() + if line.startswith("inet addr"): + ip.append(line.split(" ")[1].split(":")[1]) + return ip + +def getHostPort(): + isdhost="127.0.0.1" + isdport="5800" + if "LTSP_CLIENT" in os.environ: + xprop=subprocess.Popen(["xprop","-root","ica_ltsp"],stdout=subprocess.PIPE) + xprop.wait() + if xprop.stdout.read().split(" ")[2].strip() == "1": + isdhost=os.environ["LTSP_CLIENT"] + else: + isdport=str(int(os.environ["LTSP_CLIENT"].split(".")[3])+11000) + return [isdhost,isdport] + +# Empty config file to use if it doesn't already exist +skeleton=""" + + + + +""" + +try: + confdir=os.environ.get("HOME")+"/.italc/" +except: + sys.exit('Invalid or undefined env variable \"HOME\"') + +try: + file=open("/etc/italc/keys/public/teacher/key","r") + md5_1=md5.new(file.read()).hexdigest() + file.close() + + file=open("/etc/italc/keys/public/admin/key","r") + md5_2=md5.new(file.read()).hexdigest() + file.close() + + file=open("/etc/italc/keys/public/supporter/key","r") + md5_3=md5.new(file.read()).hexdigest() + file.close() +except: + sys.exit('iTalc keys not correctly installed') + +if not os.access("/etc/italc/keys/private/teacher/key",os.R_OK): + md5_1="0" + if not os.access("/etc/italc/keys/private/admin/key",os.R_OK): + md5_2="0" + if not os.access("/etc/italc/keys/private/supporter/key",os.R_OK): + md5_3="0" + access="none" + else: + access="supporter" + else: + access="admin" +else: + access="teacher" + +try: + xmldoc=minidom.parse(confdir+"globalconfig.xml") + body=xmldoc.getElementsByTagName("globalclientconfig")[0].getElementsByTagName("body")[0] + classrooms=body.getElementsByTagName("classroom") +except: + mkdir=subprocess.Popen(["mkdir","-p",confdir]) + mkdir.wait() + try: + config=open(confdir+"globalconfig.xml","w+") + config.write(skeleton) + config.close() + except: + sys.exit('Unable to write to config file') + xmldoc=minidom.parse(confdir+"globalconfig.xml") + body=xmldoc.getElementsByTagName("globalclientconfig")[0].getElementsByTagName("body")[0] + classrooms=body.getElementsByTagName("classroom") + +# Scan for an existing classroom and delete it +for classroom in classrooms: + if classroom.getAttribute("name") == "Auto-detected computers": + body.removeChild(classroom) + +# Create the Auto-detected computers classroom +avahi=xmldoc.createElement("classroom") +avahi.setAttribute("name","Auto-detected computers") +avahi.setAttribute("forcevisible","yes") +body.appendChild(avahi) + +# Add computers to the classroom +client_list=subprocess.Popen(["avahi-browse","-trp","_italc._tcp"],stdout=subprocess.PIPE) +client_list.wait() +count=0 + +local_addr=getLocalIPs() +isdhost,isdport=getHostPort() +if isdhost not in local_addr: + local_addr=[isdhost] + +for line in client_list.stdout.readlines(): + if line.startswith("="): + try: + param=line.split(";") + comment=re.findall('"(.*)" "(.*)" "(.*)" "(.*)"\n',param[9])[0] + if (comment[1] == md5_1 or comment[2] == md5_2 or comment[3] == md5_3) and (param[7] not in local_addr or str(int(isdport)+100) != param[8]): + # Make sure we have a running VNC server + connection=socket.socket(socket.AF_INET,socket.SOCK_STREAM) + connection.connect((param[7],int(param[8]))) + connection.close() + + # Get MAC address + mac=subprocess.Popen(("arp", param[7], "-n", "-a"),stdout=subprocess.PIPE) + mac.wait() + mac=mac.stdout.read().strip().split(" ")[3] + if not re.match("^..:..:..:..:..:..$",mac): + mac="" + + # Generate the new node + client=xmldoc.createElement("client") + client.setAttribute("id",str(count)) + client.setAttribute("localip",param[7]+":"+param[8]) + client.setAttribute("mac",mac) + client.setAttribute("name",comment[0]) + client.setAttribute("type","0") + avahi.appendChild(client) + count+=1 + except: + print 'Ignoring a client, invalid data received' + +try: + file=open(confdir+"globalconfig.xml","w") + xmldoc.writexml(file) + file.close() +except: + exit('Failed to save updated config') +print "Starting italc as "+access+" ("+isdhost+":"+isdport+")" +subprocess.Popen(["italc","-isdport",isdport,"-isdhost",isdhost,"-role",access]) --- italc-1.0.9-rc4.orig/debian/italc-client.postinst +++ italc-1.0.9-rc4/debian/italc-client.postinst @@ -0,0 +1,53 @@ +#!/bin/sh +if [ ! `getent group admin` ]; then + addgroup --system admin +fi + +if [ ! -f /etc/italc/keys/private/teacher/key ] && [ ! -f /etc/italc/keys/public/teacher/key ]; then + echo "Creating teacher keypair" + ica -role teacher -createkeypair > /dev/zero + chmod g+r /etc/italc/keys/private/teacher/key + chgrp admin /etc/italc/keys/private/teacher/key +fi +if [ ! -f /etc/italc/keys/private/admin/key ] && [ ! -f /etc/italc/keys/public/admin/key ]; then + echo "Creating admin keypair" + ica -role admin -createkeypair > /dev/zero + chmod g+r /etc/italc/keys/private/admin/key + chgrp admin /etc/italc/keys/private/admin/key +fi +if [ ! -f /etc/italc/keys/private/supporter/key ] && [ ! -f /etc/italc/keys/public/supporter/key ]; then + echo "Creating supporter keypair" + ica -role supporter -createkeypair > /dev/zero + chmod g+r /etc/italc/keys/private/supporter/key + chgrp admin /etc/italc/keys/private/supporter/key +fi + +if [ -f /etc/ltsp_chroot ] && [ -d /usr/share/ldm/rc.d/ ]; then + echo "Installing ldm rc script" + ( + cat << 'EOF' +# +# sourced with . +# +# Script to automatically add what's in the ltspfs_fstab on login. +# +boolean_is_true(){ + case "$(echo $1 | tr 'A-Z' 'a-z')" in + true|y|yes) return 0 ;; + *) return 1 ;; + esac +} + +USER=`cat /var/log/ldm.log | grep "Attempting ssh session" | tail -n1 | awk '{print \$5}'` +if boolean_is_true "`getltscfg START_ITALC`" +then + ica-launcher & + xprop -f ica_ltsp 8b -root -set ica_ltsp True +else + xprop -f ica_ltsp 8b -root -set ica_ltsp False +fi +EOF + ) > /usr/share/ldm/rc.d/S06-italc +fi + +#DEBHELPER# --- italc-1.0.9-rc4.orig/debian/italc-client.dirs +++ italc-1.0.9-rc4/debian/italc-client.dirs @@ -0,0 +1 @@ +etc/italc --- italc-1.0.9-rc4.orig/debian/rules +++ italc-1.0.9-rc4/debian/rules @@ -0,0 +1,26 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/dpatch.mk + +DEB_DH_INSTALL_SOURCEDIR = debian/tmp +CPPFLAGS += -I/usr/X11R6/include +DEB_CONFIGURE_EXTRA_FLAGS = --with-linux LDFLAGS=-L/usr/X11R6/lib +DEB_DH_MAKESHLIBS_ARGS += -V +DEB_DH_SHLIBDEPS_ARGS_libitalc = -L libitalc -l debian/libitalc/usr/lib/ + +debian/italc.xpm: ima/data/italc.png + convert -resize 32 $< $@ + +common-install-arch:: debian/italc.xpm + install -D -m 644 debian/italc.xpm debian/italc-client/usr/share/pixmaps/italc.xpm + install -D -m 644 debian/ica.desktop debian/italc-client/etc/xdg/autostart/ica.desktop + install -D -m 644 debian/italc.desktop debian/italc-master/usr/share/applications/italc.desktop + +clean:: + rm -f debian/italc.xpm + rm -f lupus/config.log + rm -f lupus/config.status + rm -f config.log + rm -f config.status --- italc-1.0.9-rc4.orig/debian/control +++ italc-1.0.9-rc4/debian/control @@ -0,0 +1,64 @@ +Source: italc +Section: x11 +Priority: optional +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Patrick Winnertz +Build-Depends: cdbs, debhelper (>= 5.0), dpatch, libqt4-dev, zlib1g-dev, libjpeg62-dev, libssl-dev, imagemagick, libxtst-dev +Standards-Version: 3.7.3 +Homepage: http://italc.sourceforge.net/home.php + +Package: italc-master +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, python, avahi-utils, italc-client, libitalc (=${binary:Version}) +Description: Intelligent Teaching and Learning with Computers + iTALC makes it possible, to access and influence the pupils + activities just from the computer of the teacher. With the + help of iTALC, for example the teacher is able to see the + content of the pupils screens on his screen. If a pupil needs + help, the teacher can access the pupils desktop and give support + from his computer. The pupil can watch all activities, the + teacher is doing on his desktop. So the pupil can learn new processes. + For teaching something to all pupils, you can switch into demo-mode + where all screens of the pupils show the teacher-screen. + Furthermore things like locking pupil's screens, killing games, + power on/off clients and much more can be done with iTALC. + . + This package contains the software necessary to observe and control iTALC + clients provided by the italc-client package. + +Package: italc-client +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, avahi-utils, libitalc (=${binary:Version}) +Description: Intelligent Teaching and Learning with Computers + iTALC makes it possible, to access and influence the pupils + activities just from the computer of the teacher. With the + help of iTALC, for example the teacher is able to see the + content of the pupils screens on his screen. If a pupil needs + help, the teacher can access the pupils desktop and give support + from his computer. The pupil can watch all activities, the + teacher is doing on his desktop. So the pupil can learn new processes. + For teaching something to all pupils, you can switch into demo-mode + where all screens of the pupils show the teacher-screen. + Furthermore things like locking pupil's screens, killing games, + power on/off clients and much more can be done with iTALC. + . + This package contains the client software for iTALC that can be controlled + using italc-master. + +Package: libitalc +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Intelligent Teaching and Learning with Computers + iTALC makes it possible, to access and influence the pupils + activities just from the computer of the teacher. With the + help of iTALC, for example the teacher is able to see the + content of the pupils screens on his screen. If a pupil needs + help, the teacher can access the pupils desktop and give support + from his computer. The pupil can watch all activities, the + teacher is doing on his desktop. So the pupil can learn new processes. + For teaching something to all pupils, you can switch into demo-mode + where all screens of the pupils show the teacher-screen. + Furthermore things like locking pupil's screens, killing games, + power on/off clients and much more can be done with iTALC. + . + This package provides the necessary library for italc --- italc-1.0.9-rc4.orig/debian/italc-master.manpages +++ italc-1.0.9-rc4/debian/italc-master.manpages @@ -0,0 +1 @@ +ima/italc.1 --- italc-1.0.9-rc4.orig/debian/README.Debian +++ italc-1.0.9-rc4/debian/README.Debian @@ -0,0 +1,33 @@ +italc for Debian +---------------- + +1.1) Create keypairs to allow watching + + To configure italc in order to allow teachers and/or admins to watch what + the pupils/people do, you have to create key pairs. These keys are automatically + stored in /etc/italc, and they are created by this command: + ica -createkeypair -role $role + where $role could be: teacher, admins, other or supporter. + If you don't specify the -role option, the key is automatically created for + role= teacher. + +1.2) Allow specific users to have access to these keys. + + In the next step you must grant access to the users who should later use italc: + + The private key for role=teacher should now be in: + /etc/italc/keys/private/teacher/ + and the public one in + /etc/italc/keys/public/teacher/ + + To allow all users to have access, add them into the group which has the access + rights on this directory. + +1.3) Start ica on all client PC's + + You must verify that all running ica applications have access to the public keys, + so you have to copy them on your own to the machines ica should run on. + + + + -- Patrick Winnertz Wed, 27 Dec 2006 09:18:32 +0100 --- italc-1.0.9-rc4.orig/debian/italc-client.postrm +++ italc-1.0.9-rc4/debian/italc-client.postrm @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +if [ "$1" = purge ]; then + rm -rf /etc/italc +fi; + +if [ -f /etc/ltsp_chroot ] && [ -d /usr/share/ldm/rc.d/ ] && [ -f /usr/share/ldm/rc.d/S06-italc ]; then + echo "Removing ldm rc script" + rm /usr/share/ldm/rc.d/S06-italc +fi + +#DEBHELPER# --- italc-1.0.9-rc4.orig/debian/docs +++ italc-1.0.9-rc4/debian/docs @@ -0,0 +1,2 @@ +README +TODO --- italc-1.0.9-rc4.orig/debian/compat +++ italc-1.0.9-rc4/debian/compat @@ -0,0 +1 @@ +5