r6768 - in trunk/packaging/linux/debuntu: . jaunty/aghdvic jaunty/aghdvic/debian jaunty/twisted karmic karmic/accessgrid karmic/accessgrid/debian karmic/accessgrid/debian/patches karmic/ag-rat karmic/ag-rat/debian karmic/ag-vic karmic/ag-vic/debian karmic/ag-vic/debian/patches karmic/ag-vic/decklink karmic/agcommon karmic/agcommon/debian karmic/agcommon/debian/patches karmic/aghdvic karmic/aghdvic/debian karmic/aghdvic/debian/patches karmic/agzsi karmic/agzsi/debian karmic/agzsi/debian/patches karmic/bajjer karmic/bajjer/debian karmic/bajjer/debian/patches karmic/m2crypto karmic/m2crypto/debian karmic/m2crypto/debian/patches karmic/quickbridge karmic/quickbridge/debian karmic/twisted karmic/twisted/debian karmic/twisted/debian/patches karmic/vpcscreen karmic/vpcscreen/debian karmic/vpcscreen/debian/patches lenny/ag-vic/debian lenny/ag-vic/debian/patches lenny/aghdvic/debian lucid lucid/accessgrid lucid/accessgrid/debian lucid/accessgrid/debian/patches lucid/ag-rat lu cid/ag-rat/debian lucid/ag-vic lucid/ag-vic/debian lucid/ag-vic/debian/patches lucid/ag-vic/decklink lucid/agcommon lucid/agcommon/debian lucid/agcommon/debian/patches lucid/aghdvic lucid/aghdvic/debian lucid/aghdvic/debian/patches lucid/agzsi lucid/agzsi/debian lucid/agzsi/debian/patches lucid/bajjer lucid/bajjer/debian lucid/bajjer/debian/patches lucid/m2crypto lucid/m2crypto/debian lucid/m2crypto/debian/patches lucid/quickbridge lucid/quickbridge/debian lucid/twisted lucid/twisted/debian lucid/twisted/debian/patches lucid/vpcscreen lucid/vpcscreen/debian lucid/vpcscreen/debian/patches

ag-cvs.mcs.anl.gov at ci.uchicago.edu ag-cvs.mcs.anl.gov at ci.uchicago.edu
Fri Apr 9 06:15:36 CDT 2010


Author: willing
Date: 2010-04-09 06:15:35 -0500 (Fri, 09 Apr 2010)
New Revision: 6768

Added:
   trunk/packaging/linux/debuntu/karmic/
   trunk/packaging/linux/debuntu/karmic/accessgrid/
   trunk/packaging/linux/debuntu/karmic/accessgrid/accessgrid3.2.build
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/buildag.sh
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/changelog
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/compat
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/control
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/copyright
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/do_patches
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/installag.sh
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/00list
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/SharedBrowser.py.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/WebkitBrowser.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/ZSI-Server.py.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/agkill
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/datapath-Configs.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/mcast_output.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/orderMyVenues.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/patch-add_datadir.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesH264.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesNoBuild.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/toolkit-language.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/v32servicesH264.dpatch
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postinst
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postrm
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/pyversions
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules
   trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules.old
   trunk/packaging/linux/debuntu/karmic/ag-rat/
   trunk/packaging/linux/debuntu/karmic/ag-rat/ag-rat.build
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/changelog
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/control
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/copyright
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/patches/
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/postinst
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/prerm
   trunk/packaging/linux/debuntu/karmic/ag-rat/debian/rules
   trunk/packaging/linux/debuntu/karmic/ag-vic/
   trunk/packaging/linux/debuntu/karmic/ag-vic/ag-vic.build
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/00list
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/changelog
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/control
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/copyright
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/00list
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/nolibv4l.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/use_localuclmmbase.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-debug.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-mtrace.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-render-color-swscale.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-x264.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/webcam-quirk.dpatch
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/postinst
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/prerm
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules
   trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules.real
   trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/
   trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI.h
   trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPIDispatch.cpp
   trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_1.h
   trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_3.h
   trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/LinuxCOM.h
   trunk/packaging/linux/debuntu/karmic/agcommon/
   trunk/packaging/linux/debuntu/karmic/agcommon/agcommon.build
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/changelog
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/compat
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/control
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/copyright
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/00list
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/examples-_common-setuporig.py.dpatch
   trunk/packaging/linux/debuntu/karmic/agcommon/debian/rules
   trunk/packaging/linux/debuntu/karmic/aghdvic/
   trunk/packaging/linux/debuntu/karmic/aghdvic/aghdvic.build
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/60-aghdvic.conf
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/86-firewire-camera.rules
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/changelog
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/control
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/copyright
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/include_memcpy.patch
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/patch-vic-Makefile.in
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/postinst
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/prerm
   trunk/packaging/linux/debuntu/karmic/aghdvic/debian/rules
   trunk/packaging/linux/debuntu/karmic/agzsi/
   trunk/packaging/linux/debuntu/karmic/agzsi/agzsi.build
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/changelog
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/compat
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/control
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/control.gutsy
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/copyright
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/do_patch
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/install.sh
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00dpatch.conf
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00list
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/bogus-shebang-remove.dpatch
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/no-setuptools.dpatch
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.dpatch
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.py
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/postinst.notneeded
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/postrm.notneeded
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/prerm.notneeded
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/pycompat
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/python-agzsi.manpages
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/pyversions
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.gutsy
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.old
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2dispatch.1
   trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2py.1
   trunk/packaging/linux/debuntu/karmic/bajjer/
   trunk/packaging/linux/debuntu/karmic/bajjer/bajjer.build
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/changelog
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/compat
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/control
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/copyright
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00dpatch.conf
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00list
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/pycompat
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/pyversions
   trunk/packaging/linux/debuntu/karmic/bajjer/debian/rules
   trunk/packaging/linux/debuntu/karmic/m2crypto/
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/changelog
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/compat
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/control
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/copyright
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/docs
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/00list
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/ftpslib_init.dpatch
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/sslConnectionTimeout.dpatch
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/rules
   trunk/packaging/linux/debuntu/karmic/m2crypto/debian/watch
   trunk/packaging/linux/debuntu/karmic/m2crypto/m2crypto.build
   trunk/packaging/linux/debuntu/karmic/quickbridge/
   trunk/packaging/linux/debuntu/karmic/quickbridge/debian/
   trunk/packaging/linux/debuntu/karmic/quickbridge/debian/changelog
   trunk/packaging/linux/debuntu/karmic/quickbridge/debian/control
   trunk/packaging/linux/debuntu/karmic/quickbridge/debian/copyright
   trunk/packaging/linux/debuntu/karmic/quickbridge/debian/rules
   trunk/packaging/linux/debuntu/karmic/quickbridge/quickbridge.build
   trunk/packaging/linux/debuntu/karmic/twisted/
   trunk/packaging/linux/debuntu/karmic/twisted/debian/
   trunk/packaging/linux/debuntu/karmic/twisted/debian/Twisted.egg-info.in
   trunk/packaging/linux/debuntu/karmic/twisted/debian/changelog
   trunk/packaging/linux/debuntu/karmic/twisted/debian/compat
   trunk/packaging/linux/debuntu/karmic/twisted/debian/control
   trunk/packaging/linux/debuntu/karmic/twisted/debian/copyright
   trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/
   trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/00list
   trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/twisted-internet-_threadedselect.dpatch
   trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postinst
   trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postrm
   trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.menu
   trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.preinst
   trunk/packaging/linux/debuntu/karmic/twisted/debian/rules
   trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-api
   trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-doc.doc-base
   trunk/packaging/linux/debuntu/karmic/twisted/debian/watch
   trunk/packaging/linux/debuntu/karmic/twisted/twisted.build
   trunk/packaging/linux/debuntu/karmic/vpcscreen/
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/buildag.sh
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/changelog
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/conffiles
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/control
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/copyright
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPC-open_mode.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPMedia-types
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/u_char-jpegdct_h.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-string.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-ttlhack.patch
   trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/rules
   trunk/packaging/linux/debuntu/karmic/vpcscreen/vpcscreen.build
   trunk/packaging/linux/debuntu/lucid/
   trunk/packaging/linux/debuntu/lucid/accessgrid/
   trunk/packaging/linux/debuntu/lucid/accessgrid/accessgrid3.2.build
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/buildag.sh
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/changelog
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/compat
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/control
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/copyright
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/do_patches
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/installag.sh
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/00list
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/SharedBrowser.py.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/WebkitBrowser.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/ZSI-Server.py.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/agkill
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/datapath-Configs.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/mcast_output.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/orderMyVenues.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/patch-add_datadir.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesH264.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesNoBuild.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/toolkit-language.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/v32servicesH264.dpatch
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postinst
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postrm
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/pyversions
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules
   trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules.old
   trunk/packaging/linux/debuntu/lucid/ag-rat/
   trunk/packaging/linux/debuntu/lucid/ag-rat/ag-rat.build
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/changelog
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/control
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/copyright
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/patches/
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/postinst
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/prerm
   trunk/packaging/linux/debuntu/lucid/ag-rat/debian/rules
   trunk/packaging/linux/debuntu/lucid/ag-vic/
   trunk/packaging/linux/debuntu/lucid/ag-vic/ag-vic.build
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/00list
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/changelog
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/control
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/copyright
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/00list
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/nolibv4l.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/use_localuclmmbase.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-debug.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-mtrace.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-render-color-swscale.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-x264.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/webcam-quirk.dpatch
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/postinst
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/prerm
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules
   trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules.real
   trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/
   trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI.h
   trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPIDispatch.cpp
   trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_1.h
   trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_3.h
   trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/LinuxCOM.h
   trunk/packaging/linux/debuntu/lucid/agcommon/
   trunk/packaging/linux/debuntu/lucid/agcommon/agcommon.build
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/changelog
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/compat
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/control
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/copyright
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/00list
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/examples-_common-setuporig.py.dpatch
   trunk/packaging/linux/debuntu/lucid/agcommon/debian/rules
   trunk/packaging/linux/debuntu/lucid/aghdvic/
   trunk/packaging/linux/debuntu/lucid/aghdvic/aghdvic.build
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/60-aghdvic.conf
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/86-firewire-camera.rules
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/changelog
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/control
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/copyright
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/include_memcpy.patch
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/patch-vic-Makefile.in
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/postinst
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/prerm
   trunk/packaging/linux/debuntu/lucid/aghdvic/debian/rules
   trunk/packaging/linux/debuntu/lucid/agzsi/
   trunk/packaging/linux/debuntu/lucid/agzsi/agzsi.build
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/changelog
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/compat
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/control
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/control.gutsy
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/copyright
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/do_patch
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/install.sh
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00dpatch.conf
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00list
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/bogus-shebang-remove.dpatch
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/no-setuptools.dpatch
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.dpatch
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.py
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/postinst.notneeded
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/postrm.notneeded
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/prerm.notneeded
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/pycompat
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/python-agzsi.manpages
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/pyversions
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.gutsy
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.old
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2dispatch.1
   trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2py.1
   trunk/packaging/linux/debuntu/lucid/bajjer/
   trunk/packaging/linux/debuntu/lucid/bajjer/bajjer.build
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/changelog
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/compat
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/control
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/copyright
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00dpatch.conf
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00list
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/Bajjer-0.2.5-python25.dpatch
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/pycompat
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/pyversions
   trunk/packaging/linux/debuntu/lucid/bajjer/debian/rules
   trunk/packaging/linux/debuntu/lucid/m2crypto/
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/changelog
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/compat
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/control
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/copyright
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/docs
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/00list
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/ftpslib_init.dpatch
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout-0.20.2.dpatch
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout.dpatch
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/rules
   trunk/packaging/linux/debuntu/lucid/m2crypto/debian/watch
   trunk/packaging/linux/debuntu/lucid/m2crypto/m2crypto.build
   trunk/packaging/linux/debuntu/lucid/quickbridge/
   trunk/packaging/linux/debuntu/lucid/quickbridge/debian/
   trunk/packaging/linux/debuntu/lucid/quickbridge/debian/changelog
   trunk/packaging/linux/debuntu/lucid/quickbridge/debian/control
   trunk/packaging/linux/debuntu/lucid/quickbridge/debian/copyright
   trunk/packaging/linux/debuntu/lucid/quickbridge/debian/rules
   trunk/packaging/linux/debuntu/lucid/quickbridge/quickbridge.build
   trunk/packaging/linux/debuntu/lucid/twisted/
   trunk/packaging/linux/debuntu/lucid/twisted/debian/
   trunk/packaging/linux/debuntu/lucid/twisted/debian/Twisted.egg-info.in
   trunk/packaging/linux/debuntu/lucid/twisted/debian/changelog
   trunk/packaging/linux/debuntu/lucid/twisted/debian/compat
   trunk/packaging/linux/debuntu/lucid/twisted/debian/control
   trunk/packaging/linux/debuntu/lucid/twisted/debian/copyright
   trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/
   trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/00list
   trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/twisted-internet-_threadedselect.dpatch
   trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postinst
   trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postrm
   trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.triggers
   trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.menu
   trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.preinst
   trunk/packaging/linux/debuntu/lucid/twisted/debian/rules
   trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-api
   trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-doc.doc-base
   trunk/packaging/linux/debuntu/lucid/twisted/debian/watch
   trunk/packaging/linux/debuntu/lucid/twisted/twisted.build
   trunk/packaging/linux/debuntu/lucid/vpcscreen/
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/buildag.sh
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/changelog
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/conffiles
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/control
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/copyright
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-X_ShmGetImage.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-open_mode.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPMedia-types
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/u_char-jpegdct_h.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-string.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-ttlhack.patch
   trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/rules
   trunk/packaging/linux/debuntu/lucid/vpcscreen/vpcscreen.build
Removed:
   trunk/packaging/linux/debuntu/jaunty/twisted/debian.prev/
Modified:
   trunk/packaging/linux/debuntu/README.build
   trunk/packaging/linux/debuntu/ag-vic.build
   trunk/packaging/linux/debuntu/aghdvic.build
   trunk/packaging/linux/debuntu/agzsi.build
   trunk/packaging/linux/debuntu/jaunty/aghdvic/aghdvic.build
   trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/changelog
   trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/rules
   trunk/packaging/linux/debuntu/lenny/ag-vic/debian/changelog
   trunk/packaging/linux/debuntu/lenny/ag-vic/debian/control
   trunk/packaging/linux/debuntu/lenny/ag-vic/debian/patches/00list
   trunk/packaging/linux/debuntu/lenny/ag-vic/debian/rules
   trunk/packaging/linux/debuntu/lenny/aghdvic/debian/changelog
   trunk/packaging/linux/debuntu/lenny/aghdvic/debian/rules
   trunk/packaging/linux/debuntu/m2crypto.build
   trunk/packaging/linux/debuntu/twisted.build
Log:
Bring debuntu build scripts up to date - adding karmic & lucid versions


Modified: trunk/packaging/linux/debuntu/README.build
===================================================================
--- trunk/packaging/linux/debuntu/README.build	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/README.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -22,22 +22,21 @@
     quickbridge
     ag-vic
     ag-rat
-    wxmozilla
+    vpcscreen
+    python-webkit (previously wxmozilla)
     accessgrid
 
 Related packages also available here:
     aghdvic
-    vpcscreen
 
 
 BUILD ENVIRONMENT
 
 A suitable build environment must exist in order for the build
 scripts to run to completetion. Therefore the following packages
-must already have been installed:
+(and their dependencies) must already have been installed:
     build-essential
     debhelper
-    fakeroot
     pbuilder
     cdbs
     dpatch

Modified: trunk/packaging/linux/debuntu/ag-vic.build
===================================================================
--- trunk/packaging/linux/debuntu/ag-vic.build	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/ag-vic.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -7,8 +7,16 @@
 USEEXISTING=0
 
 PKGNAME=ag-vic2.8ucl
-PKGVERSION=1.4.0r4449
+#PKGVERSION=1.4.0r4449
+#PKGVERSION=1.4.0r4533
+#PKGVERSION=1.4.0r4651
+PKGVERSION=1.4.0r4694
 
+arch=${ARCH:-`uname -m`}
+if [ ! "$arch" = "x86_64" ]; then
+  arch=i386
+fi
+
 # Ensure some basics are set
 [ -z ${PKGNAME} ] && { echo "PKGNAME needs to be set. Exiting now!"
   RET=`expr $RET + 1`
@@ -21,14 +29,23 @@
 
 # Set as many of these as are needed
 #
-workdir=mmedia-r4449
 site0=http://www.vislab.uq.edu.au/ag3/distfiles
-srcpkg0=x264-r650.tar.gz
-srcpkg1=${workdir}.tar.gz
+#
+svn_revision=r4694
+ffmegversion=r20462
+libswscaleversion=r29824
+x264version=snapshot-20090708-2245
+#
+#workdir=mmedia-r4449
+#workdir=mmedia-r4533
+#srcpkg0=x264-r650.tar.gz
 #srcpkg2=libswscale-r27137.tar.gz
-srcpkg2=libswscale-20090522.tar.gz
 #srcpkg3=ffmpeg-r13987.tar.gz
-srcpkg3=ffmpeg-20090522.tar.gz
+workdir=mmedia-${svn_revision}
+srcpkg0=x264-${x264version=snapshot-20090708-2245}.tar.bz2
+srcpkg1=${workdir}.tar.bz2
+srcpkg2=libswscale-${libswscaleversion}.tar.bz2
+srcpkg3=ffmpeg-${ffmegversion}.tar.bz2
 
 myid=`id |cut -d ' ' -f 1 |cut -d '=' -f2 |cut -d '(' -f 1`
 if [ ! "${myid}" = "0" ]; then
@@ -77,12 +94,16 @@
   
   
   # Generate the source environment
-  tar zxvf ${srcpkg1}
-  ( cd ${workdir}/vic && tar zxvf ${here}/${srcpkg3} )
-  ( cd ${workdir}/vic/ffmpeg && tar zxvf ${here}/${srcpkg2} )
-  ( cd ${workdir}/vic && tar zxvf ${here}/${srcpkg0} )
+  tar xvf ${srcpkg1}
+  ( cd ${workdir}/vic && tar xvf ${here}/${srcpkg3} )
+  ( cd ${workdir}/vic/ffmpeg && tar xvf ${here}/${srcpkg2} )
+  ( cd ${workdir}/vic && tar xvf ${here}/${srcpkg0} )
+
+  ( cd ${workdir}/vic && ln -s x264-${x264version} x264 )
   
   cp -a debian ${workdir}/
+  # Decklink stuff
+  cp -a decklink ${workdir}/vic/
 }
 
 if [ $CLEANONLY -ne 0 ]; then
@@ -95,8 +116,9 @@
   generate
 fi
 
+exit
 echo "DIST=$DIST"
-echo "ARCH=$ARCH"
+ARCH=${arch}; echo "ARCH=$ARCH"
 # This is the actual building using fakeroot and pbuilder
 #
 #( cd ${workdir} && dpkg-buildpackage -S -rfakeroot -us -uc )

Modified: trunk/packaging/linux/debuntu/aghdvic.build
===================================================================
--- trunk/packaging/linux/debuntu/aghdvic.build	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/aghdvic.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -5,7 +5,7 @@
 USEEXISTING=0
 
 PKGNAME=aghdvic
-PKGVERSION=r117
+PKGVERSION=r119
 
 # Ensure some basics are set
 [ -z ${PKGNAME} ] && { echo "PKGNAME needs to be set. Exiting now!"
@@ -21,8 +21,8 @@
 #
 [ -z ${workdir} ] && workdir=${PKGNAME}-${PKGVERSION}
 [ -z ${site0} ] && site0=http://www.vislab.uq.edu.au/ag3/distfiles
-[ -z ${srcpkg0} ] && srcpkg0=aghdvic-r117.tar.gz
-[ -z ${srcpkg1} ] && srcpkg1=hdvideoservices-0.25.1.tar.gz
+[ -z ${srcpkg0} ] && srcpkg0=aghdvic-${PKGVERSION}.tar.gz
+[ -z ${srcpkg1} ] && srcpkg1=hdvideoservices-0.36.tar.gz
 
 myid=`id |cut -d ' ' -f 1 |cut -d '=' -f2 |cut -d '(' -f 1`
 if [ ! "${myid}" = "0" ]; then

Modified: trunk/packaging/linux/debuntu/agzsi.build
===================================================================
--- trunk/packaging/linux/debuntu/agzsi.build	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/agzsi.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -5,7 +5,7 @@
 USEEXISTING=0
 
 PKGNAME=agzsi
-PKGVERSION=2.0
+PKGVERSION=2.0.r1385
 
 # Ensure some basics are set
 [ -z ${PKGNAME} ] && { echo "PKGNAME needs to be set. Exiting now!"

Modified: trunk/packaging/linux/debuntu/jaunty/aghdvic/aghdvic.build
===================================================================
--- trunk/packaging/linux/debuntu/jaunty/aghdvic/aghdvic.build	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/jaunty/aghdvic/aghdvic.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -8,7 +8,7 @@
 #workdir=mmedia-r4215
 #site0=http://www.vislab.uq.edu.au/ag3/distfiles
 #srcpkg0=
-srcpkg1=hdvideoservices-0.25.1.tar.gz
+srcpkg1=hdvideoservices-0.36.tar.gz
 
 
 # Load up the default build script

Modified: trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/changelog	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -1,3 +1,10 @@
+aghdvic (0r119-1) jaunty; urgency=low
+
+  * New upstream version
+  * Use 0.36 for service packages (positionWindow & interlaceType options)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 29 Jun 2009 22:39:16 +1000
+
 aghdvic (0r117-5) jaunty; urgency=low
 
   * Add udev rule file for usable raw1394 device permission

Modified: trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/rules	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/jaunty/aghdvic/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -4,7 +4,7 @@
 pkgpath = debian/tmp
 docdir = debian/tmp/usr/share/doc/$(package)
 here=`pwd`
-svcsdir = hdvideoservices-0.25.1
+svcsdir = hdvideoservices-0.36
 pkgdir = ${here}/$(pkgpath)
 arch=`uname -m`
 #AGTKDATABASE=/etc
@@ -14,7 +14,6 @@
 
 patch:
 	$(checkdir)
-	cat debian/patches/include_memcpy.patch |patch -p0 ; \
 	if [ "${arch}" = "x86_64" ]; then \
 		cat debian/patches/patch-vic-Makefile.in |patch -p0 ; \
 	fi ; \

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/accessgrid3.2.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/accessgrid3.2.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/accessgrid3.2.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=accessgrid3.2-3.2
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=AccessGrid-3.2-06754.tar.gz
+
+
+# Load up the default build script
+. ../../accessgrid3.2.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/accessgrid3.2.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/buildag.sh
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/buildag.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/buildag.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+#echo "Start build  - BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
+
+echo "BUILDING in here `pwd`"
+
+builddir=${HERE}
+pythonversion=${PYTHONVERSION}
+
+echo "python version is ${pythonversion}"
+sleep 3
+
+cd ${builddir}/AccessGrid/packaging; export AGBUILDROOT=${builddir}; python BuildSnapshot.py --no-checkout --dist=debian --pythonversion=${pythonversion}
+
+
+#echo "End build - CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
+


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/buildag.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,165 @@
+accessgrid3.2 (3.2-0r67543) karmic; urgency=low
+
+  * Rebuild with agzsi-2.0.r1385
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Mar 2010 13:52:40 +1000
+
+accessgrid3.2 (3.2-0r67542) karmic; urgency=low
+
+  * Fix path for agversion module (thanks to Kevin Cole)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 03 Dec 2009 13:57:53 +1000
+
+accessgrid3.2 (3.2-0r67541) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+  * Include patch to alphabetically order MyVenues menu
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 12:58:11 +1000
+
+accessgrid3.2 (3.2-0r67540) jaunty; urgency=low
+
+  * Use updated svn r6754
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 25 Jun 2009 13:45:10 +1000
+
+accessgrid3.2 (3.2-0r67431) jaunty; urgency=low
+
+  * Use update svn r6735
+  * Patches to fix some language related problems
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Jun 2009 09:04:19 +1000
+
+accessgrid3.2 (3.2-0r67430) jaunty; urgency=low
+
+  * Patches to wrap md5 hash generation to use hashlib module where possible
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 29 Apr 2009 22:33:31 +1000
+
+accessgrid3.2 (3.2-0r67351) jaunty; urgency=low
+
+  * Rebuild for Jaunty Jackalope
+  * Use python-webkit instead of wxMozilla for SharedBrowser
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 16:04:10 +1000
+
+accessgrid3.2 (3.2-0r67351) lenny; urgency=low
+
+  * Add avahi-utils in runtime depends (for ServiceDiscovery)
+  * Re-enable H.264 services
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 31 Mar 2009 08:36:22 +1000
+
+accessgrid3.2 (3.2-0r67350) lenny; urgency=low
+
+  * New 3.2 beta using svn release 6735 (includes dbus/avahi fix)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 27 Mar 2009 13:59:49 +1000
+
+accessgrid3.2 (3.2-0r67233) lenny; urgency=low
+
+  * Add patch for correct output of multicast status to preferences file
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 22 Oct 2008 12:18:24 +1000
+
+accessgrid3.2 (3.2-0r67232) lenny; urgency=low
+
+  * Add (again now that it compiles) vpcscreen as a dependency
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Sep 2008 09:48:47 +1000
+
+accessgrid3.2 (3.2-0r6723) lenny; urgency=low
+
+  * First beta of 3.2 using svn release 6721
+  * Maintain /etc/AccessGrid3 for config files but install.sh ready for
+  *        move to /usr/share/AccessGrid3
+  * Fix agversion patch
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 14:14:44 +1000
+
+accessgrid3.2 (3.2-0r6722) lenny; urgency=low
+
+  * First beta of 3.2 using svn release 6721
+  * Move /etc/AccessGrid3 to /usr/share/AccessGrid3
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 08 Sep 2008 16:09:58 +1000
+
+accessgrid3.2 (3.2-0r6721) lenny; urgency=low
+
+  * First beta of 3.2 using svn release 6721
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 17 Jul 2008 12:43:53 +1000
+
+accessgrid3.2 (3.2-0r6702) lenny; urgency=low
+
+  * Pre-beta of 3.2 using svn release 6702
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 25 Jun 2008 13:10:45 +1000
+
+accessgrid3.1 (3.1-5) lenny; urgency=low
+
+  * Add agvcrlauncher & vpcscreen as dependencies
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 02 May 2008 09:21:18 +1000
+
+accessgrid3.1 (3.1-4) lenny; urgency=low
+
+  * Workaround for video port name probing problem with 64bit python2.4
+  * Restore correct AccessGrid menu location
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 26 Mar 2008 09:34:05 +1000
+
+accessgrid3.1 (3.1-3) lenny; urgency=low
+
+  * New build for lenny, using python-support
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 23 Mar 2008 15:09:10 +1000
+
+accessgrid3.1 (3.1-2) etch; urgency=low
+
+  * Added *H264 services
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 18 Mar 2008 10:51:33 +1000
+
+accessgrid3.1 (3.1-1) etch; urgency=low
+
+  * 3.1 release
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 21 Dec 2007 17:14:45 +1000
+
+accessgrid3.1 (3.1-0cvs20071215-1) etch; urgency=low
+
+  * new 3.1 beta2 snapshot
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 16 Dec 2007 13:26:39 +1000
+
+accessgrid3.1 (3.1-0cvs20071031-2) etch; urgency=low
+
+  * Update vic dependency
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 07 Nov 2007 12:05:20 +1000
+
+accessgrid3.1 (3.1-0cvs20071031-1) etch; urgency=low
+
+  * new 3.1 beta2 snapshot
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 31 Oct 2007 14:57:25 +1000
+
+accessgrid3.1 (3.1-0cvs20071010-2) etch; urgency=low
+
+  * 3.1 beta2 with patch for SharedBrowser
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 11 Oct 2007 14:03:46 +1000
+
+accessgrid3.1 (3.1-0cvs20071010-1) etch; urgency=low
+
+  * Initial release for this snapshot. This is 3.1 beta2
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 10 Oct 2007 12:50:59 +1000
+
+accessgrid3.1 (3.1-0cvs20071005-1) etch; urgency=low
+
+  * Initial release for this snapshot
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 07 Oct 2007 00:29:47 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,28 @@
+Source: accessgrid3.2
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: debhelper (>= 5.0.38), python-support (>= 0.4), dpatch,
+ python-all-dev, python-setuptools, python-agzsi
+XS-Python-Version: 2.4
+Standards-Version: 3.7.2
+
+Package: accessgrid3.2
+Architecture: all
+Depends: ${python:Depends}, python-feedparser,
+ python-zopeinterface, python-twisted-core, python-agzsi,
+ python-bajjer, agcommon,
+ python-wxgtk2.8, python-dbus, python-avahi, avahi-utils,
+ python-m2crypto (>= 0.17), twm, tightvncserver, xtightvncviewer,
+ ag-vic2.8ucl, ag-rat, python-webkit, quickbridge,
+ vpcscreen
+Conflicts: accessgrid, accessgrid3, accessgrid3.1
+Replaces: accessgrid, accessgrid3, accessgrid3.1
+Description: AccessGrid Collaboration Toolkit
+ The Access Grid Toolkit provides the necessary components for
+ users to participate in Access Grid based collaborations,
+ and also for developers to work on network services,
+ applications services and node services to extend the
+ functionality of the Access Grid.
+     This module provides the core components
+ to start participating in the Access Grid.

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Wed, 10 Oct 2007 12:50:59 +1000
+
+It was downloaded from <http://www.vislab.uq.edu.au/ag3/distfiles/AccessGrid-3.1-cvs20071010.tar.gz>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/do_patches
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/do_patches	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/do_patches	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+echo "PATCHING in here `pwd`"
+
+builddir=${HERE}
+
+# Do patches
+#
+cd ${builddir}/AccessGrid || exit 1
+
+cat ${builddir}/debian/patches/patch-AccessGrid-hosting-ZSI-Server.py | patch -p0
+cat ${builddir}/debian/patches/patch-AccessGrid-Platform-unix-Config.py | patch -p0
+cat ${builddir}/debian/patches/patch-packaging-BuildSnapshot.py | patch -p0
+cat ${builddir}/debian/patches/patch-sharedapps-SharedBrowser-SharedBrowser.py | patch -p0
+cat ${builddir}/debian/patches/patch-AccessGrid-packaging-servicesToShip | patch -p0
+
+# Make "auto" default signal type
+#cat ${builddir}/debian/patches/patch-VideoProducerServiceH264.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoProducerService.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoService.py | patch -p0
+
+cat ${builddir}/debian/patches/patch-AudioService.build.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoConsumerService.build.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoProducerService.build.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoService.build.py | patch -p0
+
+
+cd ${builddir} || exit 1
+
+echo "Done PATCHING"
+


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/do_patches
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/installag.sh
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/installag.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/installag.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+
+prefix=${PREFIX:-/usr}
+name=${NAME:-accessgrid}
+version=${VERSION:-3.2}
+pythonversion=${PYTHONVERSION}
+pkgdir=${PKGDIR:-${HERE}/debian/accessgrid3.2}
+AGTKDATABASE=/usr/share
+#AGTKDATABASE=/etc
+SYSTEMCONFIGBASE=/etc
+
+
+echo " INSTALLING in ${HERE} (= `pwd` ?)"
+echo " PKGDIR = ${pkgdir}"
+echo " PREFIX = ${prefix}"
+builddir=${HERE}
+
+echo "python version is ${pythonversion}"
+sleep 3
+
+#if [ ! -d ${builddir}/dist ]; then mv ${builddir}/dist-* ${builddir}/dist; fi;
+cd ${builddir}/dist-${pythonversion} || exit 1
+
+
+mkdir -p ${pkgdir}/${prefix}/bin
+install -m 0755 ${HERE}/debian/patches/agkill ${pkgdir}/${prefix}/bin
+install -m 0755 bin/* ${pkgdir}/${prefix}/bin
+
+install -d ${pkgdir}/${prefix}/share/python-support/AccessGrid
+cp -R lib/python${pythonversion}/site-packages/* ${pkgdir}/${prefix}/share/python-support/AccessGrid/
+
+rm -rf share/applnk share/gnome
+install -d ${pkgdir}/${prefix}/share
+mkdir -p ${pkgdir}/${prefix}/share/doc/${name}${version}
+cp -R share/doc/AccessGrid/* ${pkgdir}/${prefix}/share/doc/${name}${version}/
+cp ${builddir}/AccessGrid/README ${pkgdir}/${prefix}/share/doc/${name}${version}/
+cp -R share/* ${pkgdir}/${prefix}/share/
+rm -rf ${pkgdir}/${prefix}/share/doc/AccessGrid
+mkdir -p ${pkgdir}/${prefix}/share/${name}${version}
+cp -R share/AccessGrid/* ${pkgdir}/${prefix}/share/${name}${version}/
+rm -rf ${pkgdir}/${prefix}/share/AccessGrid
+cp -R ${builddir}/AccessGrid/packaging/linux/ag-ellipse.png \
+        ${pkgdir}/${prefix}/share/${name}${version}/
+
+install -d ${pkgdir}/${SYSTEMCONFIGBASE}
+cp -R etc/AccessGrid3 ${pkgdir}/${SYSTEMCONFIGBASE}/
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/SharedApplications
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/Services
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/NodeServices
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/Plugins
+cp -R SharedApplications ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+cp -R Services ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+cp -R NodeServices ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+cp -R Plugins ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+
+# Gnome desktop menus
+#
+mkdir -p ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/applications-merged
+cp ${builddir}/AccessGrid/packaging/linux/xdg/AccessGrid3.menu \
+        ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/applications-merged/
+
+# KDE menus
+#
+mkdir -p ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/kde-applications-merged
+cp ${builddir}/AccessGrid/packaging/linux/xdg/AccessGrid3.menu \
+        ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/kde-applications-merged/
+
+mkdir -p ${pkgdir}/${prefix}/share/desktop-directories
+cp ${builddir}/AccessGrid/packaging/linux/xdg/*3*.directory \
+        ${pkgdir}/${prefix}/share/desktop-directories/
+for f in ${pkgdir}/${prefix}/share/desktop-directories/*3* ; do
+  sed -i "/Icon/s/AccessGrid/${name}${version}/g" $f
+done
+mkdir -p ${pkgdir}/${prefix}/share/applications
+cp ${builddir}/AccessGrid/packaging/linux/xdg/*3*.desktop \
+        ${pkgdir}/${prefix}/share/applications/
+for f in ${pkgdir}/${prefix}/share/applications/*3* ; do
+  sed -i "/Icon/s/AccessGrid/${name}${version}/g" $f
+done
+
+#mkdir -p ${pkgdir}/${AGTKDATABASE}/AccessGrid3/PackageCache
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/installag.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,8 @@
+packaging-BuildSnapshot.py
+packaging-agversion.py
+servicesNoBuild
+ZSI-Server.py
+datapath-Configs
+v32servicesH264
+WebkitBrowser
+orderMyVenues

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Platform-unix-Config.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/AccessGrid/Platform/unix/Config.py accessgrid3.1-3.1/AccessGrid/AccessGrid/Platform/unix/Config.py
+--- accessgrid3.1-3.1~/AccessGrid/AccessGrid/Platform/unix/Config.py	2007-07-21 23:36:43.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-03-26 09:24:25.393777245 +1000
+@@ -103,7 +103,7 @@
+             self.docDir = os.path.join(self.GetInstallDir(), "doc")
+         else:
+             self.docDir = os.path.join(self.GetInstallDir(), "share", "doc",
+-                                       "AccessGrid-" + str(GetVersion()))
++                                       "accessgrid" + str(GetVersion()))
+     #    # Check dir and make it if needed.
+     #    if self.initIfNeeded:
+     #        if self.docDir is not None and \


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Platform-unix-Config.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-04-14 08:37:41.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-09-08 15:51:28.959174311 +1000
+@@ -46,7 +46,7 @@
+     if IsFreeBSD():
+         AGTkBasePath = "/usr/local/etc/AccessGrid3"
+     else:
+-        AGTkBasePath = "/etc/AccessGrid3"
++        AGTkBasePath = "/usr/share/AccessGrid3"
+ 
+     def instance(initIfNeeded=0):
+         if Config.AGTkConfig.theAGTkConfigInstance == None:
+@@ -105,7 +105,7 @@
+             self.docDir = os.path.join(self.GetInstallDir(), "doc")
+         else:
+             self.docDir = os.path.join(self.GetInstallDir(), "share", "doc",
+-                                       "AccessGrid-" + str(GetVersion()))
++                                       "accessgrid" + str(GetVersion()))
+     #    # Check dir and make it if needed.
+     #    if self.initIfNeeded:
+     #        if self.docDir is not None and \


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/SharedBrowser.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/SharedBrowser.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/SharedBrowser.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,83 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## SharedBrowser.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py accessgrid3.1-3.1/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py
+--- accessgrid3.1-3.1~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2007-10-05 23:57:30.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2008-03-23 21:30:40.933265985 +1000
+@@ -21,7 +21,7 @@
+ if sys.platform == Platform.WIN:
+     import wx.lib.iewin as iewin
+ else:
+-    from wxPython.mozilla import *
++    from wx.mozilla import *
+ 
+ 
+ from AccessGrid.SharedAppClient import SharedAppClient
+@@ -116,15 +116,15 @@
+             # wx.EVT_MSHTML_STATUSTEXTCHANGE(self, -1, self.OnStatusTextChange)
+             iewin.EVT_TitleChange(self, -1, self.OnTitleChange)
+         else:
+-            self.wxbrowser = wxMozillaBrowser(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
++            self.wxbrowser = MozillaBrowser(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
+             sizer.Add(self.wxbrowser, 1, wx.EXPAND)
+ 
+             # Hook up the event handlers for the Mozilla window
+-            wx.EVT_MOZILLA_BEFORE_LOAD(self, -1, self.OnBeforeLoad)
+-            wx.EVT_MOZILLA_URL_CHANGED(self, -1, self.UpdateURL)
+-            wx.EVT_MOZILLA_LOAD_COMPLETE(self, -1, self.OnLoadComplete)
+-            wx.EVT_MOZILLA_STATUS_CHANGED(self, -1, self.UpdateStatus)
+-            wx.EVT_MOZILLA_STATE_CHANGED(self, -1, self.UpdateState)
++            EVT_MOZILLA_BEFORE_LOAD(self, -1, self.OnBeforeLoad)
++            EVT_MOZILLA_URL_CHANGED(self, -1, self.UpdateURL)
++            EVT_MOZILLA_LOAD_COMPLETE(self, -1, self.OnLoadComplete)
++            EVT_MOZILLA_STATUS_CHANGED(self, -1, self.UpdateStatus)
++            EVT_MOZILLA_STATE_CHANGED(self, -1, self.UpdateState)
+ 
+         self.SetSizer(sizer)
+         self.SetAutoLayout(1)
+@@ -254,11 +254,11 @@
+ 
+     def UpdateState(self, event):
+         if self.frame:
+-            if (event.GetState() & wxMOZILLA_STATE_START) or (event.GetState() & wxMOZILLA_STATE_TRANSFERRING):
++            if (event.GetState() & MOZILLA_STATE_START) or (event.GetState() & MOZILLA_STATE_TRANSFERRING):
+                 self.frame.SetStatusText("Loading " + event.GetURL() + "...")
+-            elif event.GetState() & wxMOZILLA_STATE_NEGOTIATING:
++            elif event.GetState() & MOZILLA_STATE_NEGOTIATING:
+                 self.frame.SetStatusText("Contacting server...")
+-            elif event.GetState() & wxMOZILLA_STATE_REDIRECTING:
++            elif event.GetState() & MOZILLA_STATE_REDIRECTING:
+                 self.frame.SetStatusText("Redirecting from " + event.GetURL())
+ 
+ 
+@@ -291,7 +291,7 @@
+             if sys.platform == Platform.WIN:
+                 self.wxbrowser.Navigate(url)
+             else:
+-                wx.CallAfter(self.wxbrowser.LoadUrl, url)
++                wx.CallAfter(self.wxbrowser.LoadURL, url)
+ 
+     def OnLocationSelect(self, event):
+         self.LocalEvent()
+@@ -299,7 +299,7 @@
+         if sys.platform == Platform.WIN:
+             self.wxbrowser.Navigate(url)
+         else:
+-            self.wxbrowser.LoadUrl(url)
++            self.wxbrowser.LoadURL(url)
+ 
+     def OnLocationKey(self, event):
+         if event.GetKeyCode() == wx.WXK_RETURN:
+@@ -307,7 +307,7 @@
+             URL = self.location.GetValue()
+             if self.current and self.location.FindString(self.current) == wx.NOT_FOUND:
+                 self.location.Append(self.current)
+-            self.wxbrowser.LoadUrl(URL)
++            self.wxbrowser.LoadURL(URL)
+         else:
+             event.Skip()
+ 


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/SharedBrowser.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/WebkitBrowser.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/WebkitBrowser.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/WebkitBrowser.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,864 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## WebkitBrowser.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py accessgrid3.2-3.2/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py
+--- accessgrid3.2-3.2~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2008-03-14 16:19:33.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2009-03-16 09:59:08.045576000 +1000
+@@ -1,348 +1,392 @@
+-#! /usr/bin/python
++#!/usr/bin/python
++#
++# SharedBrowser.py 0.9
++# A Webkit based shared web browser for the Access Grid Toolkit.
++# Copyright (C) 2009 Christoph Willing <c.willing _a_t_ uq.edu.au>.
++# See LICENSE.txt for details.
+ 
+ import os
+ import sys
+-import logging
+-import sys
+ import getopt
++import time
++from gettext import gettext as _
+ 
+-from AccessGrid import Platform
++import agversion
++agversion.select(3)
+ 
+ try:
+-    from twisted.internet import _threadedselect as threadedselectreactor
+-except:
+-    from twisted.internet import threadedselectreactor
++    from twisted.internet import gtk2reactor
++    try:
++        gtk2reactor.install()
++    except Exception, e:
++        print "[*] ERROR: Could not initiate GTK modules: %s" % (e)
++        sys.exit(1)
++    from twisted.internet import reactor
++except ImportError:
++    print "[*] ERROR: Could not import Twisted Network Framework"
++    sys.exit(1)
+ 
+-threadedselectreactor.install()
++import gtk
++import webkit
+ 
+-from twisted.internet import reactor
++from AccessGrid.ClientProfile import ClientProfile
++from AccessGrid.GroupMsgDefines import NotConnectedException
++from AccessGrid.Platform.Config import UserConfig
++from AccessGrid.SharedAppClient import SharedAppClient
++from AccessGrid.Toolkit import CmdlineApplication
+ 
+-import wx
+-if sys.platform == Platform.WIN:
+-    import wx.lib.iewin as iewin
+-else:
+-    from wxPython.mozilla import *
+ 
++class WebToolbar(gtk.Toolbar):
+ 
+-from AccessGrid.SharedAppClient import SharedAppClient
+-from AccessGrid.Platform.Config import UserConfig
+-from AccessGrid.ClientProfile import ClientProfile
+-from AccessGrid import icons
+-from AccessGrid.Toolkit import WXGUIApplication
++    def __init__(self, browser):
++        gtk.Toolbar.__init__(self)
+ 
++        self._browser = browser
+ 
+-class WebBrowser(wx.Panel):
+-    """
+-    WebBrowser is a basic web browser class
+-    """
+-    def __init__(self, parent, id, log, frame = None):
+-        wx.Panel.__init__(self, parent, id)
++        # navigational buttons
++        self._back = gtk.ToolButton(gtk.STOCK_GO_BACK)
++        self._back.set_tooltip(gtk.Tooltips(), _('Back'))
++        self._back.props.sensitive = False
++        self._back.connect('clicked', self._go_back_cb)
++        self.insert(self._back, -1)
+ 
+-        self.log = log
+-        self.current = None
+-        self.populate()
++        self._forward = gtk.ToolButton(gtk.STOCK_GO_FORWARD)
++        self._forward.set_tooltip(gtk.Tooltips(), _('Forward'))
++        self._forward.props.sensitive = False
++        self._forward.connect('clicked', self._go_forward_cb)
++        self.insert(self._forward, -1)
++        self._forward.show()
+ 
+-        self.navigation_callbacks = []
++        self._stop_and_reload = gtk.ToolButton(gtk.STOCK_REFRESH)
++        self._stop_and_reload.set_tooltip(gtk.Tooltips(),
++                                          _('Stop and reload current page'))
++        self._stop_and_reload.connect('clicked', self._stop_and_reload_cb)
++        self.insert(self._stop_and_reload, -1)
++        self._stop_and_reload.show()
++        self._loading = False
+ 
+-        self.frame = frame
+-        if frame is not None:
+-            self.title_base = frame.GetTitle()
++        self.insert(gtk.SeparatorToolItem(), -1)
+ 
+-        self.just_received_navigate = 0
+-        # The document url currently being loaded.
+-        self.docLoading = ""
+-        # Pages whose completion we need to ignore.  This is because
+-        #  the events don't tell us which events are for the main page.
+-        self.ignoreComplete = []
++        # zoom buttons
++        self._zoom_in = gtk.ToolButton(gtk.STOCK_ZOOM_IN)
++        self._zoom_in.set_tooltip(gtk.Tooltips(), _('Zoom in'))
++        self._zoom_in.connect('clicked', self._zoom_in_cb)
++        self.insert(self._zoom_in, -1)
++        self._zoom_in.show()
+ 
++        self._zoom_out = gtk.ToolButton(gtk.STOCK_ZOOM_OUT)
++        self._zoom_out.set_tooltip(gtk.Tooltips(), _('Zoom out'))
++        self._zoom_out.connect('clicked', self._zoom_out_cb)
++        self.insert(self._zoom_out, -1)
++        self._zoom_out.show()
+ 
+-    def add_navigation_callback(self, listener):
+-        self.log.debug("add_navigation_callback")
+-        self.navigation_callbacks.append(listener)
++        self._zoom_hundred = gtk.ToolButton(gtk.STOCK_ZOOM_100)
++        self._zoom_hundred.set_tooltip(gtk.Tooltips(), _('100% zoom'))
++        self._zoom_hundred.connect('clicked', self._zoom_hundred_cb)
++        self.insert(self._zoom_hundred, -1)
++        self._zoom_hundred.show()
+ 
+-    def remove_navigation_callback(self, listener):
+-        self.log.debug("remove_navigation_callback")
+-        self.navigation_callbacks.remove(listener)
++        self.insert(gtk.SeparatorToolItem(), -1)
+ 
+-    def add_button(self, name, func, sizer):
+-        b = wx.Button(self, -1, name)
+-        wx.EVT_BUTTON(self, b.GetId(), func)
+-        sizer.Add(b, 0, wx.EXPAND)
+-        return b
++        # location entry
++        self._entry = gtk.Entry()
++        self._entry.connect('activate', self._entry_activate_cb)
++        self._current_uri = None
+ 
+-    def populate(self):
++        entry_item = gtk.ToolItem()
++        entry_item.set_expand(True)
++        entry_item.add(self._entry)
++        self._entry.show()
+ 
+-        sizer = wx.BoxSizer(wx.VERTICAL)
++        self.insert(entry_item, -1)
++        entry_item.show()
+ 
+-        #
+-        # Create the button bar
+-        #
++        # scale other content besides from text as well
++        self._browser.set_full_content_zoom(True)
+ 
+-        bsizer = wx.BoxSizer(wx.HORIZONTAL)
++        self._browser.connect("title-changed", self._title_changed_cb)
+ 
+-        self.back_button = self.add_button("Back", self.OnBack, bsizer)
+-        self.forward_button = self.add_button("Forward", self.OnForward,
+-                                              bsizer)
+-        if sys.platform == Platform.WIN:
+-            self.home_button = self.add_button("Home", self.OnHome, bsizer)
+-        self.stop_button = self.add_button("Stop", self.OnStop, bsizer)
+-        self.refresh_button = self.add_button("Refresh", self.OnRefresh,
+-                                              bsizer)
++    def set_loading(self, loading):
++        self._loading = loading
+ 
+-        t = wx.StaticText(self, -1, "Location: ")
+-        bsizer.Add(t, 0, wx.EXPAND)
++        if self._loading:
++            self._show_stop_icon()
++            self._stop_and_reload.set_tooltip(gtk.Tooltips(), _('Stop'))
++        else:
++            self._show_reload_icon()
++            self._stop_and_reload.set_tooltip(gtk.Tooltips(), _('Reload'))
++        self._update_navigation_buttons()
+ 
+-        self.location = wx.ComboBox(self, wx.NewId(), "",
+-                                   style=wx.CB_DROPDOWN|wx.PROCESS_ENTER)
+-        wx.EVT_COMBOBOX(self, self.location.GetId(), self.OnLocationSelect)
+-        wx.EVT_KEY_UP(self.location, self.OnLocationKey)
+-        wx.EVT_CHAR(self.location, self.IgnoreReturn)
+-        bsizer.Add(self.location, 1, wx.EXPAND)
++    def massageText(self, text):
++        if text.startswith("http://"):
++            return text
++        return "http://" + text
++    
++    def _set_address(self, address):
++        self._entry.props.text = address
++        self._current_uri = address
+ 
+-        sizer.Add(bsizer, 0, wx.EXPAND)
++    def _update_navigation_buttons(self):
++        can_go_back = self._browser.can_go_back()
++        self._back.props.sensitive = can_go_back
+ 
+-        #
+-        # Now we can set up the browser widget
+-        #
++        can_go_forward = self._browser.can_go_forward()
++        self._forward.props.sensitive = can_go_forward
+ 
+-        if sys.platform == Platform.WIN:
+-            self.wxbrowser = iewin.IEHtmlWindow(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
+-            sizer.Add(self.wxbrowser, 1, wx.EXPAND)
++    def _entry_activate_cb(self, entry):
++        self._browser.open(self.massageText(entry.props.text))
+ 
+-            # Hook up the event handlers for the IE window
+-            iewin.EVT_BeforeNavigate2(self, -1, self.OnBeforeNavigate2)
+-            iewin.EVT_NewWindow2(self, -1, self.OnNewWindow2)
+-            iewin.EVT_DocumentComplete(self, -1, self.OnDocumentComplete)
+-            # wx.EVT_MSHTML_STATUSTEXTCHANGE(self, -1, self.OnStatusTextChange)
+-            iewin.EVT_TitleChange(self, -1, self.OnTitleChange)
++    def _go_back_cb(self, button):
++        self._browser.go_back()
++
++    def _go_forward_cb(self, button):
++        self._browser.go_forward()
++
++    def _title_changed_cb(self, widget, frame, title):
++        self._set_address(frame.get_uri())
++
++    def _stop_and_reload_cb(self, button):
++        if self._loading:
++            self._browser.stop_loading()
+         else:
+-            self.wxbrowser = wxMozillaBrowser(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
+-            sizer.Add(self.wxbrowser, 1, wx.EXPAND)
++            self._browser.reload()
+ 
+-            # Hook up the event handlers for the Mozilla window
+-            wx.EVT_MOZILLA_BEFORE_LOAD(self, -1, self.OnBeforeLoad)
+-            wx.EVT_MOZILLA_URL_CHANGED(self, -1, self.UpdateURL)
+-            wx.EVT_MOZILLA_LOAD_COMPLETE(self, -1, self.OnLoadComplete)
+-            wx.EVT_MOZILLA_STATUS_CHANGED(self, -1, self.UpdateStatus)
+-            wx.EVT_MOZILLA_STATE_CHANGED(self, -1, self.UpdateState)
++    def _show_stop_icon(self):
++        self._stop_and_reload.set_stock_id(gtk.STOCK_CANCEL)
+ 
+-        self.SetSizer(sizer)
+-        self.SetAutoLayout(1)
+-        self.Layout()
++    def _show_reload_icon(self):
++        self._stop_and_reload.set_stock_id(gtk.STOCK_REFRESH)
+ 
+-    def OnBeforeNavigate2(self, event):
+-        url = event.URL
++    def _zoom_in_cb(self, widget):
++        """Zoom into the page"""
++        self._browser.zoom_in()
+ 
+-        if self.just_received_navigate:
+-            if url != self.docLoading:
+-                message = "OnBeforeNav Skipping "+url+"already loading"+self.docLoading
+-                self.log.debug(message)
+-                # If we get a navigation event while loading, we will ignore
+-                #   the completion since it is from a popup or sub-page.
+-                self.ignoreComplete.append(url)
+-                # Because of popups and lack of complete information from
+-                #   events, we won't reset this (and let the user
+-                #   navigate) until the document is finished loading.
+-                # self.just_received_navigate = 0
+-            else:
+-                pass # Do nothing since we are already loading this url.
+-        else:
+-            # Go to a new url and also send it to the other Shared
+-            #   Browser clients.  The Send is done in IBrowsedCallback.
+-            message = "Before navigate "+url
+-            self.log.debug(message)
+-            self.just_received_navigate = 1
+-            self.docLoading = url
+-            map(lambda a: a(url), self.navigation_callbacks)
++    def _zoom_out_cb(self, widget):
++        """Zoom out of the page"""
++        self._browser.zoom_out()
+ 
+-    # Mozilla event handler
+-    def OnBeforeLoad(self, event):
+-        if not self.just_received_navigate:
+-            # Go to a new url and also send it to the other Shared
+-            #   Browser clients.  The Send is done in IBrowsedCallback.
+-            url = event.GetURL()
+-            message = "Before load "+url
+-            self.log.debug(message)
+-            self.just_received_navigate = 1
+-            self.docLoading = url
+-            map(lambda a: a(url), self.navigation_callbacks)
++    def _zoom_hundred_cb(self, widget):
++        """Zoom 100%"""
++        if not (self._browser.get_zoom_level() == 1.0):
++            self._browser.set_zoom_level(1.0)
+ 
+-    # Mozilla event handler
+-    def UpdateURL(self, event):
+-        url = event.GetNewURL()
+-        self.log.debug("UpdateURL url=" + url)
+-        self.back_button.Enable(event.CanGoBack())
+-        self.forward_button.Enable(event.CanGoForward())
+ 
+-    def OnNewWindow2(self, event):
+-        message = "On new window: " +event.URL
+-        self.log.debug(message)
+-        event.Veto() # don't allow it
++class BrowserPage(webkit.WebView):
+ 
+-    def OnDocumentComplete(self, event):
+-        message = "OnDocumentComplete: " + event.URL
+-        self.log.debug(message)
+-        self.current = event.URL
++    def __init__(self):
++        webkit.WebView.__init__(self)
+ 
+-        # Check if we are finishing the main document or not.
+-        if event.URL not in self.ignoreComplete:
+ 
+-            if event.URL == "about:blank" and self.docLoading != "about:blank":
+-                # This case happens at startup.
+-                self.log.debug("Ignoring DocComplete for first about:blank")
+-            else:
+-                # Finished loading, allow user to click links again now.
+-                #  Needed since there is not enough information in the
+-                #   events to tell if they refer to a popup (and other sub-
+-                #   pages) or a user clicking on a url.
+-                self.log.debug("Finished loading.")
+-                if self.location.FindString(self.current) == wx.NOT_FOUND:
+-                    self.location.Append(self.current)
+-                self.just_received_navigate = 0
+-                self.current = event.URL
+-                self.location.SetValue(self.current)
+-                while len(self.ignoreComplete) > 0:
+-                    self.ignoreComplete.pop()
+-        else:
+-            message = "Ignoring DocComplete for ", event.URL
+-            self.just_received_navigate = 0
+-            self.log.debug(message)
++class WebStatusBar(gtk.Statusbar):
+ 
+-    # Mozilla callback
+-    def OnLoadComplete(self, event):
+-        message = "OnLoadComplete: " + self.wxbrowser.GetURL()
+-        self.log.debug(message)
+-        self.current = self.wxbrowser.GetURL()
++    def __init__(self):
++        gtk.Statusbar.__init__(self)
++        self.iconbox = gtk.EventBox()
++        self.iconbox.add(gtk.image_new_from_stock(gtk.STOCK_INFO,
++                                                  gtk.ICON_SIZE_BUTTON))
++        self.pack_start(self.iconbox, False, False, 6)
++        self.iconbox.hide_all()
+ 
+-        if self.frame:
+-            self.frame.SetStatusText("")
++    def display(self, text, context=None):
++        cid = self.get_context_id("pywebkitgtk")
++        self.push(cid, str(text))
+ 
+-        if self.wxbrowser.GetURL() == "about:blank" and self.docLoading != "about:blank":
+-            # This case happens at startup.
+-            self.log.debug("Ignoring DocComplete for first about:blank")
+-        else:
+-            # Finished loading, allow user to click links again now.
+-            #  Needed since there is not enough information in the
+-            #   events to tell if they refer to a popup (and other sub-
+-            #   pages) or a user clicking on a url.
+-            self.log.debug("Finished loading.")
+-            if self.location.FindString(self.current) == wx.NOT_FOUND:
+-                self.location.Append(self.current)
+-            self.just_received_navigate = 0
+-            self.location.SetValue(self.current)
+-            if self.frame:
+-                self.frame.SetTitle(self.title_base + ' -- ' + self.wxbrowser.GetTitle())
++    def show_javascript_info(self):
++        self.iconbox.show()
+ 
+-    def LocalEvent(self):
+-        # Reset just_received_navigate flag when url is triggered by combobox or buttons.
+-        # Else, the browser may not be able to receive incoming remote events
+-        # from other clients.
+-        self.just_received_navigate = 0
++    def hide_javascript_info(self):
++        self.iconbox.hide()
+ 
+-    def OnTitleChange(self, event):
+-        self.log.debug("titlechange: " + event.GetString())
+-        if self.frame:
+-            self.frame.SetTitle(self.title_base + ' -- ' + event.GetString())
+ 
+-    def OnStatusTextChange(self, event):
+-        if self.frame:
+-            self.frame.SetStatusText(event.URL)
++class WebBrowser(gtk.Window):
+ 
+-    def UpdateStatus(self, event):
+-        if self.frame:
+-            self.frame.SetStatusText(event.GetStatusText())
++    def __init__(self, owner, size=(830,976)):
++        gtk.Window.__init__(self)
+ 
+-    def UpdateState(self, event):
+-        if self.frame:
+-            if (event.GetState() & wxMOZILLA_STATE_START) or (event.GetState() & wxMOZILLA_STATE_TRANSFERRING):
+-                self.frame.SetStatusText("Loading " + event.GetURL() + "...")
+-            elif event.GetState() & wxMOZILLA_STATE_NEGOTIATING:
+-                self.frame.SetStatusText("Contacting server...")
+-            elif event.GetState() & wxMOZILLA_STATE_REDIRECTING:
+-                self.frame.SetStatusText("Redirecting from " + event.GetURL())
++        self.owner = owner
++        self.log = owner.log
++        self.width,self.height = size
++        self.navigation_callbacks = []
++        self.shutdown_callbacks = []
++        self.potential_target_uri = None
+ 
++        self._loading = False
++        self._browser= BrowserPage()
++        self._browser.connect('load-started', self._loading_start_cb)
++        self._browser.connect('navigation-requested',
++                                self._navigation_requested_cb)
++        self._browser.connect('load-progress-changed',
++                              self._loading_progress_cb)
++        self._browser.connect('load-finished', self._loading_stop_cb)
++        self._browser.connect("title-changed", self._title_changed_cb)
++        self._browser.connect("hovering-over-link", self._hover_link_cb)
++        self._browser.connect("status-bar-text-changed",
++                              self._statusbar_text_changed_cb)
++        self._browser.connect("icon-loaded", self._icon_loaded_cb)
++        self._browser.connect("selection-changed", self._selection_changed_cb)
++#        self._browser.connect("set-scroll-adjustments", self._set_scroll_adjustments_cb)
++        self._browser.connect("populate-popup", self._populate_popup)
+ 
+-    def OnBack(self, event):
+-        self.wxbrowser.GoBack()
++        self._browser.connect("console-message",
++                              self._javascript_console_message_cb)
++        self._browser.connect("script-alert",
++                              self._javascript_script_alert_cb)
++        self._browser.connect("script-confirm",
++                              self._javascript_script_confirm_cb)
++        self._browser.connect("script-prompt",
++				self._javascript_script_prompt_cb)
+ 
+-    def OnForward(self, event):
+-        self.wxbrowser.GoForward()
++        self._scrolled_window = gtk.ScrolledWindow()
++        self._scrolled_window.props.hscrollbar_policy = gtk.POLICY_AUTOMATIC
++        self._scrolled_window.props.vscrollbar_policy = gtk.POLICY_AUTOMATIC
++        self._scrolled_window.add(self._browser)
++        self._scrolled_window.show_all()
+ 
+-    def OnStop(self, event):
+-        self.wxbrowser.Stop()
++        self._toolbar = WebToolbar(self._browser)
+ 
+-    def OnHome(self, event):
+-        self.wxbrowser.GoHome()
++        self._statusbar = WebStatusBar()
+ 
+-    def OnRefresh(self, event):
+-        self.LocalEvent()
+-        if sys.platform == Platform.WIN:
+-            self.wxbrowser.RefreshPage(iewin.REFRESH_COMPLETELY)
+-        else:
+-            self.wxbrowser.Reload()
++        vbox = gtk.VBox(spacing=4)
++        vbox.pack_start(self._toolbar, expand=False, fill=False)
++        vbox.pack_start(self._scrolled_window)
++        vbox.pack_end(self._statusbar, expand=False, fill=False)
+ 
+-    def navigate(self, url):
+-        if self.just_received_navigate:
+-            self.log.debug("___cancelled NAVIGATE to "+url)
+-        else:
+-            self.log.debug("NAVIGATE to "+url)
+-            self.just_received_navigate = 1
+-            self.docLoading = url
+-            if sys.platform == Platform.WIN:
+-                self.wxbrowser.Navigate(url)
+-            else:
+-                wx.CallAfter(self.wxbrowser.LoadUrl, url)
++        self.add(vbox)
++        self.set_default_size(self.width, self.height)
+ 
+-    def OnLocationSelect(self, event):
+-        self.LocalEvent()
+-        url = self.location.GetStringSelection()
+-        if sys.platform == Platform.WIN:
+-            self.wxbrowser.Navigate(url)
+-        else:
+-            self.wxbrowser.LoadUrl(url)
++        self.connect('destroy', self._cleanup)
+ 
+-    def OnLocationKey(self, event):
+-        if event.GetKeyCode() == wx.WXK_RETURN:
+-            self.LocalEvent()
+-            URL = self.location.GetValue()
+-            if self.current and self.location.FindString(self.current) == wx.NOT_FOUND:
+-                self.location.Append(self.current)
+-            self.wxbrowser.LoadUrl(URL)
++        startpage = """
++<html><head><title>About SharedBrowser</title></head><body>
++<h1>Welcome to the <code>Access Grid Shared Browser</code></h1>
++<p><a href="http://www.accessgrid.org">Access Grid Homepage</a></p>
++<p><a href="http://www.vislab.uq.edu.au">UQVislab Homepage</a> (where this Shared Browser Application was developed)</p>
++<p>
++<p><a href="http://live.gnome.org/PyWebKitGtk">PyWebKitGtk Homepage</a> (the technology on which this Shared Browser Application is based)</p>
++"""
++
++        self._browser.load_string(startpage, "text/html", "iso-8859-15", "shared browser:")
++
++        self.show_all()
++
++    def _cleanup(self, signal):
++        self.log.info("Cleaning up for SharedBrowser exit")
++        # Should use a shutdown callback but its not working so use this self.owner kludge instead
++        self.owner.LeaveSharedApplication()
++        gtk.main_quit()
++        sys.exit(0)
++
++    def _set_title(self, title):
++        self.props.title = title
++
++    def _loading_start_cb(self, view, frame):
++        main_frame = self._browser.get_main_frame()
++        if frame is main_frame:
++            self._set_title(_("Loading %s - %s") % (frame.get_title(),
++                                                        frame.get_uri()))
++        self._toolbar.set_loading(True)
++
++    def _loading_stop_cb(self, view, frame):
++        # FIXME: another frame may still be loading?
++        self._toolbar.set_loading(False)
++
++    def _loading_progress_cb(self, view, progress):
++        self._set_progress(_("%s%s loaded") % (progress, '%'))
++
++    def _set_progress(self, progress):
++        self._statusbar.display(progress)
++
++    def _title_changed_cb(self, widget, frame, title):
++        self._set_title(_("%s") % title)
++
++    def _hover_link_cb(self, view, title, url):
++        if view and url:
++            self._statusbar.display(url)
+         else:
+-            event.Skip()
++            self._statusbar.display('')
+ 
+-    def IgnoreReturn(self, event):
+-        if event.GetKeyCode() != wx.WXK_RETURN:
+-            event.Skip()
++    def _statusbar_text_changed_cb(self, view, text):
++        #if text:
++        self._statusbar.display(text)
+ 
++    def _icon_loaded_cb(self):
++        self.log.debug("icon loaded")
+ 
+-class SharedBrowser( wx.App ):
++    def _selection_changed_cb(self):
++        self.log.debug("selection changed")
++
++    def _set_scroll_adjustments_cb(self, view, hadjustment, vadjustment):
++        self._scrolled_window.props.hadjustment = hadjustment
++        self._scrolled_window.props.vadjustment = vadjustment
++
++    def _navigation_requested_cb(self, view, frame, networkRequest):
++        new_uri = None
++        new_uri = networkRequest.get_uri()
++        if new_uri:
++            map(lambda a: a(new_uri), self.navigation_callbacks)
++        return 0
++
++    def _javascript_console_message_cb(self, view, message, line, sourceid):
++        self._statusbar.show_javascript_info()
++
++    def _javascript_script_alert_cb(self, view, frame, message):
++        pass
++
++    def _javascript_script_confirm_cb(self, view, frame, message, isConfirmed):
++        pass
++
++    def _javascript_script_prompt_cb(self, view, frame,
++                                     message, default, text):
++        pass
++
++    def _populate_popup(self, view, menu):
++        aboutitem = gtk.MenuItem(label="About PyWebKit")
++        menu.append(aboutitem)
++        aboutitem.connect('activate', self._about_pywebkitgtk_cb)
++        separator = gtk.MenuItem()
++        menu.append(separator)
++        exititem = gtk.MenuItem(label="Exit Browser")
++        menu.append(exititem)
++        exititem.connect('activate', self._cleanup)
++        menu.show_all()
++
++    def _about_pywebkitgtk_cb(self, widget):
++        self._browser.open("http://live.gnome.org/PyWebKitGtk")
++
++    def add_shutdown_callback(self, listener):
++        self.log.debug("add_shutdown_callback")
++        self.shutdown_callbacks.append(listener)
++
++    def add_navigation_callback(self, listener):
++        self.log.debug("add_navigation_callback")
++        self.navigation_callbacks.append(listener)
++
++    def remove_navigation_callback(self, listener):
++        self.log.debug("remove_navigation_callback")
++        self.navigation_callbacks.remove(listener)
++
++    def navigate(self, uri):
++        self._browser.open(uri)
++
++
++
++class SharedBrowser():
+     """
+     SharedBrowser combines a SharedApplication and a WebBrowser
+     to provide shared web browsing to venue users
+     """
+-    def OnInit(self):
+-        return 1
+ 
+-    def OnExit(self):
+-        '''
+-        Shut down shared browser.
+-        '''
+-        self.sharedAppClient.Shutdown()
+-        os._exit(1)
+-
+-    def __init__( self, appUrl, name,size=None):
++    def __init__(self, appUrl, name, size=None):
+         '''
+         Creates the shared application client, used for
+         application service interaction, and opens a web browser
+         for UI display.
+         '''
+-        wx.App.__init__(self, False)
+ 
+-        reactor.interleave(wx.CallAfter)
+         # Create shared application client
+         self.sharedAppClient = SharedAppClient(name)
+         self.log = self.sharedAppClient.InitLogging()
++        self.log.info("Starting up SharedBrowser app")
+ 
+         # Get client profile
+         try:
+@@ -353,23 +397,23 @@
+             clientProfile = None
+ 
+         # Join the application session.
+-        self.sharedAppClient.Join(appUrl, clientProfile)
++        self.appUrl = appUrl
++        self.clientProfile = clientProfile
++        self.JoinSharedApplication()
+ 
+         # Register browse event callback
+         self.sharedAppClient.RegisterEventCallback("browse", self.BrowseCallback )
+ 
+-        # Create Browser Window
+-        self.frame = wx.Frame(None, -1, "SharedBrowser", size=size)
+-        if sys.platform != Platform.WIN:
+-            self.frame.CreateStatusBar()
+-        self.browser = WebBrowser(self.frame, -1, self.log, self.frame)
++        self.browser = WebBrowser(self)
+ 
+         # Add callback for local browsing
+         self.browser.add_navigation_callback( self.IBrowsedCallback )
+ 
++        # Add callback for clean shutdown
++        self.browser.add_shutdown_callback( self.LeaveSharedApplication )
++
+         # Browse to the current url, if exists
+         currentUrl = self.sharedAppClient.GetData("url")
+-
+         if currentUrl and len(currentUrl) > 0:
+             self.browser.navigate(currentUrl)
+             try:
+@@ -377,21 +421,35 @@
+             except:
+                 self.log.exception("SharedBrowser:__init__: Failed to set participant status")
+ 
+-        self.frame.SetIcon(icons.getAGIconIcon())
+-        self.frame.Show(1)
+-        self.SetTopWindow(self.frame)
++        self.sbreactor = reactor.run()
+ 
+ 
+-    def IBrowsedCallback(self,data):
++    def LeaveSharedApplication(self):
++        self.sharedAppClient.Shutdown()
++
++    def JoinSharedApplication(self):
++        try:
++            self.sharedAppClient.Join(self.appUrl, self.clientProfile)
++        except:
++            self.log.exception("SharedBrowser:JoinSharedApplication: Failed to set join shared application")
++
++    def IBrowsedCallback(self, data):
+         '''
+         Callback invoked when local browse events occur.
+         '''
+-        # Send out the event, including our public ID in the message.
+-        publicId = self.sharedAppClient.GetPublicId()
+-        self.sharedAppClient.SendEvent("browse", data)
+         # Store the URL in the application service in the venue
+         self.sharedAppClient.SetData("url", data)
+ 
++        # Send out the event, including our public ID in the message.
++        publicId = self.sharedAppClient.GetPublicId()
++        try:
++            self.sharedAppClient.SendEvent("browse", data)
++        except NotConnectedException:
++            pass
++            # We sometimes see this but joining (again) results in 2 memberships
++            # since the earlier attempt actually suceeded i.e. try doing nothing
++            #self.JoinSharedApplication()
++
+     def BrowseCallback(self, event):
+         """
+         Callback invoked when incoming browse events arrive.  Events
+@@ -402,11 +460,14 @@
+         # Determine if the sender of the event is this component or not.
+         url = event.data
+         senderId = event.GetSenderId()
+-        if senderId == self.sharedAppClient.GetPublicId():
++        myId = self.sharedAppClient.GetPublicId()
++        if senderId == myId:
+             self.log.debug("Ignoring "+ url +" from myself ")
+         else:
+             self.log.debug("Browse to "+ url)
++            self.browser.remove_navigation_callback(self.IBrowsedCallback)
+             self.browser.navigate(url)
++            self.browser.add_navigation_callback( self.IBrowsedCallback )
+ 
+         try:
+             self.sharedAppClient.SetParticipantStatus(url)
+@@ -414,6 +475,7 @@
+             self.log.exception("SharedBrowser:__init__: Failed to set participant status")
+ 
+ 
++
+ class ArgumentManager:
+     def __init__(self):
+         self.arguments = {}
+@@ -437,25 +499,26 @@
+         Handle any arguments we're interested in.
+         """
+         try:
+-            opts, args = getopt.getopt(sys.argv[1:], "a:d:h",
++            opts, args = getopt.getopt(sys.argv[1:], "a:dh",
+                                        ["applicationURL=", "debug", "help"])
+         except getopt.GetoptError:
+             self.Usage()
+             sys.exit(2)
+ 
+         for o, a in opts:
+-            if o in ("-a", "--applicationURL"):
+-                self.arguments["applicationUrl"] = a
+-            elif o in ("-d", "--debug"):
+-                self.arguments["debug"] = 1
+-            elif o in ("-h", "--help"):
+-                self.Usage()
+-                sys.exit(0)
++           if o in ("-a", "--applicationURL"):
++               self.arguments["applicationUrl"] = a
++           elif o in ("-d", "--debug"):
++               self.arguments["debug"] = True
++           elif o in ("-h", "--help"):
++               self.Usage()
++               sys.exit(0)
+ 
+ 
+ if __name__ == "__main__":
+-    app = WXGUIApplication()
++    app = CmdlineApplication()
+     name = "SharedBrowser"
++    init_args = []
+ 
+     # Parse command line options
+     am = ArgumentManager()
+@@ -463,58 +526,13 @@
+     aDict = am.GetArguments()
+ 
+     appUrl = aDict['applicationUrl']
+-    debugMode = aDict['debug']
+ 
+-    init_args = []
+-
+-    if "--debug" in sys.argv or "-d" in sys.argv:
++    if aDict['debug']:
+         init_args.append("--debug")
+-
+     app.Initialize(name, args=init_args)
+ 
+     if not appUrl:
+         am.Usage()
+     else:
+-        wx.InitAllImageHandlers()
+-        sb = SharedBrowser( appUrl, name, size=(800,1024))
+-
+-        sb.MainLoop()
+-
+-    #
+-    # Stress test. Start a client and send events.
+-    #
+-    #import threading
+-    #import time
+-
+-    #browsers = []
+-    #threadList = []
+-    #urls = ["www.oea.se","www.aftonbladet.se", "www.passagen.se"]
+-
+-    #def StartBrowser():
+-    #    sb = SharedBrowser(appUrl, debugMode, logging)
+-    #    browsers.append(sb)
+-    #    sb.MainLoop()
+-
+-    #def SendEvents(sharedAppClient):
+-    #    time.sleep(3)
+-    #    while 1:
+-    #        for url in urls:
+-    #            publicId = sharedAppClient.GetPublicId()
+-    #            sharedAppClient.SendEvent("browse", (publicId, url))
+-    #            sharedAppClient.SetParticipantStatus(url)
+-    #            # Store the URL in the application service in the venue
+-    #            sharedAppClient.SetData("url", url)
+-    #            time.sleep(0.07)
+-
+-    #s = SharedAppClient("SharedAppClientTest")
+-    #s.InitLogging()
+-    #clientProfileFile = os.path.join(GetUserConfigDir(), "profile")
+-    #clientProfile = ClientProfile(clientProfileFile)
+-    #s.Join(appUrl, clientProfile)
+-
+-    #thread = threading.Thread(target = SendEvents, args = [s])
+-    #thread.start()
+-
+-    #StartBrowser()
+-
++        sb = SharedBrowser(appUrl, name, size=(820,980))
+ 


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/WebkitBrowser.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/ZSI-Server.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/ZSI-Server.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/ZSI-Server.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,30 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ZSI-Server.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/AccessGrid/hosting/ZSI/Server.py accessgrid3.1-3.1/AccessGrid/AccessGrid/hosting/ZSI/Server.py
+--- accessgrid3.1-3.1~/AccessGrid/AccessGrid/hosting/ZSI/Server.py	2007-04-27 01:35:09.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/AccessGrid/hosting/ZSI/Server.py	2008-03-23 21:22:48.078319517 +1000
+@@ -21,7 +21,7 @@
+ 
+ from AccessGrid import Log
+ log = Log.GetLogger(Log.Hosting)
+-import select
++import select, socket
+ 
+ def GetSOAPContext():
+     return None
+@@ -67,6 +67,10 @@
+                 r,w,e = select.select([self._server.socket], [], [], pause)
+                 if r:
+                     self._server.handle_request()
++            except socket.error, ex:
++                if ex[0] == 4: # interrupted system call
++                    continue
++                log.exception("Exception in SOAP server main loop")
+             except:
+                 log.exception("Exception in SOAP server main loop")
+                 


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/ZSI-Server.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/agkill
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/agkill	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/agkill	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+
+if [ $# -gt 0 ]; then
+  TARGET=$1
+else
+  TARGET=python
+fi
+echo "Target: ${TARGET}"
+
+for i in `ps alx | grep ${TARGET} | grep -v grep | awk ' $4 == 1 { print $3 }'`
+do
+  echo "kill -HUP $i"
+  kill -KILL $i
+done
+for i in `ps alx | grep ${TARGET} | grep -v grep | awk ' $4 == 1 { print $3 }'`
+do
+  echo "kill -TERM $i"
+  kill -TERM $i
+done
+
+#/usr/bin/setpwc -r
+


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/agkill
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/datapath-Configs.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/datapath-Configs.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/datapath-Configs.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,125 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## datapath-Configs.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py	2008-04-14 08:37:41.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Config.py	2008-09-17 11:16:40.076263840 +1000
+@@ -77,6 +77,7 @@
+     def _Initialize(self):
+         self.GetBaseDir()
+         self.GetInstallDir()
++        self.GetDataDir()
+         self.GetConfigDir()
+         #self.GetDocDir()
+         self.GetSharedAppDir()
+@@ -93,6 +94,7 @@
+         tmpstr = "Access Grid Toolkit Configuration:\n"
+         tmpstr += "Version: %s\n" % self.GetVersion()
+         tmpstr += "InstallDir: %s\n" % self.GetInstallDir()
++        tmpstr += "DataDir: %s\n" % self.GetDataDir()
+         #tmpstr += "DocDir: %s\n" % self.GetDocDir()
+         tmpstr += "ConfigDir: %s\n" % self.GetConfigDir()
+         tmpstr += "SharedAppDir: %s\n" % self.GetSharedAppDir()
+@@ -114,6 +116,9 @@
+     def GetInstallDir(self):
+         raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
++    def GetDataDir(self):
++        raise Exception, "This method is abstract and should be overridden by subclasses."
++
+     #def GetDocDir(self):
+     #    raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
+@@ -133,7 +138,7 @@
+ 
+     def GetSharedAppDir(self):
+         if self.appDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.appDir = os.path.join(ucd, "SharedApplications")
+ 
+         # Check dir and create it if needed.
+@@ -152,7 +157,7 @@
+ 
+     def GetPluginDir(self):
+         if self.pluginDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.pluginDir = os.path.join(ucd, "Plugins")
+             
+         # Check dir and create it if needed.
+@@ -172,7 +177,7 @@
+     def GetNodeServicesDir(self):
+     
+         if self.nodeServicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.nodeServicesDir = os.path.join(ucd, "NodeServices")
+ 
+         # Check dir and create it if needed.
+@@ -214,7 +219,7 @@
+     def GetServicesDir(self):
+     
+         if self.servicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.servicesDir = os.path.join(ucd, "Services")
+ 
+         # Check dir and create it if needed.
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-04-14 08:37:41.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-09-17 11:16:40.068290450 +1000
+@@ -48,6 +48,10 @@
+     else:
+         AGTkBasePath = "/etc/AccessGrid3"
+ 
++    # New location for AGTk Services, NodeServices,
++    # SharedApplications & Pluguns directories.
++    AGTkDataPath = "/usr/share/AccessGrid3"
++
+     def instance(initIfNeeded=0):
+         if Config.AGTkConfig.theAGTkConfigInstance == None:
+             AGTkConfig(initIfNeeded)
+@@ -119,6 +123,22 @@
+     #
+         return self.docDir
+ 
++    def GetDataDir(self):
++
++        self.dataDir = self.AGTkDataPath
++
++        # Check dir and make it if needed.
++        if self.initIfNeeded:
++            if self.dataDir is not None and \
++                   not os.path.exists(self.dataDir):
++                os.mkdir(self.dataDir)
++
++        # Check the installation
++        if self.dataDir is not None and not os.path.exists(self.dataDir):
++            raise Exception, "AGTkConfig: data dir does not exist."
++
++        return self.dataDir 
++
+ class UserConfig(Config.UserConfig):
+     """
+     A user config object encapsulates all of the configuration data for
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/win32/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py	2008-07-17 09:58:52.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/win32/Config.py	2008-09-17 11:16:40.065360517 +1000
+@@ -105,6 +105,12 @@
+             raise IOError("AGTkConfig: doc dir does not exist %s."%self.docDir)
+ 
+         return self.docDir
++        
++    def GetDataDir(self):
++        if self.dataDir is None:
++            self.dataDir = self.GetBaseDir()
++            
++        return self.dataDir
+ 
+ class UserConfig(Config.UserConfig):
+     """


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/datapath-Configs.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/mcast_output.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/mcast_output.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/mcast_output.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mcast_output.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/MulticastWatcher.py accessgrid3.2-3.2/AccessGrid/AccessGrid/MulticastWatcher.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/MulticastWatcher.py	2008-03-14 16:20:29.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/MulticastWatcher.py	2008-10-21 10:03:03.853062580 +1000
+@@ -131,7 +131,7 @@
+             self.__Listen()
+             self.sock.close()
+             self.sock = None
+-        return self.mcastStatus.isSet()
++        return int(self.mcastStatus.isSet())
+         
+     def SetHostPort(self,host,port):
+         self.host = host


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/mcast_output.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/orderMyVenues.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/orderMyVenues.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/orderMyVenues.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,56 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## orderMyVenues.dpatch by  <chris at v1>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/VenueClientUI.py accessgrid3.2-3.2/AccessGrid/AccessGrid/VenueClientUI.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/VenueClientUI.py	2009-04-29 05:32:05.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/VenueClientUI.py	2009-09-04 12:14:56.551588288 +1000
+@@ -849,15 +849,16 @@
+         self.myVenuesMenuIds = {}
+         self.myVenuesDict = self.controller.GetMyVenues()
+                    
+-        # Create menu items
++        # Create menu items in alphabetical order
+         for name in self.myVenuesDict.keys():
++            insertPosition = self.__FindMenuInsertPosition(name)
+             ID = wx.NewId()
+             self.myVenuesMenuIds[name] = ID
+             url = self.myVenuesDict[name]
+             text = "Go to: " + url
+-            self.navigation.Insert(self.myVenuesPos,ID, name, text)
++            self.navigation.Insert(insertPosition, ID, name, text)
+             wx.EVT_MENU(self, ID, self.GoToMenuAddressCB)
+-                        
++
+     
+     # Code for displaying the list of configurations in the Configurations menu
+     
+@@ -2696,10 +2697,24 @@
+             MessageDialog(None, "Your connection to the venue is interrupted and you will be removed from the venue.  \nTry to connect again.", 
+                           "Lost Connection")
+ 
++    def __FindMenuInsertPosition(self, name):
++        myVenuesKeyList = []
++        for venueName in self.myVenuesMenuIds.keys():
++            myVenuesKeyList.append(venueName)
++        myVenuesKeyList.sort(lambda x, y: cmp(x.lower(), y.lower()))
++        position = self.myVenuesPos
++        for keyname in myVenuesKeyList:
++            if cmp(name.lower(), keyname.lower()) > 0:
++                position += 1
++            else:
++                break
++        return position
++
+     def AddToMyVenues(self,name,url):
++        insertPosition = self.__FindMenuInsertPosition(name)
+         ID = wx.NewId()
+         text = "Go to: " + url
+-        self.navigation.Insert(self.myVenuesPos,ID, name, text)
++        self.navigation.Insert(insertPosition, ID, name, text)
+         self.myVenuesMenuIds[name] = ID
+         self.myVenuesDict[name] = url
+         wx.EVT_MENU(self, ID, self.GoToMenuAddressCB)


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/orderMyVenues.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,191 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## packaging-BuildSnapshot.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/BuildSnapshot.py accessgrid3.1-3.1/AccessGrid/packaging/BuildSnapshot.py
+--- accessgrid3.1-3.1~/AccessGrid/packaging/BuildSnapshot.py	2007-06-07 01:42:31.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/BuildSnapshot.py	2008-03-23 21:11:22.314791000 +1000
+@@ -95,7 +95,7 @@
+     metainfo = "Snapshot %s" % BuildTime
+ 
+ # Create the dest dir stamped with the same time stamp
+-DestDir = os.path.join(SourceDir, "dist-%s" % BuildTime)
++DestDir = os.path.join(SourceDir, "dist-%s" % options.pyver)
+ 
+ # The directory we're building from
+ if options.nocheckout:
+@@ -213,116 +213,16 @@
+ 
+ os.environ['PYTHONPATH'] = nppath
+ 
+-# Build stuff that needs to be built for modules to work
++# Other modules are built separately
+ os.chdir(StartDir)
+ 
+-buildcmd = "BuildOpenSSL.py"
+-cmd = "%s %s %s" % (sys.executable, buildcmd, DestDir)
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
+-if sys.platform == 'win32':
+-    td = os.getcwd()
+-    os.chdir(os.path.join(BuildDir, "tools"))
+-    cmd = "%s %s" % ("MakeVfwScan.bat", DestDir)
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-    cmd = "%s %s" % ("MakeWdmScan.bat", DestDir)
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-    os.chdir(td)
+-
+-elif sys.platform == 'darwin':
+-    # vic
+-    td = os.getcwd()
+-    os.chdir(os.path.join(BuildDir, "tools"))
+-    cmd = "%s %s" % ("./MakeOsxVGrabberScan.py", os.path.join(DestDir, 'bin') )
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-    os.chdir(td)
+-
+-# Build the UCL common library
+-cmd = "%s %s %s %s" % (sys.executable, "BuildCommon.py", SourceDir, DestDir)
+-print cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
+-
+-# Build the other python modules
+-cmd = "%s %s %s %s %s" % (sys.executable, "BuildPythonModules.py", SourceDir,
+-                          BuildDir, DestDir)
+-if options.verbose:
+-    print "Building python modules with the command:", cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
+ 
+ # put the old python path back
+ if oldpath is not None:
+     os.environ['PYTHONPATH'] = oldpath
+ 
+ 
+-# Build the QuickBridge executable
+-if sys.platform == 'linux2' or sys.platform == 'darwin' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
+-    print "Building QuickBridge"
+-    os.chdir(os.path.join(BuildDir,'services','network','QuickBridge'))
+-    cmd = "gcc -O -o QuickBridge QuickBridge.c"
+-    print "cmd = ", cmd
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-
+-
+-    cmd = "cp QuickBridge %s" % (os.path.join(DestDir,'bin','QuickBridge'))
+-    print "cmd = ", cmd
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-elif sys.platform == 'win32':
+-    print "Building QuickBridge"
+-    os.chdir(os.path.join(BuildDir,'services','network','QuickBridge'))
+-
+-    # Find the version of visual studio by peering at cl
+-    (input, outerr) = os.popen4("cl.exe")
+-    usageStr = outerr.readlines()
+-    v = map(int, usageStr[0].split()[7].split('.')[:2])
+-    
+-    v = map(int, usageStr[0].split()[7].split('.')[:2])
+-
+-    proj = None
+-    if v[0] == 12:
+-        print "Please do not use visual studio 6.0 to build QuickBridge"
+-    elif v[0] == 13:
+-        if v[1] == 0:
+-            proj = "QuickBridge.sln"
+-        elif v[1] == 10:
+-            proj = "QuickBridge.2003.sln"
+-
+-    if proj is not None:
+-        os.system("devenv %s /rebuild Release" % proj)
+-
+-    qbexe = os.path.join(os.getcwd(), "Release", "QuickBridge.exe")
+-    destDir = os.path.join(DestDir,'bin','QuickBridge.exe')
+-    cmd = "copy %s %s" % (qbexe, destDir)
+-    print "cmd = ", cmd
+-    os.system(cmd)
+-    
+-
+-
++# Don't build the QuickBridge executable. Its now in a separate "quickbridge" package.
+ 
+ 
+ # Change to packaging dir to build packages
+@@ -365,21 +265,8 @@
+     sys.exit(1)
+ 
+ 
+-# copy media tools to bin directory
+-cmd = '%s %s %s %s'%(sys.executable, 'BuildRat.py', SourceDir, os.path.join(DestDir,"bin"))
+-print "\n ********* cmd = ",cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
++# media tools are built separately
+ 
+-cmd = '%s %s %s %s'%(sys.executable, 'BuildVic.py', SourceDir, os.path.join(DestDir,"bin"))
+-print "\n ********* cmd = ",cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+ 
+ # Fix shared app *.py files before they're packaged
+ #
+@@ -415,29 +302,6 @@
+ 
+ file_list = os.listdir(SourceDir)
+ 
+-if bdir is not None:
+-    pkg_script = "BuildPackage.py"
+-    NextDir = os.path.join(StartDir, bdir)
+-    if os.path.exists(NextDir):
+-        os.chdir(NextDir)
+-        cmd = "%s %s --verbose -s %s -b %s -d %s -p %s -m %s -v %s" % (sys.executable,
+-                                                                 pkg_script,
+-                                                                 SourceDir,
+-                                                                 BuildDir,
+-                                                                 DestDir,
+-                                                                 options.pyver,
+-                                                                 metainfo.replace(' ', '_'),
+-                                                                 version)
+-        if sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
+-            cmd += ' --dist %s' % (options.dist,)
+-        print "cmd = ", cmd
+-        ret = os.system(cmd)
+-        if ret:
+-            print '%s failed with %d; exiting' % (cmd,ret)
+-            sys.exit(1)
+-    else:
+-        print "No directory (%s) found." % NextDir
+-
+ nfl = os.listdir(SourceDir)
+ for f in file_list:
+     nfl.remove(f)


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## packaging-agversion.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py accessgrid3.1-3.1/AccessGrid/packaging/agversion.py
+--- accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py	2006-08-05 02:08:32.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/agversion.py	2008-03-24 14:19:54.752031457 +1000
+@@ -13,7 +13,6 @@
+ 
+ import sys
+ import os
+-from distutils.sysconfig import get_python_lib 
+ 
+ class VersionError(Exception):
+     pass
+@@ -33,7 +32,7 @@
+     elif sys.platform in ['darwin']:
+         installpath = '/Applications/AccessGridToolkit3.app/Contents/Resources/lib/python%s/site-packages/AccessGrid%s' % (sys.version[:3],ver)
+     elif sys.platform in ['linux2','freebsd5','freebsd6']:
+-        installpath = '%s/AccessGrid%s' % (get_python_lib(),ver) 
++        installpath = '%s%s/AccessGrid%s' % ('/usr/lib/pymodules/python', sys.version[:3], ver) 
+ 
+     # confirm that the path exists
+     if not os.path.exists(installpath):


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## packaging-agversion.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py accessgrid3.1-3.1/AccessGrid/packaging/agversion.py
+--- accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py	2006-08-05 02:08:32.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/agversion.py	2008-03-24 14:19:54.752031457 +1000
+@@ -13,7 +13,6 @@
+ 
+ import sys
+ import os
+-from distutils.sysconfig import get_python_lib 
+ 
+ class VersionError(Exception):
+     pass
+@@ -33,7 +32,7 @@
+     elif sys.platform in ['darwin']:
+         installpath = '/Applications/AccessGridToolkit3.app/Contents/Resources/lib/python%s/site-packages/AccessGrid%s' % (sys.version[:3],ver)
+     elif sys.platform in ['linux2','freebsd5','freebsd6']:
+-        installpath = '%s/AccessGrid%s' % (get_python_lib(),ver) 
++        installpath = '%s%s/AccessGrid%s' % ('/var/lib/python-support/python', sys.version[:3], ver) 
+ 
+     # confirm that the path exists
+     if not os.path.exists(installpath):


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/patch-add_datadir.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/patch-add_datadir.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/patch-add_datadir.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,123 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ZSI-Server.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/win32/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py	(revision 6726)
++++ accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py	(working copy)
+@@ -105,6 +105,12 @@
+             raise IOError("AGTkConfig: doc dir does not exist %s."%self.docDir)
+ 
+         return self.docDir
++        
++    def GetDataDir(self):
++        if self.dataDir is None:
++            self.dataDir = self.GetBaseDir()
++            
++        return self.dataDir
+ 
+ class UserConfig(Config.UserConfig):
+     """
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	(revision 6726)
++++ accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	(working copy)
+@@ -48,6 +48,10 @@
+     else:
+         AGTkBasePath = "/etc/AccessGrid3"
+ 
++    # New location for AGTk Services, NodeServices,
++    # SharedApplications & Pluguns directories.
++    AGTkDataPath = "/usr/share/AccessGrid3"
++
+     def instance(initIfNeeded=0):
+         if Config.AGTkConfig.theAGTkConfigInstance == None:
+             AGTkConfig(initIfNeeded)
+@@ -119,6 +123,22 @@
+     #
+         return self.docDir
+ 
++    def GetDataDir(self):
++
++        self.dataDir = self.AGTkDataPath
++
++        # Check dir and make it if needed.
++        if self.initIfNeeded:
++            if self.dataDir is not None and \
++                   not os.path.exists(self.dataDir):
++                os.mkdir(self.dataDir)
++
++        # Check the installation
++        if self.dataDir is not None and not os.path.exists(self.dataDir):
++            raise Exception, "AGTkConfig: data dir does not exist."
++
++        return self.dataDir 
++
+ class UserConfig(Config.UserConfig):
+     """
+     A user config object encapsulates all of the configuration data for
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py	(revision 6727)
++++ accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py	(working copy)
+@@ -77,6 +77,7 @@
+     def _Initialize(self):
+         self.GetBaseDir()
+         self.GetInstallDir()
++        self.GetDataDir()
+         self.GetConfigDir()
+         #self.GetDocDir()
+         self.GetSharedAppDir()
+@@ -93,6 +94,7 @@
+         tmpstr = "Access Grid Toolkit Configuration:\n"
+         tmpstr += "Version: %s\n" % self.GetVersion()
+         tmpstr += "InstallDir: %s\n" % self.GetInstallDir()
++        tmpstr += "DataDir: %s\n" % self.GetDataDir()
+         #tmpstr += "DocDir: %s\n" % self.GetDocDir()
+         tmpstr += "ConfigDir: %s\n" % self.GetConfigDir()
+         tmpstr += "SharedAppDir: %s\n" % self.GetSharedAppDir()
+@@ -114,6 +116,9 @@
+     def GetInstallDir(self):
+         raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
++    def GetDataDir(self):
++        raise Exception, "This method is abstract and should be overridden by subclasses."
++
+     #def GetDocDir(self):
+     #    raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
+@@ -133,7 +138,7 @@
+ 
+     def GetSharedAppDir(self):
+         if self.appDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.appDir = os.path.join(ucd, "SharedApplications")
+ 
+         # Check dir and create it if needed.
+@@ -152,7 +157,7 @@
+ 
+     def GetPluginDir(self):
+         if self.pluginDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.pluginDir = os.path.join(ucd, "Plugins")
+             
+         # Check dir and create it if needed.
+@@ -172,7 +177,7 @@
+     def GetNodeServicesDir(self):
+     
+         if self.nodeServicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.nodeServicesDir = os.path.join(ucd, "NodeServices")
+ 
+         # Check dir and create it if needed.
+@@ -214,7 +219,7 @@
+     def GetServicesDir(self):
+     
+         if self.servicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.servicesDir = os.path.join(ucd, "Services")
+ 
+         # Check dir and create it if needed.


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/patch-add_datadir.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesH264.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesH264.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesH264.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,1500 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## servicesH264.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip
+--- accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip	2004-05-21 06:57:25.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip	2008-03-23 20:04:04.501138194 +1000
+@@ -2,3 +2,6 @@
+ AudioService
+ VideoProducerService
+ VideoConsumerService
++VideoServiceH264
++VideoProducerServiceH264
++VideoConsumerServiceH264
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py	2008-03-17 14:49:07.000000000 +1000
+@@ -0,0 +1,65 @@
++#!/usr/bin/python2
++#
++# Build vic and copy it to the local dir
++#
++
++import sys, os
++
++SOURCE=sys.argv[1]
++AGDIR=sys.argv[2]
++DEST=sys.argv[3]
++
++# choices: ["openmash", "vic"]
++executableToBuild = "vic"
++
++servicesDir = os.path.join(AGDIR,'services','node')
++
++# Identify platform and set plat-specific bits
++if sys.platform == 'win32':
++    VIC_EXE = 'vic.exe'
++    vicFiles = [VIC_EXE]
++    copyExe = 'copy'
++elif sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
++    VIC_EXE = 'vic'
++    vicFiles = [VIC_EXE]
++    copyExe = 'cp'
++elif sys.platform == 'darwin':
++    if executableToBuild == "vic":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE]
++        copyExe = 'cp -p'
++    elif executableToBuild == "openmash":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE, 'mash', 'mash-5.3beta2']
++        copyExe = 'cp -p'
++else:
++    print "** Error: Unsupported platform by VideoConsumerService: " + sys.platform
++    
++VIC_EXE_PATH = os.path.join(servicesDir,VIC_EXE)
++
++# Build vic if necessary
++needBuild = 0
++for f in vicFiles:
++    if not os.path.exists(os.path.join(servicesDir,f)):
++        needBuild = 1
++        break
++
++needBuild = 0
++if needBuild:
++    # Build vic
++    if executableToBuild == "openmash":
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildMash.py'),
++                                SOURCE, servicesDir)
++    else:
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildVic.py'),
++                                SOURCE, servicesDir)
++    os.system(buildCmd)
++
++# Write the service manifest
++f = open('VideoConsumerServiceH264.manifest','w')
++f.write(VIC_EXE + '\n')
++f.close()
++
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py	2008-02-29 10:08:59.000000000 +1000
+@@ -0,0 +1,247 @@
++#-----------------------------------------------------------------------------
++# Name:        VideoConsumerServiceH264.py
++# Purpose:
++# Created:     2003/06/02
++# RCS-ID:      $Id: VideoConsumerServiceH264.py,v 1.17 2007/09/12 07:01:56 douglask Exp $
++# Copyright:   (c) 2002
++# Licence:     See COPYING.TXT
++#-----------------------------------------------------------------------------
++import sys, os
++try:    import _winreg
++except: pass
++
++import agversion
++agversion.select(3)
++from AccessGrid import Toolkit
++
++from AccessGrid.Descriptions import Capability
++from AccessGrid.AGService import AGService
++from AccessGrid.AGParameter import ValueParameter, OptionSetParameter, RangeParameter
++from AccessGrid.Platform import IsWindows, IsLinux, IsFreeBSD, IsOSX
++from AccessGrid.Platform.Config import AGTkConfig, UserConfig, SystemConfig
++from AccessGrid.NetworkLocation import MulticastNetworkLocation
++
++class VideoConsumerServiceH264( AGService ):
++
++    tileOptions = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ]
++
++    def __init__( self ):
++        AGService.__init__( self )
++        self.capabilities = [  #Capability( Capability.CONSUMER,
++                               #           Capability.VIDEO,
++                               #           "H261",
++                               #           90000, self.id) ,
++                                Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000, self.id),
++                                Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000, self.id),
++                                Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000, self.id) 
++                                          ]
++
++        if IsWindows():
++            vic = "vic.exe"
++        else:
++            vic = "vic"
++
++        self.executable = os.path.join(os.getcwd(),vic)
++        if not os.path.isfile(self.executable):
++            self.executable = vic
++
++        self.sysConf = SystemConfig.instance()
++
++        self.profile = None
++
++        self.startPriority = '7'
++        self.startPriorityOption.value = self.startPriority
++
++        # Set configuration parameters
++        self.tiles = OptionSetParameter( "Thumbnail Columns", "2", VideoConsumerServiceH264.tileOptions )
++        self.configuration.append( self.tiles )
++
++        if IsWindows():
++            try:
++                import win32api
++
++                # get number of processors
++                systemInfo = win32api.GetSystemInfo()
++                numprocs = systemInfo[5]
++                self.allProcsMask = 2**numprocs-1
++
++                self.procOptions = ['All']
++                for i in range(numprocs):
++                    self.procOptions.append(str(i+1))
++
++                self.processorUsage = OptionSetParameter( "Processor usage", self.procOptions[0], self.procOptions )
++                self.configuration.append( self.processorUsage )
++            except:
++                self.log.exception('Error initializing processor usage options')
++
++
++    def __SetRTPDefaults(self, profile):
++        """
++        Set values used by rat for identification
++        """
++        if profile == None:
++            self.log.exception("Invalid profile (None)")
++            raise Exception, "Can't set RTP Defaults without a valid profile."
++
++        if IsLinux() or IsOSX() or IsFreeBSD():
++            try:
++                rtpDefaultsFile=os.path.join(os.environ["HOME"], ".RTPdefaults")
++                rtpDefaultsText="*rtpName: %s\n*rtpEmail: %s\n*rtpLoc: %s\n*rtpPhone: \
++                                 %s\n*rtpNote: %s\n"
++                rtpDefaultsFH=open( rtpDefaultsFile,"w")
++                rtpDefaultsFH.write( rtpDefaultsText % ( profile.name,
++                                       profile.email,
++                                       profile.location,
++                                       profile.phoneNumber,
++                                       profile.publicId ) )
++                rtpDefaultsFH.close()
++            except:
++                self.log.exception("Error writing RTP defaults file: %s", rtpDefaultsFile)
++
++        elif IsWindows():
++            try:
++                # Set RTP defaults according to the profile
++                k = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                    r"Software\Mbone Applications\common")
++
++                # Vic reads these values (with '*')
++                _winreg.SetValueEx(k, "*rtpName", 0,
++                                   _winreg.REG_SZ, profile.name)
++                _winreg.SetValueEx(k, "*rtpEmail", 0,
++                                   _winreg.REG_SZ, profile.email)
++                _winreg.SetValueEx(k, "*rtpPhone", 0,
++                                   _winreg.REG_SZ, profile.phoneNumber)
++                _winreg.SetValueEx(k, "*rtpLoc", 0,
++                                   _winreg.REG_SZ, profile.location)
++                _winreg.SetValueEx(k, "*rtpNote", 0,
++                                   _winreg.REG_SZ, str(profile.publicId) )
++                _winreg.CloseKey(k)
++            except:
++                self.log.exception("Error writing RTP defaults to registry")
++        else:
++            self.log.error("No support for platform: %s", sys.platform)
++            
++        
++    def Start( self ):
++        """Start service"""
++        try:
++
++            # Set processor affinity (windows only)
++            if IsWindows():
++                try:
++                    if self.processorUsage.value == 'All':
++                        self.log.info('Setting processor affinity to all processors')
++                        SystemConfig.instance().SetProcessorAffinity(self.allProcsMask)
++                    else:
++                        val = 2**(int(self.processorUsage.value)-1)
++                        self.log.info('Ssetting processor affinity : use processor %s', self.processorUsage.value)
++                        SystemConfig.instance().SetProcessorAffinity(int(self.processorUsage.value))
++                except:
++                    self.log.exception("Exception setting processor affinity")
++
++            # Enable firewall
++            self.sysConf.AppFirewallConfig(self.executable, 1)
++
++            # Start the service; in this case, store command line args
++            # in a list and let the superclass _Start the service
++            options = []
++            if self.streamDescription.name and \
++                   len(self.streamDescription.name.strip()) > 0:
++                options.append( "-C" )
++                options.append( self.streamDescription.name )
++            if self.streamDescription.encryptionFlag != 0:
++                options.append( "-K" )
++                options.append( self.streamDescription.encryptionKey )
++            # Check whether the network location has a "type"
++            # attribute Note: this condition is only to maintain
++            # compatibility between older venue servers creating
++            # network locations without this attribute and newer
++            # services relying on the attribute; it should be removed
++            # when the incompatibility is gone
++            if self.streamDescription.location.__dict__.has_key("type"):
++                if self.streamDescription.location.type == MulticastNetworkLocation.TYPE:
++                    options.append( "-t" )
++                    options.append( '%d' % ( self.streamDescription.location.ttl ) )
++
++            # Set name and email on command line, in case rtp defaults
++            # haven't been written (to avoid vic prompting for
++            # name/email)
++            name=email="Participant"
++            if self.profile:
++                name = self.profile.name
++                email = self.profile.email
++            options.append('-XrtpName=%s' % (name,))
++            options.append('-XrtpEmail=%s' % (email,))
++
++            # Set some tk resources to customize vic
++            # - this is a consumer, so disable device selection in vic
++            options.append('-XrecvOnly=1')
++            # - set drop time to something reasonable
++            options.append('-XsiteDropTime=5')
++            # - set vic window geometry
++            options.append('-Xgeometry=500x500')
++            # - set number of columns of thumbnails to display
++            options.append('-Xtile=%s' % self.tiles.value)
++                    
++            # Add address/port options (these must occur last; don't
++            # add options beyond here)
++            options.append( '%s/%d' % (self.streamDescription.location.host,
++                                       self.streamDescription.location.port))
++            self.log.info("Starting VideoConsumerServiceH264")
++            self.log.info(" executable = %s" % self.executable)
++            self.log.info(" options = %s" % options)
++            self._Start( options )
++        except:
++            self.log.exception("Exception in VideoConsumerServiceH264.Start")
++            raise Exception("Failed to start service")
++
++    def Stop( self ):
++        """Stop the service"""
++
++        # vic doesn't die easily (on linux at least), so force it to stop
++        AGService.ForceStop(self)
++
++        # Disable firewall
++        self.sysConf.AppFirewallConfig(self.executable, 0)
++
++    def SetStream( self, streamDescription ):
++        """Configure the Service according to the StreamDescription"""
++
++        ret = AGService.ConfigureStream( self, streamDescription )
++        if ret and self.started:
++            # service is already running with this config; ignore
++            return
++
++        # if started, stop
++        if self.started:
++            self.Stop()
++
++        # if enabled, start
++        if self.enabled:
++            self.Start()
++
++    def SetIdentity(self, profile):
++        """
++        Set the identity of the user driving the node
++        """
++        self.log.info("SetIdentity: %s %s", profile.name, profile.email)
++        self.profile = profile
++        self.__SetRTPDefaults(profile)
++
++if __name__ == '__main__':
++
++    from AccessGrid.interfaces.AGService_interface import AGService as AGServiceI
++    from AccessGrid.AGService import RunService
++
++    service = VideoConsumerServiceH264()
++    serviceI = AGServiceI(service)
++    RunService(service,serviceI)
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc	2008-02-28 07:34:29.000000000 +1000
+@@ -0,0 +1,12 @@
++[ServiceDescription]
++name = VideoConsumerServiceH264
++description = Vic-based video service to receive mpeg4 and h264 video
++capabilities = Capability1
++executable = VideoConsumerServiceH264.py
++platform = neutral
++version = 3.1
++
++[Capability1]
++role = consumer
++type = video
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py	2008-03-17 14:48:40.000000000 +1000
+@@ -0,0 +1,66 @@
++#!/usr/bin/python2
++#
++# Build vic and copy it to the local dir
++#
++
++import sys, os
++
++SOURCE=sys.argv[1]
++AGDIR=sys.argv[2]
++DEST=sys.argv[3]
++
++# choices: ["openmash", "vic"]
++executableToBuild = "vic"
++
++servicesDir = os.path.join(AGDIR,'services','node')
++
++# Identify platform and set plat-specific bits
++if sys.platform == 'win32':
++    VIC_EXE = 'vic.exe'
++    vicFiles = [VIC_EXE]
++    copyExe = 'copy'
++elif sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
++    VIC_EXE = 'vic'
++    vicFiles = [VIC_EXE]
++    copyExe = 'cp'
++elif sys.platform == 'darwin':  
++    if executableToBuild == "vic":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE]
++        copyExe = 'cp -p'
++    elif executableToBuild == "openmash":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE, 'mash', 'mash-5.3beta2']
++        copyExe = 'cp -p'
++else:
++    print "** Error: Unsupported platform: " + sys.platform
++    
++
++VIC_EXE_PATH = os.path.join(servicesDir,VIC_EXE)
++
++# Build vic if necessary
++needBuild = 0
++for f in vicFiles:
++    if not os.path.exists(os.path.join(servicesDir,f)):
++        needBuild = 1
++        break
++
++needBuild = 0
++if needBuild:
++    # Build vic
++    if executableToBuild == "openmash":
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildMash.py'),
++                                SOURCE, servicesDir)
++    else:
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildVic.py'),
++                                SOURCE,servicesDir)
++    os.system(buildCmd)
++
++# Write the service manifest
++f = open('VideoProducerServiceH264.manifest','w')
++f.write(VIC_EXE + '\n')
++f.close()
++
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py	2008-03-23 19:56:00.000000000 +1000
+@@ -0,0 +1,460 @@
++#-----------------------------------------------------------------------------
++# Name:        VideoProducerServiceH264.py
++# Purpose:
++# Created:     2003/06/02
++# RCS-ID:      $Id: VideoProducerServiceH264.py,v 1.26 2007/10/01 17:28:56 turam Exp $
++# Copyright:   (c) 2002
++# Licence:     See COPYING.TXT
++#-----------------------------------------------------------------------------
++import re
++import sys, os
++
++try:   
++    import _winreg
++except: pass
++
++from AccessGrid import Toolkit
++
++from AccessGrid.Descriptions import Capability, ResourceDescription
++from AccessGrid.AGService import AGService
++from AccessGrid.AGParameter import ValueParameter, OptionSetParameter, RangeParameter, TextParameter
++from AccessGrid.Platform import IsWindows, IsLinux, IsOSX, IsFreeBSD
++from AccessGrid.Platform.Config import AGTkConfig, UserConfig, SystemConfig
++from AccessGrid.NetworkLocation import MulticastNetworkLocation
++
++vicstartup="""option add Vic.disable_autoplace true startupFile
++option add Vic.muteNewSources true startupFile
++option add Vic.maxbw 6144 startupFile
++option add Vic.bandwidth %d startupFile
++option add Vic.framerate %d startupFile
++option add Vic.quality %d startupFile
++option add Vic.defaultFormat %s startupFile
++option add Vic.inputType %s startupFile
++option add Vic.device \"%s\" startupFile
++option add Vic.defaultTTL 127 startupFile
++option add Vic.rtpName \"%s\" startupFile
++option add Vic.rtpEmail \"%s\" startupFile
++proc user_hook {} {
++    global videoDevice inputPort transmitButton transmitButtonState sizeButtons inputSize
++
++    update_note 0 \"%s\"
++
++    after 200 {
++        if { ![winfo exists .menu] } {
++            build.menu
++        }
++ 
++        set inputPort \"%s\"
++        grabber port \"%s\"
++
++        set inputSize %d
++
++        if { [$transmitButton cget -state] != \"disabled\" } {
++            set transmitButtonState 1
++            transmit
++        }
++    }
++}
++"""
++
++class VideoProducerServiceH264( AGService ):
++
++    encodings = [ "mpeg4","h264","h261as" ]
++    standards = [ "NTSC", "PAL", "auto" ]
++    inputsizes = [ "Small", "Normal", "Large" ]
++
++    def __init__( self ):
++        AGService.__init__( self )
++        self.capabilities = [ Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000,self.id),
++                               #Capability( Capability.PRODUCER,
++                               #           Capability.VIDEO,
++                               #           "H261",
++                               #           90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000,self.id)                                          ]
++        
++        if IsWindows():
++            vic = "vic.exe"
++        else:
++            vic = "vic"
++
++        self.executable = os.path.join(os.getcwd(),vic)
++        if not os.path.isfile(self.executable):
++            self.executable = vic
++
++        self.sysConf = SystemConfig.instance()
++
++        self.startPriority = '5'
++        self.startPriorityOption.value = self.startPriority
++
++
++        # Set configuration parameters
++
++        # note: the datatype of the port parameter changes when a resource is set!
++        self.streamname = TextParameter( "Stream Name", "" )
++        self.port = TextParameter( "Port", "" )
++        self.encoding = OptionSetParameter( "Encoding", "mpeg4", VideoProducerServiceH264.encodings )
++        if IsWindows(): 
++            standard = "PAL"
++        else:
++            standard = "auto"
++        self.standard = OptionSetParameter( "Standard", standard, VideoProducerServiceH264.standards )
++        self.bandwidth = RangeParameter( "Bandwidth", 4096, 0, 6144 )
++        self.framerate = RangeParameter( "Frame Rate", 24, 1, 30 )
++        self.quality = RangeParameter( "Quality", 75, 1, 100 )
++        self.inputsize = OptionSetParameter( "Capture Size", "Large", VideoProducerServiceH264.inputsizes  )
++        self.configuration.append( self.streamname )
++        self.configuration.append( self.port )
++        self.configuration.append( self.encoding )
++        self.configuration.append( self.standard )
++        self.configuration.append( self.bandwidth )
++        self.configuration.append( self.framerate )
++        self.configuration.append (self.quality )
++        self.configuration.append (self.inputsize )
++
++        if IsWindows():
++            try:
++                import win32api
++
++                # get number of processors
++                systemInfo = win32api.GetSystemInfo()
++                numprocs = systemInfo[5]
++                self.allProcsMask = 2**numprocs-1
++
++                self.procOptions = ['All']
++                for i in range(numprocs):
++                    self.procOptions.append(str(i+1))
++
++                self.processorUsage = OptionSetParameter( "Processor usage", self.procOptions[0], self.procOptions )
++                self.configuration.append( self.processorUsage )
++            except:
++                self.log.exception('Error initializing processor usage options')
++
++        self.profile = None
++        self.resource = ''
++        
++        self.__GetResources()
++
++    def __SetRTPDefaults(self, profile):
++        """
++        Set values used by rat for identification
++        """
++        if profile == None:
++            self.log.exception("Invalid profile (None)")
++            raise Exception, "Can't set RTP Defaults without a valid profile."
++
++        if IsLinux() or IsOSX() or IsFreeBSD():
++            try:
++                rtpDefaultsFile=os.path.join(os.environ["HOME"], ".RTPdefaults")
++                rtpDefaultsText="*rtpName: %s\n*rtpEmail: %s\n*rtpLoc: %s\n*rtpPhone: \
++                                 %s\n*rtpNote: %s\n"
++                rtpDefaultsFH=open( rtpDefaultsFile,"w")
++                rtpDefaultsFH.write( rtpDefaultsText % ( profile.name,
++                                       profile.email,
++                                       profile.location,
++                                       profile.phoneNumber,
++                                       profile.publicId ) )
++                rtpDefaultsFH.close()
++            except:
++                self.log.exception("Error writing RTP defaults file: %s", rtpDefaultsFile)
++
++        elif IsWindows():
++            try:
++                #
++                # Set RTP defaults according to the profile
++                #
++                k = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                    r"Software\Mbone Applications\common")
++
++                # Vic reads these values (with '*')
++                _winreg.SetValueEx(k, "*rtpName", 0,
++                                   _winreg.REG_SZ, profile.name)
++                _winreg.SetValueEx(k, "*rtpEmail", 0,
++                                   _winreg.REG_SZ, profile.email)
++                _winreg.SetValueEx(k, "*rtpPhone", 0,
++                                   _winreg.REG_SZ, profile.phoneNumber)
++                _winreg.SetValueEx(k, "*rtpLoc", 0,
++                                   _winreg.REG_SZ, profile.location)
++                _winreg.SetValueEx(k, "*rtpNote", 0,
++                                   _winreg.REG_SZ, str(profile.publicId) )
++                _winreg.CloseKey(k)
++            except:
++                self.log.exception("Error writing RTP defaults to registry")
++        else:
++            self.log.error("No support for platform: %s", sys.platform)
++        
++    def MapWinDevice(self,deviceStr):
++        """
++        Abuse registry to get correct mapping from vfw names
++        to video sources
++        """
++        videowidth = 720
++        videoheight = 480
++        
++        self.log.info("Mapping windows device: %s", deviceStr)
++        if deviceStr.find('Videum') >= 0:
++            self.log.info("- videum")
++            devnum = -1
++            videum_re = re.compile(".*(\d)_Videum.*")
++            m = videum_re.search(deviceStr)
++            if m:
++                self.log.info("Found match : %d", int(m.group(1)))
++                devnum = int(m.group(1))
++            else:
++                self.log.info("No match")
++                if deviceStr.startswith('Videum Video Capture'):
++                    self.log.info("is videum video capture")
++                    devnum = 0
++                else:
++                    self.log.info("is not videum video capture")
++
++            self.log.info("Videum device: %d", devnum)
++            if devnum >= 0:
++                # Set the registry
++                keyStr = r"Software\Winnov\Videum\vic.exe%d" % (devnum,)
++                key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                        keyStr)
++                _winreg.SetValueEx(key,'Source',0,_winreg.REG_DWORD,int(devnum))
++                _winreg.SetValueEx(key,'Height',0,_winreg.REG_DWORD,int(videoheight))
++                _winreg.SetValueEx(key,'Width',0,_winreg.REG_DWORD,int(videowidth))
++                _winreg.CloseKey(key)
++                
++
++    def Start( self ):
++        """Start service"""
++        try:
++
++            # Set processor affinity (windows only)
++            if IsWindows():
++                try:
++                    if self.processorUsage.value == 'All':
++                        self.log.info('Setting processor affinity to all processors')
++                        SystemConfig.instance().SetProcessorAffinity(self.allProcsMask)
++                    else:
++                        val = 2**(int(self.processorUsage.value)-1)
++                        self.log.info('Ssetting processor affinity : use processor %s', self.processorUsage.value)
++                        SystemConfig.instance().SetProcessorAffinity(int(self.processorUsage.value))
++                except:
++                    self.log.exception("Exception setting processor affinity")
++            
++            # Enable firewall
++            self.sysConf.AppFirewallConfig(self.executable, 1)
++
++            # Resolve assigned resource to a device understood by vic
++            if self.resource == "None":
++                vicDevice = "None"
++            else:
++                vicDevice = self.resource[0]
++                vicDevice = vicDevice.replace("[","\[")
++                vicDevice = vicDevice.replace("]","\]")
++
++            if IsWindows():
++                try:
++                    self.MapWinDevice(self.resource[0])
++                except:
++                    self.log.exception("Exception mapping device")
++
++
++            #
++            # Write vic startup file
++            #
++            startupfile = os.path.join(UserConfig.instance().GetTempDir(),
++               'VideoProducerServiceH264_%d.vic' % ( os.getpid() ) )
++
++            f = open(startupfile,"w")
++            if self.port.value == '':
++                portstr = "None"
++            else:
++                portstr = self.port.value
++            
++            name=email="Participant"
++            if self.profile:
++                name = self.profile.name
++                email = self.profile.email
++            else:
++                # Error case
++                name = email = Toolkit.GetDefaultSubject().GetCN()
++                self.log.error("Starting service without profile set")
++
++            if self.inputsize.value == "Small":
++                inputsize = 4
++            elif self.inputsize.value == "Normal":
++                inputsize = 2
++            elif self.inputsize.value == "Large":
++                if self.encoding.value == "h261":
++                    self.log.warn("Invalid capture size (large) specified for h261 encoding; defaulting to normal size")
++                    inputsize = 2
++                else:
++                    inputsize = 1
++                
++            f.write( vicstartup % (self.bandwidth.value,
++                                    self.framerate.value,
++                                    self.quality.value,
++                                    self.encoding.value,
++                                    self.standard.value,
++                                    vicDevice,
++                                    "%s(%s)" % (name,self.streamname.value),
++                                    email,
++                                    email,
++                                    portstr,
++                                    portstr,
++                                    inputsize) )
++            f.close()
++            
++            # Open permissions on vic startupfile
++            os.chmod(startupfile,0777)
++
++            # Replace double backslashes in the startupfile name with single
++            #  forward slashes (vic will crash otherwise)
++            if IsWindows():
++                startupfile = startupfile.replace("\\","/")
++            
++            #
++            # Start the service; in this case, store command line args in a list and let
++            # the superclass _Start the service
++            options = []
++            options.append( "-u" )
++            options.append( startupfile )
++            options.append( "-C" )
++            options.append( str(self.streamname.value) )
++            if IsOSX():
++                options.append( "-X")
++                options.append( "transmitOnStartup=1")
++            if self.streamDescription.encryptionFlag != 0:
++                options.append( "-K" )
++                options.append( self.streamDescription.encryptionKey )
++                
++            if self.profile:
++                options.append("-X")
++                options.append("site=%s" % self.profile.publicId)
++                
++            # Check whether the network location has a "type" attribute
++            # Note: this condition is only to maintain compatibility between
++            # older venue servers creating network locations without this attribute
++            # and newer services relying on the attribute; it should be removed
++            # when the incompatibility is gone
++            if self.streamDescription.location.__dict__.has_key("type"):
++                # use TTL from multicast locations only
++                if self.streamDescription.location.type == MulticastNetworkLocation.TYPE:
++                    options.append( "-t" )
++                    options.append( '%d' % (self.streamDescription.location.ttl) )
++            options.append( '%s/%d' % ( self.streamDescription.location.host,
++                                           self.streamDescription.location.port) )
++
++            self.log.info("Starting VideoProducerServiceH264")
++            self.log.info(" executable = %s" % self.executable)
++            self.log.info(" options = %s" % options)
++            self._Start( options )
++            #os.remove(startupfile)
++        except:
++            self.log.exception("Exception in VideoProducerServiceH264.Start")
++            raise Exception("Failed to start service")
++
++    def Stop( self ):
++        """Stop the service"""
++
++        # vic doesn't die easily (on linux at least), so force it to stop
++        AGService.ForceStop(self)
++
++        # Disable firewall
++        self.sysConf.AppFirewallConfig(self.executable, 0)
++
++    def SetStream( self, streamDescription ):
++        """Configure the Service according to the StreamDescription"""
++        self.log.info('SetStream: %s', streamDescription)
++        self.log.info('  enabled: %d', self.enabled)
++
++        ret = AGService.ConfigureStream( self, streamDescription )
++        if ret and self.started:
++            # service is already running with this config; ignore
++            return
++
++        # if started, stop
++        if self.started:
++            self.Stop()
++
++        # if enabled, start
++        if self.enabled:
++            self.Start()
++
++    def GetResource( self ):
++        if self.resource:
++            return ResourceDescription(self.resource[0])
++        else:
++            return ResourceDescription('')
++
++    def SetResource( self, resource ):
++        """Set the resource used by this service"""
++
++        self.log.info("VideoProducerServiceH264.SetResource : %s" % resource.name)
++        for r in self.resources:
++            if r[0].strip() == resource.name:
++                self.resource = r
++
++        # Find the config element that refers to "port"
++        try:
++            index = self.configuration.index(self.port)
++            found = 1
++        except ValueError:
++            found = 0
++
++        # Create the port parameter as an option set parameter, now
++        # that we have multiple possible values for "port"
++        # If self.port is valid, keep it instead of setting the default value.
++        if (( isinstance(self.port, TextParameter) or isinstance(self.port, ValueParameter) ) 
++              and self.port.value != "" and self.port.value in self.resource[1]):
++            self.port = OptionSetParameter( "Port", self.port.value,
++                                                         self.resource[1] )
++        else:
++            self.port = OptionSetParameter( "Port", self.resource[1][0],
++                                                         self.resource[1] )
++
++        self.log.info('port = %s', self.port.value)
++
++        # Replace or append the "port" element
++        if found:
++            self.configuration[index] = self.port
++        else:
++            self.configuration.append(self.port)
++
++        # If the stream name has not been set, set it to the resource name
++        if not self.streamname.value:
++            self.streamname.value = resource.name
++
++    def SetIdentity(self, profile):
++        """
++        Set the identity of the user driving the node
++        """
++        self.log.info("SetIdentity: %s %s", profile.name, profile.email)
++        self.profile = profile
++        self.__SetRTPDefaults(profile)
++        
++    def GetResources(self):
++        ret = map(lambda x: ResourceDescription(x[0]) , self.resources)
++        self.log.info('resources: %s', ret)
++        return ret
++
++    def __GetResources(self):
++        self.resources = SystemConfig.instance().GetResources()
++        return self.resources
++        
++
++
++
++if __name__ == '__main__':
++
++    from AccessGrid.interfaces.AGService_interface import AGService as AGServiceI
++    from AccessGrid.AGService import RunService
++
++    service = VideoProducerServiceH264()
++    serviceI = AGServiceI(service)
++    RunService(service,serviceI)
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc	2008-02-29 10:35:20.000000000 +1000
+@@ -0,0 +1,12 @@
++[ServiceDescription]
++name = VideoProducerServiceH264
++description = Vic-based video service using h264 and mpeg4
++capabilities = Capability1
++executable = VideoProducerServiceH264.py
++platform = neutral
++version = 3.11
++
++[Capability1]
++role = producer
++type = video
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py	2008-03-17 14:48:10.000000000 +1000
+@@ -0,0 +1,66 @@
++#!/usr/bin/python2
++#
++# Build vic and copy it to the local dir
++#
++
++import sys, os
++
++SOURCE=sys.argv[1]
++AGDIR=sys.argv[2]
++DEST=sys.argv[3]
++
++# choices: ["openmash", "vic"]
++executableToBuild = "vic"
++
++servicesDir = os.path.join(AGDIR,'services','node')
++
++# Identify platform and set plat-specific bits
++if sys.platform == 'win32':
++    VIC_EXE = 'vic.exe'
++    vicFiles = [VIC_EXE]
++    copyExe = 'copy'
++elif sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
++    VIC_EXE = 'vic'
++    vicFiles = [VIC_EXE]
++    copyExe = 'cp'
++elif sys.platform == 'darwin':
++    if executableToBuild == "vic":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE]
++        copyExe = 'cp -p'
++    elif executableToBuild == "openmash":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE, 'mash', 'mash-5.3beta2']
++        copyExe = 'cp -p'
++else:
++    print "** Error: Unsupported platform: " + sys.platform
++    
++
++VIC_EXE_PATH = os.path.join(servicesDir,VIC_EXE)
++
++# Build vic if necessary
++needBuild = 0
++for f in vicFiles:
++    if not os.path.exists(os.path.join(servicesDir,f)):
++        needBuild = 1
++        break
++
++needBuild = 0
++if needBuild:
++    # Build vic
++    if executableToBuild == "openmash":
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildMash.py'),
++                                SOURCE, servicesDir)
++    else:
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildVic.py'),
++                                SOURCE, servicesDir)
++    os.system(buildCmd)
++
++# Write the service manifest
++f = open('VideoServiceH264.manifest','w')
++f.write(VIC_EXE + '\n')
++f.close()
++
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py	2008-03-23 19:52:15.000000000 +1000
+@@ -0,0 +1,503 @@
++#-----------------------------------------------------------------------------
++# Name:        VideoServiceH264.py
++# Purpose:
++# Created:     2003/06/02
++# RCS-ID:      $Id: VideoServiceH264.py,v 1.26 2007/10/01 17:28:56 turam Exp $
++# Copyright:   (c) 2002
++# Licence:     See COPYING.TXT
++#-----------------------------------------------------------------------------
++import re
++import sys, os
++
++try:   
++    import _winreg
++except: pass
++
++from AccessGrid import Toolkit
++
++from AccessGrid.Descriptions import Capability, ResourceDescription
++from AccessGrid.AGService import AGService
++from AccessGrid.AGParameter import ValueParameter, OptionSetParameter, RangeParameter, TextParameter
++from AccessGrid.Platform import IsWindows, IsLinux, IsOSX, IsFreeBSD
++from AccessGrid.Platform.Config import AGTkConfig, UserConfig, SystemConfig
++from AccessGrid.NetworkLocation import MulticastNetworkLocation
++
++vicstartup="""option add Vic.disable_autoplace %s startupFile
++option add Vic.muteNewSources %s startupFile
++option add Vic.maxbw 6144 startupFile
++option add Vic.bandwidth %d startupFile
++option add Vic.framerate %d startupFile
++option add Vic.quality %d startupFile
++option add Vic.defaultFormat %s startupFile
++option add Vic.inputType %s startupFile
++option add Vic.device \"%s\" startupFile
++option add Vic.defaultTTL 127 startupFile
++option add Vic.rtpName \"%s\" startupFile
++option add Vic.rtpEmail \"%s\" startupFile
++proc user_hook {} {
++    global videoDevice inputPort transmitButton transmitButtonState sizeButtons inputSize
++
++    update_note 0 \"%s\"
++
++    after 200 {
++        set transmitOnStartup %s
++
++        if { ![winfo exists .menu] } {
++            build.menu
++        }
++ 
++        set inputPort \"%s\"
++        grabber port \"%s\"
++
++        set inputSize %d
++
++        if { [$transmitButton cget -state] != \"disabled\" } {
++            set transmitButtonState 1
++            transmit
++        }
++    }
++}
++"""
++
++def OnOff(onOffVal):
++    if onOffVal == "On":
++        return "true"
++    elif onOffVal == "Off":
++        return "false"
++    raise Exception,"OnOff value neither On nor Off: %s" % onOffVal
++
++class VideoServiceH264( AGService ):
++
++    encodings = [ "mpeg4","h264","h261as" ]
++    standards = [ "NTSC", "PAL", "auto" ]
++    inputsizes = [ "Small", "Normal", "Large" ]
++    onOffOptions = [ "On", "Off" ]
++    tileOptions = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ]
++
++    def __init__( self ):
++        AGService.__init__( self )
++        self.capabilities = [ Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000,self.id),
++                               Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000,self.id),
++                               #Capability( Capability.PRODUCER,
++                               #           Capability.VIDEO,
++                               #           "H261",
++                               #           90000,self.id),
++                               Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000,self.id)                                          ]
++        
++        if IsWindows():
++            vic = "vic.exe"
++        else:
++            vic = "vic"
++
++        self.executable = os.path.join(os.getcwd(),vic)
++        if not os.path.isfile(self.executable):
++            self.executable = vic
++
++        self.sysConf = SystemConfig.instance()
++
++        self.startPriority = '5'
++        self.startPriorityOption.value = self.startPriority
++
++
++        # Set configuration parameters
++        # note: the datatype of the port parameter changes when a resource is set!
++        #
++        self.streamname = TextParameter( "Stream Name", "" )
++        self.port = TextParameter( "Port", "" )
++        self.encoding = OptionSetParameter( "Encoding", "mpeg4", VideoServiceH264.encodings )
++        if IsWindows(): 
++            standard = "PAL"
++        else:
++            standard = "auto"
++        self.standard = OptionSetParameter( "Standard", standard, VideoServiceH264.standards )
++        self.tiles = OptionSetParameter( "Thumbnail Columns", "4", VideoServiceH264.tileOptions )
++        self.bandwidth = RangeParameter( "Bandwidth", 4096, 0, 6144 )
++        self.framerate = RangeParameter( "Frame Rate", 24, 1, 30 )
++        self.quality = RangeParameter( "Quality", 75, 1, 100 )
++        self.inputsize = OptionSetParameter( "Capture Size", "Large", VideoServiceH264.inputsizes  )
++        self.transmitOnStart = OptionSetParameter( "Transmit on Startup", "On", VideoServiceH264.onOffOptions )
++        self.muteSources = OptionSetParameter( "Mute Sources", "Off", VideoServiceH264.onOffOptions )
++        self.configuration.append( self.streamname )
++        self.configuration.append( self.port )
++        self.configuration.append( self.encoding )
++        self.configuration.append( self.standard )
++        self.configuration.append( self.tiles )
++        self.configuration.append( self.bandwidth )
++        self.configuration.append( self.framerate )
++        self.configuration.append (self.quality )
++        self.configuration.append (self.inputsize )
++        self.configuration.append (self.transmitOnStart )
++        self.configuration.append (self.muteSources )
++
++        if IsWindows():
++            try:
++                import win32api
++
++                # get number of processors
++                systemInfo = win32api.GetSystemInfo()
++                numprocs = systemInfo[5]
++                self.allProcsMask = 2**numprocs-1
++
++                self.procOptions = ['All']
++                for i in range(numprocs):
++                    self.procOptions.append(str(i+1))
++
++                self.processorUsage = OptionSetParameter( "Processor usage", self.procOptions[0], self.procOptions )
++                self.configuration.append( self.processorUsage )
++            except:
++                self.log.exception('Error initializing processor usage options')
++
++        self.profile = None
++        self.resource = ''
++        
++        self.__GetResources()
++
++    def __SetRTPDefaults(self, profile):
++        """
++        Set values used by rat for identification
++        """
++        if profile == None:
++            self.log.exception("Invalid profile (None)")
++            raise Exception, "Can't set RTP Defaults without a valid profile."
++
++        if IsLinux() or IsOSX() or IsFreeBSD():
++            try:
++                rtpDefaultsFile=os.path.join(os.environ["HOME"], ".RTPdefaults")
++                rtpDefaultsText="*rtpName: %s\n*rtpEmail: %s\n*rtpLoc: %s\n*rtpPhone: \
++                                 %s\n*rtpNote: %s\n"
++                rtpDefaultsFH=open( rtpDefaultsFile,"w")
++                rtpDefaultsFH.write( rtpDefaultsText % ( profile.name,
++                                       profile.email,
++                                       profile.location,
++                                       profile.phoneNumber,
++                                       profile.publicId ) )
++                rtpDefaultsFH.close()
++            except:
++                self.log.exception("Error writing RTP defaults file: %s", rtpDefaultsFile)
++
++        elif IsWindows():
++            try:
++                #
++                # Set RTP defaults according to the profile
++                #
++                k = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                    r"Software\Mbone Applications\common")
++
++                # Vic reads these values (with '*')
++                _winreg.SetValueEx(k, "*rtpName", 0,
++                                   _winreg.REG_SZ, profile.name)
++                _winreg.SetValueEx(k, "*rtpEmail", 0,
++                                   _winreg.REG_SZ, profile.email)
++                _winreg.SetValueEx(k, "*rtpPhone", 0,
++                                   _winreg.REG_SZ, profile.phoneNumber)
++                _winreg.SetValueEx(k, "*rtpLoc", 0,
++                                   _winreg.REG_SZ, profile.location)
++                _winreg.SetValueEx(k, "*rtpNote", 0,
++                                   _winreg.REG_SZ, str(profile.publicId) )
++                _winreg.CloseKey(k)
++            except:
++                self.log.exception("Error writing RTP defaults to registry")
++        else:
++            self.log.error("No support for platform: %s", sys.platform)
++        
++    def MapWinDevice(self,deviceStr):
++        """
++        Abuse registry to get correct mapping from vfw names
++        to video sources
++        """
++        videowidth = 720
++        videoheight = 480
++        
++        self.log.info("Mapping windows device: %s", deviceStr)
++        if deviceStr.find('Videum') >= 0:
++            self.log.info("- videum")
++            devnum = -1
++            videum_re = re.compile(".*(\d)_Videum.*")
++            m = videum_re.search(deviceStr)
++            if m:
++                self.log.info("Found match : %d", int(m.group(1)))
++                devnum = int(m.group(1))
++            else:
++                self.log.info("No match")
++                if deviceStr.startswith('Videum Video Capture'):
++                    self.log.info("is videum video capture")
++                    devnum = 0
++                else:
++                    self.log.info("is not videum video capture")
++
++            self.log.info("Videum device: %d", devnum)
++            if devnum >= 0:
++                # Set the registry
++                keyStr = r"Software\Winnov\Videum\vic.exe%d" % (devnum,)
++                key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                        keyStr)
++                _winreg.SetValueEx(key,'Source',0,_winreg.REG_DWORD,int(devnum))
++                _winreg.SetValueEx(key,'Height',0,_winreg.REG_DWORD,int(videoheight))
++                _winreg.SetValueEx(key,'Width',0,_winreg.REG_DWORD,int(videowidth))
++                _winreg.CloseKey(key)
++                
++
++    def Start( self ):
++        """Start service"""
++        try:
++
++            # Set processor affinity (windows only)
++            if IsWindows():
++                try:
++                    if self.processorUsage.value == 'All':
++                        self.log.info('Setting processor affinity to all processors')
++                        SystemConfig.instance().SetProcessorAffinity(self.allProcsMask)
++                    else:
++                        val = 2**(int(self.processorUsage.value)-1)
++                        self.log.info('Ssetting processor affinity : use processor %s', self.processorUsage.value)
++                        SystemConfig.instance().SetProcessorAffinity(int(self.processorUsage.value))
++                except:
++                    self.log.exception("Exception setting processor affinity")
++            
++            # Enable firewall
++            self.sysConf.AppFirewallConfig(self.executable, 1)
++
++            # Resolve assigned resource to a device understood by vic
++            if self.resource == "None":
++                vicDevice = "None"
++            else:
++                vicDevice = self.resource[0]
++                vicDevice = vicDevice.replace("[","\[")
++                vicDevice = vicDevice.replace("]","\]")
++
++            if IsWindows():
++                try:
++                    self.MapWinDevice(self.resource[0])
++                except:
++                    self.log.exception("Exception mapping device")
++
++
++            #
++            # Write vic startup file
++            #
++            startupfile = os.path.join(UserConfig.instance().GetTempDir(),
++               'VideoServiceH264%d.vic' % ( os.getpid() ) )
++
++            f = open(startupfile,"w")
++            if self.port.value == '':
++                portstr = "None"
++            else:
++                portstr = self.port.value
++            
++            if self.muteSources.value == "On":
++                # streams are muted, so disable autoplace
++                disableAutoplace = "true"
++            else:
++                # streams are not muted, so don't disable autoplace
++                # (flags should not be negative!)
++                disableAutoplace = "false"
++
++            name=email="Participant"
++            if self.profile:
++                name = self.profile.name
++                email = self.profile.email
++            else:
++                # Error case
++                name = email = Toolkit.GetDefaultSubject().GetCN()
++                self.log.error("Starting service without profile set")
++
++            if self.inputsize.value == "Small":
++                inputsize = 4
++            elif self.inputsize.value == "Normal":
++                inputsize = 2
++            elif self.inputsize.value == "Large":
++                if self.encoding.value == "h261":
++                    self.log.warn("Invalid capture size (large) specified for h261 encoding; defaulting to normal size")
++                    inputsize = 2
++                else:
++                    inputsize = 1
++                
++            f.write( vicstartup % ( disableAutoplace,
++                                    OnOff(self.muteSources.value),
++                                    self.bandwidth.value,
++                                    self.framerate.value,
++                                    self.quality.value,
++                                    self.encoding.value,
++                                    self.standard.value,
++                                    vicDevice,
++                                    "%s(%s)" % (name,self.streamname.value),
++                                    email,
++                                    email,
++                                    OnOff(self.transmitOnStart.value),
++                                    portstr,
++                                    portstr,
++                                    inputsize) )
++            f.close()
++            
++            # Open permissions on vic startupfile
++            os.chmod(startupfile,0777)
++
++            # Replace double backslashes in the startupfile name with single
++            #  forward slashes (vic will crash otherwise)
++            if IsWindows():
++                startupfile = startupfile.replace("\\","/")
++            
++            #
++            # Start the service; in this case, store command line args in a list and let
++            # the superclass _Start the service
++            options = []
++            options.append( "-u" )
++            options.append( startupfile )
++            options.append( "-C" )
++            options.append( str(self.streamname.value) )
++            if IsOSX():
++                options.append( "-X")
++                options.append( "transmitOnStartup=1")
++            if self.streamDescription.encryptionFlag != 0:
++                options.append( "-K" )
++                options.append( self.streamDescription.encryptionKey )
++                
++            if self.profile:
++                options.append("-X")
++                options.append("site=%s" % self.profile.publicId)
++                
++            # Set number of columns to use for thumbnail display
++            options.append("-Xtile=%s" % self.tiles.value)
++
++            # Check whether the network location has a "type" attribute
++            # Note: this condition is only to maintain compatibility between
++            # older venue servers creating network locations without this attribute
++            # and newer services relying on the attribute; it should be removed
++            # when the incompatibility is gone
++            if self.streamDescription.location.__dict__.has_key("type"):
++                # use TTL from multicast locations only
++                if self.streamDescription.location.type == MulticastNetworkLocation.TYPE:
++                    options.append( "-t" )
++                    options.append( '%d' % (self.streamDescription.location.ttl) )
++            options.append( '%s/%d' % ( self.streamDescription.location.host,
++                                           self.streamDescription.location.port) )
++
++            self.log.info("Starting VideoServiceH264")
++            self.log.info(" executable = %s" % self.executable)
++            self.log.info(" options = %s" % options)
++            self._Start( options )
++            #os.remove(startupfile)
++        except:
++            self.log.exception("Exception in VideoServiceH264.Start")
++            raise Exception("Failed to start service")
++
++    def Stop( self ):
++        """Stop the service"""
++
++        # vic doesn't die easily (on linux at least), so force it to stop
++        AGService.ForceStop(self)
++
++        # Disable firewall
++        self.sysConf.AppFirewallConfig(self.executable, 0)
++
++    def SetStream( self, streamDescription ):
++        """Configure the Service according to the StreamDescription"""
++        self.log.info('SetStream: %s', streamDescription)
++        self.log.info('  enabled: %d', self.enabled)
++
++        ret = AGService.ConfigureStream( self, streamDescription )
++        if ret and self.started:
++            # service is already running with this config; ignore
++            return
++
++        # if started, stop
++        if self.started:
++            self.Stop()
++
++        # if enabled, start
++        if self.enabled:
++            self.Start()
++
++    def GetResource( self ):
++        if self.resource:
++            return ResourceDescription(self.resource[0])
++        else:
++            return ResourceDescription('')
++
++    def SetResource( self, resource ):
++        """Set the resource used by this service"""
++
++        self.log.info("VideoServiceH264.SetResource : %s" % resource.name)
++        for r in self.resources:
++            if r[0].strip() == resource.name:
++                self.resource = r
++
++        # Find the config element that refers to "port"
++        try:
++            index = self.configuration.index(self.port)
++            found = 1
++        except ValueError:
++            found = 0
++
++        # Create the port parameter as an option set parameter, now
++        # that we have multiple possible values for "port"
++        # If self.port is valid, keep it instead of setting the default value.
++        if (( isinstance(self.port, TextParameter) or isinstance(self.port, ValueParameter) ) 
++              and self.port.value != "" and self.port.value in self.resource[1]):
++            self.port = OptionSetParameter( "Port", self.port.value,
++                                                         self.resource[1] )
++        else:
++            self.port = OptionSetParameter( "Port", self.resource[1][0],
++                                                         self.resource[1] )
++
++        self.log.info('port = %s', self.port.value)
++
++        # Replace or append the "port" element
++        if found:
++            self.configuration[index] = self.port
++        else:
++            self.configuration.append(self.port)
++
++        # If the stream name has not been set, set it to the resource name
++        if not self.streamname.value:
++            self.streamname.value = resource.name
++
++    def SetIdentity(self, profile):
++        """
++        Set the identity of the user driving the node
++        """
++        self.log.info("SetIdentity: %s %s", profile.name, profile.email)
++        self.profile = profile
++        self.__SetRTPDefaults(profile)
++        
++    def GetResources(self):
++        ret = map(lambda x: ResourceDescription(x[0]) , self.resources)
++        self.log.info('resources: %s', ret)
++        return ret
++
++    def __GetResources(self):
++        self.resources = SystemConfig.instance().GetResources()
++        return self.resources
++        
++
++
++
++if __name__ == '__main__':
++
++    from AccessGrid.interfaces.AGService_interface import AGService as AGServiceI
++    from AccessGrid.AGService import RunService
++
++    service = VideoServiceH264()
++    serviceI = AGServiceI(service)
++    RunService(service,serviceI)
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc	2008-03-17 10:33:39.000000000 +1000
+@@ -0,0 +1,16 @@
++[ServiceDescription]
++name = VideoServiceH264
++description = Vic-based video service using h264 and mpeg4
++capabilities = Capability1 Capability2
++executable = VideoServiceH264.py
++platform = neutral
++version = 3.11
++
++[Capability1]
++role = producer
++type = video
++
++[Capability2]
++role = consumer
++type = video
++


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesH264.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesNoBuild.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesNoBuild.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesNoBuild.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,51 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## servicesNoBuild.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/AudioService/AudioService.build.py accessgrid3.1-3.1/AccessGrid/services/node/AudioService/AudioService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/AudioService/AudioService.build.py	2007-06-13 07:43:14.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/AudioService/AudioService.build.py	2008-03-23 21:48:30.234201972 +1000
+@@ -43,6 +43,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ # Build rat if necessary
+ if needBuild:
+     print "source dist = ", SOURCE, DEST
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py	2006-05-10 11:35:39.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py	2008-03-23 21:49:53.878968614 +1000
+@@ -44,6 +44,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ if needBuild:
+     # Build vic
+     if executableToBuild == "openmash":
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py	2006-05-12 10:49:05.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py	2008-03-23 21:49:27.273452453 +1000
+@@ -45,6 +45,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ if needBuild:
+     # Build vic
+     if executableToBuild == "openmash":
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoService/VideoService.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoService/VideoService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoService/VideoService.build.py	2006-05-10 11:35:40.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoService/VideoService.build.py	2008-03-23 21:49:03.996125954 +1000
+@@ -45,6 +45,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ if needBuild:
+     # Build vic
+     if executableToBuild == "openmash":


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/servicesNoBuild.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## tests-VenueServerTest.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/AccessGrid/tests/VenueServerTest.py accessgrid3.1-3.1/AccessGrid/AccessGrid/tests/VenueServerTest.py
+--- accessgrid3.1-3.1~/AccessGrid/AccessGrid/tests/VenueServerTest.py	2006-08-30 18:23:39.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/AccessGrid/tests/VenueServerTest.py	2008-03-24 13:46:25.453528062 +1000
+@@ -98,7 +98,7 @@
+         # Set Static Video
+         venue.streams = []
+         svml = MulticastNetworkLocation("224.2.2.2", 24000, 127)
+-        staticVideoCap = Capability3.PRODUCER, Capability3.VIDEO)
++        staticVideoCap = Capability3(Capability3.PRODUCER, Capability3.VIDEO)
+         venue.streams.append(StreamDescription3("Static Video",
+                                                svml, staticVideoCap,
+                                                0, None, 1))


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/toolkit-language.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/toolkit-language.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/toolkit-language.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## toolkit-language.dpatch by Christoph Willing <c.willing at uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Toolkit.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Toolkit.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Toolkit.py	2009-04-29 05:32:06.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Toolkit.py	2009-06-15 23:24:02.759280305 +1000
+@@ -601,6 +601,7 @@
+ 
+         return AppBase.instance()
+       
++    os.environ['LANG'] = "C"
+     instance = staticmethod(instance)
+     
+     def __init__(self):


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/toolkit-language.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/v32servicesH264.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/v32servicesH264.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/v32servicesH264.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## servicesH264.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip
+--- accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip	2004-05-21 06:57:25.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip	2008-03-23 20:04:04.501138194 +1000
+@@ -2,3 +2,6 @@
+ AudioService
+ VideoProducerService
+ VideoConsumerService
++VideoServiceH264
++VideoProducerServiceH264
++VideoConsumerServiceH264


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/patches/v32servicesH264.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+
+set -e
+
+case "$1" in
+	configure)
+		/usr/sbin/update-python-modules -f
+		if [ -x /usr/bin/agpm3.py ]; then
+		  echo "POSTINST: agpm3.py --post-install" >&2
+		  su -c "/usr/bin/agpm3.py --post-install"
+		fi
+	;;
+	*)
+		echo "POSTINST called with argument: $1" >&2
+	;;
+esac
+
+exit 0
+

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postrm
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postrm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/postrm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e 
+
+####/usr/sbin/update-python-modules -f
+
+case "$1" in
+	purge)
+		[ -d /usr/share/AccessGrid3 ] && {
+			echo "Deleting any unremoved files/directories from /usr/share/AccessGrid3" >&2
+			rm -rf /usr/share/AccessGrid3
+		}
+		[ -d /etc/AccessGrid3 ] && {
+			echo "Deleting any unremoved files/directories from /etc/AccessGrid3" >&2
+			rm -rf /etc/AccessGrid3
+		}
+	;;
+	*)
+		echo "POSTRM called with argument: $1" >&2
+	;;
+esac
+
+exit 0
+

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/pyversions
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/pyversions	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/pyversions	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2.4-

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,60 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpatch/dpatch.make
+
+package = accessgrid3.2
+pkgpath = debian/${package}
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+pythonversion="2.6"
+
+
+
+build: build-stamp
+
+build-stamp: patch-stamp
+	$(checkdir)
+	( export AGBUILDROOT=$(here) && \
+	cd AccessGrid/packaging && \
+	python ./BuildSnapshot.py --no-checkout --dist=debian --pythonversion=${pythonversion} )
+	touch build-stamp
+
+clean:	unpatch
+	dh_testdir
+	rm -f build-stamp
+	dh_clean
+
+binary-indep:	build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	install -d $(pkgpath)/DEBIAN $(docdir)
+
+	HERE=$(here) PKGDIR=$(pkgdir) PYTHONVERSION=${pythonversion} debian/installag.sh
+
+	dh_pysupport
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+
+
+binary-arch:	build
+
+
+define checkdir
+	test -f AccessGrid/AccessGrid/Toolkit.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules.old
===================================================================
--- trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,59 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+export DH_PYCENTRAL=nomove
+
+# all versions
+PYVERS  := $(shell pyversions -vs)
+VER     := $(shell /usr/bin/python -c 'import sys; print sys.version[:3]')
+
+package = accessgrid
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+patched:
+	HERE=$(here) debian/do_patches
+	touch $@
+
+build:	patched build-stamp
+build-stamp: $(PYVERS:%=build-python%)
+	touch $@
+build-python%:
+	$(checkdir)
+	HERE=$(here) PYTHONVERSION=$* debian/buildag.sh
+	touch $@
+
+clean:
+	$(checkdir)
+	rm -f build
+
+
+binary-indep:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	HERE=$(here) PKGDIR=$(pkgdir) PYTHONVERSION="2.4" debian/installag.sh
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+
+binary-arch:	checkroot build
+
+
+define checkdir
+	test -f AccessGrid/AccessGrid/Toolkit.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/accessgrid/debian/rules.old
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-rat/ag-rat.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-rat/ag-rat.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-rat/ag-rat.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#WORKDIR=mmedia-r4393
+#SITE0=http://www.vislab.uq.edu.au/ag3/distfiles
+#SRCPKG0=
+
+
+# Load up the default build script
+. ../../ag-rat.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-rat/ag-rat.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-rat/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-rat/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-rat/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,73 @@
+ag-rat (4.4.01-1ubuntu6) karmic; urgency=low
+
+  * New build for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 12:48:27 +1000
+
+ag-rat (4.4.01-1ubuntu6) jaunty; urgency=low
+
+  * New build for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 13:50:23 +1000
+
+ag-rat (4.4.01-1ubuntu6) intrepid; urgency=low
+
+  * New svn version 4395 (ALSA + PulseAudio fixes)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 21 Feb 2009 06:59:04 +1000
+
+ag-rat (4.4.01-1ubuntu5) intrepid; urgency=low
+
+  * New svn version 4393 (device switching fix)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 19 Feb 2009 06:41:49 +1000
+
+ag-rat (4.4.01-1ubuntu4) intrepid; urgency=low
+
+  * New svn version 4391
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 17 Feb 2009 22:12:52 +1000
+
+ag-rat (4.4.01-1ubuntu3) intrepid; urgency=low
+
+  * New svn version 4345
+  * Add asound-dev for building (to enable alsa)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 12 Feb 2009 10:59:21 +1000
+
+ag-rat (4.4.01-1ubuntu2) intrepid; urgency=low
+
+  * New build for Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 21:35:32 +1000
+
+ag-rat (4.4.01-1ubuntu2) hardy; urgency=low
+
+  * New svn version 4229
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 28 Jul 2008 14:43:47 +1000
+
+ag-rat (4.4.01-1ubuntu1) hardy; urgency=low
+
+  * Rebuild for hardy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 29 Mar 2008 17:08:12 +1000
+
+ag-rat (4.4.01-1) lenny; urgency=low
+
+  * SVN revision 4126
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 21:38:36 +1000
+
+ag-rat (4.4.00-r4109) etch; urgency=low
+
+  * SVN revision 4109
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 06 Nov 2007 21:18:14 +1000
+
+ag-rat (4.4.00) etch; urgency=low
+
+  * First etch version
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 01 Jul 2007 12:48:05 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/ag-rat/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-rat/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-rat/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+Source: ag-rat
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: python (>= 2.4), dpatch, tk-dev,
+ libx11-dev, libxt-dev, libssl-dev, libxext-dev,
+ libasound2-dev, libalsaplayer-dev
+Standards-Version: 3.7.2
+
+Package: ag-rat
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ alsa-oss, alsa-tools
+Provides: rat, ag-rat
+Description: UCL version of rat
+ This is the UCL version of rat for AccessGrid.
+ .
+ SVN revision 4393

Added: trunk/packaging/linux/debuntu/karmic/ag-rat/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-rat/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-rat/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 29 May 2007 15:24:28 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/ag-rat/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-rat/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-rat/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " POSTINST: no post installation actions required:"
+

Added: trunk/packaging/linux/debuntu/karmic/ag-rat/debian/prerm
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-rat/debian/prerm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-rat/debian/prerm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " PRERM: no preremoval actions required"
+

Added: trunk/packaging/linux/debuntu/karmic/ag-rat/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-rat/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-rat/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,65 @@
+#!/usr/bin/make -f
+
+package = ag-rat
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+include /usr/share/dpatch/dpatch.make
+
+
+build: patch-stamp build-stamp
+build-stamp:
+	$(checkdir)
+	(cd common && ./configure --enable-ipv6 && make)
+	(cd rat && ./configure --enable-debug --enable-debug-mem --enable-ipv6 && make)
+	touch build-stamp
+
+clean:	unpatch
+	$(checkdir)
+	rm -f build
+
+
+binary-arch:	checkroot build-stamp
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -m 644 rat/COPYRIGHT rat/INSTALL.TXT \
+		rat/README* rat/VERSION rat/MODS \
+		$(docdir)/
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -d $(pkgpath)/usr/bin
+	install -d $(pkgpath)/usr/share/man/man1
+	install -m 755 \
+		rat/rat \
+		rat/rat-4.4.01 \
+		rat/rat-4.4.01-ui \
+		rat/rat-4.4.01-media \
+		rat/rat-4.4.01-kill \
+		$(pkgpath)/usr/bin/
+	( cd $(pkgpath)/usr/bin/ && cp -p rat-4.4.01-kill rat-kill )
+	install -m 644 rat/man/man1/rat.1 $(pkgpath)/usr/share/man/man1/
+	dpkg-shlibdeps ${pkgdir}/usr/bin/rat-*
+	strip --strip-unneeded ${pkgdir}/usr/bin/rat-*
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f rat/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-rat/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/ag-vic.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/ag-vic.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/ag-vic.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=mmedia-r4449
+#workdir=mmedia-r4533
+#workdir=mmedia-r4651
+workdir=mmedia-r4694
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=
+
+
+# Load up the default build script
+. ../../ag-vic.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/ag-vic.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+vic-configure.in.tk
+webcam-quirk
+revert-net-ip
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,109 @@
+ag-vic2.8ucl (1.4-0ubuntu7) karmic; urgency=low
+
+  * New upstream code (svn r4694)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 14 Mar 2010 13:56:58 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu6) karmic; urgency=low
+
+  * Include patch for uvcvideo webcams quirk
+  * Revert to r4449 version of net/net-ip.cpp
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 08 Dec 2009 21:29:26 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu5) karmic; urgency=low
+
+  * New upstream code (svn r4533)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 01 Dec 2009 15:39:16 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu4) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 12:23:22 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu4) jaunty; urgency=low
+
+  * New upstream realease (SVN r4449)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 01 Jun 2009 20:41:28 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu3) jaunty; urgency=low
+
+  * Add libv4l dependency
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 29 May 2009 10:05:57 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu2) jaunty; urgency=low
+
+  * New build for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 14 Jan 2009 09:12:14 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu2) intrepid; urgency=low
+
+  * New upstream realease (SVN r4345) - fixes jpeg render issue
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 14 Jan 2009 09:12:14 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu1) intrepid; urgency=low
+
+  * New realease for Intrepid Ibex (SVN r4215)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 08:32:24 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu1) hardy; urgency=low
+
+  * New upstream realease (SVN r4215)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 15 Jul 2008 11:40:32 +1000
+
+ag-vic2.8ucl (1.3.1-1ubuntu1) hardy; urgency=low
+
+  * New build for hardy (still using SVN r4126)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 29 Mar 2008 15:11:34 +1000
+
+ag-vic2.8ucl (1.3.1-0r4126) lenny; urgency=low
+
+  * New build for lenny
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 14:25:37 +1000
+
+ag-vic2.8ucl (1.3.1-0r4126) etch; urgency=low
+
+  * New SVN version (4126)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 18 Mar 2008 09:58:45 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4109) gutsy; urgency=low
+
+  * New SVN version (4109)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 01 Nov 2007 13:31:23 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4086) gutsy; urgency=low
+
+  * Rebuild for gutsy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 24 Oct 2007 09:38:37 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4086) feisty; urgency=low
+
+  * Feisty version of UCL svn version 4086
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 09 Aug 2007 09:34:15 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4080) etch; urgency=low
+
+  * Feisty version of UCL svn version 4080
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 20 Jul 2007 10:43:52 +1000
+
+ag-vic2.8ucl (1.3.0-r4080) etch; urgency=low
+
+  * Etch version of UCL svn version 4080
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 19 Jul 2007 09:12:01 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+Source: ag-vic2.8ucl
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: automake, dpatch, libx11-dev, libxt-dev, libxext-dev,
+ libssl-dev, tk8.5-dev, libdv4-dev, libv4l-dev, yasm,
+ subversion, curl
+Standards-Version: 3.7.2
+
+Package: ag-vic2.8ucl
+Architecture: any
+Depends: ${shlibs:Depends}, tk8.5
+Conflicts: ag-vic, ag-hdvic, vic
+Description: AccessGrid version of vic video tool.
+ This is the UCL version of vic, svn version 4694
+ (20100315)

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Thu, 09 Aug 2007 09:34:15 +1000
+
+It was downloaded from http://ffmpeg.mplayerhq.hu/releases/
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,6 @@
+use_localuclmmbase
+webcam-quirk
+vic-render-color-swscale
+vic-debug
+vic-net-ip_cpp-revert-r4694
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/nolibv4l.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/nolibv4l.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/nolibv4l.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## nolibv4l.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/debian/control mmedia-r4533/debian/control
+--- mmedia-r4533~/debian/control	2009-06-01 22:38:05.000000000 +1000
++++ mmedia-r4533/debian/control	2009-12-04 14:27:18.749099674 +1000
+@@ -3,7 +3,7 @@
+ Priority: optional
+ Maintainer: Chris Willing <c.willing at uq.edu.au>
+ Build-Depends: automake, dpatch, libx11-dev, libxt-dev, libxext-dev,
+- libssl-dev, tk-dev, libdv4-dev, libv4l-dev, subversion, yasm,
++ libssl-dev, tk-dev, libdv4-dev, subversion, yasm,
+  curl
+ Standards-Version: 3.7.2
+ 


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/nolibv4l.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/use_localuclmmbase.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/use_localuclmmbase.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/use_localuclmmbase.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## use_localuclmmbase.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4651~/vic/Makefile.in mmedia-r4651/vic/Makefile.in
+--- mmedia-r4651~/vic/Makefile.in	2010-02-26 21:52:06.000000000 +1000
++++ mmedia-r4651/vic/Makefile.in	2010-03-14 22:53:31.675252446 +1000
+@@ -93,7 +93,7 @@
+ CODEC_LIB = @V_CODEC_LIB@ codec/tmndec/libh263.a codec/tmn-x/libh263coder.a
+ 
+ LIB = $(LIB_GRABBER) @V_LIB_TK@ @V_LIB_TCL@ @V_LIB_X11@ @V_LIB@ $(CODEC_LIB) $(VIDEO_LIB) \
+-	-luclmmbase -lm -lz -lpthread @V_LIB_FFMPEG@ @V_LIB_X264@ 
++	-L../common/src -luclmmbase -lm -lz -lpthread @V_LIB_FFMPEG@ @V_LIB_X264@ 
+ 
+ 
+ INCLUDE = $(INCLUDE_MISC) $(INCLUDE_GRABBER) $(INCLUDE_TK) $(INCLUDE_TCL) \


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/use_localuclmmbase.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-debug.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-debug.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-debug.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,32 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-debug.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/vic/video/grabber-v4l2.cpp mmedia-r4533/vic/video/grabber-v4l2.cpp
+--- mmedia-r4533~/vic/video/grabber-v4l2.cpp	2009-12-01 14:08:57.000000000 +1000
++++ mmedia-r4533/vic/video/grabber-v4l2.cpp	2009-12-04 13:43:53.729724189 +1000
+@@ -79,6 +79,9 @@
+     NULL
+ };
+ 
++#undef debug_msg
++#define debug_msg(args...) fprintf(stderr, args)
++
+ #define PAL_BT601_WIDTH   720
+ #define PAL_BT601_HEIGHT  576
+ #define NTSC_BT601_WIDTH  720
+diff -urNad mmedia-r4533~/vic/video/grabber-video4linux.cpp mmedia-r4533/vic/video/grabber-video4linux.cpp
+--- mmedia-r4533~/vic/video/grabber-video4linux.cpp	2009-12-01 14:08:57.000000000 +1000
++++ mmedia-r4533/vic/video/grabber-video4linux.cpp	2009-12-04 13:44:49.329099447 +1000
+@@ -63,6 +63,8 @@
+ };
+ 
+ //#define DEBUG(x)
++#undef debug_msg
++#define debug_msg(args...) fprintf(stderr, args)
+ 
+ #define D1_WIDTH    720
+ #define D1_HEIGHT   480


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-debug.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-mtrace.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-mtrace.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-mtrace.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-mtrace.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4126~/vic/tcl/ui-stats.tcl mmedia-r4126/vic/tcl/ui-stats.tcl
+--- mmedia-r4126~/vic/tcl/ui-stats.tcl	2008-03-15 13:00:52.000000000 +1000
++++ mmedia-r4126/vic/tcl/ui-stats.tcl	2008-03-22 15:59:35.673553948 +1000
+@@ -698,9 +698,9 @@
+ 
+ 	global V
+ 	if {$dir=="to"} {
+-		set cmd "|mtrace [$V(data-net) interface] [$src addr] [$V(data-net) addr]"
++		set cmd "|/usr/sbin/mtrace [$V(data-net) interface] [$src addr] [$V(data-net) addr]"
+ 	} else {
+-		set cmd "|mtrace [$src addr] [$V(data-net) addr]"
++		set cmd "|/usr/sbin/mtrace [$src addr] [$V(data-net) addr]"
+ 	}
+ 	if [catch "open {$cmd} r" fd] {
+ 		$w.t.text insert end "mtrace error: $fd"


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-mtrace.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,83 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-net-ip_cpp-revert-r4533.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/vic/net/net-ip.cpp mmedia-r4533/vic/net/net-ip.cpp
+--- mmedia-r4533~/vic/net/net-ip.cpp	2009-12-01 14:09:06.000000000 +1000
++++ mmedia-r4533/vic/net/net-ip.cpp	2009-12-08 21:26:07.094350315 +1000
+@@ -36,9 +36,6 @@
+ #ifdef WIN32
+ #include <io.h>
+ #define close closesocket
+-extern "C" {
+-char *find_win32_interface(const char *addr, int ttl);
+-}
+ #else
+ #include <sys/param.h>
+ #include <sys/socket.h>
+@@ -253,15 +250,6 @@
+ 		return (-1);
+ 	}
+ 	(IPAddress&)local_ = local.sin_addr;
+-
+-#ifdef WIN32
+-	//if (!local_.is_set()) {
+-		(IPAddress&)local_ = find_win32_interface(g_addr_, ttl);
+-		//(IPAddress&)local_ = "127.0.0.1";
+-		debug_msg("find_win32_interface localname:%s\n",(const char*)local_);
+-	//}
+-#endif
+-
+ 	rsock_ = openrsock(g_addr_, s_addr_ssm_, port, local_);
+ 	if (rsock_ < 0) {
+ 		rsock_ = ssock_;
+@@ -292,23 +280,18 @@
+ 	int len = sizeof(*p), result =0;
+ #endif
+ 
++	if ((result = getsockname(ssock_, (struct sockaddr *)p, &len)) < 0) {
++		perror("getsockname");
++		p->sin_addr.s_addr = 0;
++		p->sin_port = 0;
++	}
+ 	// Use Local interface name if already set via command line
+ 	if (local_.is_set()) {
+ 		p->sin_addr.s_addr=(IPAddress&)local_;
+-		debug_msg("Setting localname from cmd line:%s\n",(const char*)local_);
+ 		return (0);
+ 	}
+ 
+-	if ((result = getsockname(ssock_, (struct sockaddr *)p, &len)) < 0) {
+-	        debug_msg("getsockname failed, perror following:");
+-		perror("getsockname");
+-		p->sin_addr.s_addr = 0;
+-		p->sin_port = 0;
+-	} else 
+-	    debug_msg("getsockname succeeded sin_addr.s_addr:%x\n",p->sin_addr.s_addr);
+-
+ 	if (p->sin_addr.s_addr == 0) {
+-		debug_msg("getsockname returned 0 so resorting to gethostname()\n");
+ 		p->sin_addr.s_addr = LookupLocalAddr();
+ 		result = ((p->sin_addr.s_addr != 0) ? (0) : (-1));
+ 	}
+@@ -419,7 +402,7 @@
+ 				struct ip_mreq mr;
+ 
+ 				mr.imr_multiaddr.s_addr = g_addri;
+-				mr.imr_interface.s_addr = locali;
++				mr.imr_interface.s_addr = INADDR_ANY;
+ 				if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, 
+ 						(char *)&mr, sizeof(mr)) < 0) {
+ 					perror("IP_ADD_MEMBERSHIP");
+@@ -558,7 +541,7 @@
+ 		/* Slightly nasty one here - set Mcast iface if local inteface
+ 		 * is specified on command line
+ 		 */
+-		if (local_.is_set()) {
++		if (((const char*)local_)[0]!='\0') {
+ 			u_int32_t locali = (IPAddress&)local_;
+ 			if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF,
+ 						   (char*)&locali, sizeof(locali)) < 0) {


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,284 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-net-ip_cpp-revert-r4694.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urN mmedia-r4694~/vic/net/net-ip.cpp mmedia-r4694/vic/net/net-ip.cpp
+--- mmedia-r4694~/vic/net/net-ip.cpp	2010-03-15 14:36:28.000000000 +1000
++++ mmedia-r4694/vic/net/net-ip.cpp	2009-06-01 11:52:19.000000000 +1000
+@@ -36,9 +36,6 @@
+ #ifdef WIN32
+ #include <io.h>
+ #define close closesocket
+-extern "C" {
+-char *find_win32_interface(const char *addr, int ttl);
+-}
+ #else
+ #include <sys/param.h>
+ #include <sys/socket.h>
+@@ -96,7 +93,7 @@
+ 
+ class IPNetwork : public Network {
+     public:
+-		IPNetwork() : Network(*(new IPAddress), *(new IPAddress), *(new IPAddress)), local_preset(0) {;}
++		IPNetwork() : Network(*(new IPAddress), *(new IPAddress), *(new IPAddress)) {;}
+ 	virtual int command(int argc, const char*const* argv);
+ 	virtual void reset();
+ 	virtual Address* alloc(const char* name) { 
+@@ -116,9 +113,7 @@
+ 	int open(const char * host, int port, int ttl);
+ 	int close();
+ 	int localname(sockaddr_in*);
+-	int local_preset;  // Indicates if local_ has been set on cmd line
+ 	int openssock(Address & addr, u_short port, int ttl);
+-	int disconnect_sock(int fd);
+ 	int openrsock(Address & g_addr, Address & s_addr_ssm, u_short port, Address & local);
+ 	void dosend(u_char* buf, int len, int fd);
+ 	time_t last_reset_;
+@@ -208,10 +203,8 @@
+ 		if (strcmp(argv[1], "open") == 0) {
+ 			int port = htons(atoi(argv[3]));
+ 			int ttl = atoi(argv[4]);
+-			if (strlen(tcl.attr("ifAddr"))>1) {
++			if (strlen(tcl.attr("ifAddr"))>1)
+ 				(IPAddress&)local_ = tcl.attr("ifAddr");
+-				local_preset=1;
+-                        }
+ 			if (open(argv[2], port, ttl) < 0)
+ 				tcl.result("0");
+ 			else
+@@ -254,18 +247,9 @@
+ 	 */
+ 	sockaddr_in local;
+ 	if (localname(&local) < 0) {
+-#ifdef WIN32
+-		(IPAddress&)local_ = find_win32_interface(g_addr_, ttl);
+-		debug_msg("find_win32_interface localname:%s\n",(const char*)local_);
+-#endif
+-	        if (local.sin_addr.s_addr == 0) {
+-                  (IPAddress&)local_ = "127.0.0.1";
+-                  printf("Can NOT determine local IP address - using loopback address. If you want to be able to receive packets from other machines add this command line option: -i local_ip_addr \n");
+-                }
+-          } else
+-                (IPAddress&)local_ = local.sin_addr;
+-
+-	disconnect_sock(ssock_);
++		return (-1);
++	}
++	(IPAddress&)local_ = local.sin_addr;
+ 	rsock_ = openrsock(g_addr_, s_addr_ssm_, port, local_);
+ 	if (rsock_ < 0) {
+ 		rsock_ = ssock_;
+@@ -296,23 +280,18 @@
+ 	int len = sizeof(*p), result =0;
+ #endif
+ 
+-	// Use Local interface name if already set via command line
+-	if (local_preset) {
+-		p->sin_addr.s_addr=(IPAddress&)local_;
+-		debug_msg("Setting localname from cmd line:%s\n",(const char*)local_);
+-		return (0);
+-	}
+-
+ 	if ((result = getsockname(ssock_, (struct sockaddr *)p, &len)) < 0) {
+-	        debug_msg("getsockname failed, perror following:");
+ 		perror("getsockname");
+ 		p->sin_addr.s_addr = 0;
+ 		p->sin_port = 0;
+-	} else 
+-	        debug_msg("getsockname succeeded sin_addr.s_addr:%x(%s)\n",p->sin_addr.s_addr,inet_ntoa(p->sin_addr));
++	}
++	// Use Local interface name if already set via command line
++	if (local_.is_set()) {
++		p->sin_addr.s_addr=(IPAddress&)local_;
++		return (0);
++	}
+ 
+ 	if (p->sin_addr.s_addr == 0) {
+-		debug_msg("getsockname returned 0 so resorting to gethostname()\n");
+ 		p->sin_addr.s_addr = LookupLocalAddr();
+ 		result = ((p->sin_addr.s_addr != 0) ? (0) : (-1));
+ 	}
+@@ -328,13 +307,13 @@
+ 		last_reset_ = t;
+ 		(void)::close(ssock_);
+ 		ssock_ = openssock(g_addr_, port_, ttl_);
+-		disconnect_sock(ssock_);
+ 	}
+ }
+ 
+ int IPNetwork::openrsock(Address & g_addr, Address & s_addr_ssm, u_short port, Address & local)
+ {
+ 	int fd;
++	struct sockaddr_in sin;
+ 
+ 	u_int32_t g_addri = (IPAddress&)g_addr;
+ 	u_int32_t g_addri_ssm = (IPAddress&)s_addr_ssm;
+@@ -409,36 +388,27 @@
+                         exit (1);
+                 }
+         } else
++                        
+ #endif /* IP_ADD_SOURCE_MEMBERSHIP */
+ 		{
+-		/* 
+-		* XXX This is bogus multicast setup that really
+-		* shouldn't have to be done (group membership should be
+-		* implicit in the IP class D address, route should contain
+-		* ttl & no loopback flag, etc.).  Steve Deering has promised
+-		* to fix this for the 4.4bsd release.  We're all waiting
+-		* with bated breath.
+-		*/
+-		struct ip_mreq mr;
+-
+-		mr.imr_multiaddr.s_addr = g_addri;
+-		if (local_preset) {
+-		    mr.imr_interface.s_addr = locali;
+-		    if (setsockopt(fd, IPPROTO_IP,IP_ADD_MEMBERSHIP, 
+-				    (char *)&mr, sizeof(mr)) < 0) {
+-			perror("IP_ADD_MEMBERSHIP");
+-			debug_msg("Failed to join multicast group using preset local addr?\n");
+-		    }
+-		} else {
+-		    mr.imr_interface.s_addr = INADDR_ANY;
+-		    if (setsockopt(fd, IPPROTO_IP,IP_ADD_MEMBERSHIP, 
+-				    (char *)&mr, sizeof(mr)) < 0) {
+-			    perror("IP_ADD_MEMBERSHIP");
+-			    debug_msg("Failed to join multicast group- exiting\n");
+-			    exit(1);
+-		    }
++				/* 
++				* XXX This is bogus multicast setup that really
++				* shouldn't have to be done (group membership should be
++				* implicit in the IP class D address, route should contain
++				* ttl & no loopback flag, etc.).  Steve Deering has promised
++				* to fix this for the 4.4bsd release.  We're all waiting
++				* with bated breath.
++				*/
++				struct ip_mreq mr;
++
++				mr.imr_multiaddr.s_addr = g_addri;
++				mr.imr_interface.s_addr = INADDR_ANY;
++				if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, 
++						(char *)&mr, sizeof(mr)) < 0) {
++					perror("IP_ADD_MEMBERSHIP");
++					exit(1);
++				}
+ 		}
+- 	}
+ 	} else
+ #endif /* IP_ADD_MEMBERSHIP */
+ 	{
+@@ -470,19 +440,18 @@
+ 		sin.sin_port = 0;
+ 		sin.sin_addr.s_addr = g_addri;
+ 		connect(fd, (struct sockaddr *)&sin, sizeof(sin));
+-		
+-		
+ #endif
+ 	}
+ 	/*
+ 	 * XXX don't need this for the session socket.
+-	 */
+-	for (int bufsize = 1024 * 1024; bufsize >= 32 * 1024; bufsize /= 2) {
++	 */	
++	int bufsize = 80 * 1024;
++	if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
++			sizeof(bufsize)) < 0) {
++		bufsize = 32 * 1024;
+ 		if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
+-			       sizeof(bufsize)) >= 0)
+-		{
+-			break;
+-		}
++				sizeof(bufsize)) < 0)
++			perror("SO_RCVBUF");
+ 	}
+ 	return (fd);
+ }
+@@ -490,6 +459,7 @@
+ int IPNetwork::openssock(Address & addr, u_short port, int ttl)
+ {
+ 	int fd;
++//	struct sockaddr_in sin;
+ 
+ 	u_int32_t addri = (IPAddress&)addr;
+ 
+@@ -521,11 +491,11 @@
+ 	sin.sin_port = port;
+ 	sin.sin_addr.s_addr = INADDR_ANY;
+ 	if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
+-	  sin.sin_port = 0;
+-	  if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
+-	      perror("bind");
+-	      exit(1);
+-	  }
++        sin.sin_port = 0;
++        if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
++            perror("bind");
++            exit(1);
++        }
+ 	}
+ 
+ 	memset((char *)&sin, 0, sizeof(sin));
+@@ -533,14 +503,13 @@
+ 	sin.sin_port = port;
+ 	sin.sin_addr.s_addr = addri;
+ 
+-	/* Connect() is useful for localname() call to find the iface addr being used
+-	 * Because of a problem with OSX we disconnect this socket once localname() has 
+-	 * found out the ip address of the interface */
+- 	if (connect(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
++/*	Got rid of connect and vic then uses sin in the sendto() function in
++ *	the dosend() method
++ *
++ *	if (connect(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
+ 		perror("connect");
+ 		exit(1);
+-	}
+-
++	}*/
+ 	if (IN_CLASSD(ntohl(addri))) {
+ #ifdef IP_ADD_MEMBERSHIP
+ 		char c;
+@@ -572,7 +541,7 @@
+ 		/* Slightly nasty one here - set Mcast iface if local inteface
+ 		 * is specified on command line
+ 		 */
+-		if (local_preset) {
++		if (((const char*)local_)[0]!='\0') {
+ 			u_int32_t locali = (IPAddress&)local_;
+ 			if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF,
+ 						   (char*)&locali, sizeof(locali)) < 0) {
+@@ -591,22 +560,17 @@
+ 	/*
+ 	 * XXX don't need this for the session socket.
+ 	 */
+-	for (int bufsize = 1024 * 1024; bufsize >= 32 * 1024; bufsize /= 2) {
+-		if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
+-			       sizeof(bufsize)) >= 0)
+-		{
+-			break;
+-		}
++	int bufsize = 80 * 1024;
++	if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&bufsize,
++		       sizeof(bufsize)) < 0) {
++		bufsize = 48 * 1024;
++		if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&bufsize,
++			       sizeof(bufsize)) < 0)
++			perror("SO_SNDBUF");
+ 	}
+ 	return (fd);
+ }
+ 
+-int IPNetwork::disconnect_sock(int fd)
+-{
+-	memset((char *)&sin, 0, sizeof(sin));
+-	sin.sin_family = AF_UNSPEC;
+-	return connect(fd, (struct sockaddr *)&sin, sizeof(sin));
+-}
+ 
+ 
+ int IPNetwork::dorecv(u_char* buf, int len, Address & from, int fd)


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-render-color-swscale.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-render-color-swscale.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-render-color-swscale.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,59 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-render-color-swscale.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4345~/vic/render/color-swscale.cpp mmedia-r4345/vic/render/color-swscale.cpp
+--- mmedia-r4345~/vic/render/color-swscale.cpp	2009-01-13 14:57:02.000000000 +1000
++++ mmedia-r4345/vic/render/color-swscale.cpp	2009-01-13 16:42:27.054538763 +1000
+@@ -74,13 +74,13 @@
+ 
+ #ifdef RUNTIME_CPUDETECT
+ 	      flags |= (available_cpu_flags & FF_CPU_MMX ? SWS_CPU_CAPS_MMX : 0);
+-	      flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
++	      // flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
+ 	      flags |= (available_cpu_flags & FF_CPU_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
+ 	      flags |= (available_cpu_flags & FF_CPU_ALTIVEC ? SWS_CPU_CAPS_ALTIVEC : 0);
+ #elif defined(HAVE_MMX)
+ 	      flags |= SWS_CPU_CAPS_MMX;
+ 	#if defined(HAVE_MMX2)
+-	      flags |= SWS_CPU_CAPS_MMX2;
++	      // flags |= SWS_CPU_CAPS_MMX2;
+ 	#endif
+ #elif defined(HAVE_3DNOW)
+ 	      flags |= SWS_CPU_CAPS_3DNOW;
+diff -urNad mmedia-r4345~/vic/render/color-swscale.cpp.rej mmedia-r4345/vic/render/color-swscale.cpp.rej
+--- mmedia-r4345~/vic/render/color-swscale.cpp.rej	1970-01-01 10:00:00.000000000 +1000
++++ mmedia-r4345/vic/render/color-swscale.cpp.rej	2009-01-13 16:41:18.991140708 +1000
+@@ -0,0 +1,29 @@
++***************
++*** 70,82 ****
++  
++  #ifdef RUNTIME_CPUDETECT	    
++  	      flags |= (available_cpu_flags & FF_CPU_MMX ? SWS_CPU_CAPS_MMX : 0);
++- 	      flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_ALTIVEC ? SWS_CPU_CAPS_ALTIVEC : 0);
++  #elif defined(HAVE_MMX)
++  		  flags |= SWS_CPU_CAPS_MMX;
++  	#if defined(HAVE_MMX2)
++- 		  flags |= SWS_CPU_CAPS_MMX2;
++  	#endif 
++  #elif defined(HAVE_3DNOW)
++  		  flags |= SWS_CPU_CAPS_3DNOW;
++--- 70,82 ----
++  
++  #ifdef RUNTIME_CPUDETECT	    
++  	      flags |= (available_cpu_flags & FF_CPU_MMX ? SWS_CPU_CAPS_MMX : 0);
+++ 	      // flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_ALTIVEC ? SWS_CPU_CAPS_ALTIVEC : 0);
++  #elif defined(HAVE_MMX)
++  		  flags |= SWS_CPU_CAPS_MMX;
++  	#if defined(HAVE_MMX2)
+++ 		  // flags |= SWS_CPU_CAPS_MMX2;
++  	#endif 
++  #elif defined(HAVE_3DNOW)
++  		  flags |= SWS_CPU_CAPS_3DNOW;


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-render-color-swscale.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-video-grabber-video4linux.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4126~/vic/video/grabber-video4linux.cpp mmedia-r4126/vic/video/grabber-video4linux.cpp
+--- mmedia-r4126~/vic/video/grabber-video4linux.cpp	2008-03-15 13:00:49.000000000 +1000
++++ mmedia-r4126/vic/video/grabber-video4linux.cpp	2008-03-22 16:07:10.299461602 +1000
+@@ -39,10 +39,9 @@
+ extern "C"
+ {
+ #include <asm/types.h>
+-//#include <linux/videodev.h>
++#include <linux/videodev.h>
+ }
+ 
+-#include "videodev.h"
+ #include "grabber.h"
+ #include "vic_tcl.h"
+ #include "device-input.h"


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-x264.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-x264.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-x264.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-x264.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4126~/vic/Makefile.in mmedia-r4126/vic/Makefile.in
+--- mmedia-r4126~/vic/Makefile.in	2008-03-15 13:01:11.000000000 +1000
++++ mmedia-r4126/vic/Makefile.in	2008-03-22 17:48:29.317885121 +1000
+@@ -440,8 +440,8 @@
+ ffmpeg/lib/libpostproc.a:
+ 	(cd ffmpeg/libpostproc; make; make install )
+ 
+-x264/lib/libx264.a:
+-	(cd x264; make; make install )
++x264/libx264.a:
++	(cd x264; make )
+ 
+ codec/tmn-x/libh263coder.a:
+ 	(cd codec/tmn-x; $(MAKE) CC=$(CC) CCOPT="$(CCOPT)" )
+diff -urNad mmedia-r4126~/vic/codec/x264encoder.cpp mmedia-r4126/vic/codec/x264encoder.cpp
+--- mmedia-r4126~/vic/codec/x264encoder.cpp	2008-03-15 13:00:58.000000000 +1000
++++ mmedia-r4126/vic/codec/x264encoder.cpp	2008-03-22 17:50:38.853266920 +1000
+@@ -8,7 +8,7 @@
+ #include "ffmpeg/avcodec.h"
+ #include "databuffer.h"
+ extern "C"{
+-#include "x264.h"
++#include "../x264/x264.h"
+ }
+ 
+ typedef struct
+diff -urNad mmedia-r4126~/vic/configure.in mmedia-r4126/vic/configure.in
+--- mmedia-r4126~/vic/configure.in	2008-03-15 13:01:11.000000000 +1000
++++ mmedia-r4126/vic/configure.in	2008-03-22 17:48:29.353887171 +1000
+@@ -106,7 +106,7 @@
+      cd x264; ./configure --prefix=$V_PATH/x264; cd ..
+    fi
+    V_INCLUDE="$V_INCLUDE -Ix264/include"
+-   V_CODEC_LIB="$V_CODEC_LIB x264/lib/libx264.a"
++   V_CODEC_LIB="$V_CODEC_LIB x264/libx264.a"
+   else 
+     echo "x264 not available without --enable-gpl"
+   fi


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/vic-x264.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/webcam-quirk.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/webcam-quirk.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/webcam-quirk.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,23 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## webcam-quirk.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/vic/video/grabber-v4l2.cpp mmedia-r4533/vic/video/grabber-v4l2.cpp
+--- mmedia-r4533~/vic/video/grabber-v4l2.cpp	2009-12-01 14:08:57.000000000 +1000
++++ mmedia-r4533/vic/video/grabber-v4l2.cpp	2009-12-08 21:24:10.278100523 +1000
+@@ -471,6 +471,12 @@
+         decimate_  = 2;
+         running_   = 0;
+ 
++	v4l2_close(fd_);
++        fd_ = v4l2_open(dev, O_RDWR);
++        if (fd_ < 0) {
++                perror("open");
++                return;
++        }
+ }
+ 
+ 


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/patches/webcam-quirk.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " POSTINST: no post installation actions required"
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/prerm
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/prerm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/prerm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " PRERM: no preremoval actions required"
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,68 @@
+#!/usr/bin/make -f
+
+package = ag-vic2.8ucl
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+include /usr/share/dpatch/dpatch.make
+
+
+build: patch-stamp build-stamp
+build-stamp: build-pkg
+	touch $@
+build-pkg:
+	$(checkdir)
+	(cd common && autoconf -f && ./configure && make)
+	(cd vic && autoconf -f && \
+		./configure \
+		--prefix=/usr \
+		--enable-ipv6 \
+		--enable-dvdecode \
+		--with-decklink=decklink/ \
+		--enable-gpl \
+	)
+	(cd vic/ffmpeg && make)
+	(cd vic && make)
+	touch build $@
+
+clean:	unpatch
+	$(checkdir)
+	rm -f build build-stamp
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir) $(docdir)/html
+	install -m 644 vic/VERSION vic/FILES vic/LICENSE.txt $(docdir)/
+	install -m 644 vic/html/* $(docdir)/html/
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -d $(pkgpath)/usr/bin
+	install -d $(pkgpath)/usr/share/man/man1
+	install -m 755 vic/vic vic/histtolut ${pkgdir}/usr/bin/
+	strip --strip-unneeded ${pkgdir}/usr/bin/*
+	install -m 644 vic/vic.1 ${pkgdir}/usr/share/man/man1/
+	dpkg-shlibdeps ${pkgdir}/usr/bin/vic
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f vic/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules.real
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules.real	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules.real	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+
+package = ag-vic2.8ucl
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+include /usr/share/dpatch/dpatch.make
+
+
+build: patch-stamp build-stamp
+build-stamp: build-pkg
+	touch $@
+build-pkg:
+	$(checkdir)
+	(cd common && autoconf -f && ./configure && make)
+	(cd vic && autoconf -f && \
+		LDFLAGS=-L../common/src \
+		./configure \
+		--prefix=/usr \
+		--enable-ipv6 \
+		--enable-dvdecode \
+		--enable-gpl \
+		--build=$(ARCH) \
+	)
+	(cd vic/ffmpeg && make)
+	(cd vic && make)
+	touch build $@
+
+clean:	unpatch
+	$(checkdir)
+	rm -f build build-stamp
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir) $(docdir)/html
+	install -m 644 vic/VERSION vic/FILES vic/LICENSE.txt $(docdir)/
+	install -m 644 vic/html/* $(docdir)/html/
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -d $(pkgpath)/usr/bin
+	install -d $(pkgpath)/usr/share/man/man1
+	install -m 755 vic/vic vic/histtolut ${pkgdir}/usr/bin/
+	strip --strip-unneeded ${pkgdir}/usr/bin/*
+	install -m 644 vic/vic.1 ${pkgdir}/usr/share/man/man1/
+	dpkg-shlibdeps ${pkgdir}/usr/bin/vic
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f vic/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/ag-vic/debian/rules.real
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI.h
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,838 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+
+/* DeckLinkAPI.h */
+		
+#ifndef __DeckLink_API_h__
+#define __DeckLink_API_h__
+		
+#include <stdint.h>
+#include "LinuxCOM.h"
+
+/* Type Declarations */
+
+typedef int64_t BMDTimeValue;
+typedef int64_t BMDTimeScale;
+typedef uint32_t BMDTimecodeBCD;
+
+/* End Type Declarations */
+
+/* Interface ID Declarations */
+
+#define IID_IDeckLinkVideoOutputCallback                 /* E763A626-4A3C-49D1-BF13-E7AD3692AE52 */ (REFIID){0xE7,0x63,0xA6,0x26,0x4A,0x3C,0x49,0xD1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52}
+#define IID_IDeckLinkInputCallback                       /* 31D28EE7-88B6-4CB1-897A-CDBF79A26414 */ (REFIID){0x31,0xD2,0x8E,0xE7,0x88,0xB6,0x4C,0xB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14}
+#define IID_IDeckLinkMemoryAllocator                     /* B36EB6E7-9D29-4AA8-92EF-843B87A289E8 */ (REFIID){0xB3,0x6E,0xB6,0xE7,0x9D,0x29,0x4A,0xA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8}
+#define IID_IDeckLinkAudioOutputCallback                 /* 403C681B-7F46-4A12-B993-2BB127084EE6 */ (REFIID){0x40,0x3C,0x68,0x1B,0x7F,0x46,0x4A,0x12,0xB9,0x93,0x2B,0xB1,0x27,0x08,0x4E,0xE6}
+#define IID_IDeckLinkIterator                            /* 74E936FC-CC28-4A67-81A0-1E94E52D4E69 */ (REFIID){0x74,0xE9,0x36,0xFC,0xCC,0x28,0x4A,0x67,0x81,0xA0,0x1E,0x94,0xE5,0x2D,0x4E,0x69}
+#define IID_IDeckLinkAPIInformation                      /* 7BEA3C68-730D-4322-AF34-8A7152B532A4 */ (REFIID){0x7B,0xEA,0x3C,0x68,0x73,0x0D,0x43,0x22,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4}
+#define IID_IDeckLinkDisplayModeIterator                 /* 455D741F-1779-4800-86F5-0B5D13D79751 */ (REFIID){0x45,0x5D,0x74,0x1F,0x17,0x79,0x48,0x00,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51}
+#define IID_IDeckLinkDisplayMode                         /* 87451E84-2B7E-439E-A629-4393EA4A8550 */ (REFIID){0x87,0x45,0x1E,0x84,0x2B,0x7E,0x43,0x9E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50}
+#define IID_IDeckLink                                    /* 62BFF75D-6569-4E55-8D4D-66AA03829ABC */ (REFIID){0x62,0xBF,0xF7,0x5D,0x65,0x69,0x4E,0x55,0x8D,0x4D,0x66,0xAA,0x03,0x82,0x9A,0xBC}
+#define IID_IDeckLinkOutput                              /* 29228142-EB8C-4141-A621-F74026450955 */ (REFIID){0x29,0x22,0x81,0x42,0xEB,0x8C,0x41,0x41,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55}
+#define IID_IDeckLinkInput                               /* 300C135A-9F43-48E2-9906-6D7911D93CF1 */ (REFIID){0x30,0x0C,0x13,0x5A,0x9F,0x43,0x48,0xE2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1}
+#define IID_IDeckLinkTimecode                            /* EFB9BCA6-A521-44F7-BD69-2332F24D9EE6 */ (REFIID){0xEF,0xB9,0xBC,0xA6,0xA5,0x21,0x44,0xF7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6}
+#define IID_IDeckLinkVideoFrame                          /* A8D8238E-6B18-4196-99E1-5AF717B83D32 */ (REFIID){0xA8,0xD8,0x23,0x8E,0x6B,0x18,0x41,0x96,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32}
+#define IID_IDeckLinkMutableVideoFrame                   /* 46FCEE00-B4E6-43D0-91C0-023A7FCEB34F */ (REFIID){0x46,0xFC,0xEE,0x00,0xB4,0xE6,0x43,0xD0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F}
+#define IID_IDeckLinkVideoInputFrame                     /* 9A74FA41-AE9F-47AC-8CF4-01F42DD59965 */ (REFIID){0x9A,0x74,0xFA,0x41,0xAE,0x9F,0x47,0xAC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65}
+#define IID_IDeckLinkVideoFrameAncillary                 /* 732E723C-D1A4-4E29-9E8E-4A88797A0004 */ (REFIID){0x73,0x2E,0x72,0x3C,0xD1,0xA4,0x4E,0x29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04}
+#define IID_IDeckLinkAudioInputPacket                    /* E43D5870-2894-11DE-8C30-0800200C9A66 */ (REFIID){0xE4,0x3D,0x58,0x70,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66}
+#define IID_IDeckLinkScreenPreviewCallback               /* 373F499D-4B4D-4518-AD22-6354E5A5825E */ (REFIID){0x37,0x3F,0x49,0x9D,0x4B,0x4D,0x45,0x18,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E}
+#define IID_IDeckLinkGLScreenPreviewHelper               /* BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA */ (REFIID){0xBA,0x57,0x5C,0xD9,0xA1,0x5E,0x49,0x7B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA}
+#define IID_IDeckLinkConfiguration                       /* B8EAD569-B764-47F0-A73F-AE40DF6CBF10 */ (REFIID){0xB8,0xEA,0xD5,0x69,0xB7,0x64,0x47,0xF0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10}
+#define IID_IDeckLinkAttributes                          /* ABC11843-D966-44CB-96E2-A1CB5D3135C4 */ (REFIID){0xAB,0xC1,0x18,0x43,0xD9,0x66,0x44,0xCB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4}
+#define IID_IDeckLinkKeyer                               /* 89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3 */ (REFIID){0x89,0xAF,0xCA,0xF5,0x65,0xF8,0x42,0x1E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3}
+
+/* End Interface ID Declarations */
+
+/* Enum BMDDisplayMode - Video display modes */
+
+typedef uint32_t BMDDisplayMode;
+enum _BMDDisplayMode {
+    bmdModeNTSC                                        = /* 'ntsc' */ 0x6E747363,
+    bmdModeNTSC2398                                    = /* 'nt23' */ 0x6E743233, // 3:2 pulldown
+    bmdModePAL                                         = /* 'pal ' */ 0x70616C20,
+
+    /* HD 1080 Modes */
+
+    bmdModeHD1080p2398                                 = /* '23ps' */ 0x32337073,
+    bmdModeHD1080p24                                   = /* '24ps' */ 0x32347073,
+    bmdModeHD1080p25                                   = /* 'Hp25' */ 0x48703235,
+    bmdModeHD1080p2997                                 = /* 'Hp29' */ 0x48703239,
+    bmdModeHD1080p30                                   = /* 'Hp30' */ 0x48703330,
+    bmdModeHD1080i50                                   = /* 'Hi50' */ 0x48693530,
+    bmdModeHD1080i5994                                 = /* 'Hi59' */ 0x48693539,
+    bmdModeHD1080i6000                                 = /* 'Hi60' */ 0x48693630, // N.B. This _really_ is 60.00 Hz.
+    bmdModeHD1080p50                                   = /* 'Hp50' */ 0x48703530,
+    bmdModeHD1080p5994                                 = /* 'Hp59' */ 0x48703539,
+    bmdModeHD1080p6000                                 = /* 'Hp60' */ 0x48703630, // N.B. This _really_ is 60.00 Hz.
+
+    /* HD 720 Modes */
+
+    bmdModeHD720p50                                    = /* 'hp50' */ 0x68703530,
+    bmdModeHD720p5994                                  = /* 'hp59' */ 0x68703539,
+    bmdModeHD720p60                                    = /* 'hp60' */ 0x68703630,
+
+    /* 2k Modes */
+
+    bmdMode2k2398                                      = /* '2k23' */ 0x326B3233,
+    bmdMode2k24                                        = /* '2k24' */ 0x326B3234,
+    bmdMode2k25                                        = /* '2k25' */ 0x326B3235
+};
+
+/* End Enum BMDDisplayMode */
+
+/* Enum BMDFieldDominance - Video field dominance */
+
+typedef uint32_t BMDFieldDominance;
+enum _BMDFieldDominance {
+    bmdUnknownFieldDominance                           = 0,
+    bmdLowerFieldFirst                                 = /* 'lowr' */ 0x6C6F7772,
+    bmdUpperFieldFirst                                 = /* 'uppr' */ 0x75707072,
+    bmdProgressiveFrame                                = /* 'prog' */ 0x70726F67,
+    bmdProgressiveSegmentedFrame                       = /* 'psf ' */ 0x70736620
+};
+
+/* End Enum BMDFieldDominance */
+
+/* Enum BMDPixelFormat - Video pixel formats supported for output/input */
+
+typedef uint32_t BMDPixelFormat;
+enum _BMDPixelFormat {
+    bmdFormat8BitYUV                                   = /* '2vuy' */ 0x32767579,
+    bmdFormat10BitYUV                                  = /* 'v210' */ 0x76323130,
+    bmdFormat8BitARGB                                  = 0x20,
+    bmdFormat8BitBGRA                                  = /* 'BGRA' */ 0x42475241,
+    bmdFormat10BitRGB                                  = /* 'r210' */ 0x72323130
+};
+
+/* End Enum BMDPixelFormat */
+
+/* Enum BMDVideoOutputFlags - Flags to control the output of ancillary data along with video. */
+
+typedef uint32_t BMDVideoOutputFlags;
+enum _BMDVideoOutputFlags {
+    bmdVideoOutputFlagDefault                          = 0,
+    bmdVideoOutputRP188                                = 1 << 0,
+    bmdVideoOutputVANC                                 = 1 << 1
+};
+
+/* End Enum BMDVideoOutputFlags */
+
+/* Enum BMDFrameFlags - Frame flags */
+
+typedef uint32_t BMDFrameFlags;
+enum _BMDFrameFlags {
+    bmdFrameFlagDefault                                = 0,
+    bmdFrameFlagFlipVertical                           = 1 << 0,
+
+    /* Flags that are valid only for frames returned through IDeckLinkInput */
+
+    bmdFrameHasNoInputSource                           = 1 << 31
+};
+
+/* End Enum BMDFrameFlags */
+
+/* Enum BMDVideoInputFlags - Flags applicable to video input */
+
+typedef uint32_t BMDVideoInputFlags;
+enum _BMDVideoInputFlags {
+    bmdVideoInputFlagDefault                           = 0,
+    bmdVideoInputEnableFormatDetection                 = 1 << 0
+};
+
+/* End Enum BMDVideoInputFlags */
+
+/* Enum BMDVideoInputFormatChangedEvents - Bitmask passed to the VideoInputFormatChanged notification to identify the properties of the input signal that have changed */
+
+typedef uint32_t BMDVideoInputFormatChangedEvents;
+enum _BMDVideoInputFormatChangedEvents {
+    bmdVideoInputDisplayModeChanged                    = 1 << 0,
+    bmdVideoInputFieldDominanceChanged                 = 1 << 1,
+    bmdVideoInputColorspaceChanged                     = 1 << 2
+};
+
+/* End Enum BMDVideoInputFormatChangedEvents */
+
+/* Enum BMDDetectedVideoInputFormatFlags - Flags passed to the VideoInputFormatChanged notification to describe the detected video input signal */
+
+typedef uint32_t BMDDetectedVideoInputFormatFlags;
+enum _BMDDetectedVideoInputFormatFlags {
+    bmdDetectedVideoInputYCbCr422                      = 1 << 0,
+    bmdDetectedVideoInputRGB444                        = 1 << 1
+};
+
+/* End Enum BMDDetectedVideoInputFormatFlags */
+
+/* Enum BMDOutputFrameCompletionResult - Frame Completion Callback */
+
+typedef uint32_t BMDOutputFrameCompletionResult;
+enum _BMDOutputFrameCompletionResult {
+    bmdOutputFrameCompleted,                          
+    bmdOutputFrameDisplayedLate,                      
+    bmdOutputFrameDropped,                            
+    bmdOutputFrameFlushed                             
+};
+
+/* End Enum BMDOutputFrameCompletionResult */
+
+/* Enum BMDAudioSampleRate - Audio sample rates supported for output/input */
+
+typedef uint32_t BMDAudioSampleRate;
+enum _BMDAudioSampleRate {
+    bmdAudioSampleRate48kHz                            = 48000
+};
+
+/* End Enum BMDAudioSampleRate */
+
+/* Enum BMDAudioSampleType - Audio sample sizes supported for output/input */
+
+typedef uint32_t BMDAudioSampleType;
+enum _BMDAudioSampleType {
+    bmdAudioSampleType16bitInteger                     = 16,
+    bmdAudioSampleType32bitInteger                     = 32
+};
+
+/* End Enum BMDAudioSampleType */
+
+/* Enum BMDAudioOutputStreamType - Audio output stream type */
+
+typedef uint32_t BMDAudioOutputStreamType;
+enum _BMDAudioOutputStreamType {
+    bmdAudioOutputStreamContinuous,                   
+    bmdAudioOutputStreamContinuousDontResample,       
+    bmdAudioOutputStreamTimestamped                   
+};
+
+/* End Enum BMDAudioOutputStreamType */
+
+/* Enum BMDDisplayModeSupport - Output mode supported flags */
+
+typedef uint32_t BMDDisplayModeSupport;
+enum _BMDDisplayModeSupport {
+    bmdDisplayModeNotSupported                         = 0,
+    bmdDisplayModeSupported,                          
+    bmdDisplayModeSupportedWithConversion             
+};
+
+/* End Enum BMDDisplayModeSupport */
+
+/* Enum BMDTimecodeFormat - Timecode formats for frame metadata */
+
+typedef uint32_t BMDTimecodeFormat;
+enum _BMDTimecodeFormat {
+    bmdTimecodeRP188                                   = /* 'rp18' */ 0x72703138,
+    bmdTimecodeVITC                                    = /* 'vitc' */ 0x76697463,
+    bmdTimecodeSerial                                  = /* 'seri' */ 0x73657269
+};
+
+/* End Enum BMDTimecodeFormat */
+
+/* Enum BMDTimecodeFlags - Timecode flags */
+
+typedef uint32_t BMDTimecodeFlags;
+enum _BMDTimecodeFlags {
+    bmdTimecodeFlagDefault                             = 0,
+    bmdTimecodeIsDropFrame                             = 1 << 0
+};
+
+/* End Enum BMDTimecodeFlags */
+
+/* Enum BMDVideoConnection - Video connection types */
+
+typedef uint32_t BMDVideoConnection;
+enum _BMDVideoConnection {
+    bmdVideoConnectionSDI                              = /* 'sdi ' */ 0x73646920,
+    bmdVideoConnectionHDMI                             = /* 'hdmi' */ 0x68646D69,
+    bmdVideoConnectionOpticalSDI                       = /* 'opti' */ 0x6F707469,
+    bmdVideoConnectionComponent                        = /* 'cpnt' */ 0x63706E74,
+    bmdVideoConnectionComposite                        = /* 'cmst' */ 0x636D7374,
+    bmdVideoConnectionSVideo                           = /* 'svid' */ 0x73766964
+};
+
+/* End Enum BMDVideoConnection */
+
+/* Enum BMDAnalogVideoFlags - Analog video display flags */
+
+typedef uint32_t BMDAnalogVideoFlags;
+enum _BMDAnalogVideoFlags {
+    bmdAnalogVideoFlagCompositeSetup75                 = 1 << 0,
+    bmdAnalogVideoFlagComponentBetacamLevels           = 1 << 1
+};
+
+/* End Enum BMDAnalogVideoFlags */
+
+/* Enum BMDAudioConnection - Audio connection types */
+
+typedef uint32_t BMDAudioConnection;
+enum _BMDAudioConnection {
+    bmdAudioConnectionEmbedded                         = /* 'embd' */ 0x656D6264,
+    bmdAudioConnectionAESEBU                           = /* 'aes ' */ 0x61657320,
+    bmdAudioConnectionAnalog                           = /* 'anlg' */ 0x616E6C67
+};
+
+/* End Enum BMDAudioConnection */
+
+/* Enum BMDVideoOutputConversionMode - Video/audio conversion mode */
+
+typedef uint32_t BMDVideoOutputConversionMode;
+enum _BMDVideoOutputConversionMode {
+    bmdNoVideoOutputConversion                         = /* 'none' */ 0x6E6F6E65,
+    bmdVideoOutputLetterboxDownonversion               = /* 'ltbx' */ 0x6C746278,
+    bmdVideoOutputAnamorphicDownonversion              = /* 'amph' */ 0x616D7068,
+    bmdVideoOutputHD720toHD1080Conversion              = /* '720c' */ 0x37323063,
+    bmdVideoOutputHardwareLetterboxDownconversion      = /* 'HWlb' */ 0x48576C62,
+    bmdVideoOutputHardwareAnamorphicDownconversion     = /* 'HWam' */ 0x4857616D,
+    bmdVideoOutputHardwareCenterCutDownconversion      = /* 'HWcc' */ 0x48576363
+};
+
+/* End Enum BMDVideoOutputConversionMode */
+
+/* Enum BMDVideoInputConversionMode - Video input conversion mode */
+
+typedef uint32_t BMDVideoInputConversionMode;
+enum _BMDVideoInputConversionMode {
+    bmdNoVideoInputConversion                          = /* 'none' */ 0x6E6F6E65,
+    bmdVideoInputLetterboxDownconversionFromHD1080     = /* '10lb' */ 0x31306C62,
+    bmdVideoInputAnamorphicDownconversionFromHD1080    = /* '10am' */ 0x3130616D,
+    bmdVideoInputLetterboxDownconversionFromHD720      = /* '72lb' */ 0x37326C62,
+    bmdVideoInputAnamorphicDownconversionFromHD720     = /* '72am' */ 0x3732616D,
+    bmdVideoInputLetterboxUpconversion                 = /* 'lbup' */ 0x6C627570,
+    bmdVideoInputAnamorphicUpconversion                = /* 'amup' */ 0x616D7570
+};
+
+/* End Enum BMDVideoInputConversionMode */
+
+/* Enum BMDDeckLinkAttributeID - DeckLink Atribute ID */
+
+typedef uint32_t BMDDeckLinkAttributeID;
+enum _BMDDeckLinkAttributeID {
+
+    /* Flags */
+
+    BMDDeckLinkSupportsInternalKeying                  = /* 'keyi' */ 0x6B657969,
+    BMDDeckLinkSupportsExternalKeying                  = /* 'keye' */ 0x6B657965,
+    BMDDeckLinkSupportsHDKeying                        = /* 'keyh' */ 0x6B657968,
+    BMDDeckLinkSupportsInputFormatDetection            = /* 'infd' */ 0x696E6664,
+    BMDDeckLinkHasSerialPort                           = /* 'hspt' */ 0x68737074,
+
+    /* Integers */
+
+    BMDDeckLinkMaximumAudioChannels                    = /* 'mach' */ 0x6D616368,
+
+    /* Strings */
+
+    BMDDeckLinkSerialPortDeviceName                    = /* 'slpn' */ 0x736C706E
+};
+
+/* End Enum BMDDeckLinkAttributeID */
+
+/* Enum BMDDeckLinkAPIInformationID - DeckLinkAPI information ID */
+
+typedef uint32_t BMDDeckLinkAPIInformationID;
+enum _BMDDeckLinkAPIInformationID {
+    BMDDeckLinkAPIVersion                              = /* 'vers' */ 0x76657273
+};
+
+/* End Enum BMDDeckLinkAPIInformationID */
+
+#if defined(__cplusplus)
+
+/* Forward Declarations */
+
+class IDeckLinkVideoOutputCallback;
+class IDeckLinkInputCallback;
+class IDeckLinkMemoryAllocator;
+class IDeckLinkAudioOutputCallback;
+class IDeckLinkIterator;
+class IDeckLinkAPIInformation;
+class IDeckLinkDisplayModeIterator;
+class IDeckLinkDisplayMode;
+class IDeckLink;
+class IDeckLinkOutput;
+class IDeckLinkInput;
+class IDeckLinkTimecode;
+class IDeckLinkVideoFrame;
+class IDeckLinkMutableVideoFrame;
+class IDeckLinkVideoInputFrame;
+class IDeckLinkVideoFrameAncillary;
+class IDeckLinkAudioInputPacket;
+class IDeckLinkScreenPreviewCallback;
+class IDeckLinkGLScreenPreviewHelper;
+class IDeckLinkConfiguration;
+class IDeckLinkAttributes;
+class IDeckLinkKeyer;
+
+/* End Forward Declarations */
+
+/* Interface IDeckLinkVideoOutputCallback - Frame completion callback. */
+
+class IDeckLinkVideoOutputCallback : public IUnknown
+{
+public:
+    virtual HRESULT ScheduledFrameCompleted (/* in */ IDeckLinkVideoFrame *completedFrame, /* in */ BMDOutputFrameCompletionResult result) = 0;
+    virtual HRESULT ScheduledPlaybackHasStopped (void) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoOutputCallback () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoOutputCallback */
+
+/* Interface IDeckLinkInputCallback - Frame arrival callback. */
+
+class IDeckLinkInputCallback : public IUnknown
+{
+public:
+    virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+    virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame *videoFrame, /* in */ IDeckLinkAudioInputPacket *audioPacket) = 0;
+
+protected:
+    virtual ~IDeckLinkInputCallback () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInputCallback */
+
+/* Interface IDeckLinkMemoryAllocator - Memory allocator for video frames. */
+
+class IDeckLinkMemoryAllocator : public IUnknown
+{
+public:
+    virtual HRESULT AllocateBuffer (uint32_t bufferSize, /* out */ void **allocatedBuffer) = 0;
+    virtual HRESULT ReleaseBuffer (/* in */ void *buffer) = 0;
+
+    virtual HRESULT Commit (void) = 0;
+    virtual HRESULT Decommit (void) = 0;
+};
+
+/* End Interface IDeckLinkMemoryAllocator */
+
+/* Interface IDeckLinkAudioOutputCallback - Optional callback to allow audio samples to be pulled as required. */
+
+class IDeckLinkAudioOutputCallback : public IUnknown
+{
+public:
+    virtual HRESULT RenderAudioSamples (bool preroll) = 0;
+};
+
+/* End Interface IDeckLinkAudioOutputCallback */
+
+/* Interface IDeckLinkIterator - enumerates installed DeckLink hardware */
+
+class IDeckLinkIterator : public IUnknown
+{
+public:
+    virtual HRESULT Next (/* out */ IDeckLink **deckLinkInstance) = 0;
+};
+
+/* End Interface IDeckLinkIterator */
+
+/* Interface IDeckLinkAPIInformation - DeckLinkAPI attribute interface */
+
+class IDeckLinkAPIInformation : public IUnknown
+{
+public:
+    virtual HRESULT GetFlag (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ bool *value) = 0;
+    virtual HRESULT GetInt (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ int64_t *value) = 0;
+    virtual HRESULT GetFloat (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ double *value) = 0;
+    virtual HRESULT GetString (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ const char **value) = 0;
+
+protected:
+    virtual ~IDeckLinkAPIInformation () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkAPIInformation */
+
+/* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/output display modes. */
+
+class IDeckLinkDisplayModeIterator : public IUnknown
+{
+public:
+    virtual HRESULT Next (/* out */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
+
+protected:
+    virtual ~IDeckLinkDisplayModeIterator () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkDisplayModeIterator */
+
+/* Interface IDeckLinkDisplayMode - represents a display mode */
+
+class IDeckLinkDisplayMode : public IUnknown
+{
+public:
+    virtual HRESULT GetName (/* out */ const char **name) = 0;
+    virtual BMDDisplayMode GetDisplayMode (void) = 0;
+    virtual long GetWidth (void) = 0;
+    virtual long GetHeight (void) = 0;
+    virtual HRESULT GetFrameRate (/* out */ BMDTimeValue *frameDuration, /* out */ BMDTimeScale *timeScale) = 0;
+    virtual BMDFieldDominance GetFieldDominance (void) = 0;
+
+protected:
+    virtual ~IDeckLinkDisplayMode () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkDisplayMode */
+
+/* Interface IDeckLink - represents a DeckLink device */
+
+class IDeckLink : public IUnknown
+{
+public:
+    virtual HRESULT GetModelName (/* out */ const char **modelName) = 0;
+};
+
+/* End Interface IDeckLink */
+
+/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkOutput : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Output */
+
+    virtual HRESULT EnableVideoOutput (BMDDisplayMode displayMode, BMDVideoOutputFlags flags) = 0;
+    virtual HRESULT DisableVideoOutput (void) = 0;
+
+    virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+    virtual HRESULT CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0;
+    virtual HRESULT CreateAncillaryData (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
+
+    virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+    virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0;
+    virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0;
+    virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0;
+
+    /* Audio Output */
+
+    virtual HRESULT EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount, BMDAudioOutputStreamType streamType) = 0;
+    virtual HRESULT DisableAudioOutput (void) = 0;
+
+    virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT BeginAudioPreroll (void) = 0;
+    virtual HRESULT EndAudioPreroll (void) = 0;
+    virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0;
+    virtual HRESULT FlushBufferedAudioSamples (void) = 0;
+
+    virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0;
+
+    /* Output Control */
+
+    virtual HRESULT StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0;
+    virtual HRESULT StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0;
+    virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0;
+    virtual HRESULT GetScheduledStreamTime (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0;
+
+    /* Hardware Timing */
+
+    virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkOutput () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkOutput */
+
+/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkInput : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Input */
+
+    virtual HRESULT EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0;
+    virtual HRESULT DisableVideoInput (void) = 0;
+    virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0;
+
+    /* Audio Input */
+
+    virtual HRESULT EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+    virtual HRESULT DisableAudioInput (void) = 0;
+    virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0;
+
+    /* Input Control */
+
+    virtual HRESULT StartStreams (void) = 0;
+    virtual HRESULT StopStreams (void) = 0;
+    virtual HRESULT PauseStreams (void) = 0;
+    virtual HRESULT FlushStreams (void) = 0;
+    virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback *theCallback) = 0;
+
+    /* Hardware Timing */
+
+    virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkInput () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInput */
+
+/* Interface IDeckLinkTimecode - Used for video frame timecode representation. */
+
+class IDeckLinkTimecode : public IUnknown
+{
+public:
+    virtual BMDTimecodeBCD GetBCD (void) = 0;
+    virtual HRESULT GetComponents (/* out */ uint8_t *hours, /* out */ uint8_t *minutes, /* out */ uint8_t *seconds, /* out */ uint8_t *frames) = 0;
+    virtual HRESULT GetString (/* out */ const char **timecode) = 0;
+    virtual BMDTimecodeFlags GetFlags (void) = 0;
+
+protected:
+    virtual ~IDeckLinkTimecode () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkTimecode */
+
+/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */
+
+class IDeckLinkVideoFrame : public IUnknown
+{
+public:
+    virtual long GetWidth (void) = 0;
+    virtual long GetHeight (void) = 0;
+    virtual long GetRowBytes (void) = 0;
+    virtual BMDPixelFormat GetPixelFormat (void) = 0;
+    virtual BMDFrameFlags GetFlags (void) = 0;
+    virtual HRESULT GetBytes (/* out */ void **buffer) = 0;
+
+    virtual HRESULT GetTimecode (BMDTimecodeFormat format, /* out */ IDeckLinkTimecode **timecode) = 0;
+    virtual HRESULT GetAncillaryData (/* out */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoFrame () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoFrame */
+
+/* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVideoFrame. */
+
+class IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
+{
+public:
+    virtual HRESULT SetFlags (BMDFrameFlags newFlags) = 0;
+
+    virtual HRESULT SetTimecode (BMDTimecodeFormat format, /* in */ IDeckLinkTimecode *timecode) = 0;
+    virtual HRESULT SetTimecodeFromComponents (BMDTimecodeFormat format, uint8_t hours, uint8_t minutes, uint8_t seconds, uint8_t frames, BMDTimecodeFlags flags) = 0;
+    virtual HRESULT SetAncillaryData (/* in */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
+
+protected:
+    virtual ~IDeckLinkMutableVideoFrame () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkMutableVideoFrame */
+
+/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */
+
+class IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
+{
+public:
+    virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0;
+    virtual HRESULT GetHardwareReferenceTimestamp (BMDTimeScale timeScale, /* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoInputFrame () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoInputFrame */
+
+/* Interface IDeckLinkVideoFrameAncillary - Obtained through QueryInterface() on an IDeckLinkVideoFrame object. */
+
+class IDeckLinkVideoFrameAncillary : public IUnknown
+{
+public:
+
+    virtual HRESULT GetBufferForVerticalBlankingLine (uint32_t lineNumber, /* out */ void **buffer) = 0;
+    virtual BMDPixelFormat GetPixelFormat (void) = 0;
+    virtual BMDDisplayMode GetDisplayMode (void) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoFrameAncillary () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoFrameAncillary */
+
+/* Interface IDeckLinkAudioInputPacket - Provided by the IDeckLinkInput callback. */
+
+class IDeckLinkAudioInputPacket : public IUnknown
+{
+public:
+    virtual long GetSampleFrameCount (void) = 0;
+    virtual HRESULT GetBytes (/* out */ void **buffer) = 0;
+    virtual HRESULT GetPacketTime (/* out */ BMDTimeValue *packetTime, BMDTimeScale timeScale) = 0;
+
+protected:
+    virtual ~IDeckLinkAudioInputPacket () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkAudioInputPacket */
+
+/* Interface IDeckLinkScreenPreviewCallback - Screen preview callback */
+
+class IDeckLinkScreenPreviewCallback : public IUnknown
+{
+public:
+    virtual HRESULT DrawFrame (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkScreenPreviewCallback () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkScreenPreviewCallback */
+
+/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance(). */
+
+class IDeckLinkGLScreenPreviewHelper : public IUnknown
+{
+public:
+
+    /* Methods must be called with OpenGL context set */
+
+    virtual HRESULT InitializeGL (void) = 0;
+    virtual HRESULT PaintGL (void) = 0;
+    virtual HRESULT SetFrame (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkGLScreenPreviewHelper () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkGLScreenPreviewHelper */
+
+/* Interface IDeckLinkConfiguration - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkConfiguration : public IUnknown
+{
+public:
+    virtual HRESULT GetConfigurationValidator (/* out */ IDeckLinkConfiguration **configObject) = 0;
+    virtual HRESULT WriteConfigurationToPreferences (void) = 0;
+
+    /* Video Output Configuration */
+
+    virtual HRESULT SetVideoOutputFormat (BMDVideoConnection videoOutputConnection) = 0;
+    virtual HRESULT IsVideoOutputActive (BMDVideoConnection videoOutputConnection, /* out */ bool *active) = 0;
+
+    virtual HRESULT SetAnalogVideoOutputFlags (BMDAnalogVideoFlags analogVideoFlags) = 0;
+    virtual HRESULT GetAnalogVideoOutputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
+
+    virtual HRESULT EnableFieldFlickerRemovalWhenPaused (bool enable) = 0;
+    virtual HRESULT IsEnabledFieldFlickerRemovalWhenPaused (/* out */ bool *enabled) = 0;
+
+    virtual HRESULT Set444And3GBpsVideoOutput (bool enable444VideoOutput, bool enable3GbsOutput) = 0;
+    virtual HRESULT Get444And3GBpsVideoOutput (/* out */ bool *is444VideoOutputEnabled, /* out */ bool *threeGbsOutputEnabled) = 0;
+
+    virtual HRESULT SetVideoOutputConversionMode (BMDVideoOutputConversionMode conversionMode) = 0;
+    virtual HRESULT GetVideoOutputConversionMode (/* out */ BMDVideoOutputConversionMode *conversionMode) = 0;
+
+    virtual HRESULT Set_HD1080p24_to_HD1080i5994_Conversion (bool enable) = 0;
+    virtual HRESULT Get_HD1080p24_to_HD1080i5994_Conversion (/* out */ bool *enabled) = 0;
+
+    /* Video Input Configuration */
+
+    virtual HRESULT SetVideoInputFormat (BMDVideoConnection videoInputFormat) = 0;
+    virtual HRESULT GetVideoInputFormat (/* out */ BMDVideoConnection *videoInputFormat) = 0;
+
+    virtual HRESULT SetAnalogVideoInputFlags (BMDAnalogVideoFlags analogVideoFlags) = 0;
+    virtual HRESULT GetAnalogVideoInputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
+
+    virtual HRESULT SetVideoInputConversionMode (BMDVideoInputConversionMode conversionMode) = 0;
+    virtual HRESULT GetVideoInputConversionMode (/* out */ BMDVideoInputConversionMode *conversionMode) = 0;
+
+    virtual HRESULT SetBlackVideoOutputDuringCapture (bool blackOutInCapture) = 0;
+    virtual HRESULT GetBlackVideoOutputDuringCapture (/* out */ bool *blackOutInCapture) = 0;
+
+    virtual HRESULT Set32PulldownSequenceInitialTimecodeFrame (uint32_t aFrameTimecode) = 0;
+    virtual HRESULT Get32PulldownSequenceInitialTimecodeFrame (/* out */ uint32_t *aFrameTimecode) = 0;
+
+    virtual HRESULT SetVancSourceLineMapping (uint32_t activeLine1VANCsource, uint32_t activeLine2VANCsource, uint32_t activeLine3VANCsource) = 0;
+    virtual HRESULT GetVancSourceLineMapping (/* out */ uint32_t *activeLine1VANCsource, /* out */ uint32_t *activeLine2VANCsource, /* out */ uint32_t *activeLine3VANCsource) = 0;
+
+    /* Audio Input Configuration */
+
+    virtual HRESULT SetAudioInputFormat (BMDAudioConnection audioInputFormat) = 0;
+    virtual HRESULT GetAudioInputFormat (/* out */ BMDAudioConnection *audioInputFormat) = 0;
+};
+
+/* End Interface IDeckLinkConfiguration */
+
+/* Interface IDeckLinkAttributes - DeckLink Attribute interface */
+
+class IDeckLinkAttributes : public IUnknown
+{
+public:
+    virtual HRESULT GetFlag (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ bool *value) = 0;
+    virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0;
+    virtual HRESULT GetFloat (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ double *value) = 0;
+    virtual HRESULT GetString (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ const char **value) = 0;
+
+protected:
+    virtual ~IDeckLinkAttributes () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkAttributes */
+
+/* Interface IDeckLinkKeyer - DeckLink Keyer interface */
+
+class IDeckLinkKeyer : public IUnknown
+{
+public:
+    virtual HRESULT Enable (/* in */ bool isExternal) = 0;
+    virtual HRESULT SetLevel (/* in */ uint8_t level) = 0;
+    virtual HRESULT RampUp (/* in */ uint32_t numberOfFrames) = 0;
+    virtual HRESULT RampDown (/* in */ uint32_t numberOfFrames) = 0;
+    virtual HRESULT Disable (void) = 0;
+
+protected:
+    virtual ~IDeckLinkKeyer () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkKeyer */
+
+/* Functions */
+
+extern "C" {
+
+    IDeckLinkIterator *CreateDeckLinkIteratorInstance (void);
+    IDeckLinkGLScreenPreviewHelper *CreateOpenGLScreenPreviewHelper (void);
+
+};
+
+/* End Functions */
+
+#endif      // defined(__cplusplus)
+#endif      // __DeckLink_API_h__

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPIDispatch.cpp
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPIDispatch.cpp	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPIDispatch.cpp	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,94 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+**/
+
+#include <stdio.h>
+#include <pthread.h>
+#include <dlfcn.h>
+
+#include "DeckLinkAPI.h"
+
+#define kDeckLinkAPI_Name "libDeckLinkAPI.so"
+#define KDeckLinkPreviewAPI_Name "libDeckLinkPreviewAPI.so"
+
+typedef IDeckLinkIterator* (*CreateIteratorFunc)(void);
+typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void);
+
+static pthread_once_t					gDeckLinkOnceControl = PTHREAD_ONCE_INIT;
+static pthread_once_t					gPreviewOnceControl = PTHREAD_ONCE_INIT;
+
+static CreateIteratorFunc				gCreateIteratorFunc = NULL;
+static CreateOpenGLScreenPreviewHelperFunc	gCreateOpenGLPreviewFunc = NULL;
+
+void	InitDeckLinkAPI (void)
+{
+	void *libraryHandle;
+	
+	libraryHandle = dlopen(kDeckLinkAPI_Name, RTLD_NOW|RTLD_GLOBAL);
+	if (!libraryHandle)
+	{
+		fprintf(stderr, "%s\n", dlerror());
+		return;
+	}
+	gCreateIteratorFunc = (CreateIteratorFunc)dlsym(libraryHandle, "CreateDeckLinkIteratorInstance");
+	if (!gCreateIteratorFunc)
+		fprintf(stderr, "%s\n", dlerror());
+}
+
+void	InitDeckLinkPreviewAPI (void)
+{
+	void *libraryHandle;
+	
+	libraryHandle = dlopen(KDeckLinkPreviewAPI_Name, RTLD_NOW|RTLD_GLOBAL);
+	if (!libraryHandle)
+	{
+		fprintf(stderr, "%s\n", dlerror());
+		return;
+	}
+	gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper");
+	if (!gCreateOpenGLPreviewFunc)
+		fprintf(stderr, "%s\n", dlerror());
+}
+
+IDeckLinkIterator*		CreateDeckLinkIteratorInstance (void)
+{
+	pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI);
+	
+	if (gCreateIteratorFunc == NULL)
+		return NULL;
+	return gCreateIteratorFunc();
+}
+
+IDeckLinkGLScreenPreviewHelper*		CreateOpenGLScreenPreviewHelper (void)
+{
+	pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI);
+	pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI);
+	
+	if (gCreateOpenGLPreviewFunc == NULL)
+		return NULL;
+	return gCreateOpenGLPreviewFunc();
+}
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_1.h
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_1.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_1.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,198 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+/* DeckLinkAPI_v7_1.h */
+
+#ifndef __DeckLink_API_v7_1_h__
+#define __DeckLink_API_v7_1_h__
+
+#include "DeckLinkAPI.h"
+
+// "B28131B6-59AC-4857-B5AC-CD75D5883E2F"
+#define IID_IDeckLinkDisplayModeIterator_v7_1	(REFIID){0xB2,0x81,0x31,0xB6,0x59,0xAC,0x48,0x57,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F}
+
+// "AF0CD6D5-8376-435E-8433-54F9DD530AC3"
+#define IID_IDeckLinkDisplayMode_v7_1			(REFIID){0xAF,0x0C,0xD6,0xD5,0x83,0x76,0x43,0x5E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3}
+
+// "EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9"
+#define IID_IDeckLinkVideoOutputCallback_v7_1	(REFIID){0xEB,0xD0,0x1A,0xFA,0xE4,0xB0,0x49,0xC6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9}
+
+// "7F94F328-5ED4-4E9F-9729-76A86BDC99CC"
+#define IID_IDeckLinkInputCallback_v7_1			(REFIID){0x7F,0x94,0xF3,0x28,0x5E,0xD4,0x4E,0x9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC}
+
+// "AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5"
+#define IID_IDeckLinkOutput_v7_1				(REFIID){0xAE,0x5B,0x3E,0x9B,0x4E,0x1E,0x45,0x35,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5}
+
+// "2B54EDEF-5B32-429F-BA11-BB990596EACD"
+#define IID_IDeckLinkInput_v7_1					(REFIID){0x2B,0x54,0xED,0xEF,0x5B,0x32,0x42,0x9F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD}
+
+// "333F3A10-8C2D-43CF-B79D-46560FEEA1CE"
+#define IID_IDeckLinkVideoFrame_v7_1			(REFIID){0x33,0x3F,0x3A,0x10,0x8C,0x2D,0x43,0xCF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE}
+
+// "C8B41D95-8848-40EE-9B37-6E3417FB114B"
+#define IID_IDeckLinkVideoInputFrame_v7_1		(REFIID){0xC8,0xB4,0x1D,0x95,0x88,0x48,0x40,0xEE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B}
+
+// "C86DE4F6-A29F-42E3-AB3A-1363E29F0788"
+#define IID_IDeckLinkAudioInputPacket_v7_1		(REFIID){0xC8,0x6D,0xE4,0xF6,0xA2,0x9F,0x42,0xE3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88}
+
+#if defined(__cplusplus)
+
+class IDeckLinkDisplayModeIterator_v7_1;
+class IDeckLinkDisplayMode_v7_1;
+class IDeckLinkVideoFrame_v7_1;
+class IDeckLinkVideoInputFrame_v7_1;
+class IDeckLinkAudioInputPacket_v7_1;
+
+class IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
+{
+public:
+	virtual	HRESULT	STDMETHODCALLTYPE	Next (IDeckLinkDisplayMode_v7_1* *deckLinkDisplayMode) = 0;
+};
+
+
+class IDeckLinkDisplayMode_v7_1 : public IUnknown
+{
+public:
+	virtual	HRESULT			STDMETHODCALLTYPE	GetName (const char **name) = 0;
+	virtual	BMDDisplayMode	STDMETHODCALLTYPE	GetDisplayMode () = 0;
+	virtual	long			STDMETHODCALLTYPE	GetWidth () = 0;
+	virtual	long			STDMETHODCALLTYPE	GetHeight () = 0;
+	virtual	HRESULT			STDMETHODCALLTYPE	GetFrameRate (BMDTimeValue *frameDuration, BMDTimeScale *timeScale) = 0;
+};
+
+class IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
+{
+public:
+	virtual HRESULT STDMETHODCALLTYPE	ScheduledFrameCompleted (IDeckLinkVideoFrame_v7_1* completedFrame, BMDOutputFrameCompletionResult result) = 0;
+};
+
+class IDeckLinkInputCallback_v7_1 : public IUnknown
+{
+public:
+	virtual HRESULT STDMETHODCALLTYPE	VideoInputFrameArrived (IDeckLinkVideoInputFrame_v7_1* videoFrame, IDeckLinkAudioInputPacket_v7_1* audioPacket) = 0;
+};
+
+// IDeckLinkOutput_v7_1.  Created by QueryInterface from IDeckLink.
+class IDeckLinkOutput_v7_1 : public IUnknown
+{
+public:
+	// Display mode predicates
+	virtual	HRESULT	STDMETHODCALLTYPE	DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport *result) = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1* *iterator) = 0;
+	
+	
+	// Video output
+	virtual HRESULT STDMETHODCALLTYPE	EnableVideoOutput (BMDDisplayMode displayMode) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableVideoOutput () = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	SetVideoOutputFrameMemoryAllocator (IDeckLinkMemoryAllocator* theAllocator) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	CreateVideoFrameFromBuffer (void* buffer, int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	DisplayVideoFrameSync (IDeckLinkVideoFrame_v7_1* theFrame) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	ScheduleVideoFrame (IDeckLinkVideoFrame_v7_1* theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	SetScheduledFrameCompletionCallback (IDeckLinkVideoOutputCallback_v7_1* theCallback) = 0;
+	
+	
+	// Audio output
+	virtual HRESULT STDMETHODCALLTYPE	EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableAudioOutput () = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	WriteAudioSamplesSync (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesWritten) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	BeginAudioPreroll () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	EndAudioPreroll () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	ScheduleAudioSamples (void* buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, uint32_t *sampleFramesWritten) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	FlushBufferedAudioSamples () = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	SetAudioCallback (IDeckLinkAudioOutputCallback* theCallback) = 0;
+	
+	
+	// Output control
+	virtual HRESULT STDMETHODCALLTYPE	StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
+};
+
+// IDeckLinkInput_v7_1.  Created by QueryInterface from IDeckLink.
+class IDeckLinkInput_v7_1 : public IUnknown
+{
+public:
+	virtual	HRESULT	STDMETHODCALLTYPE	DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport *result) = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
+	
+	// Video input
+	virtual HRESULT STDMETHODCALLTYPE	EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableVideoInput () = 0;
+	
+	// Audio input
+	virtual HRESULT STDMETHODCALLTYPE	EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableAudioInput () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	ReadAudioSamples (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesRead, BMDTimeValue *audioPacketTime, BMDTimeScale timeScale) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0;
+	
+	// Input control
+	virtual HRESULT	STDMETHODCALLTYPE	StartStreams () = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	StopStreams () = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	PauseStreams () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	SetCallback (IDeckLinkInputCallback_v7_1* theCallback) = 0;
+};
+
+// IDeckLinkVideoFrame_v7_1.  Created by IDeckLinkOutput::CreateVideoFrame.
+class IDeckLinkVideoFrame_v7_1 : public IUnknown
+{
+public:
+	virtual long STDMETHODCALLTYPE					GetWidth () = 0;
+	virtual long STDMETHODCALLTYPE					GetHeight () = 0;
+	virtual long STDMETHODCALLTYPE					GetRowBytes () = 0;
+	virtual BMDPixelFormat STDMETHODCALLTYPE		GetPixelFormat () = 0;
+	virtual BMDFrameFlags STDMETHODCALLTYPE			GetFlags () = 0;
+	virtual HRESULT STDMETHODCALLTYPE				GetBytes (void* *buffer) = 0;
+};
+
+// IDeckLinkVideoInputFrame_v7_1.  Provided by the IDeckLinkInput_v7_1 frame arrival callback.
+class IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
+{
+public:
+	virtual HRESULT STDMETHODCALLTYPE			GetFrameTime (BMDTimeValue *frameTime, BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0;
+};
+
+// IDeckLinkAudioInputPacket_v7_1.  Provided by the IDeckLinkInput_v7_1 callback.
+class IDeckLinkAudioInputPacket_v7_1 : public IUnknown
+{
+public:
+	virtual long STDMETHODCALLTYPE				GetSampleCount () = 0;
+	virtual HRESULT STDMETHODCALLTYPE			GetBytes (void* *buffer) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE			GetAudioPacketTime (BMDTimeValue *packetTime, BMDTimeScale timeScale) = 0;
+};
+
+#endif		// defined(__cplusplus)
+
+#endif		// __DeckLink_API_v7_1_h__
+

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_3.h
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_3.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/DeckLinkAPI_v7_3.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,172 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+
+/* DeckLinkAPI_v7_3.h */
+
+#ifndef __DeckLink_API_v7_3_h__
+#define __DeckLink_API_v7_3_h__
+
+#include "DeckLinkAPI.h"
+
+/* Interface ID Declarations */
+
+#define IID_IDeckLinkInputCallback_v7_3                  /* FD6F311D-4D00-444B-9ED4-1F25B5730AD0 */ (REFIID){0xFD,0x6F,0x31,0x1D,0x4D,0x00,0x44,0x4B,0x9E,0xD4,0x1F,0x25,0xB5,0x73,0x0A,0xD0}
+#define IID_IDeckLinkOutput_v7_3                         /* 271C65E3-C323-4344-A30F-D908BCB20AA3 */ (REFIID){0x27,0x1C,0x65,0xE3,0xC3,0x23,0x43,0x44,0xA3,0x0F,0xD9,0x08,0xBC,0xB2,0x0A,0xA3}
+#define IID_IDeckLinkInput_v7_3                          /* 4973F012-9925-458C-871C-18774CDBBECB */ (REFIID){0x49,0x73,0xF0,0x12,0x99,0x25,0x45,0x8C,0x87,0x1C,0x18,0x77,0x4C,0xDB,0xBE,0xCB}
+#define IID_IDeckLinkVideoInputFrame_v7_3                /* CF317790-2894-11DE-8C30-0800200C9A66 */ (REFIID){0xCF,0x31,0x77,0x90,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66}
+
+/* End Interface ID Declarations */
+
+#if defined(__cplusplus)
+
+/* Forward Declarations */
+
+class IDeckLinkVideoInputFrame_v7_3;
+
+/* End Forward Declarations */
+
+
+/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkOutput_v7_3 : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Output */
+
+    virtual HRESULT EnableVideoOutput (BMDDisplayMode displayMode, BMDVideoOutputFlags flags) = 0;
+    virtual HRESULT DisableVideoOutput (void) = 0;
+
+    virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+    virtual HRESULT CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0;
+    virtual HRESULT CreateAncillaryData (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
+
+    virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+    virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0;
+    virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0;
+    virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0;
+
+    /* Audio Output */
+
+    virtual HRESULT EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount, BMDAudioOutputStreamType streamType) = 0;
+    virtual HRESULT DisableAudioOutput (void) = 0;
+
+    virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT BeginAudioPreroll (void) = 0;
+    virtual HRESULT EndAudioPreroll (void) = 0;
+    virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0;
+    virtual HRESULT FlushBufferedAudioSamples (void) = 0;
+
+    virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0;
+
+    /* Output Control */
+
+    virtual HRESULT StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0;
+    virtual HRESULT StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0;
+    virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0;
+    virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
+
+protected:
+    virtual ~IDeckLinkOutput_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkOutput */
+
+
+/* Interface IDeckLinkInputCallback - Frame arrival callback. */
+
+class IDeckLinkInputCallback_v7_3 : public IUnknown
+{
+public:
+    virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+    virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, /* in */ IDeckLinkAudioInputPacket *audioPacket) = 0;
+
+protected:
+    virtual ~IDeckLinkInputCallback_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInputCallback */
+
+
+/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkInput_v7_3 : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Input */
+
+    virtual HRESULT EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0;
+    virtual HRESULT DisableVideoInput (void) = 0;
+    virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0;
+
+    /* Audio Input */
+
+    virtual HRESULT EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+    virtual HRESULT DisableAudioInput (void) = 0;
+    virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0;
+
+    /* Input Control */
+
+    virtual HRESULT StartStreams (void) = 0;
+    virtual HRESULT StopStreams (void) = 0;
+    virtual HRESULT PauseStreams (void) = 0;
+    virtual HRESULT FlushStreams (void) = 0;
+    virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
+
+protected:
+    virtual ~IDeckLinkInput_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInput */
+
+/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */
+
+class IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame
+{
+public:
+    virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoInputFrame_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoInputFrame */
+
+#endif      // defined(__cplusplus)
+#endif      // __DeckLink_API_v7_3_h__

Added: trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/LinuxCOM.h
===================================================================
--- trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/LinuxCOM.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/ag-vic/decklink/LinuxCOM.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,99 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+
+#ifndef __LINUX_COM_H_
+#define __LINUX_COM_H_
+
+struct REFIID
+{	
+	unsigned char byte0;
+	unsigned char byte1;
+	unsigned char byte2;
+	unsigned char byte3;
+	unsigned char byte4;
+	unsigned char byte5;
+	unsigned char byte6;
+	unsigned char byte7;
+	unsigned char byte8;
+	unsigned char byte9;
+	unsigned char byte10;
+	unsigned char byte11;
+	unsigned char byte12;
+	unsigned char byte13;
+	unsigned char byte14;
+	unsigned char byte15;
+};
+
+typedef REFIID CFUUIDBytes;
+#define CFUUIDGetUUIDBytes(x)	x
+
+typedef int HRESULT;
+typedef unsigned long ULONG;
+typedef void *LPVOID;
+
+#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
+#define FAILED(Status) ((HRESULT)(Status)<0)
+
+#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR)
+#define HRESULT_CODE(hr) ((hr) & 0xFFFF)
+#define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff)
+#define HRESULT_SEVERITY(hr) (((hr) >> 31) & 0x1)
+#define SEVERITY_SUCCESS 0
+#define SEVERITY_ERROR 1
+
+#define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
+
+#define S_OK ((HRESULT)0x00000000L)
+#define S_FALSE ((HRESULT)0x00000001L)
+#define E_UNEXPECTED ((HRESULT)0x8000FFFFL)
+#define E_NOTIMPL ((HRESULT)0x80000001L)
+#define E_OUTOFMEMORY ((HRESULT)0x80000002L)
+#define E_INVALIDARG ((HRESULT)0x80000003L)
+#define E_NOINTERFACE ((HRESULT)0x80000004L)
+#define E_POINTER ((HRESULT)0x80000005L)
+#define E_HANDLE ((HRESULT)0x80000006L)
+#define E_ABORT ((HRESULT)0x80000007L)
+#define E_FAIL ((HRESULT)0x80000008L)
+#define E_ACCESSDENIED ((HRESULT)0x80000009L)
+
+#define STDMETHODCALLTYPE
+
+#define IID_IUnknown		(REFIID){0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}
+#define IUnknownUUID		IID_IUnknown
+
+#ifdef __cplusplus
+class IUnknown
+{
+    public:
+    	virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) = 0;
+    	virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0;
+    	virtual ULONG STDMETHODCALLTYPE Release(void) = 0;
+};
+#endif
+
+#endif 
+

Added: trunk/packaging/linux/debuntu/karmic/agcommon/agcommon.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/agcommon.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/agcommon.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=common-20070615cvs
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=common-20070615cvs.tar.gz
+
+
+# Load up the default build script
+. ../../agcommon.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/agcommon/agcommon.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agcommon/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,32 @@
+agcommon (0.2-0cvs20070615) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 01 Sep 2009 11:14:15 +1000
+
+agcommon (0.2-0cvs20070615) jaunty; urgency=low
+
+  * Rebuild for Jaunty Jackalope
+  * Change swig dependency to swigwx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 24 Apr 2009 11:01:27 +1000
+
+agcommon (0.2-0cvs20070615) intrepid; urgency=low
+
+  * Rebuild for Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 15 Sep 2008 23:01:54 +1000
+
+agcommon (0.2cvs20070615) lenny; urgency=low
+
+  * Rebuild for lenny using common-20070615cvs
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 08:28:47 +1000
+
+agcommon (0.1) feisty; urgency=low
+
+  * Initial release for feisty-64
+  * Rebuild with support for both python 2.4 & 2.5
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 11 May 2007 12:04:23 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/agcommon/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/karmic/agcommon/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+Source: agcommon
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+#XS-Python-Version: 2.4
+Build-Depends: debhelper (>= 5.0.37.2), dpatch,
+ python-support (>= 0.4), python-all-dev,
+ swigwx, libssl-dev, autoconf, python-setuptools (>=0.6c5-3)
+Standards-Version: 3.7.2
+
+Package: agcommon
+Architecture: any
+Depends: python
+Description: UCL Common Code Library for Access Grid
+ Routines common to a number of multimedia tools. The library
+ originates from work on the RAT project: these are portions that are
+ not directly related to an audio tool and potentially useful
+ elsewhere.

Added: trunk/packaging/linux/debuntu/karmic/agcommon/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Fri, 27 Apr 2007 09:06:50 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+examples-_common-setuporig.py
+

Added: trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/examples-_common-setuporig.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/examples-_common-setuporig.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/examples-_common-setuporig.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,31 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## examples-_common-setuporig.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad common-20070615cvs~/examples/_common/setuporig.py common-20070615cvs/examples/_common/setuporig.py
+--- common-20070615cvs~/examples/_common/setuporig.py	2007-06-15 16:01:38.000000000 +1000
++++ common-20070615cvs/examples/_common/setuporig.py	2008-03-22 13:20:15.384744144 +1000
+@@ -20,7 +20,7 @@
+ RUN_EPYDOC    = 0
+ RUN_EPYDOCIFY = 1
+ SWIG_ARGS = [ "-python", "-outdir", "common", "-c++", "-new_repr", 
+-              "-cpperraswarn",
++              "-cpperraswarn", "-DWORDS_SMALLENDIAN",
+               "-I%s" % get_python_inc(plat_specific=1),
+               "-I%s" % os.path.join("..", "..", "src")]
+ SRC = os.path.join('..','..')
+@@ -128,10 +128,7 @@
+                              extra_link_args=ldFlagsList,
+                              libraries=libList)],
+       package_dir = { "common" : "common" }, packages = ["common"],
+-      ext_package = "common", scripts=["rtpbeacon.py",
+-                                       "Win32BeaconService.py",
+-                                       "beacon-install.py",
+-                                       "beacon.ini"])
++      ext_package = "common", scripts=["rtpbeacon.py"])
+     
+ print 'Build finished at: ', strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
+ print 'Completed in', time() - begin_time, 'seconds'


Property changes on: trunk/packaging/linux/debuntu/karmic/agcommon/debian/patches/examples-_common-setuporig.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agcommon/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agcommon/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agcommon/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+include /usr/share/dpatch/dpatch.make
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+#versions :=  $(shell pyversions -vs)
+versions :=  $(shell pyversions -vr)
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+
+
+configure: patch-stamp configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+	autoconf -f || true
+	./configure
+
+	touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp
+	dh_testdir
+	for version in $(versions); \
+                do echo "Doing build for python$$version"; \
+	        #do python$$version setup.py build; \
+		make ; \
+		( cd examples/_common && python$$version setup.py build ); \
+	done
+
+	touch build-stamp
+
+clean:	patch-stamp
+	dh_testdir
+	for version in $(versions); \
+                do echo "Doing clean for python$$version"; \
+		#do python$$version setup.py clean -a; \
+	done
+	rm -f build-stamp configure-stamp
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+	for version in $(versions); \
+		do ( cd examples/_common && python$$version setup.py install --root=../../debian/agcommon --no-compile --prefix=/usr --install-lib=/usr/share/python-support/agcommon ); \
+	done
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installdocs doc/[A-HK-Za-z]*   # Everything but INSTALL.html
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_pysupport
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure


Property changes on: trunk/packaging/linux/debuntu/karmic/agcommon/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/aghdvic.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/aghdvic.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/aghdvic.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=mmedia-r4215
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+#srcpkg0=
+srcpkg1=hdvideoservices-0.36.tar.gz
+
+
+# Load up the default build script
+. ../../aghdvic.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/aghdvic/aghdvic.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/60-aghdvic.conf
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/60-aghdvic.conf	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/60-aghdvic.conf	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#net.core.rmem_default=112640
+#net.core.wmem_default=112640
+net.core.rmem_max=17000000
+net.core.wmem_max=17000000

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/86-firewire-camera.rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/86-firewire-camera.rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/86-firewire-camera.rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+KERNEL=="raw1394",	GROUP="video"

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,75 @@
+aghdvic (0r119-1) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 03 Sep 2009 08:52:49 +1000
+
+aghdvic (0r119-1) jaunty; urgency=low
+
+  * New upstream version
+  * Use 0.36 for service packages (positionWindow & interlaceType options)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 29 Jun 2009 22:39:16 +1000
+
+aghdvic (0r117-5) jaunty; urgency=low
+
+  * Add udev rule file for usable raw1394 device permission
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 28 Apr 2009 15:13:49 +1000
+
+aghdvic (0r117-4) jaunty; urgency=low
+
+  * Rebuild for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 02 Apr 2009 14:03:33 +1000
+
+aghdvic (0r117-4) hardy; urgency=low
+
+  * New hdvideoservices (0.25.1) starts service in correct directory
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 25 Sep 2008 13:33:46 +1000
+
+aghdvic (0r117-3) hardy; urgency=low
+
+  * Include /etc/sysctl.d/60-aghdvic.conf to set network buffer sizes
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 24 Sep 2008 10:03:26 +1000
+
+aghdvic (0r117-2) hardy; urgency=low
+
+  * New version for  Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Sep 2008 13:23:05 +1000
+
+aghdvic (0r117-2) hardy; urgency=low
+
+  * New hdvideoservices (0.24.1) changes runDV to runDVslow
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 18 Jul 2008 14:41:10 +1000
+
+aghdvic (0r117-1) hardy; urgency=low
+
+  * Renamed
+  * Use new svn version 117
+  * Distribute as AG service packages
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 04 Jan 2008 14:55:19 +1000
+
+ag-hdvic (0r115-1) gutsy; urgency=low
+
+  * Patch for x86_64 - lower optimisation level
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 04 Jan 2008 14:55:19 +1000
+
+ag-hdvic (0r115) gutsy; urgency=low
+
+  * New upstream svn revision
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 13 Nov 2007 10:40:18 +1000
+
+ag-hdvic (0r109) gutsy; urgency=low
+
+  * Rebuild for gutsy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 26 Oct 2007 12:21:23 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+Source: aghdvic
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: autoconf, libx11-dev, libfreetype6-dev, tk8.4-dev,
+ libxvmc-dev, build-essential, libssl-dev, libiec61883-dev,
+ libgl1-mesa-dev, zip
+Standards-Version: 3.7.2
+
+Package: aghdvic
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libiec61883-0, libxvmc1
+Provides: aghdvic
+Conflicts: ag-vic, ag-hdvic, hdvideoservices
+Replaces: ag-vic, ag-hdvic, hdvideoservices
+Description: UQVislab version of vic video tool
+ This is the UQVislab version of vic, svn revision 117,
+ with H263, DV and HDV support.
+ .
+ Packaged as Access Grid service packages

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Wed, 30 Apr 2008 16:13:49 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/include_memcpy.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/include_memcpy.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/include_memcpy.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,10 @@
+--- vic/BlockCopier.h.orig	2008-04-10 15:40:02.000000000 +1000
++++ vic/BlockCopier.h	2008-09-19 14:19:59.523137000 +1000
+@@ -57,6 +57,7 @@
+ #define BlockCopier_
+ 
+ #include <stddef.h>
++#include <string.h>
+ 
+ namespace VISLAB_at_UQ
+ {

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/patch-vic-Makefile.in
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/patch-vic-Makefile.in	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/patches/patch-vic-Makefile.in	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,14 @@
+--- vic/Makefile.in.orig	2007-11-11 12:43:13.000000000 +1000
++++ vic/Makefile.in	2007-11-12 21:04:22.737103000 +1000
+@@ -101,6 +101,11 @@
+ 	$(C++) -o $@ -c $(CFLAGS_NO_OPT) codec/dct.cpp
+ endif
+ 
++# 64 bit systems have problems with -O6 for this file
++# (included since revision 111)
++video/jidctflt.o:
++	$(CC) -o $@ -c -O2 video/jidctflt.c
++
+ ED_YBITS = 4
+ 
+ CC = @CC@

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+echo " POSTINST: Resetting network buffers with sysctl"
+invoke-rc.d procps start
+

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/prerm
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/prerm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/prerm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " PRERM: no preremoval actions required"
+

Added: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/aghdvic/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/aghdvic/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,91 @@
+#!/usr/bin/make -f
+
+package = aghdvic
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+svcsdir = hdvideoservices-0.36
+pkgdir = ${here}/$(pkgpath)
+arch=`uname -m`
+#AGTKDATABASE=/etc
+AGTKDATABASE=/usr/share
+SYSTEMCONFIGBASE=/etc
+
+
+patch:
+	$(checkdir)
+	if [ "${arch}" = "x86_64" ]; then \
+		cat debian/patches/patch-vic-Makefile.in |patch -p0 ; \
+	fi ; \
+	touch patch
+
+
+build:	patch
+	$(checkdir)
+	./configure
+	make
+	touch build
+
+clean:
+	$(checkdir)
+	rm -f build patch
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -m 644 vic/README* $(docdir)
+	install -d $(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/
+	strip vic/vic
+	cp vic/vic vic/run?* ${svcsdir}/DVideoService/
+	(cd ${svcsdir}/DVideoService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/DVideoService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/DVideoConsumerService/
+	(cd ${svcsdir}/DVideoConsumerService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/DVideoConsumerService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/HDVideoService/
+	(cd ${svcsdir}/HDVideoService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/HDVideoService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/HDVideoConsumerService/
+	(cd ${svcsdir}/HDVideoConsumerService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/HDVideoConsumerService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/SimpleHDVideoService/
+	(cd ${svcsdir}/SimpleHDVideoService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/SimpleHDVideoService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/SimpleHDVideoConsumerService/
+	(cd ${svcsdir}/SimpleHDVideoConsumerService ; \
+	zip -0  ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/SimpleHDVideoConsumerService.zip * )
+
+	install -d $(pkgpath)/lib/udev/rules.d
+	cp debian/86-firewire-camera.rules $(pkgpath)/lib/udev/rules.d/
+
+	install -d $(pkgpath)/${SYSTEMCONFIGBASE}/sysctl.d
+	cp debian/60-aghdvic.conf $(pkgpath)/${SYSTEMCONFIGBASE}/sysctl.d/
+
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f vic/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/aghdvic/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/agzsi.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/agzsi.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/agzsi.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=zsi-2.0
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=agzsi-2.0.r1385.tar.gz
+
+
+# Load up the default build script
+. ../../agzsi.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/agzsi.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,24 @@
+agzsi (2.0.r1385-2) karmic; urgency=low
+
+  * Rebuilt for lenny using cdbs
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Mar 2010 13:36:59 +1000
+
+agzsi (2.0.r1385-2) lenny; urgency=low
+
+  * Rebuilt for lenny using cdbs
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 19 Mar 2008 21:16:45 +1000
+
+agzsi (2.0.r1385-1) etch; urgency=low
+
+  * Rebuilt without multiple python version support - now 2.4 only
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 28 Nov 2007 16:42:24 +1000
+
+agzsi (2.0.r1385) etch; urgency=low
+
+  * First release (including Tom's 'self.h = None' line to existing client patch)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 01 Jul 2007 11:56:23 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,30 @@
+Source: agzsi
+Section: AccessGrid
+Priority: optional
+#Maintainer: Debian Python Modules Team <python-modules-team at lists.alioth.debian.org>
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Uploaders: Tristan Seligmann <mithrandi at mithrandi.za.net>, Bernd Zeimetz <bernd at bzed.de>, Stefano Zacchiroli <zack at debian.org>
+Build-Depends: cdbs (>= 0.4.41), debhelper (>= 5.0.37.1), python (>= 2.3.5-7), python-support (>= 0.4), dpatch
+XS-Vcs-Svn: svn://svn.debian.org/python-modules/packages/zsi/trunk/
+XS-Vcs-Browser: http://svn.debian.org/wsvn/python-modules/packages/zsi/trunk/
+Standards-Version: 3.7.2
+
+Package: python-agzsi
+Architecture: all
+Depends: ${python:Depends}, ${misc:Depends}
+Conflicts: python2.3-zsi (<= 1.5.0-3), python2.4-zsi (<= 1.5.0-3), python-zsi
+Replaces: python2.3-zsi (<= 1.5.0-3), python2.4-zsi (<= 1.5.0-3), python-zsi
+Description: Zolera Soap Infrastructure
+ ZSI is a Python package that provides an implementation of SOAP messaging,
+ as described in The SOAP 1.1 Specification. In particular, ZSI parses and
+ generates SOAP messages, and converts between native Python datatypes and
+ SOAP syntax. It can also be used to build applications using SOAP Messages
+ with Attachments. ZSI is ``transport neutral'', and provides only a simple
+ I/O and dispatch framework; a more complete solution is the responsibility
+ of the application using ZSI.
+ .
+ This package contains the wsdl2py tool as well as all documentation and
+ makes sure the right ZSI package for the default Debian python version is
+ installed.
+ .
+  Homepage: http://pywebsvcs.sourceforge.net/

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/control.gutsy
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/control.gutsy	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/control.gutsy	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+Source: agzsi
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: python-dev
+Standards-Version: 3.7.2
+
+Package: agzsi
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Zolera SOAP Infrastructure for Python
+ ZSI, the Zolera SOAP Infrastructure, is a pure-Python
+ module that provides an implementation of SOAP messaging,
+ as described in SOAP 1.1 Specification
+ (see http://www.w3.org/TR/soap).
+ It can also be used to build applications using SOAP Messages
+ with Attachments (see http://www.w3.org/TR/SOAP-attachments).
+ ZSI is intended to make it easier to write web services in Python

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 29 May 2007 15:01:04 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/do_patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/do_patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/do_patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+cat ${1} |patch -p0 -sN --dry-run
+if [ $? -ne 0 ]; then
+  return
+fi
+cat ${1} |patch -p0 -sN
+if [ $? -ne 0 ]; then
+  exit 1
+fi
+


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/do_patch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/install.sh
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/install.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/install.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+sed  -i '1 s/#!\/usr\/bin\/python2\.4/#!\/usr\/bin\/env\ python/' debian/tmp/usr/bin/wsdl2dispatch debian/tmp/usr/bin/wsdl2py
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/install.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00dpatch.conf
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00dpatch.conf	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00dpatch.conf	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+conf_debianonly=1
+conf_origtargzpath=../tarballs

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,3 @@
+bogus-shebang-remove
+no-setuptools
+patch-ZSI-client

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/bogus-shebang-remove.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/bogus-shebang-remove.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/bogus-shebang-remove.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,158 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## bogus-shebang-remove.dpatch by Bernd Zeimetz <bernd at bzed.de>
+##
+## DP: removing not needed she-bang lines, those files are no scripts.
+
+ at DPATCH@
+diff -urNad zsi~/ZSI/ServiceContainer.py zsi/ZSI/ServiceContainer.py
+--- zsi~/ZSI/ServiceContainer.py	2007-01-27 02:03:50.000000000 +0100
++++ zsi/ZSI/ServiceContainer.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ '''Simple Service Container
+    -- use with wsdl2py generated modules.
+ '''
+diff -urNad zsi~/ZSI/TC.py zsi/ZSI/TC.py
+--- zsi~/ZSI/TC.py	2007-01-30 20:04:09.000000000 +0100
++++ zsi/ZSI/TC.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''General typecodes.
+ '''
+diff -urNad zsi~/ZSI/TCapache.py zsi/ZSI/TCapache.py
+--- zsi~/ZSI/TCapache.py	2006-01-23 22:36:32.000000000 +0100
++++ zsi/ZSI/TCapache.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Apache typecodes.
+ '''
+diff -urNad zsi~/ZSI/TCcompound.py zsi/ZSI/TCcompound.py
+--- zsi~/ZSI/TCcompound.py	2007-01-25 02:36:57.000000000 +0100
++++ zsi/ZSI/TCcompound.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Compound typecodes.
+ '''
+diff -urNad zsi~/ZSI/TCnumbers.py zsi/ZSI/TCnumbers.py
+--- zsi~/ZSI/TCnumbers.py	2006-10-14 01:35:29.000000000 +0200
++++ zsi/ZSI/TCnumbers.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Typecodes for numbers.
+ '''
+diff -urNad zsi~/ZSI/TCtimes.py zsi/ZSI/TCtimes.py
+--- zsi~/ZSI/TCtimes.py	2007-01-26 19:40:46.000000000 +0100
++++ zsi/ZSI/TCtimes.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Typecodes for dates and times.
+ '''
+diff -urNad zsi~/ZSI/__init__.py zsi/ZSI/__init__.py
+--- zsi~/ZSI/__init__.py	2006-10-20 00:31:07.000000000 +0200
++++ zsi/ZSI/__init__.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''ZSI:  Zolera Soap Infrastructure.
+ 
+diff -urNad zsi~/ZSI/auth.py zsi/ZSI/auth.py
+--- zsi~/ZSI/auth.py	2005-09-21 07:31:09.000000000 +0200
++++ zsi/ZSI/auth.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Simple CGI dispatching.
+ '''
+diff -urNad zsi~/ZSI/client.py zsi/ZSI/client.py
+--- zsi~/ZSI/client.py	2007-01-26 00:14:13.000000000 +0100
++++ zsi/ZSI/client.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ #
+ # Copyright (c) 2001 Zolera Systems.  All rights reserved.
+diff -urNad zsi~/ZSI/digest_auth.py zsi/ZSI/digest_auth.py
+--- zsi~/ZSI/digest_auth.py	2007-01-25 23:39:50.000000000 +0100
++++ zsi/ZSI/digest_auth.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Utilities for HTTP Digest Authentication
+ '''
+diff -urNad zsi~/ZSI/dispatch.py zsi/ZSI/dispatch.py
+--- zsi~/ZSI/dispatch.py	2007-01-26 19:01:11.000000000 +0100
++++ zsi/ZSI/dispatch.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Simple CGI dispatching.
+ '''
+diff -urNad zsi~/ZSI/fault.py zsi/ZSI/fault.py
+--- zsi~/ZSI/fault.py	2007-02-01 20:59:14.000000000 +0100
++++ zsi/ZSI/fault.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Faults.
+ '''
+diff -urNad zsi~/ZSI/generate/wsdl2dispatch.py zsi/ZSI/generate/wsdl2dispatch.py
+--- zsi~/ZSI/generate/wsdl2dispatch.py	2007-01-27 02:03:50.000000000 +0100
++++ zsi/ZSI/generate/wsdl2dispatch.py	2007-05-01 23:38:15.000000000 +0200
+@@ -1,4 +1,3 @@
+-#!/usr/bin/env python
+ from cStringIO import StringIO
+ import ZSI, string, sys, getopt, urlparse, types, warnings
+ from ZSI.wstools import WSDLTools
+diff -urNad zsi~/ZSI/parse.py zsi/ZSI/parse.py
+--- zsi~/ZSI/parse.py	2006-10-13 02:12:32.000000000 +0200
++++ zsi/ZSI/parse.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''SOAP messaging parsing.
+ '''
+diff -urNad zsi~/ZSI/resolvers.py zsi/ZSI/resolvers.py
+--- zsi~/ZSI/resolvers.py	2002-05-09 18:21:54.000000000 +0200
++++ zsi/ZSI/resolvers.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''SOAP messaging parsing.
+ '''
+diff -urNad zsi~/ZSI/schema.py zsi/ZSI/schema.py
+--- zsi~/ZSI/schema.py	2006-10-20 00:31:07.000000000 +0200
++++ zsi/ZSI/schema.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''XML Schema support
+ '''
+diff -urNad zsi~/ZSI/writer.py zsi/ZSI/writer.py
+--- zsi~/ZSI/writer.py	2006-10-20 00:31:07.000000000 +0200
++++ zsi/ZSI/writer.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Id: writer.py 1270 2006-10-19 22:31:07Z boverhof $
+ '''SOAP message serialization.
+ '''
+diff -urNad zsi~/ZSI/wstools/__init__.py zsi/ZSI/wstools/__init__.py
+--- zsi~/ZSI/wstools/__init__.py	2004-12-07 16:54:53.000000000 +0100
++++ zsi/ZSI/wstools/__init__.py	2007-05-01 23:38:21.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ """WSDL parsing services package for Web Services for Python."""
+ 
+ ident = "$Id: __init__.py 840 2004-12-07 15:54:53Z blunck2 $"
+diff -urNad zsi~/ZSI/wstools/c14n.py zsi/ZSI/wstools/c14n.py
+--- zsi~/ZSI/wstools/c14n.py	2006-03-31 01:47:16.000000000 +0200
++++ zsi/ZSI/wstools/c14n.py	2007-05-01 23:38:17.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ '''XML Canonicalization
+ 
+ Patches Applied to xml.dom.ext.c14n:


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/bogus-shebang-remove.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/no-setuptools.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/no-setuptools.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/no-setuptools.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## no-setuptools.dpatch by Bernd Zeimetz <bernd at bzed.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad zsi~/setup.py zsi/setup.py
+--- zsi~/setup.py	2006-09-28 00:55:49.000000000 +0200
++++ zsi/setup.py	2007-05-02 00:04:01.000000000 +0200
+@@ -1,12 +1,9 @@
+ #! /usr/bin/env python
+ # $Header$
+ import sys
+-try:
+-    from setuptools import setup
+-    hasSetuptools = True
+-except ImportError:
+-    from distutils.core import setup
+-    hasSetuptools = False
++
++from distutils.core import setup
++hasSetuptools = False
+ 
+ _url = "http://pywebsvcs.sf.net/"
+ 


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/no-setuptools.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,38 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## patch-ZSI-client.dpatch by Chris Willing <c.willing at uq.edu.au>
+##
+## DP: retry obtaining response
+
+ at DPATCH@
+diff -urNad agzsi-2.0.r1385~/ZSI/client.py agzsi-2.0.r1385/ZSI/client.py
+--- agzsi-2.0.r1385~/ZSI/client.py	2008-03-19 21:54:14.303827851 +1000
++++ agzsi-2.0.r1385/ZSI/client.py	2008-03-19 21:55:00.498460328 +1000
+@@ -9,7 +9,7 @@
+ from ZSI.TC import AnyElement, AnyType, String, TypeCode, _get_global_element_declaration,\
+     _get_type_definition
+ from ZSI.TCcompound import Struct
+-import base64, httplib, Cookie, types, time, urlparse
++import base64, httplib, Cookie, socket, types, time, urlparse
+ from ZSI.address import Address
+ from ZSI.wstools.logging import getLogger as _GetLogger
+ _b64_encode = base64.encodestring
+@@ -345,7 +345,10 @@
+         if self.data: return self.data
+         trace = self.trace
+         while 1:
+-            response = self.h.getresponse()
++            try:
++                response = self.h.getresponse()
++            except:
++                response = self.h.getresponse()
+             self.reply_code, self.reply_msg, self.reply_headers, self.data = \
+                 response.status, response.reason, response.msg, response.read()
+             if trace:
+@@ -374,6 +377,7 @@
+             # Horrible internals hack to patch things up.
+             self.h._HTTPConnection__state = httplib._CS_REQ_SENT
+             self.h._HTTPConnection__response = None
++        self.h = None
+         return self.data
+ 
+     def IsSOAP(self):


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.py
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/patches/patch-ZSI-client.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,31 @@
+--- ZSI/client.py.orig	2007-05-28 11:17:55.000000000 +1000
++++ ZSI/client.py	2007-06-04 15:15:29.867382000 +1000
+@@ -10,7 +10,7 @@
+ from ZSI.TC import AnyElement, AnyType, String, TypeCode, _get_global_element_declaration,\
+     _get_type_definition
+ from ZSI.TCcompound import Struct
+-import base64, httplib, Cookie, types, time, urlparse
++import base64, httplib, Cookie, socket, types, time, urlparse
+ from ZSI.address import Address
+ from ZSI.wstools.logging import getLogger as _GetLogger
+ _b64_encode = base64.encodestring
+@@ -346,7 +346,10 @@
+         if self.data: return self.data
+         trace = self.trace
+         while 1:
+-            response = self.h.getresponse()
++            try:
++                response = self.h.getresponse()
++            except:
++                response = self.h.getresponse()
+             self.reply_code, self.reply_msg, self.reply_headers, self.data = \
+                 response.status, response.reason, response.msg, response.read()
+             if trace:
+@@ -375,6 +378,7 @@
+             # Horrible internals hack to patch things up.
+             self.h._HTTPConnection__state = httplib._CS_REQ_SENT
+             self.h._HTTPConnection__response = None
++        self.h = None
+         return self.data
+ 
+     def IsSOAP(self):

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/postinst.notneeded
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/postinst.notneeded	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/postinst.notneeded	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+echo "Performing post installation tasks"
+#( cd /usr/bin && ln -f wsdl2dispatch wsdl2dispatch.py && ln -f wsdl2py wsdl2py.py )
+ls -l /usr/bin/wsdl2*
+
+/usr/sbin/update-python-modules -f
+echo "Done post installation tasks"
+

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/postrm.notneeded
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/postrm.notneeded	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/postrm.notneeded	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo -n "Performing post removal tasks ...."
+/usr/sbin/update-python-modules -f
+echo "Done post removal tasks"
+

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/prerm.notneeded
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/prerm.notneeded	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/prerm.notneeded	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo "Performing pre-removal tasks"
+( cd /usr/bin/ && rm -f wsdl2dispatch.py && rm -f wsdl2py.py )

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/pycompat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/pycompat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/pycompat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/python-agzsi.manpages
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/python-agzsi.manpages	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/python-agzsi.manpages	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+debian/wsdl2py.1
+debian/wsdl2dispatch.1

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/pyversions
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/pyversions	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/pyversions	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2.4-

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+#!/usr/bin/make -f
+# -*- mode: makefile; coding: utf-8 -*-
+# Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+# See debian/copyright for details.
+
+DEB_PYTHON_SYSTEM = pysupport
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+include /usr/share/cdbs/1/class/python-distutils.mk
+


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.gutsy
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.gutsy	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.gutsy	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,63 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+
+# all versions
+PYVERS  := 2.4
+
+package = agzsi
+docdir = debian/tmp/usr/share/doc/$(package)
+
+
+patched:	patched-stamp
+patched-stamp:
+	debian/do_patch debian/patches/patch-ZSI-client.py
+	touch $@
+	
+build:	patched-stamp build-stamp
+build-stamp:
+	$(checkdir)
+	python${PYVERS} setup.py build
+	touch build
+
+clean:
+	$(checkdir)
+	python${PYVERS} setup.py clean
+
+
+install: build-stamp install-python${PYVERS}
+
+install-python${PYVERS}:
+	$(checkdir)
+	install -d debian/tmp/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm debian/tmp/DEBIAN
+	python${PYVERS} setup.py install --root=debian/tmp
+
+binary-indep:	checkroot build
+	$(checkdir)
+
+
+binary-arch:	checkroot build install
+	$(checkdir)
+	debian/install.sh
+	cp -p debian/tmp/usr/bin/wsdl2dispatch debian/tmp/usr/bin/wsdl2dispatch.py
+	cp -p debian/tmp/usr/bin/wsdl2py debian/tmp/usr/bin/wsdl2py.py
+	cp -a CHANGES Copyright README RELEASE debian/copyright $(docdir)
+	cp -a debian/changelog $(docdir)/changelog.Debian
+	dpkg-gencontrol -isp
+	chown -R root:root debian/tmp
+	chmod -R u+w,go=rX debian/tmp
+	dpkg --build debian/tmp ..
+
+
+define checkdir
+	test ZSI/wstools/XMLname.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.gutsy
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.old
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,67 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+export DH_PYCENTRAL=nomove
+
+# all versions
+PYVERS  := $(shell pyversions -vs)
+VER     := $(shell /usr/bin/python -c 'import sys; print sys.version[:3]')
+
+package = agzsi
+docdir = debian/tmp/usr/share/doc/$(package)
+
+
+patched:	patched-stamp
+patched-stamp:
+	debian/do_patch debian/patches/patch-ZSI-client.py
+	touch $@
+	
+build:	patched-stamp build-stamp
+build-stamp: $(PYVERS:%=build-python%)
+	touch $@
+build-python%:
+	$(checkdir)
+	python$* setup.py build
+	touch build
+
+clean:
+	$(checkdir)
+	python setup.py clean
+
+
+install: build-stamp $(PYVERS:%=install-python%)
+
+install-python%:
+	$(checkdir)
+	install -d debian/tmp/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm debian/tmp/DEBIAN
+	python$* setup.py install --root=debian/tmp
+
+binary-indep:	checkroot build
+	$(checkdir)
+
+
+binary-arch:	checkroot build install
+	$(checkdir)
+	debian/install.sh
+	cp -p debian/tmp/usr/bin/wsdl2dispatch debian/tmp/usr/bin/wsdl2dispatch.py
+	cp -p debian/tmp/usr/bin/wsdl2py debian/tmp/usr/bin/wsdl2py.py
+	cp -a CHANGES Copyright README RELEASE debian/copyright $(docdir)
+	cp -a debian/changelog $(docdir)/changelog.Debian
+	dpkg-gencontrol -isp
+	chown -R root:root debian/tmp
+	chmod -R u+w,go=rX debian/tmp
+	dpkg --build debian/tmp ..
+
+
+define checkdir
+	test ZSI/wstools/XMLname.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/agzsi/debian/rules.old
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2dispatch.1
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2dispatch.1	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2dispatch.1	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,58 @@
+.\" Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+.\" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+.\" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+.\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+.\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+.TH WSDL2DISPATCH 1
+.SH NAME
+wsdl2dispatch \- generate Python code skeleton for SOAP server from WSDL
+.SH SYNOPSIS
+.B wsdl2dispatch
+.RI \-f " wsdlfile
+|
+.RI \-u " url
+.RI [ options ]
+.SH DESCRIPTION
+.B wsdl2dispatch
+is a utility to generate a code skeleton from a WSDL file for a SOAP
+server in Python, using ZSI. The programmer still has to implement the
+HTTP server / request handler and the hooks to invoke the actual worker
+methods. Note, however, that ZSI also includes ZSI.ServiceContainer
+which implements the server functionality.
+.SH OPTIONS
+.TP
+.BI \-f " wsdlfile
+Specifies an on-disk WSDL file to parse.
+.TP
+.BI \-u " url
+Specifies a URL pointing to the WSDL file to be parsed.
+.TP
+.BR \-h
+Display a brief help message.
+.TP
+.BR \-e
+Enables experimental server code generation.
+.TP
+.BI \-d " outputdir
+Specifies the directory where the output files will be placed.
+.TP
+.BI \-t " typesmodule
+Specifies a module name to use as the types implementation.
+.SH AUTHOR
+This manpage written by Tristan Seligmann.

Added: trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2py.1
===================================================================
--- trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2py.1	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/agzsi/debian/wsdl2py.1	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,63 @@
+.\" Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+.\" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+.\" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+.\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+.\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+.TH WSDL2PY 1
+.SH NAME
+wsdl2py \- generate client Python interface code from WSDL
+.SH SYNOPSIS
+.B wsdl2py
+.RI \-f " wsdlfile
+|
+.RI \-u " url
+.RI [ options ]
+.SH DESCRIPTION
+.B wsdl2py
+is a utility for automatically generating Python client interface code from a
+WSDL definition, and a set of classes representing element declarations
+and type definitions.  This will produce two files in the current
+working directory named after the WSDL definition name.
+.SH OPTIONS
+.TP
+.BI \-f " wsdlfile
+Specifies an on-disk WSDL file to parse.
+.TP
+.BI \-u " url
+Specifies a URL pointing to the WSDL file to be parsed.
+.TP
+.BR \-h
+Display a brief help message.
+.TP
+.BR \-e
+Enables experimental server code generation.
+.TP
+.BR \-x
+Process just the schema from an xsd file (ie. no services).
+.TP
+.BI \-z " funcname
+Specifies a function to use to generate attribute names.
+.TP
+.BI \-d " outputdir
+Specifies the directory where the output files will be placed.
+.TP
+.BI \-t " typesmodule
+Specifies a module name to use as the types implementation.
+.SH AUTHOR
+This manpage written by Tristan Seligmann.

Added: trunk/packaging/linux/debuntu/karmic/bajjer/bajjer.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/bajjer.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/bajjer.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=bajjer-0.2.5
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=Bajjer-0.2.5.tar.gz
+
+
+# Load up the default build script
+. ../../bajjer.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/bajjer/bajjer.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,55 @@
+bajjer (0.2.5-3ubuntu3) karmic; urgency=low
+
+  * Rebuild of Karmic Loala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 31 Aug 2009 13:31:22 +1000
+
+bajjer (0.2.5-3ubuntu3) jaunty; urgency=low
+
+  * Patch stream.py to use wrapper for sha hashes
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 29 Apr 2009 16:46:07 +1000
+
+bajjer (0.2.5-3ubuntu2) jaunty; urgency=low
+
+  * New build for jaunty jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 08:55:29 +1000
+
+bajjer (0.2.5-3ubuntu2) hardy; urgency=low
+
+  * Conflicts/Replaces change to better reflect new pkg name
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 08 May 2008 09:16:01 +1000
+
+bajjer (0.2.5-3ubuntu1) hardy; urgency=low
+
+  * Rebuild for hardy - change to cdbs build method
+  * Rename as python-bajjer
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 28 Mar 2008 16:47:54 +1000
+
+bajjer (0.2.5-3) lenny; urgency=low
+
+  * Rebuild for lenny - change to cdbs build method
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 20 Mar 2008 10:34:39 +1000
+
+bajjer (0.2.5-2) etch; urgency=low
+
+  * Added stream.py patch to fully close connections
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 29 Nov 2007 23:43:00 +1000
+
+bajjer (0.2.5-1) etch; urgency=low
+
+  * Added Tom Urams' read speedup patch
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 07 Oct 2007 00:15:31 +1000
+
+bajjer (0.2.5) etch; urgency=low
+
+  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 29 May 2007 14:27:05 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+7

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+Source: bajjer
+Section: AccessGrid
+Priority: optional
+Maintainer: Christoph Willing <c.willing at uq.edu.au>
+Build-Depends: cdbs (>= 0.4.41), debhelper (>= 5.0.38), python (>= 2.3.5-7), python-support (>= 0.4), dpatch
+Standards-Version: 7.0
+
+Package: python-bajjer
+Architecture: all
+Depends: ${python:Depends}, python-elementtree
+Conflicts: bajjer
+Replaces: bajjer
+Description: A jabber library for Python
+ The Bajjer library provides an API for dealing with
+ XML streams. It provides SSL support using Python's
+ socket.ssl or PyOpenSSL, and it provides the ability
+ to set handlers, which call a callback function when
+ a certain type of jabber packet is received.
+ From:
+      http://dsd.lbl.gov/Collaboratories/bajjer/download.html

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 29 May 2007 14:27:05 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00dpatch.conf
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00dpatch.conf	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00dpatch.conf	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+conf_debianonly=1
+conf_origtargzpath=../tarballs

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+gov-lbl-dsd-bajjer-etreeadapter
+gov-lbl-dsd-bajjer-io
+gov-lbl-dsd-bajjer-stream-01
+gov-lbl-dsd-bajjer-stream-02

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-etreeadapter.dpatch by  <chris at v1>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/etreeadapter.py bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/etreeadapter.py	2007-01-18 07:23:14.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py	2008-03-31 23:08:52.021401983 +1000
+@@ -11,11 +11,14 @@
+ __created__ = "30 Oct 2006"
+ __rcsid__ = "$Id: etreeadapter.py,v 1.1.1.1 2007-01-03 01:16:21 mateo Exp $"
+ 
++# Hack to make elementtree from python-elementtree visible in Ubuntu Gutsy Gibbon
+ try:
+     import elementtree
+ except ImportError:
+-    print "You must have elementtree installed"
+-    raise 
++    # this must be python2.5- so point python-elementtree in python2.4
++    import sys
++    sys.path.append("/usr/share/python-support/python-elementtree")
++    import elementtree
+ 
+ from elementtree.ElementTree import SubElement, Element, tostring
+ from elementtree import ElementTree


Property changes on: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,33 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-io.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/io.py bajjer-0.2.5/gov/lbl/dsd/bajjer/io.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/io.py	2007-01-18 07:23:14.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/io.py	2008-03-19 22:12:09.953125611 +1000
+@@ -50,10 +50,12 @@
+         messages.  
+         """ 
+         while True: 
++            gotData = 0
+             for conn, cbq in self._cb_queue_dict.items(): 
+                 for stanza_type, func_tuple in cbq.cb_dict.items(): 
+                     stanza_obj = conn.read(expected=stanza_type, blocking=False)
+                     if stanza_obj is not None:
++                        gotData = 1
+                         func = func_tuple[0] 
+                         arg_tuple  = func_tuple[1]
+                         if arg_tuple is None:
+@@ -64,7 +66,8 @@
+                             for obj in arg_tuple:
+                                 arg_list.append(obj)
+                             func(*arg_list) 
+-            time.sleep(0.1)
++            if not gotData:
++                time.sleep(0.1)
+ 
+ class CallbackQueue:
+     """


Property changes on: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-stream.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py	2007-01-18 07:23:13.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py	2008-03-19 22:14:46.546049335 +1000
+@@ -120,6 +120,7 @@
+         self._conn.close()
+         self._open = False
+         self._cbthread.unRegister(self._conn) 
++        self._conn = None
+     
+     def setHandler(self, callback_func, expected, args_list=None):
+         """


Property changes on: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-stream-02.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py.orig	2009-04-24 13:42:13.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py	2009-04-29 15:16:56.559321679 +1000
+@@ -11,7 +11,7 @@
+ ## Imports
+ 
+ # std lib
+-import logging, sha 
++import logging
+ import logging.config
+ 
+ # local
+@@ -21,6 +21,21 @@
+ from gov.lbl.dsd.bajjer import stanza
+ from gov.lbl.dsd.bajjer import roster
+ 
++## Hash wrapper
++def NewShaHash(subject):
++    """
++    Compatibility function:
++    sha is deprecated in python2.6 in favout of hashlib.
++    hashlib is not available < python2.5
++    """
++    try:
++        import hashlib
++        return hashlib.sha(subject)
++    except:
++        import sha
++        return sha.new(subject)
++
++
+ ## Logging
+ 
+ 
+@@ -370,15 +385,15 @@
+             zero_auth_error = "Empty 'sequence' in zero-k authentication reply"
+             raise RuntimeError(zero_auth_error) 
+ 
+-        x = sha.new(auth_info.password).hexdigest()+ reply.query_e.token_
+-        x = sha.new(x).hexdigest()
++        x = NewShaHash(auth_info.password).hexdigest()+ reply.query_e.token_
++        x = NewShaHash(x).hexdigest()
+         for i in xrange(int(reply.query_e.sequence_)):
+-            x = sha.new(x).hexdigest()
++            x = NewShaHash(x).hexdigest()
+         rq.query_e.hash_ = x
+         self._jid.hash = x
+ 
+     def _digestAuthRequest(self, auth_info, rq, reply): 
+-        digest = sha.new(self._getStreamId() + auth_info.password).hexdigest()
++        digest = NewShaHash(self._getStreamId() + auth_info.password).hexdigest()
+         rq.query_e.digest_ = digest
+         self._jid.hash = digest
+ 


Property changes on: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,25 @@
+--- gov/lbl/dsd/bajjer/io.py.orig	2007-01-18 07:23:14.000000000 +1000
++++ gov/lbl/dsd/bajjer/io.py	2007-10-06 00:30:45.442402000 +1000
+@@ -50,10 +50,12 @@
+         messages.  
+         """ 
+         while True: 
++            gotData = 0
+             for conn, cbq in self._cb_queue_dict.items(): 
+                 for stanza_type, func_tuple in cbq.cb_dict.items(): 
+                     stanza_obj = conn.read(expected=stanza_type, blocking=False)
+                     if stanza_obj is not None:
++                        gotData = 1
+                         func = func_tuple[0] 
+                         arg_tuple  = func_tuple[1]
+                         if arg_tuple is None:
+@@ -64,7 +66,8 @@
+                             for obj in arg_tuple:
+                                 arg_list.append(obj)
+                             func(*arg_list) 
+-            time.sleep(0.1)
++            if not gotData:
++                time.sleep(0.1)
+ 
+ class CallbackQueue:
+     """

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,53 @@
+--- gov/lbl/dsd/bajjer/stream.py.orig	2009-04-24 13:42:13.000000000 +1000
++++ gov/lbl/dsd/bajjer/stream.py	2009-04-29 15:16:56.559321679 +1000
+@@ -11,7 +11,7 @@
+ ## Imports
+ 
+ # std lib
+-import logging, sha 
++import logging
+ import logging.config
+ 
+ # local
+@@ -21,6 +21,21 @@
+ from gov.lbl.dsd.bajjer import stanza
+ from gov.lbl.dsd.bajjer import roster
+ 
++## Hash wrapper
++def NewShaHash(subject):
++    """
++    Compatibility function:
++    sha is deprecated in python2.6 in favout of hashlib.
++    hashlib is not available < python2.5
++    """
++    try:
++        import hashlib
++        return hashlib.sha(subject)
++    except:
++        import sha
++        return sha.new(subject)
++
++
+ ## Logging
+ 
+ 
+@@ -370,15 +385,15 @@
+             zero_auth_error = "Empty 'sequence' in zero-k authentication reply"
+             raise RuntimeError(zero_auth_error) 
+ 
+-        x = sha.new(auth_info.password).hexdigest()+ reply.query_e.token_
+-        x = sha.new(x).hexdigest()
++        x = NewShaHash(auth_info.password).hexdigest()+ reply.query_e.token_
++        x = NewShaHash(x).hexdigest()
+         for i in xrange(int(reply.query_e.sequence_)):
+-            x = sha.new(x).hexdigest()
++            x = NewShaHash(x).hexdigest()
+         rq.query_e.hash_ = x
+         self._jid.hash = x
+ 
+     def _digestAuthRequest(self, auth_info, rq, reply): 
+-        digest = sha.new(self._getStreamId() + auth_info.password).hexdigest()
++        digest = NewShaHash(self._getStreamId() + auth_info.password).hexdigest()
+         rq.query_e.digest_ = digest
+         self._jid.hash = digest
+ 

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,10 @@
+--- gov/lbl/dsd/bajjer/stream.py.orig	2007-01-18 07:23:13.000000000 +1000
++++ gov/lbl/dsd/bajjer/stream.py	2007-11-29 21:52:33.576478000 +1000
+@@ -120,6 +120,7 @@
+         self._conn.close()
+         self._open = False
+         self._cbthread.unRegister(self._conn) 
++        self._conn = None
+     
+     def setHandler(self, callback_func, expected, args_list=None):
+         """

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/pycompat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/pycompat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/pycompat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/pyversions
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/pyversions	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/pyversions	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2.4-

Added: trunk/packaging/linux/debuntu/karmic/bajjer/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/bajjer/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/bajjer/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+#!/usr/bin/make -f
+# -*- mode: makefile; coding: utf-8 -*-
+# Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+# See debian/copyright for details.
+
+DEB_PYTHON_SYSTEM = pysupport
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+include /usr/share/cdbs/1/class/python-distutils.mk
+


Property changes on: trunk/packaging/linux/debuntu/karmic/bajjer/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,72 @@
+m2crypto (0.19.1-1ag1) karmic; urgency=low
+
+  * Rebuild for karmic
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 31 Aug 2009 14:07:09 +1000
+
+m2crypto (0.18.2-3ag1) jaunty; urgency=low
+
+  * Change swig build dependency to swigwx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 24 Apr 2009 09:53:16 +1000
+
+m2crypto (0.18.2-3ag) jaunty; urgency=low
+
+  * Rebuild for jaunty (bumping version No to keep ahead of distro version)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 10:54:14 +1000
+
+m2crypto (0.18.2-2ag) intrepid; urgency=low
+
+  * Added Tom's timeout speedup
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 15 Sep 2008 16:29:00 +1000
+
+m2crypto (0.18.2-2) unstable; urgency=low
+
+  * Added "import inspect" to M2Crypto/m2urllib2.py 
+    (Closes: #493314, #484364, 477799) 
+
+ -- Dima Barsky <dima at debian.org>  Fri, 15 Aug 2008 22:04:14 +0100
+
+m2crypto (0.18.2-1) unstable; urgency=low
+
+  * New upstream release (Closes: #440837)
+
+ -- Dima Barsky <dima at debian.org>  Sat, 13 Oct 2007 02:21:26 +0100
+
+m2crypto (0.17-2) unstable; urgency=low
+
+  * Added "Build-Depends: python-setuptools" to avoid build inconsistencies.
+
+ -- Dima Barsky <dima at debian.org>  Thu, 19 Jul 2007 09:51:13 +0100
+
+m2crypto (0.17-1) unstable; urgency=low
+
+  * New upstream release
+  * Acknowledge NMU (Closes: #380861)
+  * Changed section to python (Closes: #425875)
+
+ -- Dima Barsky <dima at debian.org>  Thu, 24 May 2007 21:14:36 +0100
+
+m2crypto (0.16-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Update package to the last python policy (Closes: #380861),
+    this includes renaming from m2crypto to python-m2crypto.
+  * Bumped compat to 5.
+
+ -- Ana Beatriz Guerrero Lopez <ana at ekaia.org>  Sat, 12 Aug 2006 16:07:49 +0200
+
+m2crypto (0.16-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Dima Barsky <dima at debian.org>  Sat, 22 Jul 2006 11:11:40 +0100
+
+m2crypto (0.13-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Dima Barsky <dima at debian.org>  Tue, 30 Mar 2004 21:54:28 +0100
+

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,26 @@
+Source: m2crypto
+Section: AccessGrid
+Priority: optional
+Maintainer:  Ubuntu MOTU Developers <ubuntu-motu at lists.ubuntu.com>
+XSBC-Original-Maintainer: Dima Barsky <dima at debian.org>
+Build-Depends: debhelper (>= 5.0.37.2), dpatch,
+ python-all-dev (>= 2.3.5-11), python-support (>= 0.4),
+ libssl-dev (>= 0.9.7), swigwx, python-setuptools (>=0.6c5-3)
+Standards-Version: 3.8.0
+
+Package: python-m2crypto
+Architecture: any
+Depends: ${python:Depends}, ${shlibs:Depends}
+Provides: ${python:Provides}, m2crypto 
+Conflicts: m2crypto (<< 0.18-2.2) 
+Replaces: m2crypto (<< 0.18-2.2)
+Description: a crypto and SSL toolkit for Python
+ m2crypto features the following:
+   * RSA, DSA, DH, HMACs, message digests, symmetric ciphers (including AES).
+   * SSL functionality to implement clients and servers.
+   * HTTPS extensions to Python's httplib, urllib, and xmlrpclib.
+   * Unforgeable HMAC'ing AuthCookies for web session management.
+   * FTP/TLS client and server.
+   * S/MIME.
+   * ZServerSSL: A HTTPS server for Zope.
+   * ZSmime: An S/MIME messenger for Zope.

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,35 @@
+This package was debianized by Dima Barsky <dima at debian.org> on
+Sun, 28 Mar 2004 19:42:33 +0100.
+
+It was downloaded from <http://wiki.osafoundation.org/pub/Projects/MeTooCrypto/m2crypto-0.16.tar.gz>
+It was downloaded from <http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.19.1.tar.gz>
+
+Upstream Author: Ng Pheng Siong <ngps at netmemetic.com>
+Current upstream maintainer: Heikki Toivonen (heikki at osafoundation.org)
+
+Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.
+
+Portions copyright (c) 2004-2006 Open Source Applications Foundation. 
+All rights reserved.
+
+Portions copyright (c) 2005-2006 Vrije Universiteit Amsterdam. 
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+
+THE AUTHOR PROVIDES THIS SOFTWARE ``AS IS'' AND ANY EXPRESSED OR 
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/docs
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/docs	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/docs	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+README

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+sslConnectionTimeout
+ftpslib_init

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/ftpslib_init.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/ftpslib_init.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/ftpslib_init.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ftpslib_init.dpatch by Christoph Willing <c.willing at uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad m2crypto-0.18.2~/M2Crypto/ftpslib.py m2crypto-0.18.2/M2Crypto/ftpslib.py
+--- m2crypto-0.18.2~/M2Crypto/ftpslib.py	2006-03-21 05:26:28.000000000 +1000
++++ m2crypto-0.18.2/M2Crypto/ftpslib.py	2009-06-05 23:34:09.111239355 +1000
+@@ -48,6 +48,7 @@
+ 
+     def __init__(self, host=None, ssl_ctx=None):
+         """Initialise the client. If 'host' is supplied, connect to it."""
++        FTP.__init__(self, host)
+         if ssl_ctx is not None:
+             self.ssl_ctx = ssl_ctx
+         else:


Property changes on: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/ftpslib_init.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/sslConnectionTimeout.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/sslConnectionTimeout.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/sslConnectionTimeout.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## sslConnectionTimeout.dpatch by  <c.willing at vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Minimize blocking time on dead ssl connections
+
+ at DPATCH@
+diff -urNad m2crypto-0.18.2~/M2Crypto/SSL/Connection.py m2crypto-0.18.2/M2Crypto/SSL/Connection.py
+--- m2crypto-0.18.2~/M2Crypto/SSL/Connection.py	2007-06-16 07:34:05.000000000 +1000
++++ m2crypto-0.18.2/M2Crypto/SSL/Connection.py	2008-03-26 12:22:17.692333381 +1000
+@@ -39,6 +39,8 @@
+         self._fileno = self.socket.fileno()
+         
+         self.blocking = self.socket.gettimeout()
++        if self.blocking is None:
++            self.blocking = -1.0
+         
+         self.ssl_close_flag = m2.bio_noclose
+ 


Property changes on: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/patches/sslConnectionTimeout.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,81 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+include /usr/share/dpatch/dpatch.make
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+versions :=  $(shell pyversions -vr)
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+
+configure: patch-stamp configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+
+	touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: patch-stamp configure-stamp
+	dh_testdir
+	for version in $(versions); \
+	        do python$$version setup.py build; \
+	done
+
+	touch build-stamp
+
+clean:	unpatch
+	dh_testdir
+	for version in $(versions); \
+		do python$$version setup.py clean -a; \
+	done
+	rm -f build-stamp configure-stamp SWIG/_m2crypto.py SWIG/_m2crypto.c SWIG/_m2crypto_wrap.c
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	for version in $(versions); \
+		do python$$version setup.py install --root=debian/python-m2crypto --no-compile; \
+	done
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs CHANGES
+	dh_installdocs doc/[A-HK-Za-z]*   # Everything but INSTALL.html
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_pysupport
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure


Property changes on: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/debian/watch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/debian/watch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/debian/watch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,6 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# Site		Directory		Pattern			Version	Script
+version=2
+http://wiki.osafoundation.org/pub/Projects/MeTooCrypto/m2crypto-0.16.tar.gz	debian	uupdate

Added: trunk/packaging/linux/debuntu/karmic/m2crypto/m2crypto.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/m2crypto/m2crypto.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/m2crypto/m2crypto.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=m2crupto-0.18.2
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=M2Crypto-0.19.1.tar.gz
+
+
+# Load up the default build script
+. ../../m2crypto.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/m2crypto/m2crypto.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/quickbridge/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/quickbridge/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/quickbridge/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,36 @@
+quickbridge (3.1-1) karmic; urgency=low
+
+  * Rebuilt for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 01 Sep 2009 11:35:23 +1000
+
+quickbridge (3.1-1) jaunty; urgency=low
+
+  * Rebuilt for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 13:04:32 +1000
+
+quickbridge (3.1-1) intrepid; urgency=low
+
+  * Rebuilt for intrepid
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 15 Sep 2008 23:21:39 +1000
+
+quickbridge (3.1-1) lenny; urgency=low
+
+  * Rebuilt for lenny
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 14:19:34 +1000
+
+quickbridge (3.1-1) etch; urgency=low
+
+  * Remove spurious "Provides" statement in debian/control
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 07 Nov 2007 10:16:29 +1000
+
+quickbridge (3.1) etch; urgency=low
+
+  * Initial release of quickbridge separated from AccessGrid
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 01 Jul 2007 22:35:03 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/quickbridge/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/quickbridge/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/quickbridge/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,12 @@
+Source: quickbridge
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: debhelper (>= 5.0.37.1), gcc
+Standards-Version: 3.7.2
+
+Package: quickbridge
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Quickbridge, from the AG Toolkit
+ Quickbridge, a multicast-unicast bridge, from the AG Toolkit

Added: trunk/packaging/linux/debuntu/karmic/quickbridge/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/quickbridge/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/quickbridge/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Sun, 01 Jul 2007 22:35:03 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/quickbridge/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/quickbridge/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/quickbridge/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,45 @@
+#!/usr/bin/make -f
+
+package = quickbridge
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+
+build:
+	$(checkdir)
+	cd services/network/QuickBridge; gcc -O -o QuickBridge QuickBridge.c
+	touch build
+
+clean:
+	$(checkdir)
+	rm -f build
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -d $(pkgpath)/usr/bin
+	install -m 755 services/network/QuickBridge/QuickBridge ${pkgdir}/usr/bin/
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f services/network/QuickBridge/QuickBridge.c -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/quickbridge/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/quickbridge/quickbridge.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/quickbridge/quickbridge.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/quickbridge/quickbridge.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=quickbridge-3.1
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=quickbridge-3.1.src.tar.gz
+
+
+# Load up the default build script
+. ../../quickbridge.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/quickbridge/quickbridge.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/Twisted.egg-info.in
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/Twisted.egg-info.in	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/Twisted.egg-info.in	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,12 @@
+Metadata-Version: 1.0
+Name: Twisted
+Version: @twversion@
+Summary: An asynchronous networking framework written in Python
+Home-page: http://twistedmatrix.com/
+Author: Glyph Lefkowitz
+Author-email: glyph at twistedmatrix.com
+License: MIT
+Description: An extensible framework for Python programming, with special focus
+        on event-based network programming and multiprotocol integration.
+        
+Platform: UNKNOWN

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,602 @@
+twisted (8.2.0-3ag5) karmic; urgency=low
+
+  * Use correct source to avoid conflicts with other Ubuntu twisted pkgs.
+
+ -- Christoph Willing <c.willing at uq.edu.au>  Sun, 04 Apr 2010 20:35:22 +1000
+
+twisted (8.2.0-3ag4) karmic; urgency=low
+
+  * Include patch for AG
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 01 Sep 2009 09:20:35 +1000
+
+twisted (8.2.0-3) unstable; urgency=low
+
+  * Depend on the standalone python-zope.interface{,-dbg} packages.
+    Closes: #543132, #542932.
+  * Remove plugins directory on purge. Closes: #527897.
+  * Fix some lintian warnings.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 25 Aug 2009 20:36:00 +0200
+
+twisted (8.2.0-2) unstable; urgency=low
+
+  * python-twisted-core: Regenerate the plugin cache as the last action
+    in the postinst. Closes: #521663. LP: #361865.
+  * Avoid md5/sha1 deprecation warnings. LP: #344782.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 18 Apr 2009 13:54:12 +0200
+
+twisted (8.2.0-1) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 21 Feb 2009 12:15:25 +0100
+
+twisted (8.2.0-0.1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Esteve Fernandez <esteve at fluidinfo.com>  Sat, 31 Jan 2009 14:40:47 +0100
+
+twisted (8.1.0-4) unstable; urgency=low
+
+  * Move the cache update from python-twisted into python-twisted-core.
+    Closes: #500942.
+
+    Plugins should update the cache on package install (postinst) and 
+    removal (postrm remove) by updating the cache. See the postinst
+    script of python-twisted-core how to update the cache.
+
+  * Fix PortableGtkReactor (now able to run trial test suite with the gtk2
+    reactor). Closes: #499311.
+  * Don't install twisted/test/generator_failure_tests.py, syntax errors
+    with python2.4. Closes: #492830.
+  * Fix manhole to work with python-gtk2 (>= 2.10). Closes: #469105.
+  * mktap(1) description of options fixed in an earlier version. 
+    Closes: #278194.
+  * mktap news fixed in an earlier version. Closes: #278196.
+  * Fix build failure on GNU/kFreeBSD (Petr Salinger). Closes: #490770.
+
+ -- Matthias Klose <doko at debian.org>  Fri, 10 Oct 2008 21:22:21 +0200
+
+twisted (8.1.0-3) unstable; urgency=low
+
+  * Do not include twisted/plugins/dropin.cache, but generate it on
+    configure, remove it on package removal. Closes: #489976.
+  * twisted plugins have to update that cache on installation and removal.
+    See the python-twisted-core postinst how to do so.
+
+ -- Matthias Klose <doko at debian.org>  Fri, 11 Jul 2008 14:41:43 +0200
+
+twisted (8.1.0-2) unstable; urgency=low
+
+  * python-twisted-core: Include twisted/plugins/dropin.cache, Closes: #477103.
+  * tap2deb.py: Fix some dependency names and names of binaries.
+    Closes: #440454. LP: #120453.
+  * python-twisted: Tighten dependencies.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 08 Jul 2008 16:34:14 +0200
+
+twisted (8.1.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * python-twisted: Add an egg-info file. Closes: #477384.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 28 May 2008 23:06:45 +0200
+
+twisted (8.0.1-2) unstable; urgency=low
+
+  * twisted/scripts/tap2deb.py: Create dependency on python-twisted.
+
+ -- Matthias Klose <doko at ubuntu.com>  Wed, 09 Apr 2008 15:37:36 +0000
+
+twisted (8.0.1-1) unstable; urgency=low
+
+  * New upstream version.
+  * Disable building the empty twisted-doc-api package. Closes: #313334.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 30 Mar 2008 21:02:28 +0200
+
+twisted (2.5.0-2) unstable; urgency=low
+
+  * python-twisted-core: Suggest python-wxgtk2.8 as an alternative.
+
+ -- Matthias Klose <doko at debian.org>  Thu, 07 Jun 2007 07:14:49 +0200
+
+twisted (2.5.0-1) unstable; urgency=low
+
+  * New upstream version, compatible with python2.5.
+  * Merge from Ubuntu:
+    - Build a python-twisted-dbg package.
+    - Bump debhelper compatibility to v5.
+    - Tighten dependencies of the python-twisted package.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 20 May 2007 19:29:53 +0200
+
+twisted (2.4.0-3) unstable; urgency=medium
+
+  * twisted/python/versions.py: Update to work with subversion 1.4.
+    Closes: #405141.
+  * python-twisted-core: Don't suggest python-wxgtk2.4 anymore.
+    Closes: #391994.
+
+ -- Matthias Klose <doko at debian.org>  Mon,  8 Jan 2007 00:01:04 +0100
+
+twisted (2.4.0-2) unstable; urgency=high
+
+  * python-twisted-core: Depend on python-twisted-bin.
+
+ -- Matthias Klose <doko at debian.org>  Sun,  9 Jul 2006 12:04:18 +0000
+
+twisted (2.4.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * Convert packaging to use python-central (closes: #373392).
+  * python-twisted-core: Do not suggest python-glade-1.2 (closes: #368514).
+  * python-twisted.menu: Add python-tk as a required package for tkmtap.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 14 Jun 2006 03:45:29 +0200
+
+twisted (2.2.0-2) unstable; urgency=low
+
+  * Fix classname in python/dispatch.py (closes: #359225).
+  * Fix spelling errors in man pages (closes: #355227).
+  * Drop conflicts on packages not tested with twisted >= 2.0 (closes: #359179).
+
+ -- Matthias Klose <doko at debian.org>  Fri, 14 Apr 2006 23:25:37 +0000
+
+twisted (2.2.0-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 22 Feb 2006 08:28:04 +0100
+
+twisted (2.1.0-4) unstable; urgency=low
+
+  * Fix typo in versioned dependencies on *-conch packages (closes: #349627).
+  * Fix location of the core documentation in the doc-base file.
+    Closes: #349627.
+
+ -- Matthias Klose <doko at debian.org>  Thu,  2 Feb 2006 15:39:10 +0000
+
+twisted (2.1.0-3) unstable; urgency=low
+
+  * Rename python-twisted to python-twisted-core; python-twisted is now
+    a transitional package, depending on python-twisted-core and all
+    twisted modules, which were split out into separate packages.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 25 Jan 2006 17:56:16 +0100
+
+twisted (2.1.0-2) unstable; urgency=low
+
+  * debian/copyright: Include copyright for python 2.3; some 2.3 files
+    are included in the upstream tarball, but not in the binary packages.
+
+ -- Matthias Klose <doko at debian.org>  Mon, 16 Jan 2006 19:59:05 +0100
+
+twisted (2.1.0-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 15 Jan 2006 22:07:22 +0000
+
+twisted (2.0.1-4) unstable; urgency=low
+
+  * Fix doc symlinks (closes: #313313).
+  * Remove conflict with supyb, requested by the supyb maintainer.
+  * Suggest python-wxgtk2.4 | python-wxgtk2.6.
+  * Fix man page symlinks (closes: #326021, #314508, #315307, #323551).
+  * Fix location of the tutorial in the doc-base file (closes: #318167).
+  * python-twisted: Add dependency on python-soappy (closes: #317290).
+
+ -- Matthias Klose <doko at debian.org>  Thu,  1 Sep 2005 15:49:29 +0200
+
+twisted (2.0.1-3) unstable; urgency=low
+
+  * Drop python2.2 packages, build python2.4 packages.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 12 Jun 2005 19:05:59 +0200
+
+twisted (2.0.1-2) unstable; urgency=low
+
+  * Reupload as -2, -1 is sticking in the NEW queue from a hijack attempt.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 12 Jun 2005 18:41:05 +0200
+
+twisted (2.0.1-1) unstable; urgency=low
+
+  * New upstream version, built from the sumo tarball.
+  * (Build-)depend on zope-interface.
+  * Explicitely conflict with all current packages depending on
+    python-twisted and python-twisted-conch. Please check for
+    compatibility first.
+  * Do provide menu entries for the default version only.
+  * Empty twisted-doc-api package at the moment.
+  * Use debhelper for the packaging.
+  * Change priority to optional.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 12 Jun 2005 14:52:40 +0200
+
+twisted (1.3.0-8) unstable; urgency=low
+
+  * Fix the fix in gtk2reactor.
+
+ -- Matthias Klose <doko at debian.org>  Fri, 11 Feb 2005 14:45:43 +0100
+
+twisted (1.3.0-7) unstable; urgency=low
+
+  * Conditionally import the profile module (closes: #294493).
+  * Add suggestions to the python-profiler package.
+  * Suppress gtk2 user warning in gtk2reactor (closes: #291310).
+
+ -- Matthias Klose <doko at debian.org>  Thu, 10 Feb 2005 13:12:20 +0100
+
+twisted (1.3.0-6) unstable; urgency=medium
+
+  * Fix two bad mail-related bugs, which are really harmful for the
+    scalemail application (Tommi Virtanen):
+    - insufficient error handling in mail delivery, causing mail loss
+      (fixed by r12036)
+    - unable to send mail from <> (fixed by r12767, which broke receiving
+      mail from <>, which is fixed in r12858).
+    Closes: #289993.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 15 Jan 2005 23:49:03 +0100
+
+twisted (1.3.0-5) unstable; urgency=low
+
+  * Fix memory leak in _c_urlarg.c (closes: #284818).
+  * python2.3-twisted: Add python-glade-1.2 python-gtk-1.2 suggests.
+    Closes: #283238.
+
+ -- Matthias Klose <doko at debian.org>  Mon, 20 Dec 2004 19:23:11 +0100
+
+twisted (1.3.0-4) unstable; urgency=low
+
+  * Fix package recommendations.
+  * twisted/xish/domish.py: Add fixes for jabber protocol implementation.
+    Alexandre Fayolle. Closes: #273141.
+
+ -- Matthias Klose <doko at debian.org>  Wed,  6 Oct 2004 08:06:47 +0200
+
+twisted (1.3.0-3) unstable; urgency=medium
+
+  * twisted-doc-api: Add link to docs (closes: #255888).
+  * twisted-doc: Rename examples/xindex.html (closes: #255887).
+  * twisted-doc: Include the Twisted tutorial (closes: #256598).
+  * Install the PDF version of the Twisted Book, not the PostScript version.
+  * python-twisted: Recommend the python-serial package.
+  * Fix nmea protocol failing when checksums turned off (closes: #243136).
+  * Add support for bool types in Twisted Serialize module (python2.3 only).
+    Closes: #217053.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 29 Aug 2004 15:31:36 +0200
+
+twisted (1.3.0-2) unstable; urgency=low
+
+  * Fix links in twisted-doc's index.html (closes: #255548).
+
+ -- Matthias Klose <doko at debian.org>  Mon, 21 Jun 2004 22:01:11 +0200
+
+twisted (1.3.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * Hijacking the package.
+    See http://lists.debian.org/debian-qa/2004/06/msg00070.html.
+  * Fix doc-base file (closes: #220698, #220699).
+  * html files are included as .html, not .xhtml (closes: #192600).
+  * Make package descriptions more verbose (closes: #209816).
+  * Fix some lintian errors.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 19 Jun 2004 00:54:55 +0200
+
+twisted (1.2.0-1.1) unstable; urgency=low
+
+  * NMU.
+  * Fix suggestions and recommendations:
+    - Make python-pyopenssl, python-pam recommendations.
+    - Make python-tk, python-gtk2, python-glade2, python-qt3,
+      libwxgtk2.4-python suggestions.
+    Closes: #240564.
+  * python-twisted-conch: Depend on python2.3-twisted-conch.
+  * Use Debian's way importing gtk2:
+    - doc/examples/pbgtk2.py
+    - twisted/spread/ui/gtk2util.py
+  * The Debian package provided upstream isn't a big help, as it's just
+    an outdated copy of the Debian package :-(
+
+ -- Matthias Klose <doko at debian.org>  Sat, 17 Apr 2004 14:25:26 +0200
+
+twisted (1.2.0-1) unstable; urgency=low
+
+  * New upstream version (closes: #211102).
+
+ -- Matthias Klose <doko at debian.org>  Thu, 26 Feb 2004 07:05:22 +0100
+
+twisted (1.1.2-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 18 Feb 2004 12:03:02 -0500
+
+twisted (1.1.1-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 15 Jan 2004 12:03:02 -0500
+
+twisted (1.1.0-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 21 Nov 2003 14:56:54 -0500
+
+twisted (1.0.7-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 17 Sep 2003 00:33:51 -0500
+
+twisted (1.0.6-1) unstable; urgency=low
+
+  * New upstream version.
+  * NMU (encouraged by maintainer)
+
+ -- Martin Sjogren <sjogren at debian.org>  Thu,  3 Jul 2003 07:45:27 +0200
+ 
+twisted (1.0.5-1) unstable; urgency=low
+
+  * New upstream version
+  * Remove Python 2.1 packages -- upstream no longer supports 2.1 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu,  1 May 2003 09:06:49 +0300
+
+twisted (1.0.4-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 18 Apr 2003 03:46:22 +0000
+
+twisted (1.0.3-1) unstable; urgency=low
+
+  * Split out conch
+    * This allows us to have conch properly depend on python-crypto
+  * Documentation improvements
+    * Installing xhtml versions of everything
+    * Distributing ps and pdf versions of book
+    * doc-base support
+  * Split out doc-api
+    * It's HUGE and many people don't need it (since it is available on the
+      web) 
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 12 Nov 2002 02:59:56 -0600
+
+twisted (1.0.0-2) unstable; urgency=low
+
+  * Put api docs in api/ (Closes: #167196) 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu,  7 Nov 2002 12:27:37 -0600
+
+twisted (1.0.0-1) unstable; urgency=low
+
+  * New upstream release 
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 22 Oct 2002 06:22:49 -0500
+
+twisted (0.99.2-4) unstable; urgency=low
+
+  * UGH! Python 2.3 distutils bug is back 
+  * Working around it
+
+ -- Moshe Zadka <moshez at debian.org>  Wed,  2 Oct 2002 12:07:25 +0000
+
+twisted (0.99.2-3) unstable; urgency=low
+
+  * Adding "/usr/bin/python" to build dependencies.
+
+ -- Moshe Zadka <moshez at debian.org>  Mon, 30 Sep 2002 15:46:56 +0000
+
+twisted (0.99.2-2) unstable; urgency=low
+
+  * Enabling Python 2.3 support 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 27 Sep 2002 10:49:43 -0500
+
+twisted (0.99.2-1) unstable; urgency=low
+
+  * New upstream
+  * Fixed build dependencies (Closes: #159258)
+
+ -- Moshe Zadka <moshez at debian.org>  Mon, 23 Sep 2002 08:56:05 -0500
+
+twisted (0.99.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * Packaging changes:
+    * "Twisted" is now a package, to facilitate upgrades from woody
+      (there are verioned depends:)
+    * New package: twisted-quotes -- quotes collected by the Twisted release
+      team
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 29 Aug 2002 08:05:38 -0500
+
+twisted (0.19.0-2) unstable; urgency=low
+
+  * Gagh, make python2.2-twisted any, not all. 
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 31 Jul 2002 02:25:23 -0500
+
+twisted (0.19.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Debian packaging changes:
+    * split python2.x-twisted into python2.x-twisted and python2.x-twisted-bin
+    * unfortunately, because of distutils mind boggling stupidity, it will
+      do most of the work for building the arch-independant utilities when
+      building the c module
+    * fortunately, twisted will now take up much less room in the archive
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 19 Jun 2002 18:01:50 +0300
+
+twisted (0.18.0-2) unstable; urgency=low
+
+  * The "Aaaaarrrgghhh, I'm stupid release"
+  * debian/control: python2.1-twisted needs to Conflict:/Replace: twisted too
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 18 Jun 2002 20:22:08 +0300
+
+twisted (0.18.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Lots of debian changes:
+    * building python2.1-twisted, python2.2-twisted
+    * python-twisted depends on python2.1-twisted
+    * menu support for t-im and manhole enabled
+  * Removed debelper
+    * Added debian/scripts/ directory with helper scripts
+    * This will (hopefully) mean support python2.3 will be easy 
+  * Upstream fixed tcp client (Closes: #142789)
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 28 May 2002 12:35:35 +0300
+
+twisted (0.17.3-1) unstable; urgency=low
+
+  * New upstream release 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 19 Apr 2002 02:55:43 -0500
+
+twisted (0.17.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Now building two packages -- one for the code, one for the docs
+    + If you want the docs, install twisted-docs too
+    + Feedback is encouraged about whether a 2.2-supporting version is needed
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 14 Mar 2002 07:24:07 +0200
+
+twisted (0.15.5-1) unstable; urgency=low
+
+  * New upstream release 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri,  8 Mar 2002 07:14:16 +0200
+
+twisted (0.15.4-1) unstable; urgency=low
+
+  * New upstream version
+  * Better DNS support
+
+ -- Moshe Zadka <moshez at debian.org>  Tue,  5 Mar 2002 13:54:37 +0200
+
+twisted (0.15.3-1) unstable; urgency=low
+
+  * New upstream release
+  * Fixed stupidproxy bug, where connections weren't closed 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 28 Feb 2002 21:07:28 +0200
+
+twisted (0.15.1-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 12 Feb 2002 20:36:38 +0200
+
+twisted (0.15.0-1) unstable; urgency=low
+
+  * New upstream release
+  * IM application: many improvements, new GTK+ client
+  * easier to add error callbacks to deferred
+  * SOCKSv4 support
+  * bugs fixed in t.i.tcp
+  * added approveConnection (again ;-)
+  * All non-blocking methods now return deferreds instead of accepting 
+    callbacks (hopefully)
+  * low-level protocol changes
+  * New t.web applications and features
+  * Perspective retrieval now async
+  * Enterprise now fixed
+
+ -- Moshe Zadka <moshez at debian.org>  Wed,  6 Feb 2002 14:38:38 +0200
+
+twisted (0.13.0-1) unstable; urgency=low
+
+  * New upstream version 
+  * New forum
+  * New config interface
+  * New metrics
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 10 Jan 2002 20:04:30 +0200
+
+twisted (0.12.2-1) unstable; urgency=low
+
+  * New upstream versions (many bugfixes) 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 29 Nov 2001 08:01:23 +0200
+
+twisted (0.12.1-1) unstable; urgency=low
+
+  * New upstream version (mainly bugfixes) 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 22 Nov 2001 09:09:14 +0200
+
+twisted (0.12.0-1) unstable; urgency=low
+
+  * New upstream version
+  * Using Python 2.1 
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 21 Nov 2001 15:17:25 +0200
+
+twisted (0.10.3-1) unstable; urgency=low
+
+  * New upstream release
+  * twisted.names, resolving internet names
+  * optimizations
+  * works with Jython too
+
+ -- Moshe Zadka <moshez at debian.org>  Sun, 30 Sep 2001 23:46:45 +0200
+
+twisted (0.10.2-1) unstable; urgency=low
+
+  * New upstream release
+  * bug fixes
+  * timeouts for client sockets 
+  * Tutorial about plugins
+  * Mail has changed API in an incompatible way
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 12 Sep 2001 23:00:59 +0300
+
+twisted (0.10.1-1) unstable; urgency=low
+
+  * New upstream release 
+  * Massive renaming in prespective broker classes
+  * web proxying
+  * TCP connection forwarding
+  * Lots of new protocols: LDAP, finger and obscure RFCs
+  * --plugin option to twistd
+  * web widgets
+  * twisted.enterprise improved a lot 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 31 Aug 2001 06:49:00 +0300
+
+twisted (0.10.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Added twisted.tap and twisted.mail to distribution
+  * Added docs about writing new twisted servers
+  * Changed mail API: now, saveMessage gets the SMTP from too
+  * Removed spurious prints from twisted.mail.mail
+  * Possible to relay mail to unknown domains via smart host
+  * tap2deb can create policy compliant Debian packages around .tap's
+  * Fixed debian/rules clean target (closes: Bug#108245)
+  * New arguments to twistd: --python, --no_save
+  * New arguments to mktap: --append
+  * twisted.tcp.Port can now change the size of the backlog from 5
+  * UDP servers now possible
+
+ -- Moshe Zadka <moshez at debian.org>  Thu,  9 Aug 2001 09:37:03 +0300
+
+twisted (0.9.4-1) unstable; urgency=low
+
+  * Initial Release. (closes: #105843)
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 26 Jul 2001 21:09:53 +0300

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,82 @@
+Source: twisted
+Section: AccessGrid
+Priority: optional
+Maintainer: Matthias Klose <doko at debian.org>
+Build-Depends: debhelper (>= 5.0.37.1), python-central (>= 0.6.11), dpatch,
+ python-all-dev, python-all-dbg, python-zope.interface-dbg | python-zopeinterface-dbg, patch
+Build-Conflicts: python-setuptools
+XS-Python-Version: all
+Standards-Version: 3.8.3
+
+Package: python-twisted-core
+Architecture: all
+Depends: ${python:Depends}, python-twisted-bin (>= ${source:Version}), python-zope.interface | python-zopeinterface (>= 3.2.1-3), python (>= 2.3.5-9)
+Suggests: python-tk, python-gtk2, python-glade2, python-qt3, python-wxgtk2.8 | python-wxgtk2.6, python-profiler
+Recommends: python-openssl, python-pam, python-serial
+Conflicts: python2.3-twisted (<< 2.1.0-4), python2.4-twisted (<< 2.1.0-4), python-twisted (<< 2.1.0-4), python2.3-twisted-core, python2.4-twisted-core
+Replaces: python2.3-twisted (<< 2.1.0-4), python2.4-twisted (<< 2.1.0-4), python-twisted (<< 2.1.0-4), python2.3-twisted-core, python2.4-twisted-core
+Provides: ${python:Provides}
+XB-Python-Version: ${python:Versions}
+Description: Event-based framework for internet applications
+ It includes a web server, a telnet server, a multiplayer RPG engine, a
+ generic client and server for remote object access, and APIs for creating
+ new protocols.
+
+Package: python-twisted-bin
+Architecture: any
+Depends: ${python:Depends}, ${shlibs:Depends}
+Conflicts: python2.3-twisted-bin, python2.4-twisted-bin
+Replaces: python2.3-twisted-bin, python2.4-twisted-bin
+Provides: ${python:Provides}
+Suggests: python-twisted-bin-dbg
+XB-Python-Version: ${python:Versions}
+Description: Event-based framework for internet applications
+ It includes a web server, a telnet server, a multiplayer RPG engine, a 
+ generic client and server for remote object access, and APIs for creating 
+ new protocols.
+
+Package: python-twisted-bin-dbg
+Priority: extra
+Section: debug
+Architecture: any
+Depends: python-zope.interface-dbg |python-zopeinterface-dbg, python-twisted-bin (= ${binary:Version}), python-dbg, ${shlibs:Depends}
+Description: Event-based framework for internet applications (debug extension)
+ It includes a web server, a telnet server, a multiplayer RPG engine, a 
+ generic client and server for remote object access, and APIs for creating 
+ new protocols.
+ .
+ This package contains the extension built for the Python debug interpreter.
+
+Package: twisted-doc
+Section: doc
+Architecture: all
+Suggests: python-twisted
+Recommends: www-browser | postscript-viewer | pdf-viewer, twisted-doc-api
+Description: The official documentation of Twisted
+ This contains various HOWTOs and overviews in various formats
+ .
+ Twisted is an event-based framework for internet applications.
+ It includes a web server, a telnet server, a multiplayer RPG engine, a 
+ generic client and server for remote object access, and APIs for creating 
+ new protocols.
+
+#Package: twisted-doc-api
+#Section: doc
+#Architecture: all
+#Depends: twisted-doc
+#Description: The auto-generated API docs of Twisted
+# Epydoc-generated HTML API docs of Twisted classes, modules and functions.
+# .
+# Twisted is an event-based framework for internet applications
+# It includes a web server, a telnet server, a multiplayer RPG engine, a 
+# generic client and server for remote object access, and APIs for creating 
+# new protocols.
+
+Package: python-twisted
+Architecture: all
+Depends: ${python:Depends}, python-twisted-core (>= 8.2), python-twisted-conch (>= 1:8.2), python-twisted-mail (>= 8.2), python-twisted-lore (>= 8.2), python-twisted-names (>= 8.2), python-twisted-news (>= 8.2), python-twisted-runner (>= 8.2), python-twisted-web (>= 8.2), python-twisted-words (>= 8.2)
+Provides: ${python:Provides}
+XB-Python-Version: ${python:Versions}
+Description: Event-based framework for internet applications (transitional package)
+ This is a transitional package that depends on the twisted core library and
+ all the libraries split out to separate packages starting with Twisted-2.0.1.

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,107 @@
+This package was debianized by Moshe Zadka <moshez at debian.org>
+on Sat, 21 Jul 2001 09:35:33 +0300,
+updated for 2.0 by Matthias Klose <doko at debian.org>
+
+It was downloaded from http://www.twistedmatrix.com
+
+Copyright (c) 2005
+Allen Short
+Andrew Bennetts
+Benjamin Bruheim
+Bob Ippolito
+Christopher Armstrong
+Donovan Preston
+Eric Mangold
+Itamar Shtull-Trauring
+James Knight
+Jason A. Mobarak
+Jonathan Lange
+Jonathan D. Simms
+Jp Calderone
+Juergen Hermann
+Kevin Turner
+Mary Gardiner
+Matthew Lefkowitz
+Massachusetts Institute of Technology
+Moshe Zadka
+Paul Swartz
+Pavel Pergamenshchik
+Sean Riley
+Travis B. Hartwell
+
+except as noted at the end of this file.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Copyright Exceptions:
+
+The source includes in twisted/python/pymodules some files from the
+Python 2.3 upstream tarball (not included in the binary packages).
+The Python 2.3 license follows:
+
+PSF LICENSE AGREEMENT FOR PYTHON 2.3
+------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using Python 2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.3 alone or in any derivative version prepared by
+Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.3.
+
+4. PSF is making Python 2.3 available to Licensee on an "AS IS"
+basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee.  This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+twisted-internet-_threadedselect

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/twisted-internet-_threadedselect.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/twisted-internet-_threadedselect.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/twisted-internet-_threadedselect.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## twisted-internet-_threadedselect.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad twisted-8.0.1~/twisted/internet/_threadedselect.py twisted-8.0.1/twisted/internet/_threadedselect.py
+--- twisted-8.0.1~/twisted/internet/_threadedselect.py	2008-03-05 07:36:22.000000000 +1000
++++ twisted-8.0.1/twisted/internet/_threadedselect.py	2008-04-17 13:12:00.257646276 +1000
+@@ -185,7 +185,7 @@
+                     else:
+                         raise
+                 elif se.args[0] == EINTR:
+-                    return
++                    continue
+                 elif se.args[0] == EBADF:
+                     self._preenDescriptorsInThread()
+                 else:


Property changes on: trunk/packaging/linux/debuntu/karmic/twisted/debian/patches/twisted-internet-_threadedselect.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postinst
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+set -e
+
+#DEBHELPER#
+
+case "$1" in
+    configure)
+	for p in $(pyversions -i); do
+	    $p -c 'from twisted.plugin import IPlugin, getPlugins; list(getPlugins(IPlugin))' >/dev/null 2>&1 || true
+	done
+	;;
+esac
+
+exit 0

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postrm
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postrm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted-core.postrm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+set -e
+
+case "$1" in
+    purge)
+	find /usr/lib/python[23].*/*-packages/twisted/plugins \
+	    -name dropin.cache | xargs -r rm -f
+	for d in /usr/lib/python[23].*/*-packages/twisted/plugins; do
+	    rmdir $d 2>/dev/null || true
+	done 
+	;;
+esac
+
+#DEBHELPER#
+
+exit 0

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.menu
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.menu	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.menu	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+?package(python-twisted,python-gtk2):\
+	needs="x11"\
+	section="Applications/Network"\
+	title="Manhole Twisted Client"\
+	command="/usr/bin/manhole"
+
+?package(python-twisted,python-tk):\
+	needs="x11"\
+	section="Applications/Network"\
+	title="Twisted Application Generator"\
+	command="/usr/bin/tkmktap"

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.preinst
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.preinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/python-twisted.preinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,7 @@
+#! /bin/sh -e
+
+if [ ! -h /usr/share/doc/python-twisted ]; then
+    rm -rf /usr/share/doc/python-twisted
+fi
+
+#DEBHELPER#

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,161 @@
+#! /usr/bin/make -f
+
+include /usr/share/dpatch/dpatch.make
+
+SHELL = /bin/bash
+
+DEB_HOST_ARCH_OS ?=  $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+# all versions
+PYVERS	:= $(shell pyversions -vs)
+VER	:= $(shell /usr/bin/python -c 'import sys; print sys.version[:3]')
+
+gamesdir = debian/twisted-quotes/usr/share/games/fortunes
+
+twersion := $(subst twisted-,,$(notdir $(CURDIR)))
+
+include /usr/share/pycentral-data/pycentral.mk
+
+build: build-stamp
+build-stamp: patch-stamp $(PYVERS:%=build-python%)
+	touch $@
+build-python%:
+	python$* setup.py build
+	python$*-dbg setup.py build
+	touch $@
+
+clean:	unpatch
+	rm -rf *-stamp build-python* build
+	rm -rf $(addprefix debian/,$(packages)) debian/files debian/substvars
+	rm -rf _trial_temp test.log
+	find . -name "*.pyc" |xargs -r rm
+	dh_clean
+
+install: build-stamp install-prereq $(PYVERS:%=install-python%) install-nover
+	: # don't install generator_failure_tests.py, syntax error with python2.4
+	find debian -name 'generator_failure_tests.py*' | xargs -r rm -f
+
+install-prereq: build-stamp
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+
+install-python%: install-prereq
+	: # python-twisted-core
+	python$* setup.py install --root=debian/python-twisted-core --install-layout=deb
+
+	-find debian/python-twisted-core -name '*.py[co]' | xargs rm -f
+#	for i in debian/python$*-twisted-core/usr/bin/*; do \
+#	  mv $$i $${i}$*; \
+#	done
+#	mkdir -p debian/python$*-twisted-core/usr/share/man/man1
+#	for i in doc/man/{manhole,*tap*,trial,twistd}.1; do \
+#	  iv=`basename $$i .1`$*.1; \
+#	  cp -p $$i debian/python$*-twisted-core/usr/share/man/man1/$$iv; \
+#	done
+	case $* in \
+	  1.5|2.0|2.1|2.2) ;; \
+	  *) rm -rf debian/python-twisted-core/usr/lib/python$*/*-packages/twisted/python/pymodules; \
+	esac
+	: # python2.5 only file
+	rm -f debian/python-twisted-core/usr/lib/python$*/*-packages/twisted/test/generator_failure_tests.py
+
+	: # python-twisted-bin
+ifeq ($(DEB_HOST_ARCH_OS), linux)
+	dh_movefiles -ppython-twisted-bin \
+	  --sourcedir=debian/python-twisted-core \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/protocols/_c_urlarg.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/python/_epoll.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/test/raiser.so
+else
+	dh_movefiles -ppython-twisted-bin \
+	  --sourcedir=debian/python-twisted-core \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/protocols/_c_urlarg.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/test/raiser.so
+endif
+
+	: # python-twisted
+	mkdir -p debian/python-twisted/usr/lib/python$*/$(call sitedir,$*)
+	sed 's/@twersion@/$(twversion)/' debian/Twisted.egg-info.in \
+		> debian/python-twisted/usr/lib/python$*/$(call sitedir,$*)/Twisted-$(twersion).egg-info
+
+	: # Replace all '#!' calls to python with /usr/bin/python
+	: # and make them executable
+	for i in `find debian/python-twisted-* -mindepth 3 -type f`; do \
+	  sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python\1,' \
+		$$i > $$i.temp; \
+	  if cmp --quiet $$i $$i.temp; then \
+	    rm -f $$i.temp; \
+	  else \
+	    mv -f $$i.temp $$i; \
+	    chmod 755 $$i; \
+	    echo "fixed interpreter: $$i"; \
+	  fi; \
+	done
+
+	: # python-twisted-bin-dbg
+	python$*-dbg setup.py install --root=debian/python-twisted-bin-dbg --no-compile --install-layout=deb
+	find debian/python-twisted-bin-dbg ! -type d ! -name '*_d.so' | xargs rm -f
+	find debian/python-twisted-bin-dbg -depth -empty -exec rmdir {} \;
+
+install-nover:
+	: # twisted-doc
+	mkdir -p debian/twisted-doc/usr/share/doc/twisted-doc
+	cp -a doc/* debian/twisted-doc/usr/share/doc/twisted-doc/
+	-find debian/twisted-doc -type d -name man | xargs rm -rf
+
+	mkdir -p debian/python-twisted-core/usr/share/man/man1
+	for i in doc/man/{manhole,*tap*,trial,twistd}.1; do \
+	  cp -p $$i debian/python-twisted-core/usr/share/man/man1/; \
+	done
+
+#	: # python-twisted-core
+#	mkdir -p debian/python-twisted-core/usr/bin
+#	for i in debian/python$(VER)-twisted-core/usr/bin/*; do \
+#	  iv=`basename $$i $(VER)`; \
+#	  ln -sf $${iv}$(VER) debian/python-twisted-core/usr/bin/$$iv; \
+#	done
+#	mkdir -p debian/python-twisted-core/usr/share/man/man1
+#	for i in debian/python$(VER)-twisted-core/usr/share/man/man1/*; do \
+#	  iv=`basename $$i $(VER).1`; \
+#	  ln -sf $${iv}$(VER).1.gz \
+#	    debian/python-twisted-core/usr/share/man/man1/$$iv.1.gz; \
+#	done
+
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs -i
+	dh_installdocs -i
+#	rm -rf debian/twisted-doc-api/usr/share/doc/twisted-doc-api
+#	ln -s twisted-doc debian/twisted-doc-api/usr/share/doc/twisted-doc-api
+	dh_installmenu -i
+	dh_compress -i -X.py
+	dh_fixperms -i
+	dh_pycentral -i
+	dh_installdeb -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
+
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs -a
+	dh_installdocs -a
+	dh_installmenu -a
+	dh_strip -ppython-twisted-bin --dbg-package=python-twisted-bin-dbg
+	rm -rf debian/python-twisted-bin-dbg/usr/share/doc/python-twisted-bin-dbg
+	ln -s python-twisted-bin \
+	    debian/python-twisted-bin-dbg/usr/share/doc/python-twisted-bin-dbg
+	dh_compress -a -X.py
+	dh_fixperms -a
+	dh_pycentral -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install install-nover install-prereq


Property changes on: trunk/packaging/linux/debuntu/karmic/twisted/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-api
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-api	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-api	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+Document: twisted-api
+Title: The Twisted API Reference
+Author: The Twisted Team
+Abstract: This collection of autogenerated API references describes how
+ to use the various classes and function in Twisted
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/twisted-doc/api/index.html
+Files: /usr/share/doc/twisted-doc/api/*.html
+Document: twisted-api
+Title: The Twisted API Reference
+Author: The Twisted Team
+Abstract: This collection of autogenerated API references describes how
+ to use the various classes and function in Twisted
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/twisted-doc/api/index.html
+Files: /usr/share/doc/twisted-doc/api/*.html

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-doc.doc-base
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-doc.doc-base	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/twisted-doc.doc-base	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,10 @@
+Document: twisted-howto
+Title: The Twisted Book
+Author: The Twisted Team
+Abstract: This book describes how to use Twisted for any use --
+ from bringing up a simple web site to coding distributed applications
+Section: Programming/Python
+
+Format: HTML
+Index: /usr/share/doc/twisted-doc/howto/index.html
+Files: /usr/share/doc/twisted-doc/howto/*.html

Added: trunk/packaging/linux/debuntu/karmic/twisted/debian/watch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/debian/watch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/debian/watch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+version=3
+http://tmrc.mit.edu/mirror/twisted/Twisted/(\d\.\d)/ Twisted-([\d\.]*)\.tar\.bz2

Added: trunk/packaging/linux/debuntu/karmic/twisted/twisted.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/twisted/twisted.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/twisted/twisted.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+workdir=twisted-8.2.0
+srcpkg0=twisted-8.2.0.tar.gz
+
+
+# Load up the default build script
+. ../../twisted.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/twisted/twisted.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/buildag.sh
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/buildag.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/buildag.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+
+
+echo "YYY ${topdir}"
+echo "ZZZ ${version}"
+
+( cd common && scons configure && scons )
+echo "DONE COMMON"
+( cd VPMedia && scons TOP_DIR=${topdir} configure && scons TOP_DIR=${topdir} )
+echo "DONE VPMEDIA"
+( cd VPC && scons TOP_DIR=${topdir} )
+echo "DONE VPC"
+( cd VPCScreen-${version} && scons TOP_DIR=${topdir}
+zip -0 VPCScreenProducerService.zip VPCScreenProducerService.py VPCScreenProducerService.svc
+)
+echo "DONE VPCSCREEN"
+


Property changes on: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/buildag.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,61 @@
+vpcscreen (0.2-4) karmic; urgency=low
+
+  * Change default ttl to 127 (was 16). Still needs to accept cli value
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 02 Apr 2010 01:16:22 +1000
+
+vpcscreen (0.2-3) karmic; urgency=low
+
+  * New build for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 16:07:14 +1000
+
+vpcscreen (0.2-3) jaunty; urgency=low
+
+  * New build for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 15:56:55 +1000
+
+vpcscreen (0.2-3) intrepid; urgency=low
+
+  * New build for Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 22:13:33 +1000
+
+vpcscreen (0.2-3) hardy; urgency=low
+
+  * Make VPCScreenProducer.py a conffiles entry
+  *	(to avoid removal when accessgrid3.1 package is removed/purged)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 08 May 2008 12:45:19 +1000
+
+vpcscreen (0.2-2) hardy; urgency=low
+
+  * Rebuild using wxgtk2.8 (was 2.6)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 27 Apr 2008 21:09:34 +1000
+
+vpcscreen (0.2-1) hardy; urgency=low
+
+  * Rebuild for hardy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 24 Apr 2008 15:27:40 +1000
+
+vpcscreen (0.2-1) gutsy; urgency=low
+
+  * Rearranged locations for vpc-about & vpc-help files
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 18 Dec 2007 15:38:59 +1000
+
+vpcscreen (0.2-0ubuntu2) gutsy; urgency=low
+
+  * Fixed copyright details (to ANU, not UChicago)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 08 Nov 2007 11:17:49 +1000
+
+vpcscreen (0.2-0ubuntu1) gutsy; urgency=low
+
+  * Initial release for gutsy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 30 Oct 2007 20:54:19 +1000
+

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/conffiles
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/conffiles	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/conffiles	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+./etc/AccessGrid3/NodeServices/VPCScreenProducerService.zip

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,14 @@
+Source: vpcscreen
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au> 
+Build-Depends: scons, libwxgtk2.8-dev, zip,
+ libxft-dev, libxmu-dev, libx11-dev
+Standards-Version: 3.6.1
+
+Package: vpcscreen
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: VPCScreen from the ANU Internet Futures team
+ Encode arbitrary sections of display screen as H.261as video stream. An
+ Access Grid (AG3) service package is included.

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,101 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 30 Oct 2007 09:05:22 +1000
+
+It was downloaded from http://www.vislab.uq.edu.au/ag3/distfiles/
+
+Upstream Author: Rhys Hawkins <Rhys.Hawkins at anu.edu.au> (Linux port)
+
+Copyright: ANU 2003-2007
+
+License: Access Grid Toolkit Public License (AGTPL)
+
+Copyright (c) 2003-2007 Australian National University. All Rights Reserved.
+
+ 1) The "Software", below, refers to the Access Grid Toolkit (in
+ either source-code, or binary form and related documentation) and a
+ "work based on the Software" means a work based on either the
+ Software, on part of the Software, or on any derivative work of the
+ Software under copyright law: that is, a work containing all or a
+ portion of the Software either verbatim or with modifications.  Each
+ licensee is addressed as "you" or "Licensee."
+
+ 2) The University of Chicago as Operator of Argonne National
+ Laboratory is the copyright holder in the Software.  The holder
+ reserves all rights except those expressly granted to the Licensee
+ herein and license rights held by the U.S. Government.
+
+ 3) A copy or copies of the Software may be given to others, if you
+ meet the following conditions:
+
+    a) Copies in source code form must include the copyright notice
+    and this license.
+
+    b) Copies in binary form must include the copyright notice and
+    this license in the documentation.
+
+ 4) All advertising materials, journal articles and documentation
+ mentioning features derived from or use of the Software must display
+ the following acknowledgement:
+
+    "This product includes software developed by and/or derived from
+    the Access Grid project (http://www.accessgrid.org)."
+
+    In the event that the product being advertised includes an intact
+    Access Grid Toolkit distribution (with copyright and license
+    included) then this clause is waived.
+
+ 5) You may make modifications to the Software, however, if you modify
+ a copy or copies of the Software or any portion of it, thus forming a
+ work based on the Software, and give a copy or copies of such work to
+ others, either in source code or binary form, you must meet the
+ following conditions:
+
+    a) The Software must carry prominent notices stating that you
+    changed portions of the Software.
+
+    b) The Software must display the following acknowledgement:
+
+       "This product includes software developed by and/or derived
+       from the Access Grid Project (http://www.accessgrid.org) to
+       which the U.S. Government retains certain rights."
+
+ 6) LICENSEE AGREES THAT THE EXPORT OF GOODS AND/OR TECHNICAL DATA
+ FROM THE UNITED STATES MAY REQUIRE SOME FORM OF EXPORT CONTROL
+ LICENSE FROM THE U.S. GOVERNMENT AND THAT FAILURE TO OBTAIN SUCH
+ EXPORT CONTROL LICENSE MAY RESULT IN CRIMINAL LIABILITY UNDER
+ U.S. LAWS.
+
+ 7) Portions of the Software resulted from work developed under a
+ U.S. Government contract and are subject to the following license:
+ the Government is granted for itself and others acting on its behalf
+ a paid-up, nonexclusive, irrevocable worldwide license in this
+ computer software to reproduce, prepare derivative works, and perform
+ publicly and display publicly.
+
+ 8) The Software was prepared, in part, as an account of work
+ sponsored by an agency of the United States Government.  Neither the
+ United States, nor the University of Chicago, nor any contributors to
+ the Access Grid Project or Access Grid Toolkit, nor any of their
+ employees, makes any warranty express or implied, or assumes any
+ legal liability or responsibility for the accuracy, completeness, or
+ usefulness of any information, apparatus, product, or process
+ disclosed, or represents that its use would not infringe privately
+ owned rights.
+
+ 9) IN NO EVENT WILL THE UNITED STATES, THE UNIVERSITY OF CHICAGO OR
+ ANY CONTRIBUTORS TO THE ACCESS GRID PROJECT OR ACCESS GRID TOOLKIT BE
+ LIABLE FOR ANY DAMAGES, INCLUDING DIRECT, INCIDENTAL, SPECIAL, OR
+ CONSEQUENTIAL DAMAGES RESULTING FROM EXERCISE OF THIS LICENSE
+ AGREEMENT OR THE USE OF THE SOFTWARE.
+
+END OF LICENSE
+
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPC-open_mode.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPC-open_mode.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPC-open_mode.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+--- VPC/src/Producer/VPCRTPProducer.cpp.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPC/src/Producer/VPCRTPProducer.cpp	2008-09-18 23:12:27.139918000 +1000
+@@ -206,7 +206,7 @@
+ #ifndef WIN32
+ static void dump_frame( int width, int height, void *data )
+ {
+-  int fd = open( "dumped_frame.pgm", O_CREAT | O_TRUNC | O_WRONLY );
++  int fd = open( "dumped_frame.pgm", O_CREAT | O_TRUNC | O_WRONLY, S_IRWXU );
+   if ( fd < 0 ) {
+     fprintf( stderr, "failed to create file\n" );
+     return;

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,78 @@
+--- common/src/inet_ntop.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_ntop.c	2007-07-27 09:06:37 +1000
+@@ -16,7 +16,7 @@
+  * SOFTWARE.
+  */
+ 
+-#ifndef HAVE_INET_NTOP
++#ifdef NEED_INET_NTOP
+ #include "config_unix.h"
+ #include "config_win32.h"
+ #include "inet_ntop.h"
+--- common/src/inet_ntop.h.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_ntop.h	2007-07-27 09:06:37 +1000
+@@ -1,4 +1,4 @@
+-#ifndef HAVE_INET_NTOP
++#ifdef NEED_INET_NTOP
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+@@ -8,4 +8,4 @@ const char *inet_ntop(int af, const void
+ #if defined(__cplusplus)
+ }
+ #endif
+-#endif /* HAVE_INET_NTOP */
++#endif /* NEED_INET_NTOP */
+--- common/src/inet_pton.h.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_pton.h	2007-07-27 09:06:37 +1000
+@@ -1,4 +1,4 @@
+-#ifndef HAVE_INET_PTON
++#ifdef NEED_INET_PTON
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+@@ -8,5 +8,5 @@ int inet_pton(int af, const char *src, v
+ #if defined(__cplusplus)
+ }
+ #endif
+-#endif /* HAVE_INET_PTON */
++#endif /* NEED_INET_PTON */
+ 
+--- common/src/qfDES.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/qfDES.c	2007-07-27 09:06:37 +1000
+@@ -12,7 +12,7 @@ Added 2 August 1996, Saleem
+ #include "qfDES.h"
+ #include "crypt_random.h"
+ 
+-typedef unsigned long Word;
++typedef uint32_t Word;
+ 
+ #define B00 0x80000000
+ #define B01 0x40000000
+--- common/src/inet_pton.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_pton.c	2007-07-27 09:06:37 +1000
+@@ -16,7 +16,7 @@
+  * SOFTWARE.
+  */
+ 
+-#ifndef HAVE_INET_PTON
++#ifdef NEED_INET_PTON
+ #include "config_unix.h"
+ #include "config_win32.h"
+ #include "inet_pton.h"
+--- common/src/mbus_parser.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/mbus_parser.c	2007-07-27 09:06:37 +1000
+@@ -166,8 +166,12 @@ int mbus_parse_int(struct mbus_parser *m
+ 		CHECK_OVERRUN;
+         }
+ 
++	/* Have to set errno to zero before checking for it as strtol/etc
++	doesn't change it if it is already set */
++	errno = 0;
++
+ 	*i = strtol(m->buffer, &p, 10);
+-	if (((*i == LONG_MAX) || (*i == LONG_MIN)) && (errno == ERANGE)) {
++        if (((*i == INT_MAX) || (*i == INT_MIN)) && (errno == ERANGE)) {
+ 		debug_msg("integer out of range\n");
+ 		return FALSE;
+ 	}

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,30 @@
+--- VPC/src/Filter/VPCImageRescale.cpp.debug	2006-08-25 16:23:15.000000000 +1000
++++ VPC/src/Filter/VPCImageRescale.cpp	2007-07-27 10:28:50.000000000 +1000
+@@ -165,11 +165,13 @@ VPCImageRescale::filterFrame( VPCVideoFr
+ 	buffer_format = VPC_VIDEO_FORMAT_RGB24;
+       }
+ 
++#ifdef DEBUG
+       printf("rescaling rgb24 %dx%d -> %dx%d\n",
+ 	     inputFrame.getWidth(),
+ 	     inputFrame.getHeight(),
+ 	     width,
+ 	     height);
++#endif
+ 
+       rescale_nearest_rgb24_to_rgb24(inputFrame.getBuffer(),
+ 				     inputFrame.getWidth(),
+@@ -194,11 +196,13 @@ VPCImageRescale::filterFrame( VPCVideoFr
+ 	buffer_format = VPC_VIDEO_FORMAT_BGRA;
+       }
+ 
++#ifdef DEBUG
+       printf("rescaling bgra %dx%d -> %dx%d\n",
+ 	     inputFrame.getWidth(),
+ 	     inputFrame.getHeight(),
+ 	     width,
+ 	     height);
++#endif
+ 
+       rescale_nearest_bgra_to_bgra(inputFrame.getBuffer(),
+ 				   inputFrame.getWidth(),

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,29 @@
+--- VPCScreen-0.2/VPCScreenCapture.cpp.filepaths	2006-10-10 14:34:06 +1000
++++ VPCScreen-0.2/VPCScreenCapture.cpp	2007-07-27 09:06:37 +1000
+@@ -229,7 +229,7 @@ bool VPCScreenCapture::OnInit()
+   
+   wxImage::AddHandler(new wxGIFHandler);
+   wxXmlResource::Get()->InitAllHandlers();
+-  wxXmlResource::Get()->Load(wxT("VPCScreenCapture.xrc"));
++  wxXmlResource::Get()->Load(wxT("/usr/share/VPCScreen/VPCScreenCapture.xrc"));
+   ScreenCaptureFrame *frame = new ScreenCaptureFrame();
+   if(!frame->initFrame()) {
+ 
+@@ -426,7 +426,7 @@ bool ScreenCaptureFrame::initFrame()
+         if (about_label)
+ 	{
+ 			
+-	  if(!about_label->LoadFile( wxFileName(wxT("vpc-about.html"))))
++	  if(!about_label->LoadFile( wxFileName(wxT("/usr/share/VPCScreen/vpc-about.html"))))
+ 	  {
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load about information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);
+@@ -441,7 +441,7 @@ bool ScreenCaptureFrame::initFrame()
+ 	   } 
+           
+         help_text = XRCCTRL(*helpdlg,"help_text",wxHtmlWindow);
+-        if (help_text&&!help_text->LoadFile(wxFileName(wxT("vpc-help.html"))))
++        if (help_text&&!help_text->LoadFile(wxFileName(wxT("/usr/share/VPCScreen/vpc-help.html"))))
+ 		{
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load help information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,29 @@
+--- VPCScreen-0.2/VPCScreenCapture.cpp.filepaths	2006-10-10 14:34:06 +1000
++++ VPCScreen-0.2/VPCScreenCapture.cpp	2007-07-27 09:06:37 +1000
+@@ -229,7 +229,7 @@ bool VPCScreenCapture::OnInit()
+   
+   wxImage::AddHandler(new wxGIFHandler);
+   wxXmlResource::Get()->InitAllHandlers();
+-  wxXmlResource::Get()->Load(wxT("VPCScreenCapture.xrc"));
++  wxXmlResource::Get()->Load(wxT("/usr/share/VPCScreen/VPCScreenCapture.xrc"));
+   ScreenCaptureFrame *frame = new ScreenCaptureFrame();
+   if(!frame->initFrame()) {
+ 
+@@ -426,7 +426,7 @@ bool ScreenCaptureFrame::initFrame()
+         if (about_label)
+ 	{
+ 			
+-	  if(!about_label->LoadFile( wxFileName(wxT("vpc-about.html"))))
++	  if(!about_label->LoadFile( wxFileName(wxT("/usr/share/doc/VPCScreen-0.2/vpc-about.html"))))
+ 	  {
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load about information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);
+@@ -441,7 +441,7 @@ bool ScreenCaptureFrame::initFrame()
+ 	   } 
+           
+         help_text = XRCCTRL(*helpdlg,"help_text",wxHtmlWindow);
+-        if (help_text&&!help_text->LoadFile(wxFileName(wxT("vpc-help.html"))))
++        if (help_text&&!help_text->LoadFile(wxFileName(wxT("/usr/share/doc/VPCScreen-0.2/vpc-help.html"))))
+ 		{
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load help information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,122 @@
+--- VPC/SConstruct.scons	2006-08-25 16:23:15 +1000
++++ VPC/SConstruct	2007-07-27 09:06:37 +1000
+@@ -9,6 +9,10 @@ else:
+ opts = Options()
+ opts.Add( PathOption( 'install_prefix', 'Where to install VPMedia files', default_install_prefix ) )
+ 
++opts.Add( 'TOP_DIR',
++	  'For use by RPM only: location of %{_builddir}/%{buildsubdir} during rpmbuild',
++	  "" )
++
+ env = Environment(options = opts)
+ 
+ conf = Configure(env)
+@@ -41,7 +45,17 @@ if sys.platform == 'win32':
+     env['LIBPATH'].append('c:\\lib')
+ 
+ else:
+-    header = 'common/uclconf.h'
++    header = 'common/src/uclconf.h'
++    if not env.has_key('CPPPATH'):
++        env['CPPPATH'] = []
++    if not env.has_key('LIBPATH'):
++        env['LIBPATH'] = []
++
++    env['CPPPATH'].append( env['TOP_DIR'] )
++    env['CPPPATH'].append( env['TOP_DIR'] + '/VPMedia/include' )
++    env['LIBPATH'].append( env['TOP_DIR'] + '/common/src' )
++    env['LIBPATH'].append( env['TOP_DIR'] + '/VPMedia/src' )
++
+ t = conf.CheckLibWithHeader( 'uclmmbase', header, 'C' )
+ if not t:
+ 	print "Failed to link with uclmmbase library, please install libcommon"
+--- VPMedia/include/VPMedia/libcommon.h.scons	2006-06-07 14:35:03 +1000
++++ VPMedia/include/VPMedia/libcommon.h	2007-07-27 09:06:37 +1000
+@@ -7,13 +7,13 @@
+ #endif 
+ 
+ extern "C" {
+-#include <common/config_unix.h>
+-#include <common/config_win32.h>
+-#include <common/debug.h>
+-#include <common/memory.h>
+-#include <common/net_udp.h>
+-#include <common/rtp.h>
+-#include <common/md5.h>
++#include <common/src/config_unix.h>
++#include <common/src/config_win32.h>
++#include <common/src/debug.h>
++#include <common/src/memory.h>
++#include <common/src/net_udp.h>
++#include <common/src/rtp.h>
++#include <common/src/md5.h>
+ };
+ 
+ #endif // LIBCOMMON_H
+--- VPMedia/SConstruct.scons	2006-06-07 14:35:07 +1000
++++ VPMedia/SConstruct	2007-07-27 09:06:37 +1000
+@@ -19,6 +19,10 @@ opts.Add( 'strict',
+           'Set to 1 to enable -Werror command line argument',
+           0 )
+ 
++opts.Add( 'TOP_DIR',
++	  'For use by RPM only: location of %{_builddir}/%{buildsubdir} during rpmbuild',
++	  "" )
++
+ env = Environment( options = opts )
+ 
+ env_lists = [ 'CPPPATH', 'LIBS', 'LIBPATH', 'CFLAGS' ]
+@@ -30,6 +34,9 @@ if sys.platform == 'win32':
+ 	env['CPPPATH'].append( 'c:\\include' )
+ 	env['LIBPATH'].append( 'c:\\lib' )
+ 
++env['CPPPATH'].append( env['TOP_DIR'] )
++env['LIBPATH'].append( env['TOP_DIR'] + '/common/src' )
++
+ env_dicts = [ 'CPPDEFINES' ]
+ for e in env_dicts:
+ 	if not env.has_key(e):
+@@ -77,7 +84,7 @@ if 'configure' in COMMAND_LINE_TARGETS:
+ 	if sys.platform == 'win32':
+ 	    header = 'common/config_win32.h'
+         else:
+-            header = 'common/uclconf.h'
++            header = 'common/src/uclconf.h'
+ 	t = conf.CheckLibWithHeader( 'uclmmbase', header, 'C' )
+ 	if not t:
+ 		print "Failed to link with uclmmbase library, please install libcommon"
+--- VPCScreen-0.2/SConstruct.orig	2006-10-10 10:06:03.000000000 +1000
++++ VPCScreen-0.2/SConstruct	2007-08-09 15:22:19.830914214 +1000
+@@ -14,8 +14,12 @@
+         print "Warning: unknown platform %s, building as linux!" % sys.platform
+         platform = "linux"
+ 
++opts = Options()
++opts.Add( 'TOP_DIR',
++	'For use by RPM only: location of ${builddir} during build',
++	"")
+ 
+-env = Environment()
++env = Environment(options = opts)
+ 
+ for key in [ 'CPPPATH', 'LIBS', 'LIBPATH', 'CXXFLAGS','LINKFLAGS']:
+ 	if not env.has_key(key):	
+@@ -48,11 +52,15 @@
+ 	
+ elif platform=='linux':
+ 	env.ParseConfig('wx-config --cppflags --libs')
+-	env['LIBS'].extend(['X11','Xmu','VPC', 'VPMedia','dv','uclmmbase'])
++	env['LIBS'].extend(['X11','Xmu','VPC', 'VPMedia','uclmmbase'])
+ 	env['LIBPATH'].append('/usr/X11R6/lib')
+ 	env['CXXFLAGS'].extend(['-c', '-g', '-Wall'])
+-
+-
++	env['CPPPATH'].append( env['TOP_DIR'] )
++	env['CPPPATH'].append( env['TOP_DIR'] + '/VPMedia/include' )
++	env['CPPPATH'].append( env['TOP_DIR'] + '/VPC/include' )
++	env['LIBPATH'].append( env['TOP_DIR'] + '/common/src' )
++	env['LIBPATH'].append( env['TOP_DIR'] + '/VPMedia/src' )
++	env['LIBPATH'].append( env['TOP_DIR'] + '/VPC/src' )
+ 
+ 
+ sc = env.Program( 'VPCScreenCapture', source =source_files)

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+--- VPCScreen-0.2/VPCScreenProducerService.py.orig	2006-10-10 13:53:37.000000000 +1000
++++ VPCScreen-0.2/VPCScreenProducerService.py	2007-08-09 16:59:51.445191032 +1000
+@@ -54,7 +54,7 @@
+         else:
+             VPCScreen = "VPCScreenCapture"
+ 
+-        self.executable = os.path.join(os.getcwd(),VPCScreen)
++        self.executable = os.path.join('/usr/bin',VPCScreen)
+ 
+         self.sysConf = SystemConfig.instance()
+ 
+@@ -66,12 +66,12 @@
+         else:
+             encs = VPCScreenProducerService.encodings[:3]
+             
+-        self.encoding = OptionSetParameter( "encoding", encs[0], encs )
++        self.encoding = OptionSetParameter( "encoding", encs[1], encs )
+ 	sizes = VPCScreenProducerService.sizes
+ 	self.size = OptionSetParameter( "size", sizes[0], sizes )
+         self.bandwidth = RangeParameter( "bandwidth", 800, 0, 3072 )
+-        self.framerate = RangeParameter( "framerate", 10, 1, 10 )
+-        self.quality = RangeParameter( "quality", 75, 1, 100 )
++        self.framerate = RangeParameter( "framerate", 16, 1, 24 )
++        self.quality = RangeParameter( "quality", 85, 1, 100 )
+         self.minimized = OptionSetParameter("minimized", 'OFF', ['ON', 'OFF'])
+ 
+         self.configuration.append( self.encoding )

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPMedia-types
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPMedia-types	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/patch-VPMedia-types	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,41 @@
+--- VPMedia/include/VPMedia/VPMedia.h.orig	2006-06-07 14:35:03.000000000 +1000
++++ VPMedia/include/VPMedia/VPMedia.h	2009-05-29 14:58:31.389386293 +1000
+@@ -22,6 +22,7 @@
+ #ifndef VPMEDIA_H
+ #define VPMEDIA_H
+ 
++#include <string.h>
+ #include <VPMedia/VPMedia_config.h>
+ 
+ #ifdef WIN32
+--- VPMedia/include/VPMedia/VPMTypes.h.orig	2006-06-07 14:35:03.000000000 +1000
++++ VPMedia/include/VPMedia/VPMTypes.h	2009-05-29 14:46:02.375577412 +1000
+@@ -12,6 +12,8 @@
+ #else
+ 
+ #include <stdint.h>
++typedef unsigned char u_char;
++typedef unsigned int u_int;
+ 
+ #endif // VPMEDIA_WIN32
+ 
+--- VPC/src/Producer/VPCRTPProducer.cpp.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPC/src/Producer/VPCRTPProducer.cpp	2009-09-02 16:35:56.363050000 +1000
+@@ -12,6 +12,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <stdio.h>
+ #endif 
+ 
+ VPCRTPProducer::VPCRTPProducer( const char *description ) :
+--- VPC/src/Producer/VPCV4LProducer.cpp.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPC/src/Producer/VPCV4LProducer.cpp	2009-09-02 16:43:30.234039000 +1000
+@@ -3,6 +3,7 @@
+ 
+ #include <VPC/VPCDebug.h>
+ 
++#include <stdio.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/u_char-jpegdct_h.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/u_char-jpegdct_h.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/u_char-jpegdct_h.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,12 @@
+--- VPMedia/include/VPMedia/video/mjpeg/jpeg/jpegdct.h.orig	2008-09-16 22:09:30.000000000 +1000
++++ VPMedia/include/VPMedia/video/mjpeg/jpeg/jpegdct.h	2008-09-17 08:38:41.318515000 +1000
+@@ -57,6 +57,9 @@
+ typedef unsigned short u_short;
+ typedef unsigned int u_int;
+ #endif /* WIN32 */
++typedef unsigned char u_char;
++typedef unsigned short u_short;
++typedef unsigned int u_int;
+ 
+ void jpeg_fdct(const u_char* in, int stride, short* out, const float* qt);
+ void jpeg_bv_rdct1(int dc, short* blk, int ac0, u_char* out, int stride);

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-string.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-string.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-string.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,9 @@
+--- VPMedia/include/VPMedia/VPMedia.h.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPMedia/include/VPMedia/VPMedia.h	2008-09-17 08:54:35.870718000 +1000
+@@ -44,4 +44,6 @@
+ 
+ #include <VPMedia/VPMTypes.h>
+ 
++#include <string.h>
++
+ #endif // VPMEDIA_H

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-ttlhack.patch
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-ttlhack.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/patches/vpmedia-ttlhack.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+--- VPMedia/src/VPMSession_net.cpp.orig	2008-09-16 22:09:32.000000000 +1000
++++ VPMedia/src/VPMSession_net.cpp	2010-04-02 01:04:51.718584080 +1000
+@@ -8,14 +8,14 @@
+ 
+ bool VPMSession_net::initialised_global = false;
+ 
+-static const uint16_t DEFAULT_TTL = 16;
++static const uint16_t DEFAULT_TTL = 127;
+ 
+ VPMSession_net::VPMSession_net( const char *_address,
+ 				VPMSessionListener &listener ) :
+   VPMSession( listener ),
+   address( _address ),
+   session( 0 ),
+-  ttl( 16 ),
++  ttl( DEFAULT_TTL ),
+   bandwidth( 64000 ),
+   first_packet_time(0),
+   total_bytes_sent(0),

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,68 @@
+#!/usr/bin/make -f
+
+package = vpcscreen
+version = 0.2
+docdir = debian/tmp/usr/share/doc/$(package)
+pkgdir = debian/tmp
+here=`pwd`
+AGTKDATABASE=/usr/share
+
+
+patched:
+	$(checkdir)
+	cat debian/patches/VPCScreen-0.2-scons.patch |patch -p0
+	cat debian/patches/VPCScreen-0.2-filepaths.patch |patch -p0
+	cat debian/patches/VPCScreen-0.2-64bit.patch |patch -p0
+	cat debian/patches/VPCScreen-0.2-debug.patch |patch -p0
+	cat debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py |patch -p0
+	cat debian/patches/u_char-jpegdct_h.patch |patch -p0
+	cat debian/patches/patch-VPMedia-types |patch -p0
+	cat debian/patches/vpmedia-string.patch |patch -p0
+	cat debian/patches/vpmedia-ttlhack.patch |patch -p0
+	cat debian/patches/VPC-open_mode.patch |patch -p0
+	touch $@
+
+build: patched
+	topdir=$(here) version=$(version) sh debian/buildag.sh
+	touch $@
+
+clean:
+	$(checkdir)
+	rm -f build patched
+	rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars
+
+binary-indep:   checkroot build
+	$(checkdir)
+
+binary-arch:    checkroot build
+	$(checkdir)
+	rm -rf debian/tmp
+	install -d debian/tmp/DEBIAN $(docdir)
+	install -d ${pkgdir}/usr/bin
+	install -d ${pkgdir}/usr/share/VPCScreen
+	install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/NodeServices
+	install -m 0755 -s VPCScreen-${version}/VPCScreenCapture ${pkgdir}/usr/bin/
+	install -m 0644 VPCScreen-${version}/VPCScreenCapture.xrc ${pkgdir}/usr/share/VPCScreen/
+	install -m 0644 VPCScreen-${version}/vpc-help.html ${pkgdir}/usr/share/VPCScreen/
+	install -m 0644 VPCScreen-${version}/vpc-about.html ${pkgdir}/usr/share/VPCScreen/
+	install -m 0644 VPCScreen-${version}/VPCScreenProducerService.zip ${pkgdir}/${AGTKDATABASE}/AccessGrid3/NodeServices/
+
+	cp -p debian/copyright $(docdir)
+	cp -a debian/changelog $(docdir)/changelog.Debian
+	dpkg-shlibdeps debian/tmp/usr/bin/VPCScreenCapture
+	dpkg-gencontrol -isp
+	chown -R root:root debian/tmp
+	chmod -R u+w,go=rX debian/tmp
+	dpkg --build debian/tmp ..
+
+define checkdir
+	test -f common/SConstruct -a -f debian/rules
+endef
+
+binary: binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/karmic/vpcscreen/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/karmic/vpcscreen/vpcscreen.build
===================================================================
--- trunk/packaging/linux/debuntu/karmic/vpcscreen/vpcscreen.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/karmic/vpcscreen/vpcscreen.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=vpcscreen-0.2
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+scrpkg0=vpcscreen-0.2.tar.gz
+
+
+# Load up the default build script
+. ../../vpcscreen.build
+
+


Property changes on: trunk/packaging/linux/debuntu/karmic/vpcscreen/vpcscreen.build
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/packaging/linux/debuntu/lenny/ag-vic/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lenny/ag-vic/debian/changelog	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/lenny/ag-vic/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -1,3 +1,9 @@
+ag-vic2.8ucl (1.4.0r4449) lenny; urgency=low
+
+  * New SVN version (4449)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 20 Jul 2009 22:13:38 +1000
+
 ag-vic2.8ucl (1.4.0r4345) lenny; urgency=low
 
   * New SVN version (4345) - fixes jpeg rendering problem

Modified: trunk/packaging/linux/debuntu/lenny/ag-vic/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lenny/ag-vic/debian/control	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/lenny/ag-vic/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -4,7 +4,7 @@
 Maintainer: Chris Willing <c.willing at uq.edu.au>
 Build-Depends: automake, dpatch, libx11-dev, libxt-dev,
  libssl-dev, libxext-dev, tk-dev, libdv4-dev, yasm,
- subversion
+ subversion, file
 Standards-Version: 3.7.2
 
 Package: ag-vic2.8ucl

Modified: trunk/packaging/linux/debuntu/lenny/ag-vic/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lenny/ag-vic/debian/patches/00list	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/lenny/ag-vic/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -1,5 +1,3 @@
 vic-x264
-vic-mtrace
 vic-render-color-swscale
-vic-video-grabber-video4linux
 

Modified: trunk/packaging/linux/debuntu/lenny/ag-vic/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lenny/ag-vic/debian/rules	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/lenny/ag-vic/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -15,7 +15,7 @@
 build-pkg:
 	$(checkdir)
 	(cd common && autoconf -f && ./configure && make)
-	(cd vic && autoconf -f && ./configure --prefix=/usr --enable-ipv6 --enable-dvdecode --enable-gpl)
+	(cd vic && autoconf -f && LDFLAGS=-L../common/src ./configure --prefix=/usr --enable-ipv6 --enable-dvdecode --enable-gpl)
 	(cd vic/ffmpeg && make)
 	(cd vic && make)
 	touch build $@

Modified: trunk/packaging/linux/debuntu/lenny/aghdvic/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lenny/aghdvic/debian/changelog	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/lenny/aghdvic/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -1,3 +1,10 @@
+aghdvic (0r119-1) lenny; urgency=low
+
+  * New upstream version r119
+  * Use 0.36 for service packages (positionWindow & interlaceType options)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 30 Jun 2009 09:05:46 +1000
+
 aghdvic (0r117-4) lenny; urgency=low
 
   * Include /etc/sysctl.d/60-aghdvic.conf to set network buffer sizes

Modified: trunk/packaging/linux/debuntu/lenny/aghdvic/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lenny/aghdvic/debian/rules	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/lenny/aghdvic/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -4,7 +4,7 @@
 pkgpath = debian/tmp
 docdir = debian/tmp/usr/share/doc/$(package)
 here=`pwd`
-svcsdir = hdvideoservices-0.25.1
+svcsdir = hdvideoservices-0.36
 pkgdir = ${here}/$(pkgpath)
 arch=`uname -m`
 AGTKDATABASE=/etc

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/accessgrid3.2.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/accessgrid3.2.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/accessgrid3.2.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=accessgrid3.2-3.2
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=AccessGrid-3.2-06754.tar.gz
+
+
+# Load up the default build script
+. ../../accessgrid3.2.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/accessgrid3.2.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/buildag.sh
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/buildag.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/buildag.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+#echo "Start build  - BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
+
+echo "BUILDING in here `pwd`"
+
+builddir=${HERE}
+pythonversion=${PYTHONVERSION}
+
+echo "python version is ${pythonversion}"
+sleep 3
+
+cd ${builddir}/AccessGrid/packaging; export AGBUILDROOT=${builddir}; python BuildSnapshot.py --no-checkout --dist=debian --pythonversion=${pythonversion}
+
+
+#echo "End build - CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
+


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/buildag.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,171 @@
+accessgrid3.2 (3.2-0r67543) lucid; urgency=low
+
+  * Test build for Lucid Lynx (no webkit deps for SharedBrowser app.)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 03 Apr 2010 21:52:44 +1000
+
+accessgrid3.2 (3.2-0r67543) karmic; urgency=low
+
+  * Rebuild with agzsi-2.0.r1385
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Mar 2010 13:52:40 +1000
+
+accessgrid3.2 (3.2-0r67542) karmic; urgency=low
+
+  * Fix path for agversion module (thanks to Kevin Cole)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 03 Dec 2009 13:57:53 +1000
+
+accessgrid3.2 (3.2-0r67541) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+  * Include patch to alphabetically order MyVenues menu
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 12:58:11 +1000
+
+accessgrid3.2 (3.2-0r67540) jaunty; urgency=low
+
+  * Use updated svn r6754
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 25 Jun 2009 13:45:10 +1000
+
+accessgrid3.2 (3.2-0r67431) jaunty; urgency=low
+
+  * Use update svn r6735
+  * Patches to fix some language related problems
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Jun 2009 09:04:19 +1000
+
+accessgrid3.2 (3.2-0r67430) jaunty; urgency=low
+
+  * Patches to wrap md5 hash generation to use hashlib module where possible
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 29 Apr 2009 22:33:31 +1000
+
+accessgrid3.2 (3.2-0r67351) jaunty; urgency=low
+
+  * Rebuild for Jaunty Jackalope
+  * Use python-webkit instead of wxMozilla for SharedBrowser
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 16:04:10 +1000
+
+accessgrid3.2 (3.2-0r67351) lenny; urgency=low
+
+  * Add avahi-utils in runtime depends (for ServiceDiscovery)
+  * Re-enable H.264 services
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 31 Mar 2009 08:36:22 +1000
+
+accessgrid3.2 (3.2-0r67350) lenny; urgency=low
+
+  * New 3.2 beta using svn release 6735 (includes dbus/avahi fix)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 27 Mar 2009 13:59:49 +1000
+
+accessgrid3.2 (3.2-0r67233) lenny; urgency=low
+
+  * Add patch for correct output of multicast status to preferences file
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 22 Oct 2008 12:18:24 +1000
+
+accessgrid3.2 (3.2-0r67232) lenny; urgency=low
+
+  * Add (again now that it compiles) vpcscreen as a dependency
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Sep 2008 09:48:47 +1000
+
+accessgrid3.2 (3.2-0r6723) lenny; urgency=low
+
+  * First beta of 3.2 using svn release 6721
+  * Maintain /etc/AccessGrid3 for config files but install.sh ready for
+  *        move to /usr/share/AccessGrid3
+  * Fix agversion patch
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 14:14:44 +1000
+
+accessgrid3.2 (3.2-0r6722) lenny; urgency=low
+
+  * First beta of 3.2 using svn release 6721
+  * Move /etc/AccessGrid3 to /usr/share/AccessGrid3
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 08 Sep 2008 16:09:58 +1000
+
+accessgrid3.2 (3.2-0r6721) lenny; urgency=low
+
+  * First beta of 3.2 using svn release 6721
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 17 Jul 2008 12:43:53 +1000
+
+accessgrid3.2 (3.2-0r6702) lenny; urgency=low
+
+  * Pre-beta of 3.2 using svn release 6702
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 25 Jun 2008 13:10:45 +1000
+
+accessgrid3.1 (3.1-5) lenny; urgency=low
+
+  * Add agvcrlauncher & vpcscreen as dependencies
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 02 May 2008 09:21:18 +1000
+
+accessgrid3.1 (3.1-4) lenny; urgency=low
+
+  * Workaround for video port name probing problem with 64bit python2.4
+  * Restore correct AccessGrid menu location
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 26 Mar 2008 09:34:05 +1000
+
+accessgrid3.1 (3.1-3) lenny; urgency=low
+
+  * New build for lenny, using python-support
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 23 Mar 2008 15:09:10 +1000
+
+accessgrid3.1 (3.1-2) etch; urgency=low
+
+  * Added *H264 services
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 18 Mar 2008 10:51:33 +1000
+
+accessgrid3.1 (3.1-1) etch; urgency=low
+
+  * 3.1 release
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 21 Dec 2007 17:14:45 +1000
+
+accessgrid3.1 (3.1-0cvs20071215-1) etch; urgency=low
+
+  * new 3.1 beta2 snapshot
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 16 Dec 2007 13:26:39 +1000
+
+accessgrid3.1 (3.1-0cvs20071031-2) etch; urgency=low
+
+  * Update vic dependency
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 07 Nov 2007 12:05:20 +1000
+
+accessgrid3.1 (3.1-0cvs20071031-1) etch; urgency=low
+
+  * new 3.1 beta2 snapshot
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 31 Oct 2007 14:57:25 +1000
+
+accessgrid3.1 (3.1-0cvs20071010-2) etch; urgency=low
+
+  * 3.1 beta2 with patch for SharedBrowser
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 11 Oct 2007 14:03:46 +1000
+
+accessgrid3.1 (3.1-0cvs20071010-1) etch; urgency=low
+
+  * Initial release for this snapshot. This is 3.1 beta2
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 10 Oct 2007 12:50:59 +1000
+
+accessgrid3.1 (3.1-0cvs20071005-1) etch; urgency=low
+
+  * Initial release for this snapshot
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 07 Oct 2007 00:29:47 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,28 @@
+Source: accessgrid3.2
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: debhelper (>= 5.0.38), python-support (>= 0.4), dpatch,
+ python-all-dev, python-setuptools, python-agzsi
+XS-Python-Version: 2.4
+Standards-Version: 3.7.2
+
+Package: accessgrid3.2
+Architecture: all
+Depends: ${python:Depends}, python-feedparser,
+ python-zopeinterface, python-twisted-core, python-agzsi,
+ python-bajjer, agcommon,
+ python-wxgtk2.8, python-dbus, python-avahi, avahi-utils,
+ python-m2crypto (>= 0.17), twm, tightvncserver,
+ ag-vic2.8ucl, ag-rat, quickbridge,
+ vpcscreen
+Conflicts: accessgrid, accessgrid3, accessgrid3.1
+Replaces: accessgrid, accessgrid3, accessgrid3.1
+Description: AccessGrid Collaboration Toolkit
+ The Access Grid Toolkit provides the necessary components for
+ users to participate in Access Grid based collaborations,
+ and also for developers to work on network services,
+ applications services and node services to extend the
+ functionality of the Access Grid.
+     This module provides the core components
+ to start participating in the Access Grid.

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Wed, 10 Oct 2007 12:50:59 +1000
+
+It was downloaded from <http://www.vislab.uq.edu.au/ag3/distfiles/AccessGrid-3.1-cvs20071010.tar.gz>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/do_patches
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/do_patches	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/do_patches	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+echo "PATCHING in here `pwd`"
+
+builddir=${HERE}
+
+# Do patches
+#
+cd ${builddir}/AccessGrid || exit 1
+
+cat ${builddir}/debian/patches/patch-AccessGrid-hosting-ZSI-Server.py | patch -p0
+cat ${builddir}/debian/patches/patch-AccessGrid-Platform-unix-Config.py | patch -p0
+cat ${builddir}/debian/patches/patch-packaging-BuildSnapshot.py | patch -p0
+cat ${builddir}/debian/patches/patch-sharedapps-SharedBrowser-SharedBrowser.py | patch -p0
+cat ${builddir}/debian/patches/patch-AccessGrid-packaging-servicesToShip | patch -p0
+
+# Make "auto" default signal type
+#cat ${builddir}/debian/patches/patch-VideoProducerServiceH264.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoProducerService.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoService.py | patch -p0
+
+cat ${builddir}/debian/patches/patch-AudioService.build.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoConsumerService.build.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoProducerService.build.py | patch -p0
+cat ${builddir}/debian/patches/patch-VideoService.build.py | patch -p0
+
+
+cd ${builddir} || exit 1
+
+echo "Done PATCHING"
+


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/do_patches
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/installag.sh
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/installag.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/installag.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+
+prefix=${PREFIX:-/usr}
+name=${NAME:-accessgrid}
+version=${VERSION:-3.2}
+pythonversion=${PYTHONVERSION}
+pkgdir=${PKGDIR:-${HERE}/debian/accessgrid3.2}
+AGTKDATABASE=/usr/share
+#AGTKDATABASE=/etc
+SYSTEMCONFIGBASE=/etc
+
+
+echo " INSTALLING in ${HERE} (= `pwd` ?)"
+echo " PKGDIR = ${pkgdir}"
+echo " PREFIX = ${prefix}"
+builddir=${HERE}
+
+echo "python version is ${pythonversion}"
+sleep 3
+
+#if [ ! -d ${builddir}/dist ]; then mv ${builddir}/dist-* ${builddir}/dist; fi;
+cd ${builddir}/dist-${pythonversion} || exit 1
+
+
+mkdir -p ${pkgdir}/${prefix}/bin
+install -m 0755 ${HERE}/debian/patches/agkill ${pkgdir}/${prefix}/bin
+install -m 0755 bin/* ${pkgdir}/${prefix}/bin
+
+install -d ${pkgdir}/${prefix}/share/python-support/AccessGrid
+cp -R lib/python${pythonversion}/site-packages/* ${pkgdir}/${prefix}/share/python-support/AccessGrid/
+
+rm -rf share/applnk share/gnome
+install -d ${pkgdir}/${prefix}/share
+mkdir -p ${pkgdir}/${prefix}/share/doc/${name}${version}
+cp -R share/doc/AccessGrid/* ${pkgdir}/${prefix}/share/doc/${name}${version}/
+cp ${builddir}/AccessGrid/README ${pkgdir}/${prefix}/share/doc/${name}${version}/
+cp -R share/* ${pkgdir}/${prefix}/share/
+rm -rf ${pkgdir}/${prefix}/share/doc/AccessGrid
+mkdir -p ${pkgdir}/${prefix}/share/${name}${version}
+cp -R share/AccessGrid/* ${pkgdir}/${prefix}/share/${name}${version}/
+rm -rf ${pkgdir}/${prefix}/share/AccessGrid
+cp -R ${builddir}/AccessGrid/packaging/linux/ag-ellipse.png \
+        ${pkgdir}/${prefix}/share/${name}${version}/
+
+install -d ${pkgdir}/${SYSTEMCONFIGBASE}
+cp -R etc/AccessGrid3 ${pkgdir}/${SYSTEMCONFIGBASE}/
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/SharedApplications
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/Services
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/NodeServices
+install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/Plugins
+cp -R SharedApplications ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+cp -R Services ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+cp -R NodeServices ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+cp -R Plugins ${pkgdir}/${AGTKDATABASE}/AccessGrid3/
+
+# Gnome desktop menus
+#
+mkdir -p ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/applications-merged
+cp ${builddir}/AccessGrid/packaging/linux/xdg/AccessGrid3.menu \
+        ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/applications-merged/
+
+# KDE menus
+#
+mkdir -p ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/kde-applications-merged
+cp ${builddir}/AccessGrid/packaging/linux/xdg/AccessGrid3.menu \
+        ${pkgdir}/${SYSTEMCONFIGBASE}/xdg/menus/kde-applications-merged/
+
+mkdir -p ${pkgdir}/${prefix}/share/desktop-directories
+cp ${builddir}/AccessGrid/packaging/linux/xdg/*3*.directory \
+        ${pkgdir}/${prefix}/share/desktop-directories/
+for f in ${pkgdir}/${prefix}/share/desktop-directories/*3* ; do
+  sed -i "/Icon/s/AccessGrid/${name}${version}/g" $f
+done
+mkdir -p ${pkgdir}/${prefix}/share/applications
+cp ${builddir}/AccessGrid/packaging/linux/xdg/*3*.desktop \
+        ${pkgdir}/${prefix}/share/applications/
+for f in ${pkgdir}/${prefix}/share/applications/*3* ; do
+  sed -i "/Icon/s/AccessGrid/${name}${version}/g" $f
+done
+
+#mkdir -p ${pkgdir}/${AGTKDATABASE}/AccessGrid3/PackageCache
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/installag.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,8 @@
+packaging-BuildSnapshot.py
+packaging-agversion.py
+servicesNoBuild
+ZSI-Server.py
+datapath-Configs
+v32servicesH264
+WebkitBrowser
+orderMyVenues

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Platform-unix-Config.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/AccessGrid/Platform/unix/Config.py accessgrid3.1-3.1/AccessGrid/AccessGrid/Platform/unix/Config.py
+--- accessgrid3.1-3.1~/AccessGrid/AccessGrid/Platform/unix/Config.py	2007-07-21 23:36:43.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-03-26 09:24:25.393777245 +1000
+@@ -103,7 +103,7 @@
+             self.docDir = os.path.join(self.GetInstallDir(), "doc")
+         else:
+             self.docDir = os.path.join(self.GetInstallDir(), "share", "doc",
+-                                       "AccessGrid-" + str(GetVersion()))
++                                       "accessgrid" + str(GetVersion()))
+     #    # Check dir and make it if needed.
+     #    if self.initIfNeeded:
+     #        if self.docDir is not None and \


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.old
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Platform-unix-Config.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-04-14 08:37:41.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-09-08 15:51:28.959174311 +1000
+@@ -46,7 +46,7 @@
+     if IsFreeBSD():
+         AGTkBasePath = "/usr/local/etc/AccessGrid3"
+     else:
+-        AGTkBasePath = "/etc/AccessGrid3"
++        AGTkBasePath = "/usr/share/AccessGrid3"
+ 
+     def instance(initIfNeeded=0):
+         if Config.AGTkConfig.theAGTkConfigInstance == None:
+@@ -105,7 +105,7 @@
+             self.docDir = os.path.join(self.GetInstallDir(), "doc")
+         else:
+             self.docDir = os.path.join(self.GetInstallDir(), "share", "doc",
+-                                       "AccessGrid-" + str(GetVersion()))
++                                       "accessgrid" + str(GetVersion()))
+     #    # Check dir and make it if needed.
+     #    if self.initIfNeeded:
+     #        if self.docDir is not None and \


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/Platform-unix-Config.py.dpatch.test
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/SharedBrowser.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/SharedBrowser.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/SharedBrowser.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,83 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## SharedBrowser.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py accessgrid3.1-3.1/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py
+--- accessgrid3.1-3.1~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2007-10-05 23:57:30.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2008-03-23 21:30:40.933265985 +1000
+@@ -21,7 +21,7 @@
+ if sys.platform == Platform.WIN:
+     import wx.lib.iewin as iewin
+ else:
+-    from wxPython.mozilla import *
++    from wx.mozilla import *
+ 
+ 
+ from AccessGrid.SharedAppClient import SharedAppClient
+@@ -116,15 +116,15 @@
+             # wx.EVT_MSHTML_STATUSTEXTCHANGE(self, -1, self.OnStatusTextChange)
+             iewin.EVT_TitleChange(self, -1, self.OnTitleChange)
+         else:
+-            self.wxbrowser = wxMozillaBrowser(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
++            self.wxbrowser = MozillaBrowser(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
+             sizer.Add(self.wxbrowser, 1, wx.EXPAND)
+ 
+             # Hook up the event handlers for the Mozilla window
+-            wx.EVT_MOZILLA_BEFORE_LOAD(self, -1, self.OnBeforeLoad)
+-            wx.EVT_MOZILLA_URL_CHANGED(self, -1, self.UpdateURL)
+-            wx.EVT_MOZILLA_LOAD_COMPLETE(self, -1, self.OnLoadComplete)
+-            wx.EVT_MOZILLA_STATUS_CHANGED(self, -1, self.UpdateStatus)
+-            wx.EVT_MOZILLA_STATE_CHANGED(self, -1, self.UpdateState)
++            EVT_MOZILLA_BEFORE_LOAD(self, -1, self.OnBeforeLoad)
++            EVT_MOZILLA_URL_CHANGED(self, -1, self.UpdateURL)
++            EVT_MOZILLA_LOAD_COMPLETE(self, -1, self.OnLoadComplete)
++            EVT_MOZILLA_STATUS_CHANGED(self, -1, self.UpdateStatus)
++            EVT_MOZILLA_STATE_CHANGED(self, -1, self.UpdateState)
+ 
+         self.SetSizer(sizer)
+         self.SetAutoLayout(1)
+@@ -254,11 +254,11 @@
+ 
+     def UpdateState(self, event):
+         if self.frame:
+-            if (event.GetState() & wxMOZILLA_STATE_START) or (event.GetState() & wxMOZILLA_STATE_TRANSFERRING):
++            if (event.GetState() & MOZILLA_STATE_START) or (event.GetState() & MOZILLA_STATE_TRANSFERRING):
+                 self.frame.SetStatusText("Loading " + event.GetURL() + "...")
+-            elif event.GetState() & wxMOZILLA_STATE_NEGOTIATING:
++            elif event.GetState() & MOZILLA_STATE_NEGOTIATING:
+                 self.frame.SetStatusText("Contacting server...")
+-            elif event.GetState() & wxMOZILLA_STATE_REDIRECTING:
++            elif event.GetState() & MOZILLA_STATE_REDIRECTING:
+                 self.frame.SetStatusText("Redirecting from " + event.GetURL())
+ 
+ 
+@@ -291,7 +291,7 @@
+             if sys.platform == Platform.WIN:
+                 self.wxbrowser.Navigate(url)
+             else:
+-                wx.CallAfter(self.wxbrowser.LoadUrl, url)
++                wx.CallAfter(self.wxbrowser.LoadURL, url)
+ 
+     def OnLocationSelect(self, event):
+         self.LocalEvent()
+@@ -299,7 +299,7 @@
+         if sys.platform == Platform.WIN:
+             self.wxbrowser.Navigate(url)
+         else:
+-            self.wxbrowser.LoadUrl(url)
++            self.wxbrowser.LoadURL(url)
+ 
+     def OnLocationKey(self, event):
+         if event.GetKeyCode() == wx.WXK_RETURN:
+@@ -307,7 +307,7 @@
+             URL = self.location.GetValue()
+             if self.current and self.location.FindString(self.current) == wx.NOT_FOUND:
+                 self.location.Append(self.current)
+-            self.wxbrowser.LoadUrl(URL)
++            self.wxbrowser.LoadURL(URL)
+         else:
+             event.Skip()
+ 


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/SharedBrowser.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/WebkitBrowser.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/WebkitBrowser.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/WebkitBrowser.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,864 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## WebkitBrowser.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py accessgrid3.2-3.2/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py
+--- accessgrid3.2-3.2~/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2008-03-14 16:19:33.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/sharedapps/SharedBrowser/SharedBrowser.py	2009-03-16 09:59:08.045576000 +1000
+@@ -1,348 +1,392 @@
+-#! /usr/bin/python
++#!/usr/bin/python
++#
++# SharedBrowser.py 0.9
++# A Webkit based shared web browser for the Access Grid Toolkit.
++# Copyright (C) 2009 Christoph Willing <c.willing _a_t_ uq.edu.au>.
++# See LICENSE.txt for details.
+ 
+ import os
+ import sys
+-import logging
+-import sys
+ import getopt
++import time
++from gettext import gettext as _
+ 
+-from AccessGrid import Platform
++import agversion
++agversion.select(3)
+ 
+ try:
+-    from twisted.internet import _threadedselect as threadedselectreactor
+-except:
+-    from twisted.internet import threadedselectreactor
++    from twisted.internet import gtk2reactor
++    try:
++        gtk2reactor.install()
++    except Exception, e:
++        print "[*] ERROR: Could not initiate GTK modules: %s" % (e)
++        sys.exit(1)
++    from twisted.internet import reactor
++except ImportError:
++    print "[*] ERROR: Could not import Twisted Network Framework"
++    sys.exit(1)
+ 
+-threadedselectreactor.install()
++import gtk
++import webkit
+ 
+-from twisted.internet import reactor
++from AccessGrid.ClientProfile import ClientProfile
++from AccessGrid.GroupMsgDefines import NotConnectedException
++from AccessGrid.Platform.Config import UserConfig
++from AccessGrid.SharedAppClient import SharedAppClient
++from AccessGrid.Toolkit import CmdlineApplication
+ 
+-import wx
+-if sys.platform == Platform.WIN:
+-    import wx.lib.iewin as iewin
+-else:
+-    from wxPython.mozilla import *
+ 
++class WebToolbar(gtk.Toolbar):
+ 
+-from AccessGrid.SharedAppClient import SharedAppClient
+-from AccessGrid.Platform.Config import UserConfig
+-from AccessGrid.ClientProfile import ClientProfile
+-from AccessGrid import icons
+-from AccessGrid.Toolkit import WXGUIApplication
++    def __init__(self, browser):
++        gtk.Toolbar.__init__(self)
+ 
++        self._browser = browser
+ 
+-class WebBrowser(wx.Panel):
+-    """
+-    WebBrowser is a basic web browser class
+-    """
+-    def __init__(self, parent, id, log, frame = None):
+-        wx.Panel.__init__(self, parent, id)
++        # navigational buttons
++        self._back = gtk.ToolButton(gtk.STOCK_GO_BACK)
++        self._back.set_tooltip(gtk.Tooltips(), _('Back'))
++        self._back.props.sensitive = False
++        self._back.connect('clicked', self._go_back_cb)
++        self.insert(self._back, -1)
+ 
+-        self.log = log
+-        self.current = None
+-        self.populate()
++        self._forward = gtk.ToolButton(gtk.STOCK_GO_FORWARD)
++        self._forward.set_tooltip(gtk.Tooltips(), _('Forward'))
++        self._forward.props.sensitive = False
++        self._forward.connect('clicked', self._go_forward_cb)
++        self.insert(self._forward, -1)
++        self._forward.show()
+ 
+-        self.navigation_callbacks = []
++        self._stop_and_reload = gtk.ToolButton(gtk.STOCK_REFRESH)
++        self._stop_and_reload.set_tooltip(gtk.Tooltips(),
++                                          _('Stop and reload current page'))
++        self._stop_and_reload.connect('clicked', self._stop_and_reload_cb)
++        self.insert(self._stop_and_reload, -1)
++        self._stop_and_reload.show()
++        self._loading = False
+ 
+-        self.frame = frame
+-        if frame is not None:
+-            self.title_base = frame.GetTitle()
++        self.insert(gtk.SeparatorToolItem(), -1)
+ 
+-        self.just_received_navigate = 0
+-        # The document url currently being loaded.
+-        self.docLoading = ""
+-        # Pages whose completion we need to ignore.  This is because
+-        #  the events don't tell us which events are for the main page.
+-        self.ignoreComplete = []
++        # zoom buttons
++        self._zoom_in = gtk.ToolButton(gtk.STOCK_ZOOM_IN)
++        self._zoom_in.set_tooltip(gtk.Tooltips(), _('Zoom in'))
++        self._zoom_in.connect('clicked', self._zoom_in_cb)
++        self.insert(self._zoom_in, -1)
++        self._zoom_in.show()
+ 
++        self._zoom_out = gtk.ToolButton(gtk.STOCK_ZOOM_OUT)
++        self._zoom_out.set_tooltip(gtk.Tooltips(), _('Zoom out'))
++        self._zoom_out.connect('clicked', self._zoom_out_cb)
++        self.insert(self._zoom_out, -1)
++        self._zoom_out.show()
+ 
+-    def add_navigation_callback(self, listener):
+-        self.log.debug("add_navigation_callback")
+-        self.navigation_callbacks.append(listener)
++        self._zoom_hundred = gtk.ToolButton(gtk.STOCK_ZOOM_100)
++        self._zoom_hundred.set_tooltip(gtk.Tooltips(), _('100% zoom'))
++        self._zoom_hundred.connect('clicked', self._zoom_hundred_cb)
++        self.insert(self._zoom_hundred, -1)
++        self._zoom_hundred.show()
+ 
+-    def remove_navigation_callback(self, listener):
+-        self.log.debug("remove_navigation_callback")
+-        self.navigation_callbacks.remove(listener)
++        self.insert(gtk.SeparatorToolItem(), -1)
+ 
+-    def add_button(self, name, func, sizer):
+-        b = wx.Button(self, -1, name)
+-        wx.EVT_BUTTON(self, b.GetId(), func)
+-        sizer.Add(b, 0, wx.EXPAND)
+-        return b
++        # location entry
++        self._entry = gtk.Entry()
++        self._entry.connect('activate', self._entry_activate_cb)
++        self._current_uri = None
+ 
+-    def populate(self):
++        entry_item = gtk.ToolItem()
++        entry_item.set_expand(True)
++        entry_item.add(self._entry)
++        self._entry.show()
+ 
+-        sizer = wx.BoxSizer(wx.VERTICAL)
++        self.insert(entry_item, -1)
++        entry_item.show()
+ 
+-        #
+-        # Create the button bar
+-        #
++        # scale other content besides from text as well
++        self._browser.set_full_content_zoom(True)
+ 
+-        bsizer = wx.BoxSizer(wx.HORIZONTAL)
++        self._browser.connect("title-changed", self._title_changed_cb)
+ 
+-        self.back_button = self.add_button("Back", self.OnBack, bsizer)
+-        self.forward_button = self.add_button("Forward", self.OnForward,
+-                                              bsizer)
+-        if sys.platform == Platform.WIN:
+-            self.home_button = self.add_button("Home", self.OnHome, bsizer)
+-        self.stop_button = self.add_button("Stop", self.OnStop, bsizer)
+-        self.refresh_button = self.add_button("Refresh", self.OnRefresh,
+-                                              bsizer)
++    def set_loading(self, loading):
++        self._loading = loading
+ 
+-        t = wx.StaticText(self, -1, "Location: ")
+-        bsizer.Add(t, 0, wx.EXPAND)
++        if self._loading:
++            self._show_stop_icon()
++            self._stop_and_reload.set_tooltip(gtk.Tooltips(), _('Stop'))
++        else:
++            self._show_reload_icon()
++            self._stop_and_reload.set_tooltip(gtk.Tooltips(), _('Reload'))
++        self._update_navigation_buttons()
+ 
+-        self.location = wx.ComboBox(self, wx.NewId(), "",
+-                                   style=wx.CB_DROPDOWN|wx.PROCESS_ENTER)
+-        wx.EVT_COMBOBOX(self, self.location.GetId(), self.OnLocationSelect)
+-        wx.EVT_KEY_UP(self.location, self.OnLocationKey)
+-        wx.EVT_CHAR(self.location, self.IgnoreReturn)
+-        bsizer.Add(self.location, 1, wx.EXPAND)
++    def massageText(self, text):
++        if text.startswith("http://"):
++            return text
++        return "http://" + text
++    
++    def _set_address(self, address):
++        self._entry.props.text = address
++        self._current_uri = address
+ 
+-        sizer.Add(bsizer, 0, wx.EXPAND)
++    def _update_navigation_buttons(self):
++        can_go_back = self._browser.can_go_back()
++        self._back.props.sensitive = can_go_back
+ 
+-        #
+-        # Now we can set up the browser widget
+-        #
++        can_go_forward = self._browser.can_go_forward()
++        self._forward.props.sensitive = can_go_forward
+ 
+-        if sys.platform == Platform.WIN:
+-            self.wxbrowser = iewin.IEHtmlWindow(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
+-            sizer.Add(self.wxbrowser, 1, wx.EXPAND)
++    def _entry_activate_cb(self, entry):
++        self._browser.open(self.massageText(entry.props.text))
+ 
+-            # Hook up the event handlers for the IE window
+-            iewin.EVT_BeforeNavigate2(self, -1, self.OnBeforeNavigate2)
+-            iewin.EVT_NewWindow2(self, -1, self.OnNewWindow2)
+-            iewin.EVT_DocumentComplete(self, -1, self.OnDocumentComplete)
+-            # wx.EVT_MSHTML_STATUSTEXTCHANGE(self, -1, self.OnStatusTextChange)
+-            iewin.EVT_TitleChange(self, -1, self.OnTitleChange)
++    def _go_back_cb(self, button):
++        self._browser.go_back()
++
++    def _go_forward_cb(self, button):
++        self._browser.go_forward()
++
++    def _title_changed_cb(self, widget, frame, title):
++        self._set_address(frame.get_uri())
++
++    def _stop_and_reload_cb(self, button):
++        if self._loading:
++            self._browser.stop_loading()
+         else:
+-            self.wxbrowser = wxMozillaBrowser(self, -1, style = wx.NO_FULL_REPAINT_ON_RESIZE)
+-            sizer.Add(self.wxbrowser, 1, wx.EXPAND)
++            self._browser.reload()
+ 
+-            # Hook up the event handlers for the Mozilla window
+-            wx.EVT_MOZILLA_BEFORE_LOAD(self, -1, self.OnBeforeLoad)
+-            wx.EVT_MOZILLA_URL_CHANGED(self, -1, self.UpdateURL)
+-            wx.EVT_MOZILLA_LOAD_COMPLETE(self, -1, self.OnLoadComplete)
+-            wx.EVT_MOZILLA_STATUS_CHANGED(self, -1, self.UpdateStatus)
+-            wx.EVT_MOZILLA_STATE_CHANGED(self, -1, self.UpdateState)
++    def _show_stop_icon(self):
++        self._stop_and_reload.set_stock_id(gtk.STOCK_CANCEL)
+ 
+-        self.SetSizer(sizer)
+-        self.SetAutoLayout(1)
+-        self.Layout()
++    def _show_reload_icon(self):
++        self._stop_and_reload.set_stock_id(gtk.STOCK_REFRESH)
+ 
+-    def OnBeforeNavigate2(self, event):
+-        url = event.URL
++    def _zoom_in_cb(self, widget):
++        """Zoom into the page"""
++        self._browser.zoom_in()
+ 
+-        if self.just_received_navigate:
+-            if url != self.docLoading:
+-                message = "OnBeforeNav Skipping "+url+"already loading"+self.docLoading
+-                self.log.debug(message)
+-                # If we get a navigation event while loading, we will ignore
+-                #   the completion since it is from a popup or sub-page.
+-                self.ignoreComplete.append(url)
+-                # Because of popups and lack of complete information from
+-                #   events, we won't reset this (and let the user
+-                #   navigate) until the document is finished loading.
+-                # self.just_received_navigate = 0
+-            else:
+-                pass # Do nothing since we are already loading this url.
+-        else:
+-            # Go to a new url and also send it to the other Shared
+-            #   Browser clients.  The Send is done in IBrowsedCallback.
+-            message = "Before navigate "+url
+-            self.log.debug(message)
+-            self.just_received_navigate = 1
+-            self.docLoading = url
+-            map(lambda a: a(url), self.navigation_callbacks)
++    def _zoom_out_cb(self, widget):
++        """Zoom out of the page"""
++        self._browser.zoom_out()
+ 
+-    # Mozilla event handler
+-    def OnBeforeLoad(self, event):
+-        if not self.just_received_navigate:
+-            # Go to a new url and also send it to the other Shared
+-            #   Browser clients.  The Send is done in IBrowsedCallback.
+-            url = event.GetURL()
+-            message = "Before load "+url
+-            self.log.debug(message)
+-            self.just_received_navigate = 1
+-            self.docLoading = url
+-            map(lambda a: a(url), self.navigation_callbacks)
++    def _zoom_hundred_cb(self, widget):
++        """Zoom 100%"""
++        if not (self._browser.get_zoom_level() == 1.0):
++            self._browser.set_zoom_level(1.0)
+ 
+-    # Mozilla event handler
+-    def UpdateURL(self, event):
+-        url = event.GetNewURL()
+-        self.log.debug("UpdateURL url=" + url)
+-        self.back_button.Enable(event.CanGoBack())
+-        self.forward_button.Enable(event.CanGoForward())
+ 
+-    def OnNewWindow2(self, event):
+-        message = "On new window: " +event.URL
+-        self.log.debug(message)
+-        event.Veto() # don't allow it
++class BrowserPage(webkit.WebView):
+ 
+-    def OnDocumentComplete(self, event):
+-        message = "OnDocumentComplete: " + event.URL
+-        self.log.debug(message)
+-        self.current = event.URL
++    def __init__(self):
++        webkit.WebView.__init__(self)
+ 
+-        # Check if we are finishing the main document or not.
+-        if event.URL not in self.ignoreComplete:
+ 
+-            if event.URL == "about:blank" and self.docLoading != "about:blank":
+-                # This case happens at startup.
+-                self.log.debug("Ignoring DocComplete for first about:blank")
+-            else:
+-                # Finished loading, allow user to click links again now.
+-                #  Needed since there is not enough information in the
+-                #   events to tell if they refer to a popup (and other sub-
+-                #   pages) or a user clicking on a url.
+-                self.log.debug("Finished loading.")
+-                if self.location.FindString(self.current) == wx.NOT_FOUND:
+-                    self.location.Append(self.current)
+-                self.just_received_navigate = 0
+-                self.current = event.URL
+-                self.location.SetValue(self.current)
+-                while len(self.ignoreComplete) > 0:
+-                    self.ignoreComplete.pop()
+-        else:
+-            message = "Ignoring DocComplete for ", event.URL
+-            self.just_received_navigate = 0
+-            self.log.debug(message)
++class WebStatusBar(gtk.Statusbar):
+ 
+-    # Mozilla callback
+-    def OnLoadComplete(self, event):
+-        message = "OnLoadComplete: " + self.wxbrowser.GetURL()
+-        self.log.debug(message)
+-        self.current = self.wxbrowser.GetURL()
++    def __init__(self):
++        gtk.Statusbar.__init__(self)
++        self.iconbox = gtk.EventBox()
++        self.iconbox.add(gtk.image_new_from_stock(gtk.STOCK_INFO,
++                                                  gtk.ICON_SIZE_BUTTON))
++        self.pack_start(self.iconbox, False, False, 6)
++        self.iconbox.hide_all()
+ 
+-        if self.frame:
+-            self.frame.SetStatusText("")
++    def display(self, text, context=None):
++        cid = self.get_context_id("pywebkitgtk")
++        self.push(cid, str(text))
+ 
+-        if self.wxbrowser.GetURL() == "about:blank" and self.docLoading != "about:blank":
+-            # This case happens at startup.
+-            self.log.debug("Ignoring DocComplete for first about:blank")
+-        else:
+-            # Finished loading, allow user to click links again now.
+-            #  Needed since there is not enough information in the
+-            #   events to tell if they refer to a popup (and other sub-
+-            #   pages) or a user clicking on a url.
+-            self.log.debug("Finished loading.")
+-            if self.location.FindString(self.current) == wx.NOT_FOUND:
+-                self.location.Append(self.current)
+-            self.just_received_navigate = 0
+-            self.location.SetValue(self.current)
+-            if self.frame:
+-                self.frame.SetTitle(self.title_base + ' -- ' + self.wxbrowser.GetTitle())
++    def show_javascript_info(self):
++        self.iconbox.show()
+ 
+-    def LocalEvent(self):
+-        # Reset just_received_navigate flag when url is triggered by combobox or buttons.
+-        # Else, the browser may not be able to receive incoming remote events
+-        # from other clients.
+-        self.just_received_navigate = 0
++    def hide_javascript_info(self):
++        self.iconbox.hide()
+ 
+-    def OnTitleChange(self, event):
+-        self.log.debug("titlechange: " + event.GetString())
+-        if self.frame:
+-            self.frame.SetTitle(self.title_base + ' -- ' + event.GetString())
+ 
+-    def OnStatusTextChange(self, event):
+-        if self.frame:
+-            self.frame.SetStatusText(event.URL)
++class WebBrowser(gtk.Window):
+ 
+-    def UpdateStatus(self, event):
+-        if self.frame:
+-            self.frame.SetStatusText(event.GetStatusText())
++    def __init__(self, owner, size=(830,976)):
++        gtk.Window.__init__(self)
+ 
+-    def UpdateState(self, event):
+-        if self.frame:
+-            if (event.GetState() & wxMOZILLA_STATE_START) or (event.GetState() & wxMOZILLA_STATE_TRANSFERRING):
+-                self.frame.SetStatusText("Loading " + event.GetURL() + "...")
+-            elif event.GetState() & wxMOZILLA_STATE_NEGOTIATING:
+-                self.frame.SetStatusText("Contacting server...")
+-            elif event.GetState() & wxMOZILLA_STATE_REDIRECTING:
+-                self.frame.SetStatusText("Redirecting from " + event.GetURL())
++        self.owner = owner
++        self.log = owner.log
++        self.width,self.height = size
++        self.navigation_callbacks = []
++        self.shutdown_callbacks = []
++        self.potential_target_uri = None
+ 
++        self._loading = False
++        self._browser= BrowserPage()
++        self._browser.connect('load-started', self._loading_start_cb)
++        self._browser.connect('navigation-requested',
++                                self._navigation_requested_cb)
++        self._browser.connect('load-progress-changed',
++                              self._loading_progress_cb)
++        self._browser.connect('load-finished', self._loading_stop_cb)
++        self._browser.connect("title-changed", self._title_changed_cb)
++        self._browser.connect("hovering-over-link", self._hover_link_cb)
++        self._browser.connect("status-bar-text-changed",
++                              self._statusbar_text_changed_cb)
++        self._browser.connect("icon-loaded", self._icon_loaded_cb)
++        self._browser.connect("selection-changed", self._selection_changed_cb)
++#        self._browser.connect("set-scroll-adjustments", self._set_scroll_adjustments_cb)
++        self._browser.connect("populate-popup", self._populate_popup)
+ 
+-    def OnBack(self, event):
+-        self.wxbrowser.GoBack()
++        self._browser.connect("console-message",
++                              self._javascript_console_message_cb)
++        self._browser.connect("script-alert",
++                              self._javascript_script_alert_cb)
++        self._browser.connect("script-confirm",
++                              self._javascript_script_confirm_cb)
++        self._browser.connect("script-prompt",
++				self._javascript_script_prompt_cb)
+ 
+-    def OnForward(self, event):
+-        self.wxbrowser.GoForward()
++        self._scrolled_window = gtk.ScrolledWindow()
++        self._scrolled_window.props.hscrollbar_policy = gtk.POLICY_AUTOMATIC
++        self._scrolled_window.props.vscrollbar_policy = gtk.POLICY_AUTOMATIC
++        self._scrolled_window.add(self._browser)
++        self._scrolled_window.show_all()
+ 
+-    def OnStop(self, event):
+-        self.wxbrowser.Stop()
++        self._toolbar = WebToolbar(self._browser)
+ 
+-    def OnHome(self, event):
+-        self.wxbrowser.GoHome()
++        self._statusbar = WebStatusBar()
+ 
+-    def OnRefresh(self, event):
+-        self.LocalEvent()
+-        if sys.platform == Platform.WIN:
+-            self.wxbrowser.RefreshPage(iewin.REFRESH_COMPLETELY)
+-        else:
+-            self.wxbrowser.Reload()
++        vbox = gtk.VBox(spacing=4)
++        vbox.pack_start(self._toolbar, expand=False, fill=False)
++        vbox.pack_start(self._scrolled_window)
++        vbox.pack_end(self._statusbar, expand=False, fill=False)
+ 
+-    def navigate(self, url):
+-        if self.just_received_navigate:
+-            self.log.debug("___cancelled NAVIGATE to "+url)
+-        else:
+-            self.log.debug("NAVIGATE to "+url)
+-            self.just_received_navigate = 1
+-            self.docLoading = url
+-            if sys.platform == Platform.WIN:
+-                self.wxbrowser.Navigate(url)
+-            else:
+-                wx.CallAfter(self.wxbrowser.LoadUrl, url)
++        self.add(vbox)
++        self.set_default_size(self.width, self.height)
+ 
+-    def OnLocationSelect(self, event):
+-        self.LocalEvent()
+-        url = self.location.GetStringSelection()
+-        if sys.platform == Platform.WIN:
+-            self.wxbrowser.Navigate(url)
+-        else:
+-            self.wxbrowser.LoadUrl(url)
++        self.connect('destroy', self._cleanup)
+ 
+-    def OnLocationKey(self, event):
+-        if event.GetKeyCode() == wx.WXK_RETURN:
+-            self.LocalEvent()
+-            URL = self.location.GetValue()
+-            if self.current and self.location.FindString(self.current) == wx.NOT_FOUND:
+-                self.location.Append(self.current)
+-            self.wxbrowser.LoadUrl(URL)
++        startpage = """
++<html><head><title>About SharedBrowser</title></head><body>
++<h1>Welcome to the <code>Access Grid Shared Browser</code></h1>
++<p><a href="http://www.accessgrid.org">Access Grid Homepage</a></p>
++<p><a href="http://www.vislab.uq.edu.au">UQVislab Homepage</a> (where this Shared Browser Application was developed)</p>
++<p>
++<p><a href="http://live.gnome.org/PyWebKitGtk">PyWebKitGtk Homepage</a> (the technology on which this Shared Browser Application is based)</p>
++"""
++
++        self._browser.load_string(startpage, "text/html", "iso-8859-15", "shared browser:")
++
++        self.show_all()
++
++    def _cleanup(self, signal):
++        self.log.info("Cleaning up for SharedBrowser exit")
++        # Should use a shutdown callback but its not working so use this self.owner kludge instead
++        self.owner.LeaveSharedApplication()
++        gtk.main_quit()
++        sys.exit(0)
++
++    def _set_title(self, title):
++        self.props.title = title
++
++    def _loading_start_cb(self, view, frame):
++        main_frame = self._browser.get_main_frame()
++        if frame is main_frame:
++            self._set_title(_("Loading %s - %s") % (frame.get_title(),
++                                                        frame.get_uri()))
++        self._toolbar.set_loading(True)
++
++    def _loading_stop_cb(self, view, frame):
++        # FIXME: another frame may still be loading?
++        self._toolbar.set_loading(False)
++
++    def _loading_progress_cb(self, view, progress):
++        self._set_progress(_("%s%s loaded") % (progress, '%'))
++
++    def _set_progress(self, progress):
++        self._statusbar.display(progress)
++
++    def _title_changed_cb(self, widget, frame, title):
++        self._set_title(_("%s") % title)
++
++    def _hover_link_cb(self, view, title, url):
++        if view and url:
++            self._statusbar.display(url)
+         else:
+-            event.Skip()
++            self._statusbar.display('')
+ 
+-    def IgnoreReturn(self, event):
+-        if event.GetKeyCode() != wx.WXK_RETURN:
+-            event.Skip()
++    def _statusbar_text_changed_cb(self, view, text):
++        #if text:
++        self._statusbar.display(text)
+ 
++    def _icon_loaded_cb(self):
++        self.log.debug("icon loaded")
+ 
+-class SharedBrowser( wx.App ):
++    def _selection_changed_cb(self):
++        self.log.debug("selection changed")
++
++    def _set_scroll_adjustments_cb(self, view, hadjustment, vadjustment):
++        self._scrolled_window.props.hadjustment = hadjustment
++        self._scrolled_window.props.vadjustment = vadjustment
++
++    def _navigation_requested_cb(self, view, frame, networkRequest):
++        new_uri = None
++        new_uri = networkRequest.get_uri()
++        if new_uri:
++            map(lambda a: a(new_uri), self.navigation_callbacks)
++        return 0
++
++    def _javascript_console_message_cb(self, view, message, line, sourceid):
++        self._statusbar.show_javascript_info()
++
++    def _javascript_script_alert_cb(self, view, frame, message):
++        pass
++
++    def _javascript_script_confirm_cb(self, view, frame, message, isConfirmed):
++        pass
++
++    def _javascript_script_prompt_cb(self, view, frame,
++                                     message, default, text):
++        pass
++
++    def _populate_popup(self, view, menu):
++        aboutitem = gtk.MenuItem(label="About PyWebKit")
++        menu.append(aboutitem)
++        aboutitem.connect('activate', self._about_pywebkitgtk_cb)
++        separator = gtk.MenuItem()
++        menu.append(separator)
++        exititem = gtk.MenuItem(label="Exit Browser")
++        menu.append(exititem)
++        exititem.connect('activate', self._cleanup)
++        menu.show_all()
++
++    def _about_pywebkitgtk_cb(self, widget):
++        self._browser.open("http://live.gnome.org/PyWebKitGtk")
++
++    def add_shutdown_callback(self, listener):
++        self.log.debug("add_shutdown_callback")
++        self.shutdown_callbacks.append(listener)
++
++    def add_navigation_callback(self, listener):
++        self.log.debug("add_navigation_callback")
++        self.navigation_callbacks.append(listener)
++
++    def remove_navigation_callback(self, listener):
++        self.log.debug("remove_navigation_callback")
++        self.navigation_callbacks.remove(listener)
++
++    def navigate(self, uri):
++        self._browser.open(uri)
++
++
++
++class SharedBrowser():
+     """
+     SharedBrowser combines a SharedApplication and a WebBrowser
+     to provide shared web browsing to venue users
+     """
+-    def OnInit(self):
+-        return 1
+ 
+-    def OnExit(self):
+-        '''
+-        Shut down shared browser.
+-        '''
+-        self.sharedAppClient.Shutdown()
+-        os._exit(1)
+-
+-    def __init__( self, appUrl, name,size=None):
++    def __init__(self, appUrl, name, size=None):
+         '''
+         Creates the shared application client, used for
+         application service interaction, and opens a web browser
+         for UI display.
+         '''
+-        wx.App.__init__(self, False)
+ 
+-        reactor.interleave(wx.CallAfter)
+         # Create shared application client
+         self.sharedAppClient = SharedAppClient(name)
+         self.log = self.sharedAppClient.InitLogging()
++        self.log.info("Starting up SharedBrowser app")
+ 
+         # Get client profile
+         try:
+@@ -353,23 +397,23 @@
+             clientProfile = None
+ 
+         # Join the application session.
+-        self.sharedAppClient.Join(appUrl, clientProfile)
++        self.appUrl = appUrl
++        self.clientProfile = clientProfile
++        self.JoinSharedApplication()
+ 
+         # Register browse event callback
+         self.sharedAppClient.RegisterEventCallback("browse", self.BrowseCallback )
+ 
+-        # Create Browser Window
+-        self.frame = wx.Frame(None, -1, "SharedBrowser", size=size)
+-        if sys.platform != Platform.WIN:
+-            self.frame.CreateStatusBar()
+-        self.browser = WebBrowser(self.frame, -1, self.log, self.frame)
++        self.browser = WebBrowser(self)
+ 
+         # Add callback for local browsing
+         self.browser.add_navigation_callback( self.IBrowsedCallback )
+ 
++        # Add callback for clean shutdown
++        self.browser.add_shutdown_callback( self.LeaveSharedApplication )
++
+         # Browse to the current url, if exists
+         currentUrl = self.sharedAppClient.GetData("url")
+-
+         if currentUrl and len(currentUrl) > 0:
+             self.browser.navigate(currentUrl)
+             try:
+@@ -377,21 +421,35 @@
+             except:
+                 self.log.exception("SharedBrowser:__init__: Failed to set participant status")
+ 
+-        self.frame.SetIcon(icons.getAGIconIcon())
+-        self.frame.Show(1)
+-        self.SetTopWindow(self.frame)
++        self.sbreactor = reactor.run()
+ 
+ 
+-    def IBrowsedCallback(self,data):
++    def LeaveSharedApplication(self):
++        self.sharedAppClient.Shutdown()
++
++    def JoinSharedApplication(self):
++        try:
++            self.sharedAppClient.Join(self.appUrl, self.clientProfile)
++        except:
++            self.log.exception("SharedBrowser:JoinSharedApplication: Failed to set join shared application")
++
++    def IBrowsedCallback(self, data):
+         '''
+         Callback invoked when local browse events occur.
+         '''
+-        # Send out the event, including our public ID in the message.
+-        publicId = self.sharedAppClient.GetPublicId()
+-        self.sharedAppClient.SendEvent("browse", data)
+         # Store the URL in the application service in the venue
+         self.sharedAppClient.SetData("url", data)
+ 
++        # Send out the event, including our public ID in the message.
++        publicId = self.sharedAppClient.GetPublicId()
++        try:
++            self.sharedAppClient.SendEvent("browse", data)
++        except NotConnectedException:
++            pass
++            # We sometimes see this but joining (again) results in 2 memberships
++            # since the earlier attempt actually suceeded i.e. try doing nothing
++            #self.JoinSharedApplication()
++
+     def BrowseCallback(self, event):
+         """
+         Callback invoked when incoming browse events arrive.  Events
+@@ -402,11 +460,14 @@
+         # Determine if the sender of the event is this component or not.
+         url = event.data
+         senderId = event.GetSenderId()
+-        if senderId == self.sharedAppClient.GetPublicId():
++        myId = self.sharedAppClient.GetPublicId()
++        if senderId == myId:
+             self.log.debug("Ignoring "+ url +" from myself ")
+         else:
+             self.log.debug("Browse to "+ url)
++            self.browser.remove_navigation_callback(self.IBrowsedCallback)
+             self.browser.navigate(url)
++            self.browser.add_navigation_callback( self.IBrowsedCallback )
+ 
+         try:
+             self.sharedAppClient.SetParticipantStatus(url)
+@@ -414,6 +475,7 @@
+             self.log.exception("SharedBrowser:__init__: Failed to set participant status")
+ 
+ 
++
+ class ArgumentManager:
+     def __init__(self):
+         self.arguments = {}
+@@ -437,25 +499,26 @@
+         Handle any arguments we're interested in.
+         """
+         try:
+-            opts, args = getopt.getopt(sys.argv[1:], "a:d:h",
++            opts, args = getopt.getopt(sys.argv[1:], "a:dh",
+                                        ["applicationURL=", "debug", "help"])
+         except getopt.GetoptError:
+             self.Usage()
+             sys.exit(2)
+ 
+         for o, a in opts:
+-            if o in ("-a", "--applicationURL"):
+-                self.arguments["applicationUrl"] = a
+-            elif o in ("-d", "--debug"):
+-                self.arguments["debug"] = 1
+-            elif o in ("-h", "--help"):
+-                self.Usage()
+-                sys.exit(0)
++           if o in ("-a", "--applicationURL"):
++               self.arguments["applicationUrl"] = a
++           elif o in ("-d", "--debug"):
++               self.arguments["debug"] = True
++           elif o in ("-h", "--help"):
++               self.Usage()
++               sys.exit(0)
+ 
+ 
+ if __name__ == "__main__":
+-    app = WXGUIApplication()
++    app = CmdlineApplication()
+     name = "SharedBrowser"
++    init_args = []
+ 
+     # Parse command line options
+     am = ArgumentManager()
+@@ -463,58 +526,13 @@
+     aDict = am.GetArguments()
+ 
+     appUrl = aDict['applicationUrl']
+-    debugMode = aDict['debug']
+ 
+-    init_args = []
+-
+-    if "--debug" in sys.argv or "-d" in sys.argv:
++    if aDict['debug']:
+         init_args.append("--debug")
+-
+     app.Initialize(name, args=init_args)
+ 
+     if not appUrl:
+         am.Usage()
+     else:
+-        wx.InitAllImageHandlers()
+-        sb = SharedBrowser( appUrl, name, size=(800,1024))
+-
+-        sb.MainLoop()
+-
+-    #
+-    # Stress test. Start a client and send events.
+-    #
+-    #import threading
+-    #import time
+-
+-    #browsers = []
+-    #threadList = []
+-    #urls = ["www.oea.se","www.aftonbladet.se", "www.passagen.se"]
+-
+-    #def StartBrowser():
+-    #    sb = SharedBrowser(appUrl, debugMode, logging)
+-    #    browsers.append(sb)
+-    #    sb.MainLoop()
+-
+-    #def SendEvents(sharedAppClient):
+-    #    time.sleep(3)
+-    #    while 1:
+-    #        for url in urls:
+-    #            publicId = sharedAppClient.GetPublicId()
+-    #            sharedAppClient.SendEvent("browse", (publicId, url))
+-    #            sharedAppClient.SetParticipantStatus(url)
+-    #            # Store the URL in the application service in the venue
+-    #            sharedAppClient.SetData("url", url)
+-    #            time.sleep(0.07)
+-
+-    #s = SharedAppClient("SharedAppClientTest")
+-    #s.InitLogging()
+-    #clientProfileFile = os.path.join(GetUserConfigDir(), "profile")
+-    #clientProfile = ClientProfile(clientProfileFile)
+-    #s.Join(appUrl, clientProfile)
+-
+-    #thread = threading.Thread(target = SendEvents, args = [s])
+-    #thread.start()
+-
+-    #StartBrowser()
+-
++        sb = SharedBrowser(appUrl, name, size=(820,980))
+ 


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/WebkitBrowser.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/ZSI-Server.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/ZSI-Server.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/ZSI-Server.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,30 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ZSI-Server.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/AccessGrid/hosting/ZSI/Server.py accessgrid3.1-3.1/AccessGrid/AccessGrid/hosting/ZSI/Server.py
+--- accessgrid3.1-3.1~/AccessGrid/AccessGrid/hosting/ZSI/Server.py	2007-04-27 01:35:09.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/AccessGrid/hosting/ZSI/Server.py	2008-03-23 21:22:48.078319517 +1000
+@@ -21,7 +21,7 @@
+ 
+ from AccessGrid import Log
+ log = Log.GetLogger(Log.Hosting)
+-import select
++import select, socket
+ 
+ def GetSOAPContext():
+     return None
+@@ -67,6 +67,10 @@
+                 r,w,e = select.select([self._server.socket], [], [], pause)
+                 if r:
+                     self._server.handle_request()
++            except socket.error, ex:
++                if ex[0] == 4: # interrupted system call
++                    continue
++                log.exception("Exception in SOAP server main loop")
+             except:
+                 log.exception("Exception in SOAP server main loop")
+                 


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/ZSI-Server.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/agkill
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/agkill	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/agkill	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+
+if [ $# -gt 0 ]; then
+  TARGET=$1
+else
+  TARGET=python
+fi
+echo "Target: ${TARGET}"
+
+for i in `ps alx | grep ${TARGET} | grep -v grep | awk ' $4 == 1 { print $3 }'`
+do
+  echo "kill -HUP $i"
+  kill -KILL $i
+done
+for i in `ps alx | grep ${TARGET} | grep -v grep | awk ' $4 == 1 { print $3 }'`
+do
+  echo "kill -TERM $i"
+  kill -TERM $i
+done
+
+#/usr/bin/setpwc -r
+


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/agkill
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/datapath-Configs.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/datapath-Configs.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/datapath-Configs.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,125 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## datapath-Configs.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py	2008-04-14 08:37:41.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Config.py	2008-09-17 11:16:40.076263840 +1000
+@@ -77,6 +77,7 @@
+     def _Initialize(self):
+         self.GetBaseDir()
+         self.GetInstallDir()
++        self.GetDataDir()
+         self.GetConfigDir()
+         #self.GetDocDir()
+         self.GetSharedAppDir()
+@@ -93,6 +94,7 @@
+         tmpstr = "Access Grid Toolkit Configuration:\n"
+         tmpstr += "Version: %s\n" % self.GetVersion()
+         tmpstr += "InstallDir: %s\n" % self.GetInstallDir()
++        tmpstr += "DataDir: %s\n" % self.GetDataDir()
+         #tmpstr += "DocDir: %s\n" % self.GetDocDir()
+         tmpstr += "ConfigDir: %s\n" % self.GetConfigDir()
+         tmpstr += "SharedAppDir: %s\n" % self.GetSharedAppDir()
+@@ -114,6 +116,9 @@
+     def GetInstallDir(self):
+         raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
++    def GetDataDir(self):
++        raise Exception, "This method is abstract and should be overridden by subclasses."
++
+     #def GetDocDir(self):
+     #    raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
+@@ -133,7 +138,7 @@
+ 
+     def GetSharedAppDir(self):
+         if self.appDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.appDir = os.path.join(ucd, "SharedApplications")
+ 
+         # Check dir and create it if needed.
+@@ -152,7 +157,7 @@
+ 
+     def GetPluginDir(self):
+         if self.pluginDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.pluginDir = os.path.join(ucd, "Plugins")
+             
+         # Check dir and create it if needed.
+@@ -172,7 +177,7 @@
+     def GetNodeServicesDir(self):
+     
+         if self.nodeServicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.nodeServicesDir = os.path.join(ucd, "NodeServices")
+ 
+         # Check dir and create it if needed.
+@@ -214,7 +219,7 @@
+     def GetServicesDir(self):
+     
+         if self.servicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.servicesDir = os.path.join(ucd, "Services")
+ 
+         # Check dir and create it if needed.
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-04-14 08:37:41.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/unix/Config.py	2008-09-17 11:16:40.068290450 +1000
+@@ -48,6 +48,10 @@
+     else:
+         AGTkBasePath = "/etc/AccessGrid3"
+ 
++    # New location for AGTk Services, NodeServices,
++    # SharedApplications & Pluguns directories.
++    AGTkDataPath = "/usr/share/AccessGrid3"
++
+     def instance(initIfNeeded=0):
+         if Config.AGTkConfig.theAGTkConfigInstance == None:
+             AGTkConfig(initIfNeeded)
+@@ -119,6 +123,22 @@
+     #
+         return self.docDir
+ 
++    def GetDataDir(self):
++
++        self.dataDir = self.AGTkDataPath
++
++        # Check dir and make it if needed.
++        if self.initIfNeeded:
++            if self.dataDir is not None and \
++                   not os.path.exists(self.dataDir):
++                os.mkdir(self.dataDir)
++
++        # Check the installation
++        if self.dataDir is not None and not os.path.exists(self.dataDir):
++            raise Exception, "AGTkConfig: data dir does not exist."
++
++        return self.dataDir 
++
+ class UserConfig(Config.UserConfig):
+     """
+     A user config object encapsulates all of the configuration data for
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/win32/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py	2008-07-17 09:58:52.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/win32/Config.py	2008-09-17 11:16:40.065360517 +1000
+@@ -105,6 +105,12 @@
+             raise IOError("AGTkConfig: doc dir does not exist %s."%self.docDir)
+ 
+         return self.docDir
++        
++    def GetDataDir(self):
++        if self.dataDir is None:
++            self.dataDir = self.GetBaseDir()
++            
++        return self.dataDir
+ 
+ class UserConfig(Config.UserConfig):
+     """


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/datapath-Configs.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/mcast_output.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/mcast_output.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/mcast_output.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mcast_output.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/MulticastWatcher.py accessgrid3.2-3.2/AccessGrid/AccessGrid/MulticastWatcher.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/MulticastWatcher.py	2008-03-14 16:20:29.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/MulticastWatcher.py	2008-10-21 10:03:03.853062580 +1000
+@@ -131,7 +131,7 @@
+             self.__Listen()
+             self.sock.close()
+             self.sock = None
+-        return self.mcastStatus.isSet()
++        return int(self.mcastStatus.isSet())
+         
+     def SetHostPort(self,host,port):
+         self.host = host


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/mcast_output.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/orderMyVenues.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/orderMyVenues.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/orderMyVenues.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,56 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## orderMyVenues.dpatch by  <chris at v1>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/VenueClientUI.py accessgrid3.2-3.2/AccessGrid/AccessGrid/VenueClientUI.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/VenueClientUI.py	2009-04-29 05:32:05.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/VenueClientUI.py	2009-09-04 12:14:56.551588288 +1000
+@@ -849,15 +849,16 @@
+         self.myVenuesMenuIds = {}
+         self.myVenuesDict = self.controller.GetMyVenues()
+                    
+-        # Create menu items
++        # Create menu items in alphabetical order
+         for name in self.myVenuesDict.keys():
++            insertPosition = self.__FindMenuInsertPosition(name)
+             ID = wx.NewId()
+             self.myVenuesMenuIds[name] = ID
+             url = self.myVenuesDict[name]
+             text = "Go to: " + url
+-            self.navigation.Insert(self.myVenuesPos,ID, name, text)
++            self.navigation.Insert(insertPosition, ID, name, text)
+             wx.EVT_MENU(self, ID, self.GoToMenuAddressCB)
+-                        
++
+     
+     # Code for displaying the list of configurations in the Configurations menu
+     
+@@ -2696,10 +2697,24 @@
+             MessageDialog(None, "Your connection to the venue is interrupted and you will be removed from the venue.  \nTry to connect again.", 
+                           "Lost Connection")
+ 
++    def __FindMenuInsertPosition(self, name):
++        myVenuesKeyList = []
++        for venueName in self.myVenuesMenuIds.keys():
++            myVenuesKeyList.append(venueName)
++        myVenuesKeyList.sort(lambda x, y: cmp(x.lower(), y.lower()))
++        position = self.myVenuesPos
++        for keyname in myVenuesKeyList:
++            if cmp(name.lower(), keyname.lower()) > 0:
++                position += 1
++            else:
++                break
++        return position
++
+     def AddToMyVenues(self,name,url):
++        insertPosition = self.__FindMenuInsertPosition(name)
+         ID = wx.NewId()
+         text = "Go to: " + url
+-        self.navigation.Insert(self.myVenuesPos,ID, name, text)
++        self.navigation.Insert(insertPosition, ID, name, text)
+         self.myVenuesMenuIds[name] = ID
+         self.myVenuesDict[name] = url
+         wx.EVT_MENU(self, ID, self.GoToMenuAddressCB)


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/orderMyVenues.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,191 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## packaging-BuildSnapshot.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/BuildSnapshot.py accessgrid3.1-3.1/AccessGrid/packaging/BuildSnapshot.py
+--- accessgrid3.1-3.1~/AccessGrid/packaging/BuildSnapshot.py	2007-06-07 01:42:31.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/BuildSnapshot.py	2008-03-23 21:11:22.314791000 +1000
+@@ -95,7 +95,7 @@
+     metainfo = "Snapshot %s" % BuildTime
+ 
+ # Create the dest dir stamped with the same time stamp
+-DestDir = os.path.join(SourceDir, "dist-%s" % BuildTime)
++DestDir = os.path.join(SourceDir, "dist-%s" % options.pyver)
+ 
+ # The directory we're building from
+ if options.nocheckout:
+@@ -213,116 +213,16 @@
+ 
+ os.environ['PYTHONPATH'] = nppath
+ 
+-# Build stuff that needs to be built for modules to work
++# Other modules are built separately
+ os.chdir(StartDir)
+ 
+-buildcmd = "BuildOpenSSL.py"
+-cmd = "%s %s %s" % (sys.executable, buildcmd, DestDir)
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
+-if sys.platform == 'win32':
+-    td = os.getcwd()
+-    os.chdir(os.path.join(BuildDir, "tools"))
+-    cmd = "%s %s" % ("MakeVfwScan.bat", DestDir)
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-    cmd = "%s %s" % ("MakeWdmScan.bat", DestDir)
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-    os.chdir(td)
+-
+-elif sys.platform == 'darwin':
+-    # vic
+-    td = os.getcwd()
+-    os.chdir(os.path.join(BuildDir, "tools"))
+-    cmd = "%s %s" % ("./MakeOsxVGrabberScan.py", os.path.join(DestDir, 'bin') )
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-    os.chdir(td)
+-
+-# Build the UCL common library
+-cmd = "%s %s %s %s" % (sys.executable, "BuildCommon.py", SourceDir, DestDir)
+-print cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
+-
+-# Build the other python modules
+-cmd = "%s %s %s %s %s" % (sys.executable, "BuildPythonModules.py", SourceDir,
+-                          BuildDir, DestDir)
+-if options.verbose:
+-    print "Building python modules with the command:", cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
+ 
+ # put the old python path back
+ if oldpath is not None:
+     os.environ['PYTHONPATH'] = oldpath
+ 
+ 
+-# Build the QuickBridge executable
+-if sys.platform == 'linux2' or sys.platform == 'darwin' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
+-    print "Building QuickBridge"
+-    os.chdir(os.path.join(BuildDir,'services','network','QuickBridge'))
+-    cmd = "gcc -O -o QuickBridge QuickBridge.c"
+-    print "cmd = ", cmd
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-
+-
+-    cmd = "cp QuickBridge %s" % (os.path.join(DestDir,'bin','QuickBridge'))
+-    print "cmd = ", cmd
+-    ret = os.system(cmd)
+-    if ret:
+-        print '%s failed with %d; exiting' % (cmd,ret)
+-        sys.exit(1)
+-elif sys.platform == 'win32':
+-    print "Building QuickBridge"
+-    os.chdir(os.path.join(BuildDir,'services','network','QuickBridge'))
+-
+-    # Find the version of visual studio by peering at cl
+-    (input, outerr) = os.popen4("cl.exe")
+-    usageStr = outerr.readlines()
+-    v = map(int, usageStr[0].split()[7].split('.')[:2])
+-    
+-    v = map(int, usageStr[0].split()[7].split('.')[:2])
+-
+-    proj = None
+-    if v[0] == 12:
+-        print "Please do not use visual studio 6.0 to build QuickBridge"
+-    elif v[0] == 13:
+-        if v[1] == 0:
+-            proj = "QuickBridge.sln"
+-        elif v[1] == 10:
+-            proj = "QuickBridge.2003.sln"
+-
+-    if proj is not None:
+-        os.system("devenv %s /rebuild Release" % proj)
+-
+-    qbexe = os.path.join(os.getcwd(), "Release", "QuickBridge.exe")
+-    destDir = os.path.join(DestDir,'bin','QuickBridge.exe')
+-    cmd = "copy %s %s" % (qbexe, destDir)
+-    print "cmd = ", cmd
+-    os.system(cmd)
+-    
+-
+-
++# Don't build the QuickBridge executable. Its now in a separate "quickbridge" package.
+ 
+ 
+ # Change to packaging dir to build packages
+@@ -365,21 +265,8 @@
+     sys.exit(1)
+ 
+ 
+-# copy media tools to bin directory
+-cmd = '%s %s %s %s'%(sys.executable, 'BuildRat.py', SourceDir, os.path.join(DestDir,"bin"))
+-print "\n ********* cmd = ",cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+-
++# media tools are built separately
+ 
+-cmd = '%s %s %s %s'%(sys.executable, 'BuildVic.py', SourceDir, os.path.join(DestDir,"bin"))
+-print "\n ********* cmd = ",cmd
+-ret = os.system(cmd)
+-if ret:
+-    print '%s failed with %d; exiting' % (cmd,ret)
+-    sys.exit(1)
+ 
+ # Fix shared app *.py files before they're packaged
+ #
+@@ -415,29 +302,6 @@
+ 
+ file_list = os.listdir(SourceDir)
+ 
+-if bdir is not None:
+-    pkg_script = "BuildPackage.py"
+-    NextDir = os.path.join(StartDir, bdir)
+-    if os.path.exists(NextDir):
+-        os.chdir(NextDir)
+-        cmd = "%s %s --verbose -s %s -b %s -d %s -p %s -m %s -v %s" % (sys.executable,
+-                                                                 pkg_script,
+-                                                                 SourceDir,
+-                                                                 BuildDir,
+-                                                                 DestDir,
+-                                                                 options.pyver,
+-                                                                 metainfo.replace(' ', '_'),
+-                                                                 version)
+-        if sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
+-            cmd += ' --dist %s' % (options.dist,)
+-        print "cmd = ", cmd
+-        ret = os.system(cmd)
+-        if ret:
+-            print '%s failed with %d; exiting' % (cmd,ret)
+-            sys.exit(1)
+-    else:
+-        print "No directory (%s) found." % NextDir
+-
+ nfl = os.listdir(SourceDir)
+ for f in file_list:
+     nfl.remove(f)


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-BuildSnapshot.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## packaging-agversion.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py accessgrid3.1-3.1/AccessGrid/packaging/agversion.py
+--- accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py	2006-08-05 02:08:32.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/agversion.py	2008-03-24 14:19:54.752031457 +1000
+@@ -13,7 +13,6 @@
+ 
+ import sys
+ import os
+-from distutils.sysconfig import get_python_lib 
+ 
+ class VersionError(Exception):
+     pass
+@@ -33,7 +32,7 @@
+     elif sys.platform in ['darwin']:
+         installpath = '/Applications/AccessGridToolkit3.app/Contents/Resources/lib/python%s/site-packages/AccessGrid%s' % (sys.version[:3],ver)
+     elif sys.platform in ['linux2','freebsd5','freebsd6']:
+-        installpath = '%s/AccessGrid%s' % (get_python_lib(),ver) 
++        installpath = '%s%s/AccessGrid%s' % ('/usr/lib/pymodules/python', sys.version[:3], ver) 
+ 
+     # confirm that the path exists
+     if not os.path.exists(installpath):


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## packaging-agversion.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py accessgrid3.1-3.1/AccessGrid/packaging/agversion.py
+--- accessgrid3.1-3.1~/AccessGrid/packaging/agversion.py	2006-08-05 02:08:32.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/agversion.py	2008-03-24 14:19:54.752031457 +1000
+@@ -13,7 +13,6 @@
+ 
+ import sys
+ import os
+-from distutils.sysconfig import get_python_lib 
+ 
+ class VersionError(Exception):
+     pass
+@@ -33,7 +32,7 @@
+     elif sys.platform in ['darwin']:
+         installpath = '/Applications/AccessGridToolkit3.app/Contents/Resources/lib/python%s/site-packages/AccessGrid%s' % (sys.version[:3],ver)
+     elif sys.platform in ['linux2','freebsd5','freebsd6']:
+-        installpath = '%s/AccessGrid%s' % (get_python_lib(),ver) 
++        installpath = '%s%s/AccessGrid%s' % ('/var/lib/python-support/python', sys.version[:3], ver) 
+ 
+     # confirm that the path exists
+     if not os.path.exists(installpath):


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/packaging-agversion.py.dpatch.orig
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/patch-add_datadir.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/patch-add_datadir.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/patch-add_datadir.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,123 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ZSI-Server.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Platform/win32/Config.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py	(revision 6726)
++++ accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/win32/Config.py	(working copy)
+@@ -105,6 +105,12 @@
+             raise IOError("AGTkConfig: doc dir does not exist %s."%self.docDir)
+ 
+         return self.docDir
++        
++    def GetDataDir(self):
++        if self.dataDir is None:
++            self.dataDir = self.GetBaseDir()
++            
++        return self.dataDir
+ 
+ class UserConfig(Config.UserConfig):
+     """
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	(revision 6726)
++++ accessgrid3.2-3.2~/AccessGrid/AccessGrid/Platform/unix/Config.py	(working copy)
+@@ -48,6 +48,10 @@
+     else:
+         AGTkBasePath = "/etc/AccessGrid3"
+ 
++    # New location for AGTk Services, NodeServices,
++    # SharedApplications & Pluguns directories.
++    AGTkDataPath = "/usr/share/AccessGrid3"
++
+     def instance(initIfNeeded=0):
+         if Config.AGTkConfig.theAGTkConfigInstance == None:
+             AGTkConfig(initIfNeeded)
+@@ -119,6 +123,22 @@
+     #
+         return self.docDir
+ 
++    def GetDataDir(self):
++
++        self.dataDir = self.AGTkDataPath
++
++        # Check dir and make it if needed.
++        if self.initIfNeeded:
++            if self.dataDir is not None and \
++                   not os.path.exists(self.dataDir):
++                os.mkdir(self.dataDir)
++
++        # Check the installation
++        if self.dataDir is not None and not os.path.exists(self.dataDir):
++            raise Exception, "AGTkConfig: data dir does not exist."
++
++        return self.dataDir 
++
+ class UserConfig(Config.UserConfig):
+     """
+     A user config object encapsulates all of the configuration data for
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py	(revision 6727)
++++ accessgrid3.2-3.2~/AccessGrid/AccessGrid/Config.py	(working copy)
+@@ -77,6 +77,7 @@
+     def _Initialize(self):
+         self.GetBaseDir()
+         self.GetInstallDir()
++        self.GetDataDir()
+         self.GetConfigDir()
+         #self.GetDocDir()
+         self.GetSharedAppDir()
+@@ -93,6 +94,7 @@
+         tmpstr = "Access Grid Toolkit Configuration:\n"
+         tmpstr += "Version: %s\n" % self.GetVersion()
+         tmpstr += "InstallDir: %s\n" % self.GetInstallDir()
++        tmpstr += "DataDir: %s\n" % self.GetDataDir()
+         #tmpstr += "DocDir: %s\n" % self.GetDocDir()
+         tmpstr += "ConfigDir: %s\n" % self.GetConfigDir()
+         tmpstr += "SharedAppDir: %s\n" % self.GetSharedAppDir()
+@@ -114,6 +116,9 @@
+     def GetInstallDir(self):
+         raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
++    def GetDataDir(self):
++        raise Exception, "This method is abstract and should be overridden by subclasses."
++
+     #def GetDocDir(self):
+     #    raise Exception, "This method is abstract and should be overridden by subclasses."
+ 
+@@ -133,7 +138,7 @@
+ 
+     def GetSharedAppDir(self):
+         if self.appDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.appDir = os.path.join(ucd, "SharedApplications")
+ 
+         # Check dir and create it if needed.
+@@ -152,7 +157,7 @@
+ 
+     def GetPluginDir(self):
+         if self.pluginDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.pluginDir = os.path.join(ucd, "Plugins")
+             
+         # Check dir and create it if needed.
+@@ -172,7 +177,7 @@
+     def GetNodeServicesDir(self):
+     
+         if self.nodeServicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.nodeServicesDir = os.path.join(ucd, "NodeServices")
+ 
+         # Check dir and create it if needed.
+@@ -214,7 +219,7 @@
+     def GetServicesDir(self):
+     
+         if self.servicesDir == None:
+-            ucd = self.GetBaseDir()
++            ucd = self.GetDataDir()
+             self.servicesDir = os.path.join(ucd, "Services")
+ 
+         # Check dir and create it if needed.


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/patch-add_datadir.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesH264.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesH264.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesH264.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,1500 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## servicesH264.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip
+--- accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip	2004-05-21 06:57:25.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip	2008-03-23 20:04:04.501138194 +1000
+@@ -2,3 +2,6 @@
+ AudioService
+ VideoProducerService
+ VideoConsumerService
++VideoServiceH264
++VideoProducerServiceH264
++VideoConsumerServiceH264
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.build.py	2008-03-17 14:49:07.000000000 +1000
+@@ -0,0 +1,65 @@
++#!/usr/bin/python2
++#
++# Build vic and copy it to the local dir
++#
++
++import sys, os
++
++SOURCE=sys.argv[1]
++AGDIR=sys.argv[2]
++DEST=sys.argv[3]
++
++# choices: ["openmash", "vic"]
++executableToBuild = "vic"
++
++servicesDir = os.path.join(AGDIR,'services','node')
++
++# Identify platform and set plat-specific bits
++if sys.platform == 'win32':
++    VIC_EXE = 'vic.exe'
++    vicFiles = [VIC_EXE]
++    copyExe = 'copy'
++elif sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
++    VIC_EXE = 'vic'
++    vicFiles = [VIC_EXE]
++    copyExe = 'cp'
++elif sys.platform == 'darwin':
++    if executableToBuild == "vic":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE]
++        copyExe = 'cp -p'
++    elif executableToBuild == "openmash":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE, 'mash', 'mash-5.3beta2']
++        copyExe = 'cp -p'
++else:
++    print "** Error: Unsupported platform by VideoConsumerService: " + sys.platform
++    
++VIC_EXE_PATH = os.path.join(servicesDir,VIC_EXE)
++
++# Build vic if necessary
++needBuild = 0
++for f in vicFiles:
++    if not os.path.exists(os.path.join(servicesDir,f)):
++        needBuild = 1
++        break
++
++needBuild = 0
++if needBuild:
++    # Build vic
++    if executableToBuild == "openmash":
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildMash.py'),
++                                SOURCE, servicesDir)
++    else:
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildVic.py'),
++                                SOURCE, servicesDir)
++    os.system(buildCmd)
++
++# Write the service manifest
++f = open('VideoConsumerServiceH264.manifest','w')
++f.write(VIC_EXE + '\n')
++f.close()
++
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.py	2008-02-29 10:08:59.000000000 +1000
+@@ -0,0 +1,247 @@
++#-----------------------------------------------------------------------------
++# Name:        VideoConsumerServiceH264.py
++# Purpose:
++# Created:     2003/06/02
++# RCS-ID:      $Id: VideoConsumerServiceH264.py,v 1.17 2007/09/12 07:01:56 douglask Exp $
++# Copyright:   (c) 2002
++# Licence:     See COPYING.TXT
++#-----------------------------------------------------------------------------
++import sys, os
++try:    import _winreg
++except: pass
++
++import agversion
++agversion.select(3)
++from AccessGrid import Toolkit
++
++from AccessGrid.Descriptions import Capability
++from AccessGrid.AGService import AGService
++from AccessGrid.AGParameter import ValueParameter, OptionSetParameter, RangeParameter
++from AccessGrid.Platform import IsWindows, IsLinux, IsFreeBSD, IsOSX
++from AccessGrid.Platform.Config import AGTkConfig, UserConfig, SystemConfig
++from AccessGrid.NetworkLocation import MulticastNetworkLocation
++
++class VideoConsumerServiceH264( AGService ):
++
++    tileOptions = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ]
++
++    def __init__( self ):
++        AGService.__init__( self )
++        self.capabilities = [  #Capability( Capability.CONSUMER,
++                               #           Capability.VIDEO,
++                               #           "H261",
++                               #           90000, self.id) ,
++                                Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000, self.id),
++                                Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000, self.id),
++                                Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000, self.id) 
++                                          ]
++
++        if IsWindows():
++            vic = "vic.exe"
++        else:
++            vic = "vic"
++
++        self.executable = os.path.join(os.getcwd(),vic)
++        if not os.path.isfile(self.executable):
++            self.executable = vic
++
++        self.sysConf = SystemConfig.instance()
++
++        self.profile = None
++
++        self.startPriority = '7'
++        self.startPriorityOption.value = self.startPriority
++
++        # Set configuration parameters
++        self.tiles = OptionSetParameter( "Thumbnail Columns", "2", VideoConsumerServiceH264.tileOptions )
++        self.configuration.append( self.tiles )
++
++        if IsWindows():
++            try:
++                import win32api
++
++                # get number of processors
++                systemInfo = win32api.GetSystemInfo()
++                numprocs = systemInfo[5]
++                self.allProcsMask = 2**numprocs-1
++
++                self.procOptions = ['All']
++                for i in range(numprocs):
++                    self.procOptions.append(str(i+1))
++
++                self.processorUsage = OptionSetParameter( "Processor usage", self.procOptions[0], self.procOptions )
++                self.configuration.append( self.processorUsage )
++            except:
++                self.log.exception('Error initializing processor usage options')
++
++
++    def __SetRTPDefaults(self, profile):
++        """
++        Set values used by rat for identification
++        """
++        if profile == None:
++            self.log.exception("Invalid profile (None)")
++            raise Exception, "Can't set RTP Defaults without a valid profile."
++
++        if IsLinux() or IsOSX() or IsFreeBSD():
++            try:
++                rtpDefaultsFile=os.path.join(os.environ["HOME"], ".RTPdefaults")
++                rtpDefaultsText="*rtpName: %s\n*rtpEmail: %s\n*rtpLoc: %s\n*rtpPhone: \
++                                 %s\n*rtpNote: %s\n"
++                rtpDefaultsFH=open( rtpDefaultsFile,"w")
++                rtpDefaultsFH.write( rtpDefaultsText % ( profile.name,
++                                       profile.email,
++                                       profile.location,
++                                       profile.phoneNumber,
++                                       profile.publicId ) )
++                rtpDefaultsFH.close()
++            except:
++                self.log.exception("Error writing RTP defaults file: %s", rtpDefaultsFile)
++
++        elif IsWindows():
++            try:
++                # Set RTP defaults according to the profile
++                k = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                    r"Software\Mbone Applications\common")
++
++                # Vic reads these values (with '*')
++                _winreg.SetValueEx(k, "*rtpName", 0,
++                                   _winreg.REG_SZ, profile.name)
++                _winreg.SetValueEx(k, "*rtpEmail", 0,
++                                   _winreg.REG_SZ, profile.email)
++                _winreg.SetValueEx(k, "*rtpPhone", 0,
++                                   _winreg.REG_SZ, profile.phoneNumber)
++                _winreg.SetValueEx(k, "*rtpLoc", 0,
++                                   _winreg.REG_SZ, profile.location)
++                _winreg.SetValueEx(k, "*rtpNote", 0,
++                                   _winreg.REG_SZ, str(profile.publicId) )
++                _winreg.CloseKey(k)
++            except:
++                self.log.exception("Error writing RTP defaults to registry")
++        else:
++            self.log.error("No support for platform: %s", sys.platform)
++            
++        
++    def Start( self ):
++        """Start service"""
++        try:
++
++            # Set processor affinity (windows only)
++            if IsWindows():
++                try:
++                    if self.processorUsage.value == 'All':
++                        self.log.info('Setting processor affinity to all processors')
++                        SystemConfig.instance().SetProcessorAffinity(self.allProcsMask)
++                    else:
++                        val = 2**(int(self.processorUsage.value)-1)
++                        self.log.info('Ssetting processor affinity : use processor %s', self.processorUsage.value)
++                        SystemConfig.instance().SetProcessorAffinity(int(self.processorUsage.value))
++                except:
++                    self.log.exception("Exception setting processor affinity")
++
++            # Enable firewall
++            self.sysConf.AppFirewallConfig(self.executable, 1)
++
++            # Start the service; in this case, store command line args
++            # in a list and let the superclass _Start the service
++            options = []
++            if self.streamDescription.name and \
++                   len(self.streamDescription.name.strip()) > 0:
++                options.append( "-C" )
++                options.append( self.streamDescription.name )
++            if self.streamDescription.encryptionFlag != 0:
++                options.append( "-K" )
++                options.append( self.streamDescription.encryptionKey )
++            # Check whether the network location has a "type"
++            # attribute Note: this condition is only to maintain
++            # compatibility between older venue servers creating
++            # network locations without this attribute and newer
++            # services relying on the attribute; it should be removed
++            # when the incompatibility is gone
++            if self.streamDescription.location.__dict__.has_key("type"):
++                if self.streamDescription.location.type == MulticastNetworkLocation.TYPE:
++                    options.append( "-t" )
++                    options.append( '%d' % ( self.streamDescription.location.ttl ) )
++
++            # Set name and email on command line, in case rtp defaults
++            # haven't been written (to avoid vic prompting for
++            # name/email)
++            name=email="Participant"
++            if self.profile:
++                name = self.profile.name
++                email = self.profile.email
++            options.append('-XrtpName=%s' % (name,))
++            options.append('-XrtpEmail=%s' % (email,))
++
++            # Set some tk resources to customize vic
++            # - this is a consumer, so disable device selection in vic
++            options.append('-XrecvOnly=1')
++            # - set drop time to something reasonable
++            options.append('-XsiteDropTime=5')
++            # - set vic window geometry
++            options.append('-Xgeometry=500x500')
++            # - set number of columns of thumbnails to display
++            options.append('-Xtile=%s' % self.tiles.value)
++                    
++            # Add address/port options (these must occur last; don't
++            # add options beyond here)
++            options.append( '%s/%d' % (self.streamDescription.location.host,
++                                       self.streamDescription.location.port))
++            self.log.info("Starting VideoConsumerServiceH264")
++            self.log.info(" executable = %s" % self.executable)
++            self.log.info(" options = %s" % options)
++            self._Start( options )
++        except:
++            self.log.exception("Exception in VideoConsumerServiceH264.Start")
++            raise Exception("Failed to start service")
++
++    def Stop( self ):
++        """Stop the service"""
++
++        # vic doesn't die easily (on linux at least), so force it to stop
++        AGService.ForceStop(self)
++
++        # Disable firewall
++        self.sysConf.AppFirewallConfig(self.executable, 0)
++
++    def SetStream( self, streamDescription ):
++        """Configure the Service according to the StreamDescription"""
++
++        ret = AGService.ConfigureStream( self, streamDescription )
++        if ret and self.started:
++            # service is already running with this config; ignore
++            return
++
++        # if started, stop
++        if self.started:
++            self.Stop()
++
++        # if enabled, start
++        if self.enabled:
++            self.Start()
++
++    def SetIdentity(self, profile):
++        """
++        Set the identity of the user driving the node
++        """
++        self.log.info("SetIdentity: %s %s", profile.name, profile.email)
++        self.profile = profile
++        self.__SetRTPDefaults(profile)
++
++if __name__ == '__main__':
++
++    from AccessGrid.interfaces.AGService_interface import AGService as AGServiceI
++    from AccessGrid.AGService import RunService
++
++    service = VideoConsumerServiceH264()
++    serviceI = AGServiceI(service)
++    RunService(service,serviceI)
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerServiceH264/VideoConsumerServiceH264.svc	2008-02-28 07:34:29.000000000 +1000
+@@ -0,0 +1,12 @@
++[ServiceDescription]
++name = VideoConsumerServiceH264
++description = Vic-based video service to receive mpeg4 and h264 video
++capabilities = Capability1
++executable = VideoConsumerServiceH264.py
++platform = neutral
++version = 3.1
++
++[Capability1]
++role = consumer
++type = video
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.build.py	2008-03-17 14:48:40.000000000 +1000
+@@ -0,0 +1,66 @@
++#!/usr/bin/python2
++#
++# Build vic and copy it to the local dir
++#
++
++import sys, os
++
++SOURCE=sys.argv[1]
++AGDIR=sys.argv[2]
++DEST=sys.argv[3]
++
++# choices: ["openmash", "vic"]
++executableToBuild = "vic"
++
++servicesDir = os.path.join(AGDIR,'services','node')
++
++# Identify platform and set plat-specific bits
++if sys.platform == 'win32':
++    VIC_EXE = 'vic.exe'
++    vicFiles = [VIC_EXE]
++    copyExe = 'copy'
++elif sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
++    VIC_EXE = 'vic'
++    vicFiles = [VIC_EXE]
++    copyExe = 'cp'
++elif sys.platform == 'darwin':  
++    if executableToBuild == "vic":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE]
++        copyExe = 'cp -p'
++    elif executableToBuild == "openmash":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE, 'mash', 'mash-5.3beta2']
++        copyExe = 'cp -p'
++else:
++    print "** Error: Unsupported platform: " + sys.platform
++    
++
++VIC_EXE_PATH = os.path.join(servicesDir,VIC_EXE)
++
++# Build vic if necessary
++needBuild = 0
++for f in vicFiles:
++    if not os.path.exists(os.path.join(servicesDir,f)):
++        needBuild = 1
++        break
++
++needBuild = 0
++if needBuild:
++    # Build vic
++    if executableToBuild == "openmash":
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildMash.py'),
++                                SOURCE, servicesDir)
++    else:
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildVic.py'),
++                                SOURCE,servicesDir)
++    os.system(buildCmd)
++
++# Write the service manifest
++f = open('VideoProducerServiceH264.manifest','w')
++f.write(VIC_EXE + '\n')
++f.close()
++
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.py	2008-03-23 19:56:00.000000000 +1000
+@@ -0,0 +1,460 @@
++#-----------------------------------------------------------------------------
++# Name:        VideoProducerServiceH264.py
++# Purpose:
++# Created:     2003/06/02
++# RCS-ID:      $Id: VideoProducerServiceH264.py,v 1.26 2007/10/01 17:28:56 turam Exp $
++# Copyright:   (c) 2002
++# Licence:     See COPYING.TXT
++#-----------------------------------------------------------------------------
++import re
++import sys, os
++
++try:   
++    import _winreg
++except: pass
++
++from AccessGrid import Toolkit
++
++from AccessGrid.Descriptions import Capability, ResourceDescription
++from AccessGrid.AGService import AGService
++from AccessGrid.AGParameter import ValueParameter, OptionSetParameter, RangeParameter, TextParameter
++from AccessGrid.Platform import IsWindows, IsLinux, IsOSX, IsFreeBSD
++from AccessGrid.Platform.Config import AGTkConfig, UserConfig, SystemConfig
++from AccessGrid.NetworkLocation import MulticastNetworkLocation
++
++vicstartup="""option add Vic.disable_autoplace true startupFile
++option add Vic.muteNewSources true startupFile
++option add Vic.maxbw 6144 startupFile
++option add Vic.bandwidth %d startupFile
++option add Vic.framerate %d startupFile
++option add Vic.quality %d startupFile
++option add Vic.defaultFormat %s startupFile
++option add Vic.inputType %s startupFile
++option add Vic.device \"%s\" startupFile
++option add Vic.defaultTTL 127 startupFile
++option add Vic.rtpName \"%s\" startupFile
++option add Vic.rtpEmail \"%s\" startupFile
++proc user_hook {} {
++    global videoDevice inputPort transmitButton transmitButtonState sizeButtons inputSize
++
++    update_note 0 \"%s\"
++
++    after 200 {
++        if { ![winfo exists .menu] } {
++            build.menu
++        }
++ 
++        set inputPort \"%s\"
++        grabber port \"%s\"
++
++        set inputSize %d
++
++        if { [$transmitButton cget -state] != \"disabled\" } {
++            set transmitButtonState 1
++            transmit
++        }
++    }
++}
++"""
++
++class VideoProducerServiceH264( AGService ):
++
++    encodings = [ "mpeg4","h264","h261as" ]
++    standards = [ "NTSC", "PAL", "auto" ]
++    inputsizes = [ "Small", "Normal", "Large" ]
++
++    def __init__( self ):
++        AGService.__init__( self )
++        self.capabilities = [ Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000,self.id),
++                               #Capability( Capability.PRODUCER,
++                               #           Capability.VIDEO,
++                               #           "H261",
++                               #           90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000,self.id)                                          ]
++        
++        if IsWindows():
++            vic = "vic.exe"
++        else:
++            vic = "vic"
++
++        self.executable = os.path.join(os.getcwd(),vic)
++        if not os.path.isfile(self.executable):
++            self.executable = vic
++
++        self.sysConf = SystemConfig.instance()
++
++        self.startPriority = '5'
++        self.startPriorityOption.value = self.startPriority
++
++
++        # Set configuration parameters
++
++        # note: the datatype of the port parameter changes when a resource is set!
++        self.streamname = TextParameter( "Stream Name", "" )
++        self.port = TextParameter( "Port", "" )
++        self.encoding = OptionSetParameter( "Encoding", "mpeg4", VideoProducerServiceH264.encodings )
++        if IsWindows(): 
++            standard = "PAL"
++        else:
++            standard = "auto"
++        self.standard = OptionSetParameter( "Standard", standard, VideoProducerServiceH264.standards )
++        self.bandwidth = RangeParameter( "Bandwidth", 4096, 0, 6144 )
++        self.framerate = RangeParameter( "Frame Rate", 24, 1, 30 )
++        self.quality = RangeParameter( "Quality", 75, 1, 100 )
++        self.inputsize = OptionSetParameter( "Capture Size", "Large", VideoProducerServiceH264.inputsizes  )
++        self.configuration.append( self.streamname )
++        self.configuration.append( self.port )
++        self.configuration.append( self.encoding )
++        self.configuration.append( self.standard )
++        self.configuration.append( self.bandwidth )
++        self.configuration.append( self.framerate )
++        self.configuration.append (self.quality )
++        self.configuration.append (self.inputsize )
++
++        if IsWindows():
++            try:
++                import win32api
++
++                # get number of processors
++                systemInfo = win32api.GetSystemInfo()
++                numprocs = systemInfo[5]
++                self.allProcsMask = 2**numprocs-1
++
++                self.procOptions = ['All']
++                for i in range(numprocs):
++                    self.procOptions.append(str(i+1))
++
++                self.processorUsage = OptionSetParameter( "Processor usage", self.procOptions[0], self.procOptions )
++                self.configuration.append( self.processorUsage )
++            except:
++                self.log.exception('Error initializing processor usage options')
++
++        self.profile = None
++        self.resource = ''
++        
++        self.__GetResources()
++
++    def __SetRTPDefaults(self, profile):
++        """
++        Set values used by rat for identification
++        """
++        if profile == None:
++            self.log.exception("Invalid profile (None)")
++            raise Exception, "Can't set RTP Defaults without a valid profile."
++
++        if IsLinux() or IsOSX() or IsFreeBSD():
++            try:
++                rtpDefaultsFile=os.path.join(os.environ["HOME"], ".RTPdefaults")
++                rtpDefaultsText="*rtpName: %s\n*rtpEmail: %s\n*rtpLoc: %s\n*rtpPhone: \
++                                 %s\n*rtpNote: %s\n"
++                rtpDefaultsFH=open( rtpDefaultsFile,"w")
++                rtpDefaultsFH.write( rtpDefaultsText % ( profile.name,
++                                       profile.email,
++                                       profile.location,
++                                       profile.phoneNumber,
++                                       profile.publicId ) )
++                rtpDefaultsFH.close()
++            except:
++                self.log.exception("Error writing RTP defaults file: %s", rtpDefaultsFile)
++
++        elif IsWindows():
++            try:
++                #
++                # Set RTP defaults according to the profile
++                #
++                k = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                    r"Software\Mbone Applications\common")
++
++                # Vic reads these values (with '*')
++                _winreg.SetValueEx(k, "*rtpName", 0,
++                                   _winreg.REG_SZ, profile.name)
++                _winreg.SetValueEx(k, "*rtpEmail", 0,
++                                   _winreg.REG_SZ, profile.email)
++                _winreg.SetValueEx(k, "*rtpPhone", 0,
++                                   _winreg.REG_SZ, profile.phoneNumber)
++                _winreg.SetValueEx(k, "*rtpLoc", 0,
++                                   _winreg.REG_SZ, profile.location)
++                _winreg.SetValueEx(k, "*rtpNote", 0,
++                                   _winreg.REG_SZ, str(profile.publicId) )
++                _winreg.CloseKey(k)
++            except:
++                self.log.exception("Error writing RTP defaults to registry")
++        else:
++            self.log.error("No support for platform: %s", sys.platform)
++        
++    def MapWinDevice(self,deviceStr):
++        """
++        Abuse registry to get correct mapping from vfw names
++        to video sources
++        """
++        videowidth = 720
++        videoheight = 480
++        
++        self.log.info("Mapping windows device: %s", deviceStr)
++        if deviceStr.find('Videum') >= 0:
++            self.log.info("- videum")
++            devnum = -1
++            videum_re = re.compile(".*(\d)_Videum.*")
++            m = videum_re.search(deviceStr)
++            if m:
++                self.log.info("Found match : %d", int(m.group(1)))
++                devnum = int(m.group(1))
++            else:
++                self.log.info("No match")
++                if deviceStr.startswith('Videum Video Capture'):
++                    self.log.info("is videum video capture")
++                    devnum = 0
++                else:
++                    self.log.info("is not videum video capture")
++
++            self.log.info("Videum device: %d", devnum)
++            if devnum >= 0:
++                # Set the registry
++                keyStr = r"Software\Winnov\Videum\vic.exe%d" % (devnum,)
++                key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                        keyStr)
++                _winreg.SetValueEx(key,'Source',0,_winreg.REG_DWORD,int(devnum))
++                _winreg.SetValueEx(key,'Height',0,_winreg.REG_DWORD,int(videoheight))
++                _winreg.SetValueEx(key,'Width',0,_winreg.REG_DWORD,int(videowidth))
++                _winreg.CloseKey(key)
++                
++
++    def Start( self ):
++        """Start service"""
++        try:
++
++            # Set processor affinity (windows only)
++            if IsWindows():
++                try:
++                    if self.processorUsage.value == 'All':
++                        self.log.info('Setting processor affinity to all processors')
++                        SystemConfig.instance().SetProcessorAffinity(self.allProcsMask)
++                    else:
++                        val = 2**(int(self.processorUsage.value)-1)
++                        self.log.info('Ssetting processor affinity : use processor %s', self.processorUsage.value)
++                        SystemConfig.instance().SetProcessorAffinity(int(self.processorUsage.value))
++                except:
++                    self.log.exception("Exception setting processor affinity")
++            
++            # Enable firewall
++            self.sysConf.AppFirewallConfig(self.executable, 1)
++
++            # Resolve assigned resource to a device understood by vic
++            if self.resource == "None":
++                vicDevice = "None"
++            else:
++                vicDevice = self.resource[0]
++                vicDevice = vicDevice.replace("[","\[")
++                vicDevice = vicDevice.replace("]","\]")
++
++            if IsWindows():
++                try:
++                    self.MapWinDevice(self.resource[0])
++                except:
++                    self.log.exception("Exception mapping device")
++
++
++            #
++            # Write vic startup file
++            #
++            startupfile = os.path.join(UserConfig.instance().GetTempDir(),
++               'VideoProducerServiceH264_%d.vic' % ( os.getpid() ) )
++
++            f = open(startupfile,"w")
++            if self.port.value == '':
++                portstr = "None"
++            else:
++                portstr = self.port.value
++            
++            name=email="Participant"
++            if self.profile:
++                name = self.profile.name
++                email = self.profile.email
++            else:
++                # Error case
++                name = email = Toolkit.GetDefaultSubject().GetCN()
++                self.log.error("Starting service without profile set")
++
++            if self.inputsize.value == "Small":
++                inputsize = 4
++            elif self.inputsize.value == "Normal":
++                inputsize = 2
++            elif self.inputsize.value == "Large":
++                if self.encoding.value == "h261":
++                    self.log.warn("Invalid capture size (large) specified for h261 encoding; defaulting to normal size")
++                    inputsize = 2
++                else:
++                    inputsize = 1
++                
++            f.write( vicstartup % (self.bandwidth.value,
++                                    self.framerate.value,
++                                    self.quality.value,
++                                    self.encoding.value,
++                                    self.standard.value,
++                                    vicDevice,
++                                    "%s(%s)" % (name,self.streamname.value),
++                                    email,
++                                    email,
++                                    portstr,
++                                    portstr,
++                                    inputsize) )
++            f.close()
++            
++            # Open permissions on vic startupfile
++            os.chmod(startupfile,0777)
++
++            # Replace double backslashes in the startupfile name with single
++            #  forward slashes (vic will crash otherwise)
++            if IsWindows():
++                startupfile = startupfile.replace("\\","/")
++            
++            #
++            # Start the service; in this case, store command line args in a list and let
++            # the superclass _Start the service
++            options = []
++            options.append( "-u" )
++            options.append( startupfile )
++            options.append( "-C" )
++            options.append( str(self.streamname.value) )
++            if IsOSX():
++                options.append( "-X")
++                options.append( "transmitOnStartup=1")
++            if self.streamDescription.encryptionFlag != 0:
++                options.append( "-K" )
++                options.append( self.streamDescription.encryptionKey )
++                
++            if self.profile:
++                options.append("-X")
++                options.append("site=%s" % self.profile.publicId)
++                
++            # Check whether the network location has a "type" attribute
++            # Note: this condition is only to maintain compatibility between
++            # older venue servers creating network locations without this attribute
++            # and newer services relying on the attribute; it should be removed
++            # when the incompatibility is gone
++            if self.streamDescription.location.__dict__.has_key("type"):
++                # use TTL from multicast locations only
++                if self.streamDescription.location.type == MulticastNetworkLocation.TYPE:
++                    options.append( "-t" )
++                    options.append( '%d' % (self.streamDescription.location.ttl) )
++            options.append( '%s/%d' % ( self.streamDescription.location.host,
++                                           self.streamDescription.location.port) )
++
++            self.log.info("Starting VideoProducerServiceH264")
++            self.log.info(" executable = %s" % self.executable)
++            self.log.info(" options = %s" % options)
++            self._Start( options )
++            #os.remove(startupfile)
++        except:
++            self.log.exception("Exception in VideoProducerServiceH264.Start")
++            raise Exception("Failed to start service")
++
++    def Stop( self ):
++        """Stop the service"""
++
++        # vic doesn't die easily (on linux at least), so force it to stop
++        AGService.ForceStop(self)
++
++        # Disable firewall
++        self.sysConf.AppFirewallConfig(self.executable, 0)
++
++    def SetStream( self, streamDescription ):
++        """Configure the Service according to the StreamDescription"""
++        self.log.info('SetStream: %s', streamDescription)
++        self.log.info('  enabled: %d', self.enabled)
++
++        ret = AGService.ConfigureStream( self, streamDescription )
++        if ret and self.started:
++            # service is already running with this config; ignore
++            return
++
++        # if started, stop
++        if self.started:
++            self.Stop()
++
++        # if enabled, start
++        if self.enabled:
++            self.Start()
++
++    def GetResource( self ):
++        if self.resource:
++            return ResourceDescription(self.resource[0])
++        else:
++            return ResourceDescription('')
++
++    def SetResource( self, resource ):
++        """Set the resource used by this service"""
++
++        self.log.info("VideoProducerServiceH264.SetResource : %s" % resource.name)
++        for r in self.resources:
++            if r[0].strip() == resource.name:
++                self.resource = r
++
++        # Find the config element that refers to "port"
++        try:
++            index = self.configuration.index(self.port)
++            found = 1
++        except ValueError:
++            found = 0
++
++        # Create the port parameter as an option set parameter, now
++        # that we have multiple possible values for "port"
++        # If self.port is valid, keep it instead of setting the default value.
++        if (( isinstance(self.port, TextParameter) or isinstance(self.port, ValueParameter) ) 
++              and self.port.value != "" and self.port.value in self.resource[1]):
++            self.port = OptionSetParameter( "Port", self.port.value,
++                                                         self.resource[1] )
++        else:
++            self.port = OptionSetParameter( "Port", self.resource[1][0],
++                                                         self.resource[1] )
++
++        self.log.info('port = %s', self.port.value)
++
++        # Replace or append the "port" element
++        if found:
++            self.configuration[index] = self.port
++        else:
++            self.configuration.append(self.port)
++
++        # If the stream name has not been set, set it to the resource name
++        if not self.streamname.value:
++            self.streamname.value = resource.name
++
++    def SetIdentity(self, profile):
++        """
++        Set the identity of the user driving the node
++        """
++        self.log.info("SetIdentity: %s %s", profile.name, profile.email)
++        self.profile = profile
++        self.__SetRTPDefaults(profile)
++        
++    def GetResources(self):
++        ret = map(lambda x: ResourceDescription(x[0]) , self.resources)
++        self.log.info('resources: %s', ret)
++        return ret
++
++    def __GetResources(self):
++        self.resources = SystemConfig.instance().GetResources()
++        return self.resources
++        
++
++
++
++if __name__ == '__main__':
++
++    from AccessGrid.interfaces.AGService_interface import AGService as AGServiceI
++    from AccessGrid.AGService import RunService
++
++    service = VideoProducerServiceH264()
++    serviceI = AGServiceI(service)
++    RunService(service,serviceI)
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerServiceH264/VideoProducerServiceH264.svc	2008-02-29 10:35:20.000000000 +1000
+@@ -0,0 +1,12 @@
++[ServiceDescription]
++name = VideoProducerServiceH264
++description = Vic-based video service using h264 and mpeg4
++capabilities = Capability1
++executable = VideoProducerServiceH264.py
++platform = neutral
++version = 3.11
++
++[Capability1]
++role = producer
++type = video
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.build.py	2008-03-17 14:48:10.000000000 +1000
+@@ -0,0 +1,66 @@
++#!/usr/bin/python2
++#
++# Build vic and copy it to the local dir
++#
++
++import sys, os
++
++SOURCE=sys.argv[1]
++AGDIR=sys.argv[2]
++DEST=sys.argv[3]
++
++# choices: ["openmash", "vic"]
++executableToBuild = "vic"
++
++servicesDir = os.path.join(AGDIR,'services','node')
++
++# Identify platform and set plat-specific bits
++if sys.platform == 'win32':
++    VIC_EXE = 'vic.exe'
++    vicFiles = [VIC_EXE]
++    copyExe = 'copy'
++elif sys.platform == 'linux2' or sys.platform == 'freebsd5' or sys.platform == 'freebsd6':
++    VIC_EXE = 'vic'
++    vicFiles = [VIC_EXE]
++    copyExe = 'cp'
++elif sys.platform == 'darwin':
++    if executableToBuild == "vic":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE]
++        copyExe = 'cp -p'
++    elif executableToBuild == "openmash":
++        VIC_EXE = 'vic'
++        vicFiles = [VIC_EXE, 'mash', 'mash-5.3beta2']
++        copyExe = 'cp -p'
++else:
++    print "** Error: Unsupported platform: " + sys.platform
++    
++
++VIC_EXE_PATH = os.path.join(servicesDir,VIC_EXE)
++
++# Build vic if necessary
++needBuild = 0
++for f in vicFiles:
++    if not os.path.exists(os.path.join(servicesDir,f)):
++        needBuild = 1
++        break
++
++needBuild = 0
++if needBuild:
++    # Build vic
++    if executableToBuild == "openmash":
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildMash.py'),
++                                SOURCE, servicesDir)
++    else:
++        buildCmd = '%s %s %s %s' % (sys.executable,
++                                os.path.join(AGDIR,'packaging','BuildVic.py'),
++                                SOURCE, servicesDir)
++    os.system(buildCmd)
++
++# Write the service manifest
++f = open('VideoServiceH264.manifest','w')
++f.write(VIC_EXE + '\n')
++f.close()
++
++
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.py	2008-03-23 19:52:15.000000000 +1000
+@@ -0,0 +1,503 @@
++#-----------------------------------------------------------------------------
++# Name:        VideoServiceH264.py
++# Purpose:
++# Created:     2003/06/02
++# RCS-ID:      $Id: VideoServiceH264.py,v 1.26 2007/10/01 17:28:56 turam Exp $
++# Copyright:   (c) 2002
++# Licence:     See COPYING.TXT
++#-----------------------------------------------------------------------------
++import re
++import sys, os
++
++try:   
++    import _winreg
++except: pass
++
++from AccessGrid import Toolkit
++
++from AccessGrid.Descriptions import Capability, ResourceDescription
++from AccessGrid.AGService import AGService
++from AccessGrid.AGParameter import ValueParameter, OptionSetParameter, RangeParameter, TextParameter
++from AccessGrid.Platform import IsWindows, IsLinux, IsOSX, IsFreeBSD
++from AccessGrid.Platform.Config import AGTkConfig, UserConfig, SystemConfig
++from AccessGrid.NetworkLocation import MulticastNetworkLocation
++
++vicstartup="""option add Vic.disable_autoplace %s startupFile
++option add Vic.muteNewSources %s startupFile
++option add Vic.maxbw 6144 startupFile
++option add Vic.bandwidth %d startupFile
++option add Vic.framerate %d startupFile
++option add Vic.quality %d startupFile
++option add Vic.defaultFormat %s startupFile
++option add Vic.inputType %s startupFile
++option add Vic.device \"%s\" startupFile
++option add Vic.defaultTTL 127 startupFile
++option add Vic.rtpName \"%s\" startupFile
++option add Vic.rtpEmail \"%s\" startupFile
++proc user_hook {} {
++    global videoDevice inputPort transmitButton transmitButtonState sizeButtons inputSize
++
++    update_note 0 \"%s\"
++
++    after 200 {
++        set transmitOnStartup %s
++
++        if { ![winfo exists .menu] } {
++            build.menu
++        }
++ 
++        set inputPort \"%s\"
++        grabber port \"%s\"
++
++        set inputSize %d
++
++        if { [$transmitButton cget -state] != \"disabled\" } {
++            set transmitButtonState 1
++            transmit
++        }
++    }
++}
++"""
++
++def OnOff(onOffVal):
++    if onOffVal == "On":
++        return "true"
++    elif onOffVal == "Off":
++        return "false"
++    raise Exception,"OnOff value neither On nor Off: %s" % onOffVal
++
++class VideoServiceH264( AGService ):
++
++    encodings = [ "mpeg4","h264","h261as" ]
++    standards = [ "NTSC", "PAL", "auto" ]
++    inputsizes = [ "Small", "Normal", "Large" ]
++    onOffOptions = [ "On", "Off" ]
++    tileOptions = [ '1', '2', '3', '4', '5', '6', '7', '8', '9', '10' ]
++
++    def __init__( self ):
++        AGService.__init__( self )
++        self.capabilities = [ Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "MPEG4",
++                                          90000,self.id),
++                               Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H264",
++                                          90000,self.id),
++                               #Capability( Capability.PRODUCER,
++                               #           Capability.VIDEO,
++                               #           "H261",
++                               #           90000,self.id),
++                               Capability( Capability.CONSUMER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000,self.id),
++                               Capability( Capability.PRODUCER,
++                                          Capability.VIDEO,
++                                          "H261AS",
++                                          90000,self.id)                                          ]
++        
++        if IsWindows():
++            vic = "vic.exe"
++        else:
++            vic = "vic"
++
++        self.executable = os.path.join(os.getcwd(),vic)
++        if not os.path.isfile(self.executable):
++            self.executable = vic
++
++        self.sysConf = SystemConfig.instance()
++
++        self.startPriority = '5'
++        self.startPriorityOption.value = self.startPriority
++
++
++        # Set configuration parameters
++        # note: the datatype of the port parameter changes when a resource is set!
++        #
++        self.streamname = TextParameter( "Stream Name", "" )
++        self.port = TextParameter( "Port", "" )
++        self.encoding = OptionSetParameter( "Encoding", "mpeg4", VideoServiceH264.encodings )
++        if IsWindows(): 
++            standard = "PAL"
++        else:
++            standard = "auto"
++        self.standard = OptionSetParameter( "Standard", standard, VideoServiceH264.standards )
++        self.tiles = OptionSetParameter( "Thumbnail Columns", "4", VideoServiceH264.tileOptions )
++        self.bandwidth = RangeParameter( "Bandwidth", 4096, 0, 6144 )
++        self.framerate = RangeParameter( "Frame Rate", 24, 1, 30 )
++        self.quality = RangeParameter( "Quality", 75, 1, 100 )
++        self.inputsize = OptionSetParameter( "Capture Size", "Large", VideoServiceH264.inputsizes  )
++        self.transmitOnStart = OptionSetParameter( "Transmit on Startup", "On", VideoServiceH264.onOffOptions )
++        self.muteSources = OptionSetParameter( "Mute Sources", "Off", VideoServiceH264.onOffOptions )
++        self.configuration.append( self.streamname )
++        self.configuration.append( self.port )
++        self.configuration.append( self.encoding )
++        self.configuration.append( self.standard )
++        self.configuration.append( self.tiles )
++        self.configuration.append( self.bandwidth )
++        self.configuration.append( self.framerate )
++        self.configuration.append (self.quality )
++        self.configuration.append (self.inputsize )
++        self.configuration.append (self.transmitOnStart )
++        self.configuration.append (self.muteSources )
++
++        if IsWindows():
++            try:
++                import win32api
++
++                # get number of processors
++                systemInfo = win32api.GetSystemInfo()
++                numprocs = systemInfo[5]
++                self.allProcsMask = 2**numprocs-1
++
++                self.procOptions = ['All']
++                for i in range(numprocs):
++                    self.procOptions.append(str(i+1))
++
++                self.processorUsage = OptionSetParameter( "Processor usage", self.procOptions[0], self.procOptions )
++                self.configuration.append( self.processorUsage )
++            except:
++                self.log.exception('Error initializing processor usage options')
++
++        self.profile = None
++        self.resource = ''
++        
++        self.__GetResources()
++
++    def __SetRTPDefaults(self, profile):
++        """
++        Set values used by rat for identification
++        """
++        if profile == None:
++            self.log.exception("Invalid profile (None)")
++            raise Exception, "Can't set RTP Defaults without a valid profile."
++
++        if IsLinux() or IsOSX() or IsFreeBSD():
++            try:
++                rtpDefaultsFile=os.path.join(os.environ["HOME"], ".RTPdefaults")
++                rtpDefaultsText="*rtpName: %s\n*rtpEmail: %s\n*rtpLoc: %s\n*rtpPhone: \
++                                 %s\n*rtpNote: %s\n"
++                rtpDefaultsFH=open( rtpDefaultsFile,"w")
++                rtpDefaultsFH.write( rtpDefaultsText % ( profile.name,
++                                       profile.email,
++                                       profile.location,
++                                       profile.phoneNumber,
++                                       profile.publicId ) )
++                rtpDefaultsFH.close()
++            except:
++                self.log.exception("Error writing RTP defaults file: %s", rtpDefaultsFile)
++
++        elif IsWindows():
++            try:
++                #
++                # Set RTP defaults according to the profile
++                #
++                k = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                    r"Software\Mbone Applications\common")
++
++                # Vic reads these values (with '*')
++                _winreg.SetValueEx(k, "*rtpName", 0,
++                                   _winreg.REG_SZ, profile.name)
++                _winreg.SetValueEx(k, "*rtpEmail", 0,
++                                   _winreg.REG_SZ, profile.email)
++                _winreg.SetValueEx(k, "*rtpPhone", 0,
++                                   _winreg.REG_SZ, profile.phoneNumber)
++                _winreg.SetValueEx(k, "*rtpLoc", 0,
++                                   _winreg.REG_SZ, profile.location)
++                _winreg.SetValueEx(k, "*rtpNote", 0,
++                                   _winreg.REG_SZ, str(profile.publicId) )
++                _winreg.CloseKey(k)
++            except:
++                self.log.exception("Error writing RTP defaults to registry")
++        else:
++            self.log.error("No support for platform: %s", sys.platform)
++        
++    def MapWinDevice(self,deviceStr):
++        """
++        Abuse registry to get correct mapping from vfw names
++        to video sources
++        """
++        videowidth = 720
++        videoheight = 480
++        
++        self.log.info("Mapping windows device: %s", deviceStr)
++        if deviceStr.find('Videum') >= 0:
++            self.log.info("- videum")
++            devnum = -1
++            videum_re = re.compile(".*(\d)_Videum.*")
++            m = videum_re.search(deviceStr)
++            if m:
++                self.log.info("Found match : %d", int(m.group(1)))
++                devnum = int(m.group(1))
++            else:
++                self.log.info("No match")
++                if deviceStr.startswith('Videum Video Capture'):
++                    self.log.info("is videum video capture")
++                    devnum = 0
++                else:
++                    self.log.info("is not videum video capture")
++
++            self.log.info("Videum device: %d", devnum)
++            if devnum >= 0:
++                # Set the registry
++                keyStr = r"Software\Winnov\Videum\vic.exe%d" % (devnum,)
++                key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER,
++                                        keyStr)
++                _winreg.SetValueEx(key,'Source',0,_winreg.REG_DWORD,int(devnum))
++                _winreg.SetValueEx(key,'Height',0,_winreg.REG_DWORD,int(videoheight))
++                _winreg.SetValueEx(key,'Width',0,_winreg.REG_DWORD,int(videowidth))
++                _winreg.CloseKey(key)
++                
++
++    def Start( self ):
++        """Start service"""
++        try:
++
++            # Set processor affinity (windows only)
++            if IsWindows():
++                try:
++                    if self.processorUsage.value == 'All':
++                        self.log.info('Setting processor affinity to all processors')
++                        SystemConfig.instance().SetProcessorAffinity(self.allProcsMask)
++                    else:
++                        val = 2**(int(self.processorUsage.value)-1)
++                        self.log.info('Ssetting processor affinity : use processor %s', self.processorUsage.value)
++                        SystemConfig.instance().SetProcessorAffinity(int(self.processorUsage.value))
++                except:
++                    self.log.exception("Exception setting processor affinity")
++            
++            # Enable firewall
++            self.sysConf.AppFirewallConfig(self.executable, 1)
++
++            # Resolve assigned resource to a device understood by vic
++            if self.resource == "None":
++                vicDevice = "None"
++            else:
++                vicDevice = self.resource[0]
++                vicDevice = vicDevice.replace("[","\[")
++                vicDevice = vicDevice.replace("]","\]")
++
++            if IsWindows():
++                try:
++                    self.MapWinDevice(self.resource[0])
++                except:
++                    self.log.exception("Exception mapping device")
++
++
++            #
++            # Write vic startup file
++            #
++            startupfile = os.path.join(UserConfig.instance().GetTempDir(),
++               'VideoServiceH264%d.vic' % ( os.getpid() ) )
++
++            f = open(startupfile,"w")
++            if self.port.value == '':
++                portstr = "None"
++            else:
++                portstr = self.port.value
++            
++            if self.muteSources.value == "On":
++                # streams are muted, so disable autoplace
++                disableAutoplace = "true"
++            else:
++                # streams are not muted, so don't disable autoplace
++                # (flags should not be negative!)
++                disableAutoplace = "false"
++
++            name=email="Participant"
++            if self.profile:
++                name = self.profile.name
++                email = self.profile.email
++            else:
++                # Error case
++                name = email = Toolkit.GetDefaultSubject().GetCN()
++                self.log.error("Starting service without profile set")
++
++            if self.inputsize.value == "Small":
++                inputsize = 4
++            elif self.inputsize.value == "Normal":
++                inputsize = 2
++            elif self.inputsize.value == "Large":
++                if self.encoding.value == "h261":
++                    self.log.warn("Invalid capture size (large) specified for h261 encoding; defaulting to normal size")
++                    inputsize = 2
++                else:
++                    inputsize = 1
++                
++            f.write( vicstartup % ( disableAutoplace,
++                                    OnOff(self.muteSources.value),
++                                    self.bandwidth.value,
++                                    self.framerate.value,
++                                    self.quality.value,
++                                    self.encoding.value,
++                                    self.standard.value,
++                                    vicDevice,
++                                    "%s(%s)" % (name,self.streamname.value),
++                                    email,
++                                    email,
++                                    OnOff(self.transmitOnStart.value),
++                                    portstr,
++                                    portstr,
++                                    inputsize) )
++            f.close()
++            
++            # Open permissions on vic startupfile
++            os.chmod(startupfile,0777)
++
++            # Replace double backslashes in the startupfile name with single
++            #  forward slashes (vic will crash otherwise)
++            if IsWindows():
++                startupfile = startupfile.replace("\\","/")
++            
++            #
++            # Start the service; in this case, store command line args in a list and let
++            # the superclass _Start the service
++            options = []
++            options.append( "-u" )
++            options.append( startupfile )
++            options.append( "-C" )
++            options.append( str(self.streamname.value) )
++            if IsOSX():
++                options.append( "-X")
++                options.append( "transmitOnStartup=1")
++            if self.streamDescription.encryptionFlag != 0:
++                options.append( "-K" )
++                options.append( self.streamDescription.encryptionKey )
++                
++            if self.profile:
++                options.append("-X")
++                options.append("site=%s" % self.profile.publicId)
++                
++            # Set number of columns to use for thumbnail display
++            options.append("-Xtile=%s" % self.tiles.value)
++
++            # Check whether the network location has a "type" attribute
++            # Note: this condition is only to maintain compatibility between
++            # older venue servers creating network locations without this attribute
++            # and newer services relying on the attribute; it should be removed
++            # when the incompatibility is gone
++            if self.streamDescription.location.__dict__.has_key("type"):
++                # use TTL from multicast locations only
++                if self.streamDescription.location.type == MulticastNetworkLocation.TYPE:
++                    options.append( "-t" )
++                    options.append( '%d' % (self.streamDescription.location.ttl) )
++            options.append( '%s/%d' % ( self.streamDescription.location.host,
++                                           self.streamDescription.location.port) )
++
++            self.log.info("Starting VideoServiceH264")
++            self.log.info(" executable = %s" % self.executable)
++            self.log.info(" options = %s" % options)
++            self._Start( options )
++            #os.remove(startupfile)
++        except:
++            self.log.exception("Exception in VideoServiceH264.Start")
++            raise Exception("Failed to start service")
++
++    def Stop( self ):
++        """Stop the service"""
++
++        # vic doesn't die easily (on linux at least), so force it to stop
++        AGService.ForceStop(self)
++
++        # Disable firewall
++        self.sysConf.AppFirewallConfig(self.executable, 0)
++
++    def SetStream( self, streamDescription ):
++        """Configure the Service according to the StreamDescription"""
++        self.log.info('SetStream: %s', streamDescription)
++        self.log.info('  enabled: %d', self.enabled)
++
++        ret = AGService.ConfigureStream( self, streamDescription )
++        if ret and self.started:
++            # service is already running with this config; ignore
++            return
++
++        # if started, stop
++        if self.started:
++            self.Stop()
++
++        # if enabled, start
++        if self.enabled:
++            self.Start()
++
++    def GetResource( self ):
++        if self.resource:
++            return ResourceDescription(self.resource[0])
++        else:
++            return ResourceDescription('')
++
++    def SetResource( self, resource ):
++        """Set the resource used by this service"""
++
++        self.log.info("VideoServiceH264.SetResource : %s" % resource.name)
++        for r in self.resources:
++            if r[0].strip() == resource.name:
++                self.resource = r
++
++        # Find the config element that refers to "port"
++        try:
++            index = self.configuration.index(self.port)
++            found = 1
++        except ValueError:
++            found = 0
++
++        # Create the port parameter as an option set parameter, now
++        # that we have multiple possible values for "port"
++        # If self.port is valid, keep it instead of setting the default value.
++        if (( isinstance(self.port, TextParameter) or isinstance(self.port, ValueParameter) ) 
++              and self.port.value != "" and self.port.value in self.resource[1]):
++            self.port = OptionSetParameter( "Port", self.port.value,
++                                                         self.resource[1] )
++        else:
++            self.port = OptionSetParameter( "Port", self.resource[1][0],
++                                                         self.resource[1] )
++
++        self.log.info('port = %s', self.port.value)
++
++        # Replace or append the "port" element
++        if found:
++            self.configuration[index] = self.port
++        else:
++            self.configuration.append(self.port)
++
++        # If the stream name has not been set, set it to the resource name
++        if not self.streamname.value:
++            self.streamname.value = resource.name
++
++    def SetIdentity(self, profile):
++        """
++        Set the identity of the user driving the node
++        """
++        self.log.info("SetIdentity: %s %s", profile.name, profile.email)
++        self.profile = profile
++        self.__SetRTPDefaults(profile)
++        
++    def GetResources(self):
++        ret = map(lambda x: ResourceDescription(x[0]) , self.resources)
++        self.log.info('resources: %s', ret)
++        return ret
++
++    def __GetResources(self):
++        self.resources = SystemConfig.instance().GetResources()
++        return self.resources
++        
++
++
++
++if __name__ == '__main__':
++
++    from AccessGrid.interfaces.AGService_interface import AGService as AGServiceI
++    from AccessGrid.AGService import RunService
++
++    service = VideoServiceH264()
++    serviceI = AGServiceI(service)
++    RunService(service,serviceI)
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc	1970-01-01 10:00:00.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoServiceH264/VideoServiceH264.svc	2008-03-17 10:33:39.000000000 +1000
+@@ -0,0 +1,16 @@
++[ServiceDescription]
++name = VideoServiceH264
++description = Vic-based video service using h264 and mpeg4
++capabilities = Capability1 Capability2
++executable = VideoServiceH264.py
++platform = neutral
++version = 3.11
++
++[Capability1]
++role = producer
++type = video
++
++[Capability2]
++role = consumer
++type = video
++


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesH264.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesNoBuild.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesNoBuild.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesNoBuild.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,51 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## servicesNoBuild.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/AudioService/AudioService.build.py accessgrid3.1-3.1/AccessGrid/services/node/AudioService/AudioService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/AudioService/AudioService.build.py	2007-06-13 07:43:14.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/AudioService/AudioService.build.py	2008-03-23 21:48:30.234201972 +1000
+@@ -43,6 +43,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ # Build rat if necessary
+ if needBuild:
+     print "source dist = ", SOURCE, DEST
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py	2006-05-10 11:35:39.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoConsumerService/VideoConsumerService.build.py	2008-03-23 21:49:53.878968614 +1000
+@@ -44,6 +44,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ if needBuild:
+     # Build vic
+     if executableToBuild == "openmash":
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py	2006-05-12 10:49:05.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoProducerService/VideoProducerService.build.py	2008-03-23 21:49:27.273452453 +1000
+@@ -45,6 +45,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ if needBuild:
+     # Build vic
+     if executableToBuild == "openmash":
+diff -urNad accessgrid3.1-3.1~/AccessGrid/services/node/VideoService/VideoService.build.py accessgrid3.1-3.1/AccessGrid/services/node/VideoService/VideoService.build.py
+--- accessgrid3.1-3.1~/AccessGrid/services/node/VideoService/VideoService.build.py	2006-05-10 11:35:40.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/services/node/VideoService/VideoService.build.py	2008-03-23 21:49:03.996125954 +1000
+@@ -45,6 +45,7 @@
+         needBuild = 1
+         break
+ 
++needBuild = 0
+ if needBuild:
+     # Build vic
+     if executableToBuild == "openmash":


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/servicesNoBuild.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## tests-VenueServerTest.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/AccessGrid/tests/VenueServerTest.py accessgrid3.1-3.1/AccessGrid/AccessGrid/tests/VenueServerTest.py
+--- accessgrid3.1-3.1~/AccessGrid/AccessGrid/tests/VenueServerTest.py	2006-08-30 18:23:39.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/AccessGrid/tests/VenueServerTest.py	2008-03-24 13:46:25.453528062 +1000
+@@ -98,7 +98,7 @@
+         # Set Static Video
+         venue.streams = []
+         svml = MulticastNetworkLocation("224.2.2.2", 24000, 127)
+-        staticVideoCap = Capability3.PRODUCER, Capability3.VIDEO)
++        staticVideoCap = Capability3(Capability3.PRODUCER, Capability3.VIDEO)
+         venue.streams.append(StreamDescription3("Static Video",
+                                                svml, staticVideoCap,
+                                                0, None, 1))


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/tests-VenueServerTest.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/toolkit-language.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/toolkit-language.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/toolkit-language.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## toolkit-language.dpatch by Christoph Willing <c.willing at uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.2-3.2~/AccessGrid/AccessGrid/Toolkit.py accessgrid3.2-3.2/AccessGrid/AccessGrid/Toolkit.py
+--- accessgrid3.2-3.2~/AccessGrid/AccessGrid/Toolkit.py	2009-04-29 05:32:06.000000000 +1000
++++ accessgrid3.2-3.2/AccessGrid/AccessGrid/Toolkit.py	2009-06-15 23:24:02.759280305 +1000
+@@ -601,6 +601,7 @@
+ 
+         return AppBase.instance()
+       
++    os.environ['LANG'] = "C"
+     instance = staticmethod(instance)
+     
+     def __init__(self):


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/toolkit-language.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/v32servicesH264.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/v32servicesH264.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/v32servicesH264.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## servicesH264.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip
+--- accessgrid3.1-3.1~/AccessGrid/packaging/servicesToShip	2004-05-21 06:57:25.000000000 +1000
++++ accessgrid3.1-3.1/AccessGrid/packaging/servicesToShip	2008-03-23 20:04:04.501138194 +1000
+@@ -2,3 +2,6 @@
+ AudioService
+ VideoProducerService
+ VideoConsumerService
++VideoServiceH264
++VideoProducerServiceH264
++VideoConsumerServiceH264


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/patches/v32servicesH264.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+
+set -e
+
+case "$1" in
+	configure)
+		/usr/sbin/update-python-modules -f
+		if [ -x /usr/bin/agpm3.py ]; then
+		  echo "POSTINST: agpm3.py --post-install" >&2
+		  su -c "/usr/bin/agpm3.py --post-install"
+		fi
+	;;
+	*)
+		echo "POSTINST called with argument: $1" >&2
+	;;
+esac
+
+exit 0
+

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postrm
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postrm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/postrm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e 
+
+####/usr/sbin/update-python-modules -f
+
+case "$1" in
+	purge)
+		[ -d /usr/share/AccessGrid3 ] && {
+			echo "Deleting any unremoved files/directories from /usr/share/AccessGrid3" >&2
+			rm -rf /usr/share/AccessGrid3
+		}
+		[ -d /etc/AccessGrid3 ] && {
+			echo "Deleting any unremoved files/directories from /etc/AccessGrid3" >&2
+			rm -rf /etc/AccessGrid3
+		}
+	;;
+	*)
+		echo "POSTRM called with argument: $1" >&2
+	;;
+esac
+
+exit 0
+

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/pyversions
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/pyversions	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/pyversions	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2.4-

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,60 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpatch/dpatch.make
+
+package = accessgrid3.2
+pkgpath = debian/${package}
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+pythonversion="2.6"
+
+
+
+build: build-stamp
+
+build-stamp: patch-stamp
+	$(checkdir)
+	( export AGBUILDROOT=$(here) && \
+	cd AccessGrid/packaging && \
+	python ./BuildSnapshot.py --no-checkout --dist=debian --pythonversion=${pythonversion} )
+	touch build-stamp
+
+clean:	unpatch
+	dh_testdir
+	rm -f build-stamp
+	dh_clean
+
+binary-indep:	build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	install -d $(pkgpath)/DEBIAN $(docdir)
+
+	HERE=$(here) PKGDIR=$(pkgdir) PYTHONVERSION=${pythonversion} debian/installag.sh
+
+	dh_pysupport
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+
+
+binary-arch:	build
+
+
+define checkdir
+	test -f AccessGrid/AccessGrid/Toolkit.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules.old
===================================================================
--- trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,59 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+export DH_PYCENTRAL=nomove
+
+# all versions
+PYVERS  := $(shell pyversions -vs)
+VER     := $(shell /usr/bin/python -c 'import sys; print sys.version[:3]')
+
+package = accessgrid
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+patched:
+	HERE=$(here) debian/do_patches
+	touch $@
+
+build:	patched build-stamp
+build-stamp: $(PYVERS:%=build-python%)
+	touch $@
+build-python%:
+	$(checkdir)
+	HERE=$(here) PYTHONVERSION=$* debian/buildag.sh
+	touch $@
+
+clean:
+	$(checkdir)
+	rm -f build
+
+
+binary-indep:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	HERE=$(here) PKGDIR=$(pkgdir) PYTHONVERSION="2.4" debian/installag.sh
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+
+binary-arch:	checkroot build
+
+
+define checkdir
+	test -f AccessGrid/AccessGrid/Toolkit.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/accessgrid/debian/rules.old
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-rat/ag-rat.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-rat/ag-rat.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-rat/ag-rat.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#WORKDIR=mmedia-r4393
+#SITE0=http://www.vislab.uq.edu.au/ag3/distfiles
+#SRCPKG0=
+
+
+# Load up the default build script
+. ../../ag-rat.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-rat/ag-rat.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-rat/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-rat/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-rat/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,79 @@
+ag-rat (4.4.01-1ubuntuag6) lucid; urgency=low
+
+  * New build for Lucid Lynx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 03 Apr 2010 20:47:13 +1000
+
+ag-rat (4.4.01-1ubuntu6) karmic; urgency=low
+
+  * New build for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 12:48:27 +1000
+
+ag-rat (4.4.01-1ubuntu6) jaunty; urgency=low
+
+  * New build for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 13:50:23 +1000
+
+ag-rat (4.4.01-1ubuntu6) intrepid; urgency=low
+
+  * New svn version 4395 (ALSA + PulseAudio fixes)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 21 Feb 2009 06:59:04 +1000
+
+ag-rat (4.4.01-1ubuntu5) intrepid; urgency=low
+
+  * New svn version 4393 (device switching fix)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 19 Feb 2009 06:41:49 +1000
+
+ag-rat (4.4.01-1ubuntu4) intrepid; urgency=low
+
+  * New svn version 4391
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 17 Feb 2009 22:12:52 +1000
+
+ag-rat (4.4.01-1ubuntu3) intrepid; urgency=low
+
+  * New svn version 4345
+  * Add asound-dev for building (to enable alsa)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 12 Feb 2009 10:59:21 +1000
+
+ag-rat (4.4.01-1ubuntu2) intrepid; urgency=low
+
+  * New build for Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 21:35:32 +1000
+
+ag-rat (4.4.01-1ubuntu2) hardy; urgency=low
+
+  * New svn version 4229
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 28 Jul 2008 14:43:47 +1000
+
+ag-rat (4.4.01-1ubuntu1) hardy; urgency=low
+
+  * Rebuild for hardy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 29 Mar 2008 17:08:12 +1000
+
+ag-rat (4.4.01-1) lenny; urgency=low
+
+  * SVN revision 4126
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 21:38:36 +1000
+
+ag-rat (4.4.00-r4109) etch; urgency=low
+
+  * SVN revision 4109
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 06 Nov 2007 21:18:14 +1000
+
+ag-rat (4.4.00) etch; urgency=low
+
+  * First etch version
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 01 Jul 2007 12:48:05 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/ag-rat/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-rat/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-rat/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+Source: ag-rat
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: python (>= 2.4), dpatch, tk-dev,
+ libx11-dev, libxt-dev, libssl-dev, libxext-dev,
+ libasound2-dev, libalsaplayer-dev
+Standards-Version: 3.7.2
+
+Package: ag-rat
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ alsa-oss, alsa-tools
+Provides: rat, ag-rat
+Description: UCL version of rat
+ This is the UCL version of rat for AccessGrid.
+ .
+ SVN revision 4393

Added: trunk/packaging/linux/debuntu/lucid/ag-rat/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-rat/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-rat/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 29 May 2007 15:24:28 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/ag-rat/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-rat/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-rat/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " POSTINST: no post installation actions required:"
+

Added: trunk/packaging/linux/debuntu/lucid/ag-rat/debian/prerm
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-rat/debian/prerm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-rat/debian/prerm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " PRERM: no preremoval actions required"
+

Added: trunk/packaging/linux/debuntu/lucid/ag-rat/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-rat/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-rat/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,65 @@
+#!/usr/bin/make -f
+
+package = ag-rat
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+include /usr/share/dpatch/dpatch.make
+
+
+build: patch-stamp build-stamp
+build-stamp:
+	$(checkdir)
+	(cd common && ./configure --enable-ipv6 && make)
+	(cd rat && ./configure --enable-debug --enable-debug-mem --enable-ipv6 && make)
+	touch build-stamp
+
+clean:	unpatch
+	$(checkdir)
+	rm -f build
+
+
+binary-arch:	checkroot build-stamp
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -m 644 rat/COPYRIGHT rat/INSTALL.TXT \
+		rat/README* rat/VERSION rat/MODS \
+		$(docdir)/
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -d $(pkgpath)/usr/bin
+	install -d $(pkgpath)/usr/share/man/man1
+	install -m 755 \
+		rat/rat \
+		rat/rat-4.4.01 \
+		rat/rat-4.4.01-ui \
+		rat/rat-4.4.01-media \
+		rat/rat-4.4.01-kill \
+		$(pkgpath)/usr/bin/
+	( cd $(pkgpath)/usr/bin/ && cp -p rat-4.4.01-kill rat-kill )
+	install -m 644 rat/man/man1/rat.1 $(pkgpath)/usr/share/man/man1/
+	dpkg-shlibdeps ${pkgdir}/usr/bin/rat-*
+	strip --strip-unneeded ${pkgdir}/usr/bin/rat-*
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f rat/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-rat/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/ag-vic.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/ag-vic.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/ag-vic.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=mmedia-r4449
+#workdir=mmedia-r4533
+#workdir=mmedia-r4651
+workdir=mmedia-r4694
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=
+
+
+# Load up the default build script
+. ../../ag-vic.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/ag-vic.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+vic-configure.in.tk
+webcam-quirk
+revert-net-ip
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,115 @@
+ag-vic2.8ucl (1.4-0ubuntuag7) lucid; urgency=low
+
+  * New build for Lucid Lynx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 03 Apr 2010 20:16:25 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu7) karmic; urgency=low
+
+  * New upstream code (svn r4694)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 14 Mar 2010 13:56:58 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu6) karmic; urgency=low
+
+  * Include patch for uvcvideo webcams quirk
+  * Revert to r4449 version of net/net-ip.cpp
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 08 Dec 2009 21:29:26 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu5) karmic; urgency=low
+
+  * New upstream code (svn r4533)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 01 Dec 2009 15:39:16 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu4) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 12:23:22 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu4) jaunty; urgency=low
+
+  * New upstream realease (SVN r4449)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 01 Jun 2009 20:41:28 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu3) jaunty; urgency=low
+
+  * Add libv4l dependency
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 29 May 2009 10:05:57 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu2) jaunty; urgency=low
+
+  * New build for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 14 Jan 2009 09:12:14 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu2) intrepid; urgency=low
+
+  * New upstream realease (SVN r4345) - fixes jpeg render issue
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 14 Jan 2009 09:12:14 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu1) intrepid; urgency=low
+
+  * New realease for Intrepid Ibex (SVN r4215)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 08:32:24 +1000
+
+ag-vic2.8ucl (1.4-0ubuntu1) hardy; urgency=low
+
+  * New upstream realease (SVN r4215)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 15 Jul 2008 11:40:32 +1000
+
+ag-vic2.8ucl (1.3.1-1ubuntu1) hardy; urgency=low
+
+  * New build for hardy (still using SVN r4126)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 29 Mar 2008 15:11:34 +1000
+
+ag-vic2.8ucl (1.3.1-0r4126) lenny; urgency=low
+
+  * New build for lenny
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 14:25:37 +1000
+
+ag-vic2.8ucl (1.3.1-0r4126) etch; urgency=low
+
+  * New SVN version (4126)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 18 Mar 2008 09:58:45 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4109) gutsy; urgency=low
+
+  * New SVN version (4109)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 01 Nov 2007 13:31:23 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4086) gutsy; urgency=low
+
+  * Rebuild for gutsy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 24 Oct 2007 09:38:37 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4086) feisty; urgency=low
+
+  * Feisty version of UCL svn version 4086
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 09 Aug 2007 09:34:15 +1000
+
+ag-vic2.8ucl (1.3.0-0ubuntu-r4080) etch; urgency=low
+
+  * Feisty version of UCL svn version 4080
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 20 Jul 2007 10:43:52 +1000
+
+ag-vic2.8ucl (1.3.0-r4080) etch; urgency=low
+
+  * Etch version of UCL svn version 4080
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 19 Jul 2007 09:12:01 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+Source: ag-vic2.8ucl
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: automake, dpatch, libx11-dev, libxt-dev, libxext-dev,
+ libssl-dev, tk8.5-dev, libdv4-dev, libv4l-dev, yasm,
+ subversion, curl
+Standards-Version: 3.7.2
+
+Package: ag-vic2.8ucl
+Architecture: any
+Depends: ${shlibs:Depends}, tk8.5
+Conflicts: ag-vic, ag-hdvic, vic
+Description: AccessGrid version of vic video tool.
+ This is the UCL version of vic, svn version 4694
+ (20100315)

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Thu, 09 Aug 2007 09:34:15 +1000
+
+It was downloaded from http://ffmpeg.mplayerhq.hu/releases/
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,6 @@
+use_localuclmmbase
+webcam-quirk
+vic-render-color-swscale
+vic-debug
+vic-net-ip_cpp-revert-r4694
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/nolibv4l.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/nolibv4l.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/nolibv4l.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## nolibv4l.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/debian/control mmedia-r4533/debian/control
+--- mmedia-r4533~/debian/control	2009-06-01 22:38:05.000000000 +1000
++++ mmedia-r4533/debian/control	2009-12-04 14:27:18.749099674 +1000
+@@ -3,7 +3,7 @@
+ Priority: optional
+ Maintainer: Chris Willing <c.willing at uq.edu.au>
+ Build-Depends: automake, dpatch, libx11-dev, libxt-dev, libxext-dev,
+- libssl-dev, tk-dev, libdv4-dev, libv4l-dev, subversion, yasm,
++ libssl-dev, tk-dev, libdv4-dev, subversion, yasm,
+  curl
+ Standards-Version: 3.7.2
+ 


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/nolibv4l.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/use_localuclmmbase.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/use_localuclmmbase.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/use_localuclmmbase.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## use_localuclmmbase.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4651~/vic/Makefile.in mmedia-r4651/vic/Makefile.in
+--- mmedia-r4651~/vic/Makefile.in	2010-02-26 21:52:06.000000000 +1000
++++ mmedia-r4651/vic/Makefile.in	2010-03-14 22:53:31.675252446 +1000
+@@ -93,7 +93,7 @@
+ CODEC_LIB = @V_CODEC_LIB@ codec/tmndec/libh263.a codec/tmn-x/libh263coder.a
+ 
+ LIB = $(LIB_GRABBER) @V_LIB_TK@ @V_LIB_TCL@ @V_LIB_X11@ @V_LIB@ $(CODEC_LIB) $(VIDEO_LIB) \
+-	-luclmmbase -lm -lz -lpthread @V_LIB_FFMPEG@ @V_LIB_X264@ 
++	-L../common/src -luclmmbase -lm -lz -lpthread @V_LIB_FFMPEG@ @V_LIB_X264@ 
+ 
+ 
+ INCLUDE = $(INCLUDE_MISC) $(INCLUDE_GRABBER) $(INCLUDE_TK) $(INCLUDE_TCL) \


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/use_localuclmmbase.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-debug.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-debug.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-debug.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,32 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-debug.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/vic/video/grabber-v4l2.cpp mmedia-r4533/vic/video/grabber-v4l2.cpp
+--- mmedia-r4533~/vic/video/grabber-v4l2.cpp	2009-12-01 14:08:57.000000000 +1000
++++ mmedia-r4533/vic/video/grabber-v4l2.cpp	2009-12-04 13:43:53.729724189 +1000
+@@ -79,6 +79,9 @@
+     NULL
+ };
+ 
++#undef debug_msg
++#define debug_msg(args...) fprintf(stderr, args)
++
+ #define PAL_BT601_WIDTH   720
+ #define PAL_BT601_HEIGHT  576
+ #define NTSC_BT601_WIDTH  720
+diff -urNad mmedia-r4533~/vic/video/grabber-video4linux.cpp mmedia-r4533/vic/video/grabber-video4linux.cpp
+--- mmedia-r4533~/vic/video/grabber-video4linux.cpp	2009-12-01 14:08:57.000000000 +1000
++++ mmedia-r4533/vic/video/grabber-video4linux.cpp	2009-12-04 13:44:49.329099447 +1000
+@@ -63,6 +63,8 @@
+ };
+ 
+ //#define DEBUG(x)
++#undef debug_msg
++#define debug_msg(args...) fprintf(stderr, args)
+ 
+ #define D1_WIDTH    720
+ #define D1_HEIGHT   480


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-debug.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-mtrace.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-mtrace.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-mtrace.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-mtrace.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4126~/vic/tcl/ui-stats.tcl mmedia-r4126/vic/tcl/ui-stats.tcl
+--- mmedia-r4126~/vic/tcl/ui-stats.tcl	2008-03-15 13:00:52.000000000 +1000
++++ mmedia-r4126/vic/tcl/ui-stats.tcl	2008-03-22 15:59:35.673553948 +1000
+@@ -698,9 +698,9 @@
+ 
+ 	global V
+ 	if {$dir=="to"} {
+-		set cmd "|mtrace [$V(data-net) interface] [$src addr] [$V(data-net) addr]"
++		set cmd "|/usr/sbin/mtrace [$V(data-net) interface] [$src addr] [$V(data-net) addr]"
+ 	} else {
+-		set cmd "|mtrace [$src addr] [$V(data-net) addr]"
++		set cmd "|/usr/sbin/mtrace [$src addr] [$V(data-net) addr]"
+ 	}
+ 	if [catch "open {$cmd} r" fd] {
+ 		$w.t.text insert end "mtrace error: $fd"


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-mtrace.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,83 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-net-ip_cpp-revert-r4533.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/vic/net/net-ip.cpp mmedia-r4533/vic/net/net-ip.cpp
+--- mmedia-r4533~/vic/net/net-ip.cpp	2009-12-01 14:09:06.000000000 +1000
++++ mmedia-r4533/vic/net/net-ip.cpp	2009-12-08 21:26:07.094350315 +1000
+@@ -36,9 +36,6 @@
+ #ifdef WIN32
+ #include <io.h>
+ #define close closesocket
+-extern "C" {
+-char *find_win32_interface(const char *addr, int ttl);
+-}
+ #else
+ #include <sys/param.h>
+ #include <sys/socket.h>
+@@ -253,15 +250,6 @@
+ 		return (-1);
+ 	}
+ 	(IPAddress&)local_ = local.sin_addr;
+-
+-#ifdef WIN32
+-	//if (!local_.is_set()) {
+-		(IPAddress&)local_ = find_win32_interface(g_addr_, ttl);
+-		//(IPAddress&)local_ = "127.0.0.1";
+-		debug_msg("find_win32_interface localname:%s\n",(const char*)local_);
+-	//}
+-#endif
+-
+ 	rsock_ = openrsock(g_addr_, s_addr_ssm_, port, local_);
+ 	if (rsock_ < 0) {
+ 		rsock_ = ssock_;
+@@ -292,23 +280,18 @@
+ 	int len = sizeof(*p), result =0;
+ #endif
+ 
++	if ((result = getsockname(ssock_, (struct sockaddr *)p, &len)) < 0) {
++		perror("getsockname");
++		p->sin_addr.s_addr = 0;
++		p->sin_port = 0;
++	}
+ 	// Use Local interface name if already set via command line
+ 	if (local_.is_set()) {
+ 		p->sin_addr.s_addr=(IPAddress&)local_;
+-		debug_msg("Setting localname from cmd line:%s\n",(const char*)local_);
+ 		return (0);
+ 	}
+ 
+-	if ((result = getsockname(ssock_, (struct sockaddr *)p, &len)) < 0) {
+-	        debug_msg("getsockname failed, perror following:");
+-		perror("getsockname");
+-		p->sin_addr.s_addr = 0;
+-		p->sin_port = 0;
+-	} else 
+-	    debug_msg("getsockname succeeded sin_addr.s_addr:%x\n",p->sin_addr.s_addr);
+-
+ 	if (p->sin_addr.s_addr == 0) {
+-		debug_msg("getsockname returned 0 so resorting to gethostname()\n");
+ 		p->sin_addr.s_addr = LookupLocalAddr();
+ 		result = ((p->sin_addr.s_addr != 0) ? (0) : (-1));
+ 	}
+@@ -419,7 +402,7 @@
+ 				struct ip_mreq mr;
+ 
+ 				mr.imr_multiaddr.s_addr = g_addri;
+-				mr.imr_interface.s_addr = locali;
++				mr.imr_interface.s_addr = INADDR_ANY;
+ 				if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, 
+ 						(char *)&mr, sizeof(mr)) < 0) {
+ 					perror("IP_ADD_MEMBERSHIP");
+@@ -558,7 +541,7 @@
+ 		/* Slightly nasty one here - set Mcast iface if local inteface
+ 		 * is specified on command line
+ 		 */
+-		if (local_.is_set()) {
++		if (((const char*)local_)[0]!='\0') {
+ 			u_int32_t locali = (IPAddress&)local_;
+ 			if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF,
+ 						   (char*)&locali, sizeof(locali)) < 0) {


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4533.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,284 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-net-ip_cpp-revert-r4694.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urN mmedia-r4694~/vic/net/net-ip.cpp mmedia-r4694/vic/net/net-ip.cpp
+--- mmedia-r4694~/vic/net/net-ip.cpp	2010-03-15 14:36:28.000000000 +1000
++++ mmedia-r4694/vic/net/net-ip.cpp	2009-06-01 11:52:19.000000000 +1000
+@@ -36,9 +36,6 @@
+ #ifdef WIN32
+ #include <io.h>
+ #define close closesocket
+-extern "C" {
+-char *find_win32_interface(const char *addr, int ttl);
+-}
+ #else
+ #include <sys/param.h>
+ #include <sys/socket.h>
+@@ -96,7 +93,7 @@
+ 
+ class IPNetwork : public Network {
+     public:
+-		IPNetwork() : Network(*(new IPAddress), *(new IPAddress), *(new IPAddress)), local_preset(0) {;}
++		IPNetwork() : Network(*(new IPAddress), *(new IPAddress), *(new IPAddress)) {;}
+ 	virtual int command(int argc, const char*const* argv);
+ 	virtual void reset();
+ 	virtual Address* alloc(const char* name) { 
+@@ -116,9 +113,7 @@
+ 	int open(const char * host, int port, int ttl);
+ 	int close();
+ 	int localname(sockaddr_in*);
+-	int local_preset;  // Indicates if local_ has been set on cmd line
+ 	int openssock(Address & addr, u_short port, int ttl);
+-	int disconnect_sock(int fd);
+ 	int openrsock(Address & g_addr, Address & s_addr_ssm, u_short port, Address & local);
+ 	void dosend(u_char* buf, int len, int fd);
+ 	time_t last_reset_;
+@@ -208,10 +203,8 @@
+ 		if (strcmp(argv[1], "open") == 0) {
+ 			int port = htons(atoi(argv[3]));
+ 			int ttl = atoi(argv[4]);
+-			if (strlen(tcl.attr("ifAddr"))>1) {
++			if (strlen(tcl.attr("ifAddr"))>1)
+ 				(IPAddress&)local_ = tcl.attr("ifAddr");
+-				local_preset=1;
+-                        }
+ 			if (open(argv[2], port, ttl) < 0)
+ 				tcl.result("0");
+ 			else
+@@ -254,18 +247,9 @@
+ 	 */
+ 	sockaddr_in local;
+ 	if (localname(&local) < 0) {
+-#ifdef WIN32
+-		(IPAddress&)local_ = find_win32_interface(g_addr_, ttl);
+-		debug_msg("find_win32_interface localname:%s\n",(const char*)local_);
+-#endif
+-	        if (local.sin_addr.s_addr == 0) {
+-                  (IPAddress&)local_ = "127.0.0.1";
+-                  printf("Can NOT determine local IP address - using loopback address. If you want to be able to receive packets from other machines add this command line option: -i local_ip_addr \n");
+-                }
+-          } else
+-                (IPAddress&)local_ = local.sin_addr;
+-
+-	disconnect_sock(ssock_);
++		return (-1);
++	}
++	(IPAddress&)local_ = local.sin_addr;
+ 	rsock_ = openrsock(g_addr_, s_addr_ssm_, port, local_);
+ 	if (rsock_ < 0) {
+ 		rsock_ = ssock_;
+@@ -296,23 +280,18 @@
+ 	int len = sizeof(*p), result =0;
+ #endif
+ 
+-	// Use Local interface name if already set via command line
+-	if (local_preset) {
+-		p->sin_addr.s_addr=(IPAddress&)local_;
+-		debug_msg("Setting localname from cmd line:%s\n",(const char*)local_);
+-		return (0);
+-	}
+-
+ 	if ((result = getsockname(ssock_, (struct sockaddr *)p, &len)) < 0) {
+-	        debug_msg("getsockname failed, perror following:");
+ 		perror("getsockname");
+ 		p->sin_addr.s_addr = 0;
+ 		p->sin_port = 0;
+-	} else 
+-	        debug_msg("getsockname succeeded sin_addr.s_addr:%x(%s)\n",p->sin_addr.s_addr,inet_ntoa(p->sin_addr));
++	}
++	// Use Local interface name if already set via command line
++	if (local_.is_set()) {
++		p->sin_addr.s_addr=(IPAddress&)local_;
++		return (0);
++	}
+ 
+ 	if (p->sin_addr.s_addr == 0) {
+-		debug_msg("getsockname returned 0 so resorting to gethostname()\n");
+ 		p->sin_addr.s_addr = LookupLocalAddr();
+ 		result = ((p->sin_addr.s_addr != 0) ? (0) : (-1));
+ 	}
+@@ -328,13 +307,13 @@
+ 		last_reset_ = t;
+ 		(void)::close(ssock_);
+ 		ssock_ = openssock(g_addr_, port_, ttl_);
+-		disconnect_sock(ssock_);
+ 	}
+ }
+ 
+ int IPNetwork::openrsock(Address & g_addr, Address & s_addr_ssm, u_short port, Address & local)
+ {
+ 	int fd;
++	struct sockaddr_in sin;
+ 
+ 	u_int32_t g_addri = (IPAddress&)g_addr;
+ 	u_int32_t g_addri_ssm = (IPAddress&)s_addr_ssm;
+@@ -409,36 +388,27 @@
+                         exit (1);
+                 }
+         } else
++                        
+ #endif /* IP_ADD_SOURCE_MEMBERSHIP */
+ 		{
+-		/* 
+-		* XXX This is bogus multicast setup that really
+-		* shouldn't have to be done (group membership should be
+-		* implicit in the IP class D address, route should contain
+-		* ttl & no loopback flag, etc.).  Steve Deering has promised
+-		* to fix this for the 4.4bsd release.  We're all waiting
+-		* with bated breath.
+-		*/
+-		struct ip_mreq mr;
+-
+-		mr.imr_multiaddr.s_addr = g_addri;
+-		if (local_preset) {
+-		    mr.imr_interface.s_addr = locali;
+-		    if (setsockopt(fd, IPPROTO_IP,IP_ADD_MEMBERSHIP, 
+-				    (char *)&mr, sizeof(mr)) < 0) {
+-			perror("IP_ADD_MEMBERSHIP");
+-			debug_msg("Failed to join multicast group using preset local addr?\n");
+-		    }
+-		} else {
+-		    mr.imr_interface.s_addr = INADDR_ANY;
+-		    if (setsockopt(fd, IPPROTO_IP,IP_ADD_MEMBERSHIP, 
+-				    (char *)&mr, sizeof(mr)) < 0) {
+-			    perror("IP_ADD_MEMBERSHIP");
+-			    debug_msg("Failed to join multicast group- exiting\n");
+-			    exit(1);
+-		    }
++				/* 
++				* XXX This is bogus multicast setup that really
++				* shouldn't have to be done (group membership should be
++				* implicit in the IP class D address, route should contain
++				* ttl & no loopback flag, etc.).  Steve Deering has promised
++				* to fix this for the 4.4bsd release.  We're all waiting
++				* with bated breath.
++				*/
++				struct ip_mreq mr;
++
++				mr.imr_multiaddr.s_addr = g_addri;
++				mr.imr_interface.s_addr = INADDR_ANY;
++				if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, 
++						(char *)&mr, sizeof(mr)) < 0) {
++					perror("IP_ADD_MEMBERSHIP");
++					exit(1);
++				}
+ 		}
+- 	}
+ 	} else
+ #endif /* IP_ADD_MEMBERSHIP */
+ 	{
+@@ -470,19 +440,18 @@
+ 		sin.sin_port = 0;
+ 		sin.sin_addr.s_addr = g_addri;
+ 		connect(fd, (struct sockaddr *)&sin, sizeof(sin));
+-		
+-		
+ #endif
+ 	}
+ 	/*
+ 	 * XXX don't need this for the session socket.
+-	 */
+-	for (int bufsize = 1024 * 1024; bufsize >= 32 * 1024; bufsize /= 2) {
++	 */	
++	int bufsize = 80 * 1024;
++	if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
++			sizeof(bufsize)) < 0) {
++		bufsize = 32 * 1024;
+ 		if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
+-			       sizeof(bufsize)) >= 0)
+-		{
+-			break;
+-		}
++				sizeof(bufsize)) < 0)
++			perror("SO_RCVBUF");
+ 	}
+ 	return (fd);
+ }
+@@ -490,6 +459,7 @@
+ int IPNetwork::openssock(Address & addr, u_short port, int ttl)
+ {
+ 	int fd;
++//	struct sockaddr_in sin;
+ 
+ 	u_int32_t addri = (IPAddress&)addr;
+ 
+@@ -521,11 +491,11 @@
+ 	sin.sin_port = port;
+ 	sin.sin_addr.s_addr = INADDR_ANY;
+ 	if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
+-	  sin.sin_port = 0;
+-	  if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
+-	      perror("bind");
+-	      exit(1);
+-	  }
++        sin.sin_port = 0;
++        if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
++            perror("bind");
++            exit(1);
++        }
+ 	}
+ 
+ 	memset((char *)&sin, 0, sizeof(sin));
+@@ -533,14 +503,13 @@
+ 	sin.sin_port = port;
+ 	sin.sin_addr.s_addr = addri;
+ 
+-	/* Connect() is useful for localname() call to find the iface addr being used
+-	 * Because of a problem with OSX we disconnect this socket once localname() has 
+-	 * found out the ip address of the interface */
+- 	if (connect(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
++/*	Got rid of connect and vic then uses sin in the sendto() function in
++ *	the dosend() method
++ *
++ *	if (connect(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
+ 		perror("connect");
+ 		exit(1);
+-	}
+-
++	}*/
+ 	if (IN_CLASSD(ntohl(addri))) {
+ #ifdef IP_ADD_MEMBERSHIP
+ 		char c;
+@@ -572,7 +541,7 @@
+ 		/* Slightly nasty one here - set Mcast iface if local inteface
+ 		 * is specified on command line
+ 		 */
+-		if (local_preset) {
++		if (((const char*)local_)[0]!='\0') {
+ 			u_int32_t locali = (IPAddress&)local_;
+ 			if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF,
+ 						   (char*)&locali, sizeof(locali)) < 0) {
+@@ -591,22 +560,17 @@
+ 	/*
+ 	 * XXX don't need this for the session socket.
+ 	 */
+-	for (int bufsize = 1024 * 1024; bufsize >= 32 * 1024; bufsize /= 2) {
+-		if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&bufsize,
+-			       sizeof(bufsize)) >= 0)
+-		{
+-			break;
+-		}
++	int bufsize = 80 * 1024;
++	if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&bufsize,
++		       sizeof(bufsize)) < 0) {
++		bufsize = 48 * 1024;
++		if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&bufsize,
++			       sizeof(bufsize)) < 0)
++			perror("SO_SNDBUF");
+ 	}
+ 	return (fd);
+ }
+ 
+-int IPNetwork::disconnect_sock(int fd)
+-{
+-	memset((char *)&sin, 0, sizeof(sin));
+-	sin.sin_family = AF_UNSPEC;
+-	return connect(fd, (struct sockaddr *)&sin, sizeof(sin));
+-}
+ 
+ 
+ int IPNetwork::dorecv(u_char* buf, int len, Address & from, int fd)


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-net-ip_cpp-revert-r4694.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-render-color-swscale.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-render-color-swscale.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-render-color-swscale.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,59 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-render-color-swscale.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4345~/vic/render/color-swscale.cpp mmedia-r4345/vic/render/color-swscale.cpp
+--- mmedia-r4345~/vic/render/color-swscale.cpp	2009-01-13 14:57:02.000000000 +1000
++++ mmedia-r4345/vic/render/color-swscale.cpp	2009-01-13 16:42:27.054538763 +1000
+@@ -74,13 +74,13 @@
+ 
+ #ifdef RUNTIME_CPUDETECT
+ 	      flags |= (available_cpu_flags & FF_CPU_MMX ? SWS_CPU_CAPS_MMX : 0);
+-	      flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
++	      // flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
+ 	      flags |= (available_cpu_flags & FF_CPU_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
+ 	      flags |= (available_cpu_flags & FF_CPU_ALTIVEC ? SWS_CPU_CAPS_ALTIVEC : 0);
+ #elif defined(HAVE_MMX)
+ 	      flags |= SWS_CPU_CAPS_MMX;
+ 	#if defined(HAVE_MMX2)
+-	      flags |= SWS_CPU_CAPS_MMX2;
++	      // flags |= SWS_CPU_CAPS_MMX2;
+ 	#endif
+ #elif defined(HAVE_3DNOW)
+ 	      flags |= SWS_CPU_CAPS_3DNOW;
+diff -urNad mmedia-r4345~/vic/render/color-swscale.cpp.rej mmedia-r4345/vic/render/color-swscale.cpp.rej
+--- mmedia-r4345~/vic/render/color-swscale.cpp.rej	1970-01-01 10:00:00.000000000 +1000
++++ mmedia-r4345/vic/render/color-swscale.cpp.rej	2009-01-13 16:41:18.991140708 +1000
+@@ -0,0 +1,29 @@
++***************
++*** 70,82 ****
++  
++  #ifdef RUNTIME_CPUDETECT	    
++  	      flags |= (available_cpu_flags & FF_CPU_MMX ? SWS_CPU_CAPS_MMX : 0);
++- 	      flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_ALTIVEC ? SWS_CPU_CAPS_ALTIVEC : 0);
++  #elif defined(HAVE_MMX)
++  		  flags |= SWS_CPU_CAPS_MMX;
++  	#if defined(HAVE_MMX2)
++- 		  flags |= SWS_CPU_CAPS_MMX2;
++  	#endif 
++  #elif defined(HAVE_3DNOW)
++  		  flags |= SWS_CPU_CAPS_3DNOW;
++--- 70,82 ----
++  
++  #ifdef RUNTIME_CPUDETECT	    
++  	      flags |= (available_cpu_flags & FF_CPU_MMX ? SWS_CPU_CAPS_MMX : 0);
+++ 	      // flags |= (available_cpu_flags & FF_CPU_MMXEXT ? SWS_CPU_CAPS_MMX2 : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_3DNOW ? SWS_CPU_CAPS_3DNOW : 0);
++  	      flags |= (available_cpu_flags & FF_CPU_ALTIVEC ? SWS_CPU_CAPS_ALTIVEC : 0);
++  #elif defined(HAVE_MMX)
++  		  flags |= SWS_CPU_CAPS_MMX;
++  	#if defined(HAVE_MMX2)
+++ 		  // flags |= SWS_CPU_CAPS_MMX2;
++  	#endif 
++  #elif defined(HAVE_3DNOW)
++  		  flags |= SWS_CPU_CAPS_3DNOW;


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-render-color-swscale.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-video-grabber-video4linux.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4126~/vic/video/grabber-video4linux.cpp mmedia-r4126/vic/video/grabber-video4linux.cpp
+--- mmedia-r4126~/vic/video/grabber-video4linux.cpp	2008-03-15 13:00:49.000000000 +1000
++++ mmedia-r4126/vic/video/grabber-video4linux.cpp	2008-03-22 16:07:10.299461602 +1000
+@@ -39,10 +39,9 @@
+ extern "C"
+ {
+ #include <asm/types.h>
+-//#include <linux/videodev.h>
++#include <linux/videodev.h>
+ }
+ 
+-#include "videodev.h"
+ #include "grabber.h"
+ #include "vic_tcl.h"
+ #include "device-input.h"


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-video-grabber-video4linux.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-x264.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-x264.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-x264.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## vic-x264.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4126~/vic/Makefile.in mmedia-r4126/vic/Makefile.in
+--- mmedia-r4126~/vic/Makefile.in	2008-03-15 13:01:11.000000000 +1000
++++ mmedia-r4126/vic/Makefile.in	2008-03-22 17:48:29.317885121 +1000
+@@ -440,8 +440,8 @@
+ ffmpeg/lib/libpostproc.a:
+ 	(cd ffmpeg/libpostproc; make; make install )
+ 
+-x264/lib/libx264.a:
+-	(cd x264; make; make install )
++x264/libx264.a:
++	(cd x264; make )
+ 
+ codec/tmn-x/libh263coder.a:
+ 	(cd codec/tmn-x; $(MAKE) CC=$(CC) CCOPT="$(CCOPT)" )
+diff -urNad mmedia-r4126~/vic/codec/x264encoder.cpp mmedia-r4126/vic/codec/x264encoder.cpp
+--- mmedia-r4126~/vic/codec/x264encoder.cpp	2008-03-15 13:00:58.000000000 +1000
++++ mmedia-r4126/vic/codec/x264encoder.cpp	2008-03-22 17:50:38.853266920 +1000
+@@ -8,7 +8,7 @@
+ #include "ffmpeg/avcodec.h"
+ #include "databuffer.h"
+ extern "C"{
+-#include "x264.h"
++#include "../x264/x264.h"
+ }
+ 
+ typedef struct
+diff -urNad mmedia-r4126~/vic/configure.in mmedia-r4126/vic/configure.in
+--- mmedia-r4126~/vic/configure.in	2008-03-15 13:01:11.000000000 +1000
++++ mmedia-r4126/vic/configure.in	2008-03-22 17:48:29.353887171 +1000
+@@ -106,7 +106,7 @@
+      cd x264; ./configure --prefix=$V_PATH/x264; cd ..
+    fi
+    V_INCLUDE="$V_INCLUDE -Ix264/include"
+-   V_CODEC_LIB="$V_CODEC_LIB x264/lib/libx264.a"
++   V_CODEC_LIB="$V_CODEC_LIB x264/libx264.a"
+   else 
+     echo "x264 not available without --enable-gpl"
+   fi


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/vic-x264.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/webcam-quirk.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/webcam-quirk.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/webcam-quirk.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,23 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## webcam-quirk.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mmedia-r4533~/vic/video/grabber-v4l2.cpp mmedia-r4533/vic/video/grabber-v4l2.cpp
+--- mmedia-r4533~/vic/video/grabber-v4l2.cpp	2009-12-01 14:08:57.000000000 +1000
++++ mmedia-r4533/vic/video/grabber-v4l2.cpp	2009-12-08 21:24:10.278100523 +1000
+@@ -471,6 +471,12 @@
+         decimate_  = 2;
+         running_   = 0;
+ 
++	v4l2_close(fd_);
++        fd_ = v4l2_open(dev, O_RDWR);
++        if (fd_ < 0) {
++                perror("open");
++                return;
++        }
+ }
+ 
+ 


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/patches/webcam-quirk.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " POSTINST: no post installation actions required"
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/prerm
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/prerm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/prerm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " PRERM: no preremoval actions required"
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,68 @@
+#!/usr/bin/make -f
+
+package = ag-vic2.8ucl
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+include /usr/share/dpatch/dpatch.make
+
+
+build: patch-stamp build-stamp
+build-stamp: build-pkg
+	touch $@
+build-pkg:
+	$(checkdir)
+	(cd common && autoconf -f && ./configure && make)
+	(cd vic && autoconf -f && \
+		./configure \
+		--prefix=/usr \
+		--enable-ipv6 \
+		--enable-dvdecode \
+		--with-decklink=decklink/ \
+		--enable-gpl \
+	)
+	(cd vic/ffmpeg && make)
+	(cd vic && make)
+	touch build $@
+
+clean:	unpatch
+	$(checkdir)
+	rm -f build build-stamp
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir) $(docdir)/html
+	install -m 644 vic/VERSION vic/FILES vic/LICENSE.txt $(docdir)/
+	install -m 644 vic/html/* $(docdir)/html/
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -d $(pkgpath)/usr/bin
+	install -d $(pkgpath)/usr/share/man/man1
+	install -m 755 vic/vic vic/histtolut ${pkgdir}/usr/bin/
+	strip --strip-unneeded ${pkgdir}/usr/bin/*
+	install -m 644 vic/vic.1 ${pkgdir}/usr/share/man/man1/
+	dpkg-shlibdeps ${pkgdir}/usr/bin/vic
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f vic/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules.real
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules.real	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules.real	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+
+package = ag-vic2.8ucl
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+include /usr/share/dpatch/dpatch.make
+
+
+build: patch-stamp build-stamp
+build-stamp: build-pkg
+	touch $@
+build-pkg:
+	$(checkdir)
+	(cd common && autoconf -f && ./configure && make)
+	(cd vic && autoconf -f && \
+		LDFLAGS=-L../common/src \
+		./configure \
+		--prefix=/usr \
+		--enable-ipv6 \
+		--enable-dvdecode \
+		--enable-gpl \
+		--build=$(ARCH) \
+	)
+	(cd vic/ffmpeg && make)
+	(cd vic && make)
+	touch build $@
+
+clean:	unpatch
+	$(checkdir)
+	rm -f build build-stamp
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir) $(docdir)/html
+	install -m 644 vic/VERSION vic/FILES vic/LICENSE.txt $(docdir)/
+	install -m 644 vic/html/* $(docdir)/html/
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -d $(pkgpath)/usr/bin
+	install -d $(pkgpath)/usr/share/man/man1
+	install -m 755 vic/vic vic/histtolut ${pkgdir}/usr/bin/
+	strip --strip-unneeded ${pkgdir}/usr/bin/*
+	install -m 644 vic/vic.1 ${pkgdir}/usr/share/man/man1/
+	dpkg-shlibdeps ${pkgdir}/usr/bin/vic
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f vic/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/ag-vic/debian/rules.real
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI.h
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,838 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+
+/* DeckLinkAPI.h */
+		
+#ifndef __DeckLink_API_h__
+#define __DeckLink_API_h__
+		
+#include <stdint.h>
+#include "LinuxCOM.h"
+
+/* Type Declarations */
+
+typedef int64_t BMDTimeValue;
+typedef int64_t BMDTimeScale;
+typedef uint32_t BMDTimecodeBCD;
+
+/* End Type Declarations */
+
+/* Interface ID Declarations */
+
+#define IID_IDeckLinkVideoOutputCallback                 /* E763A626-4A3C-49D1-BF13-E7AD3692AE52 */ (REFIID){0xE7,0x63,0xA6,0x26,0x4A,0x3C,0x49,0xD1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52}
+#define IID_IDeckLinkInputCallback                       /* 31D28EE7-88B6-4CB1-897A-CDBF79A26414 */ (REFIID){0x31,0xD2,0x8E,0xE7,0x88,0xB6,0x4C,0xB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14}
+#define IID_IDeckLinkMemoryAllocator                     /* B36EB6E7-9D29-4AA8-92EF-843B87A289E8 */ (REFIID){0xB3,0x6E,0xB6,0xE7,0x9D,0x29,0x4A,0xA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8}
+#define IID_IDeckLinkAudioOutputCallback                 /* 403C681B-7F46-4A12-B993-2BB127084EE6 */ (REFIID){0x40,0x3C,0x68,0x1B,0x7F,0x46,0x4A,0x12,0xB9,0x93,0x2B,0xB1,0x27,0x08,0x4E,0xE6}
+#define IID_IDeckLinkIterator                            /* 74E936FC-CC28-4A67-81A0-1E94E52D4E69 */ (REFIID){0x74,0xE9,0x36,0xFC,0xCC,0x28,0x4A,0x67,0x81,0xA0,0x1E,0x94,0xE5,0x2D,0x4E,0x69}
+#define IID_IDeckLinkAPIInformation                      /* 7BEA3C68-730D-4322-AF34-8A7152B532A4 */ (REFIID){0x7B,0xEA,0x3C,0x68,0x73,0x0D,0x43,0x22,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4}
+#define IID_IDeckLinkDisplayModeIterator                 /* 455D741F-1779-4800-86F5-0B5D13D79751 */ (REFIID){0x45,0x5D,0x74,0x1F,0x17,0x79,0x48,0x00,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51}
+#define IID_IDeckLinkDisplayMode                         /* 87451E84-2B7E-439E-A629-4393EA4A8550 */ (REFIID){0x87,0x45,0x1E,0x84,0x2B,0x7E,0x43,0x9E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50}
+#define IID_IDeckLink                                    /* 62BFF75D-6569-4E55-8D4D-66AA03829ABC */ (REFIID){0x62,0xBF,0xF7,0x5D,0x65,0x69,0x4E,0x55,0x8D,0x4D,0x66,0xAA,0x03,0x82,0x9A,0xBC}
+#define IID_IDeckLinkOutput                              /* 29228142-EB8C-4141-A621-F74026450955 */ (REFIID){0x29,0x22,0x81,0x42,0xEB,0x8C,0x41,0x41,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55}
+#define IID_IDeckLinkInput                               /* 300C135A-9F43-48E2-9906-6D7911D93CF1 */ (REFIID){0x30,0x0C,0x13,0x5A,0x9F,0x43,0x48,0xE2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1}
+#define IID_IDeckLinkTimecode                            /* EFB9BCA6-A521-44F7-BD69-2332F24D9EE6 */ (REFIID){0xEF,0xB9,0xBC,0xA6,0xA5,0x21,0x44,0xF7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6}
+#define IID_IDeckLinkVideoFrame                          /* A8D8238E-6B18-4196-99E1-5AF717B83D32 */ (REFIID){0xA8,0xD8,0x23,0x8E,0x6B,0x18,0x41,0x96,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32}
+#define IID_IDeckLinkMutableVideoFrame                   /* 46FCEE00-B4E6-43D0-91C0-023A7FCEB34F */ (REFIID){0x46,0xFC,0xEE,0x00,0xB4,0xE6,0x43,0xD0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F}
+#define IID_IDeckLinkVideoInputFrame                     /* 9A74FA41-AE9F-47AC-8CF4-01F42DD59965 */ (REFIID){0x9A,0x74,0xFA,0x41,0xAE,0x9F,0x47,0xAC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65}
+#define IID_IDeckLinkVideoFrameAncillary                 /* 732E723C-D1A4-4E29-9E8E-4A88797A0004 */ (REFIID){0x73,0x2E,0x72,0x3C,0xD1,0xA4,0x4E,0x29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04}
+#define IID_IDeckLinkAudioInputPacket                    /* E43D5870-2894-11DE-8C30-0800200C9A66 */ (REFIID){0xE4,0x3D,0x58,0x70,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66}
+#define IID_IDeckLinkScreenPreviewCallback               /* 373F499D-4B4D-4518-AD22-6354E5A5825E */ (REFIID){0x37,0x3F,0x49,0x9D,0x4B,0x4D,0x45,0x18,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E}
+#define IID_IDeckLinkGLScreenPreviewHelper               /* BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA */ (REFIID){0xBA,0x57,0x5C,0xD9,0xA1,0x5E,0x49,0x7B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA}
+#define IID_IDeckLinkConfiguration                       /* B8EAD569-B764-47F0-A73F-AE40DF6CBF10 */ (REFIID){0xB8,0xEA,0xD5,0x69,0xB7,0x64,0x47,0xF0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10}
+#define IID_IDeckLinkAttributes                          /* ABC11843-D966-44CB-96E2-A1CB5D3135C4 */ (REFIID){0xAB,0xC1,0x18,0x43,0xD9,0x66,0x44,0xCB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4}
+#define IID_IDeckLinkKeyer                               /* 89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3 */ (REFIID){0x89,0xAF,0xCA,0xF5,0x65,0xF8,0x42,0x1E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3}
+
+/* End Interface ID Declarations */
+
+/* Enum BMDDisplayMode - Video display modes */
+
+typedef uint32_t BMDDisplayMode;
+enum _BMDDisplayMode {
+    bmdModeNTSC                                        = /* 'ntsc' */ 0x6E747363,
+    bmdModeNTSC2398                                    = /* 'nt23' */ 0x6E743233, // 3:2 pulldown
+    bmdModePAL                                         = /* 'pal ' */ 0x70616C20,
+
+    /* HD 1080 Modes */
+
+    bmdModeHD1080p2398                                 = /* '23ps' */ 0x32337073,
+    bmdModeHD1080p24                                   = /* '24ps' */ 0x32347073,
+    bmdModeHD1080p25                                   = /* 'Hp25' */ 0x48703235,
+    bmdModeHD1080p2997                                 = /* 'Hp29' */ 0x48703239,
+    bmdModeHD1080p30                                   = /* 'Hp30' */ 0x48703330,
+    bmdModeHD1080i50                                   = /* 'Hi50' */ 0x48693530,
+    bmdModeHD1080i5994                                 = /* 'Hi59' */ 0x48693539,
+    bmdModeHD1080i6000                                 = /* 'Hi60' */ 0x48693630, // N.B. This _really_ is 60.00 Hz.
+    bmdModeHD1080p50                                   = /* 'Hp50' */ 0x48703530,
+    bmdModeHD1080p5994                                 = /* 'Hp59' */ 0x48703539,
+    bmdModeHD1080p6000                                 = /* 'Hp60' */ 0x48703630, // N.B. This _really_ is 60.00 Hz.
+
+    /* HD 720 Modes */
+
+    bmdModeHD720p50                                    = /* 'hp50' */ 0x68703530,
+    bmdModeHD720p5994                                  = /* 'hp59' */ 0x68703539,
+    bmdModeHD720p60                                    = /* 'hp60' */ 0x68703630,
+
+    /* 2k Modes */
+
+    bmdMode2k2398                                      = /* '2k23' */ 0x326B3233,
+    bmdMode2k24                                        = /* '2k24' */ 0x326B3234,
+    bmdMode2k25                                        = /* '2k25' */ 0x326B3235
+};
+
+/* End Enum BMDDisplayMode */
+
+/* Enum BMDFieldDominance - Video field dominance */
+
+typedef uint32_t BMDFieldDominance;
+enum _BMDFieldDominance {
+    bmdUnknownFieldDominance                           = 0,
+    bmdLowerFieldFirst                                 = /* 'lowr' */ 0x6C6F7772,
+    bmdUpperFieldFirst                                 = /* 'uppr' */ 0x75707072,
+    bmdProgressiveFrame                                = /* 'prog' */ 0x70726F67,
+    bmdProgressiveSegmentedFrame                       = /* 'psf ' */ 0x70736620
+};
+
+/* End Enum BMDFieldDominance */
+
+/* Enum BMDPixelFormat - Video pixel formats supported for output/input */
+
+typedef uint32_t BMDPixelFormat;
+enum _BMDPixelFormat {
+    bmdFormat8BitYUV                                   = /* '2vuy' */ 0x32767579,
+    bmdFormat10BitYUV                                  = /* 'v210' */ 0x76323130,
+    bmdFormat8BitARGB                                  = 0x20,
+    bmdFormat8BitBGRA                                  = /* 'BGRA' */ 0x42475241,
+    bmdFormat10BitRGB                                  = /* 'r210' */ 0x72323130
+};
+
+/* End Enum BMDPixelFormat */
+
+/* Enum BMDVideoOutputFlags - Flags to control the output of ancillary data along with video. */
+
+typedef uint32_t BMDVideoOutputFlags;
+enum _BMDVideoOutputFlags {
+    bmdVideoOutputFlagDefault                          = 0,
+    bmdVideoOutputRP188                                = 1 << 0,
+    bmdVideoOutputVANC                                 = 1 << 1
+};
+
+/* End Enum BMDVideoOutputFlags */
+
+/* Enum BMDFrameFlags - Frame flags */
+
+typedef uint32_t BMDFrameFlags;
+enum _BMDFrameFlags {
+    bmdFrameFlagDefault                                = 0,
+    bmdFrameFlagFlipVertical                           = 1 << 0,
+
+    /* Flags that are valid only for frames returned through IDeckLinkInput */
+
+    bmdFrameHasNoInputSource                           = 1 << 31
+};
+
+/* End Enum BMDFrameFlags */
+
+/* Enum BMDVideoInputFlags - Flags applicable to video input */
+
+typedef uint32_t BMDVideoInputFlags;
+enum _BMDVideoInputFlags {
+    bmdVideoInputFlagDefault                           = 0,
+    bmdVideoInputEnableFormatDetection                 = 1 << 0
+};
+
+/* End Enum BMDVideoInputFlags */
+
+/* Enum BMDVideoInputFormatChangedEvents - Bitmask passed to the VideoInputFormatChanged notification to identify the properties of the input signal that have changed */
+
+typedef uint32_t BMDVideoInputFormatChangedEvents;
+enum _BMDVideoInputFormatChangedEvents {
+    bmdVideoInputDisplayModeChanged                    = 1 << 0,
+    bmdVideoInputFieldDominanceChanged                 = 1 << 1,
+    bmdVideoInputColorspaceChanged                     = 1 << 2
+};
+
+/* End Enum BMDVideoInputFormatChangedEvents */
+
+/* Enum BMDDetectedVideoInputFormatFlags - Flags passed to the VideoInputFormatChanged notification to describe the detected video input signal */
+
+typedef uint32_t BMDDetectedVideoInputFormatFlags;
+enum _BMDDetectedVideoInputFormatFlags {
+    bmdDetectedVideoInputYCbCr422                      = 1 << 0,
+    bmdDetectedVideoInputRGB444                        = 1 << 1
+};
+
+/* End Enum BMDDetectedVideoInputFormatFlags */
+
+/* Enum BMDOutputFrameCompletionResult - Frame Completion Callback */
+
+typedef uint32_t BMDOutputFrameCompletionResult;
+enum _BMDOutputFrameCompletionResult {
+    bmdOutputFrameCompleted,                          
+    bmdOutputFrameDisplayedLate,                      
+    bmdOutputFrameDropped,                            
+    bmdOutputFrameFlushed                             
+};
+
+/* End Enum BMDOutputFrameCompletionResult */
+
+/* Enum BMDAudioSampleRate - Audio sample rates supported for output/input */
+
+typedef uint32_t BMDAudioSampleRate;
+enum _BMDAudioSampleRate {
+    bmdAudioSampleRate48kHz                            = 48000
+};
+
+/* End Enum BMDAudioSampleRate */
+
+/* Enum BMDAudioSampleType - Audio sample sizes supported for output/input */
+
+typedef uint32_t BMDAudioSampleType;
+enum _BMDAudioSampleType {
+    bmdAudioSampleType16bitInteger                     = 16,
+    bmdAudioSampleType32bitInteger                     = 32
+};
+
+/* End Enum BMDAudioSampleType */
+
+/* Enum BMDAudioOutputStreamType - Audio output stream type */
+
+typedef uint32_t BMDAudioOutputStreamType;
+enum _BMDAudioOutputStreamType {
+    bmdAudioOutputStreamContinuous,                   
+    bmdAudioOutputStreamContinuousDontResample,       
+    bmdAudioOutputStreamTimestamped                   
+};
+
+/* End Enum BMDAudioOutputStreamType */
+
+/* Enum BMDDisplayModeSupport - Output mode supported flags */
+
+typedef uint32_t BMDDisplayModeSupport;
+enum _BMDDisplayModeSupport {
+    bmdDisplayModeNotSupported                         = 0,
+    bmdDisplayModeSupported,                          
+    bmdDisplayModeSupportedWithConversion             
+};
+
+/* End Enum BMDDisplayModeSupport */
+
+/* Enum BMDTimecodeFormat - Timecode formats for frame metadata */
+
+typedef uint32_t BMDTimecodeFormat;
+enum _BMDTimecodeFormat {
+    bmdTimecodeRP188                                   = /* 'rp18' */ 0x72703138,
+    bmdTimecodeVITC                                    = /* 'vitc' */ 0x76697463,
+    bmdTimecodeSerial                                  = /* 'seri' */ 0x73657269
+};
+
+/* End Enum BMDTimecodeFormat */
+
+/* Enum BMDTimecodeFlags - Timecode flags */
+
+typedef uint32_t BMDTimecodeFlags;
+enum _BMDTimecodeFlags {
+    bmdTimecodeFlagDefault                             = 0,
+    bmdTimecodeIsDropFrame                             = 1 << 0
+};
+
+/* End Enum BMDTimecodeFlags */
+
+/* Enum BMDVideoConnection - Video connection types */
+
+typedef uint32_t BMDVideoConnection;
+enum _BMDVideoConnection {
+    bmdVideoConnectionSDI                              = /* 'sdi ' */ 0x73646920,
+    bmdVideoConnectionHDMI                             = /* 'hdmi' */ 0x68646D69,
+    bmdVideoConnectionOpticalSDI                       = /* 'opti' */ 0x6F707469,
+    bmdVideoConnectionComponent                        = /* 'cpnt' */ 0x63706E74,
+    bmdVideoConnectionComposite                        = /* 'cmst' */ 0x636D7374,
+    bmdVideoConnectionSVideo                           = /* 'svid' */ 0x73766964
+};
+
+/* End Enum BMDVideoConnection */
+
+/* Enum BMDAnalogVideoFlags - Analog video display flags */
+
+typedef uint32_t BMDAnalogVideoFlags;
+enum _BMDAnalogVideoFlags {
+    bmdAnalogVideoFlagCompositeSetup75                 = 1 << 0,
+    bmdAnalogVideoFlagComponentBetacamLevels           = 1 << 1
+};
+
+/* End Enum BMDAnalogVideoFlags */
+
+/* Enum BMDAudioConnection - Audio connection types */
+
+typedef uint32_t BMDAudioConnection;
+enum _BMDAudioConnection {
+    bmdAudioConnectionEmbedded                         = /* 'embd' */ 0x656D6264,
+    bmdAudioConnectionAESEBU                           = /* 'aes ' */ 0x61657320,
+    bmdAudioConnectionAnalog                           = /* 'anlg' */ 0x616E6C67
+};
+
+/* End Enum BMDAudioConnection */
+
+/* Enum BMDVideoOutputConversionMode - Video/audio conversion mode */
+
+typedef uint32_t BMDVideoOutputConversionMode;
+enum _BMDVideoOutputConversionMode {
+    bmdNoVideoOutputConversion                         = /* 'none' */ 0x6E6F6E65,
+    bmdVideoOutputLetterboxDownonversion               = /* 'ltbx' */ 0x6C746278,
+    bmdVideoOutputAnamorphicDownonversion              = /* 'amph' */ 0x616D7068,
+    bmdVideoOutputHD720toHD1080Conversion              = /* '720c' */ 0x37323063,
+    bmdVideoOutputHardwareLetterboxDownconversion      = /* 'HWlb' */ 0x48576C62,
+    bmdVideoOutputHardwareAnamorphicDownconversion     = /* 'HWam' */ 0x4857616D,
+    bmdVideoOutputHardwareCenterCutDownconversion      = /* 'HWcc' */ 0x48576363
+};
+
+/* End Enum BMDVideoOutputConversionMode */
+
+/* Enum BMDVideoInputConversionMode - Video input conversion mode */
+
+typedef uint32_t BMDVideoInputConversionMode;
+enum _BMDVideoInputConversionMode {
+    bmdNoVideoInputConversion                          = /* 'none' */ 0x6E6F6E65,
+    bmdVideoInputLetterboxDownconversionFromHD1080     = /* '10lb' */ 0x31306C62,
+    bmdVideoInputAnamorphicDownconversionFromHD1080    = /* '10am' */ 0x3130616D,
+    bmdVideoInputLetterboxDownconversionFromHD720      = /* '72lb' */ 0x37326C62,
+    bmdVideoInputAnamorphicDownconversionFromHD720     = /* '72am' */ 0x3732616D,
+    bmdVideoInputLetterboxUpconversion                 = /* 'lbup' */ 0x6C627570,
+    bmdVideoInputAnamorphicUpconversion                = /* 'amup' */ 0x616D7570
+};
+
+/* End Enum BMDVideoInputConversionMode */
+
+/* Enum BMDDeckLinkAttributeID - DeckLink Atribute ID */
+
+typedef uint32_t BMDDeckLinkAttributeID;
+enum _BMDDeckLinkAttributeID {
+
+    /* Flags */
+
+    BMDDeckLinkSupportsInternalKeying                  = /* 'keyi' */ 0x6B657969,
+    BMDDeckLinkSupportsExternalKeying                  = /* 'keye' */ 0x6B657965,
+    BMDDeckLinkSupportsHDKeying                        = /* 'keyh' */ 0x6B657968,
+    BMDDeckLinkSupportsInputFormatDetection            = /* 'infd' */ 0x696E6664,
+    BMDDeckLinkHasSerialPort                           = /* 'hspt' */ 0x68737074,
+
+    /* Integers */
+
+    BMDDeckLinkMaximumAudioChannels                    = /* 'mach' */ 0x6D616368,
+
+    /* Strings */
+
+    BMDDeckLinkSerialPortDeviceName                    = /* 'slpn' */ 0x736C706E
+};
+
+/* End Enum BMDDeckLinkAttributeID */
+
+/* Enum BMDDeckLinkAPIInformationID - DeckLinkAPI information ID */
+
+typedef uint32_t BMDDeckLinkAPIInformationID;
+enum _BMDDeckLinkAPIInformationID {
+    BMDDeckLinkAPIVersion                              = /* 'vers' */ 0x76657273
+};
+
+/* End Enum BMDDeckLinkAPIInformationID */
+
+#if defined(__cplusplus)
+
+/* Forward Declarations */
+
+class IDeckLinkVideoOutputCallback;
+class IDeckLinkInputCallback;
+class IDeckLinkMemoryAllocator;
+class IDeckLinkAudioOutputCallback;
+class IDeckLinkIterator;
+class IDeckLinkAPIInformation;
+class IDeckLinkDisplayModeIterator;
+class IDeckLinkDisplayMode;
+class IDeckLink;
+class IDeckLinkOutput;
+class IDeckLinkInput;
+class IDeckLinkTimecode;
+class IDeckLinkVideoFrame;
+class IDeckLinkMutableVideoFrame;
+class IDeckLinkVideoInputFrame;
+class IDeckLinkVideoFrameAncillary;
+class IDeckLinkAudioInputPacket;
+class IDeckLinkScreenPreviewCallback;
+class IDeckLinkGLScreenPreviewHelper;
+class IDeckLinkConfiguration;
+class IDeckLinkAttributes;
+class IDeckLinkKeyer;
+
+/* End Forward Declarations */
+
+/* Interface IDeckLinkVideoOutputCallback - Frame completion callback. */
+
+class IDeckLinkVideoOutputCallback : public IUnknown
+{
+public:
+    virtual HRESULT ScheduledFrameCompleted (/* in */ IDeckLinkVideoFrame *completedFrame, /* in */ BMDOutputFrameCompletionResult result) = 0;
+    virtual HRESULT ScheduledPlaybackHasStopped (void) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoOutputCallback () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoOutputCallback */
+
+/* Interface IDeckLinkInputCallback - Frame arrival callback. */
+
+class IDeckLinkInputCallback : public IUnknown
+{
+public:
+    virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+    virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame *videoFrame, /* in */ IDeckLinkAudioInputPacket *audioPacket) = 0;
+
+protected:
+    virtual ~IDeckLinkInputCallback () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInputCallback */
+
+/* Interface IDeckLinkMemoryAllocator - Memory allocator for video frames. */
+
+class IDeckLinkMemoryAllocator : public IUnknown
+{
+public:
+    virtual HRESULT AllocateBuffer (uint32_t bufferSize, /* out */ void **allocatedBuffer) = 0;
+    virtual HRESULT ReleaseBuffer (/* in */ void *buffer) = 0;
+
+    virtual HRESULT Commit (void) = 0;
+    virtual HRESULT Decommit (void) = 0;
+};
+
+/* End Interface IDeckLinkMemoryAllocator */
+
+/* Interface IDeckLinkAudioOutputCallback - Optional callback to allow audio samples to be pulled as required. */
+
+class IDeckLinkAudioOutputCallback : public IUnknown
+{
+public:
+    virtual HRESULT RenderAudioSamples (bool preroll) = 0;
+};
+
+/* End Interface IDeckLinkAudioOutputCallback */
+
+/* Interface IDeckLinkIterator - enumerates installed DeckLink hardware */
+
+class IDeckLinkIterator : public IUnknown
+{
+public:
+    virtual HRESULT Next (/* out */ IDeckLink **deckLinkInstance) = 0;
+};
+
+/* End Interface IDeckLinkIterator */
+
+/* Interface IDeckLinkAPIInformation - DeckLinkAPI attribute interface */
+
+class IDeckLinkAPIInformation : public IUnknown
+{
+public:
+    virtual HRESULT GetFlag (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ bool *value) = 0;
+    virtual HRESULT GetInt (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ int64_t *value) = 0;
+    virtual HRESULT GetFloat (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ double *value) = 0;
+    virtual HRESULT GetString (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ const char **value) = 0;
+
+protected:
+    virtual ~IDeckLinkAPIInformation () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkAPIInformation */
+
+/* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/output display modes. */
+
+class IDeckLinkDisplayModeIterator : public IUnknown
+{
+public:
+    virtual HRESULT Next (/* out */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
+
+protected:
+    virtual ~IDeckLinkDisplayModeIterator () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkDisplayModeIterator */
+
+/* Interface IDeckLinkDisplayMode - represents a display mode */
+
+class IDeckLinkDisplayMode : public IUnknown
+{
+public:
+    virtual HRESULT GetName (/* out */ const char **name) = 0;
+    virtual BMDDisplayMode GetDisplayMode (void) = 0;
+    virtual long GetWidth (void) = 0;
+    virtual long GetHeight (void) = 0;
+    virtual HRESULT GetFrameRate (/* out */ BMDTimeValue *frameDuration, /* out */ BMDTimeScale *timeScale) = 0;
+    virtual BMDFieldDominance GetFieldDominance (void) = 0;
+
+protected:
+    virtual ~IDeckLinkDisplayMode () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkDisplayMode */
+
+/* Interface IDeckLink - represents a DeckLink device */
+
+class IDeckLink : public IUnknown
+{
+public:
+    virtual HRESULT GetModelName (/* out */ const char **modelName) = 0;
+};
+
+/* End Interface IDeckLink */
+
+/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkOutput : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Output */
+
+    virtual HRESULT EnableVideoOutput (BMDDisplayMode displayMode, BMDVideoOutputFlags flags) = 0;
+    virtual HRESULT DisableVideoOutput (void) = 0;
+
+    virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+    virtual HRESULT CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0;
+    virtual HRESULT CreateAncillaryData (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
+
+    virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+    virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0;
+    virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0;
+    virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0;
+
+    /* Audio Output */
+
+    virtual HRESULT EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount, BMDAudioOutputStreamType streamType) = 0;
+    virtual HRESULT DisableAudioOutput (void) = 0;
+
+    virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT BeginAudioPreroll (void) = 0;
+    virtual HRESULT EndAudioPreroll (void) = 0;
+    virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0;
+    virtual HRESULT FlushBufferedAudioSamples (void) = 0;
+
+    virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0;
+
+    /* Output Control */
+
+    virtual HRESULT StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0;
+    virtual HRESULT StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0;
+    virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0;
+    virtual HRESULT GetScheduledStreamTime (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0;
+
+    /* Hardware Timing */
+
+    virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkOutput () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkOutput */
+
+/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkInput : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Input */
+
+    virtual HRESULT EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0;
+    virtual HRESULT DisableVideoInput (void) = 0;
+    virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0;
+
+    /* Audio Input */
+
+    virtual HRESULT EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+    virtual HRESULT DisableAudioInput (void) = 0;
+    virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0;
+
+    /* Input Control */
+
+    virtual HRESULT StartStreams (void) = 0;
+    virtual HRESULT StopStreams (void) = 0;
+    virtual HRESULT PauseStreams (void) = 0;
+    virtual HRESULT FlushStreams (void) = 0;
+    virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback *theCallback) = 0;
+
+    /* Hardware Timing */
+
+    virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkInput () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInput */
+
+/* Interface IDeckLinkTimecode - Used for video frame timecode representation. */
+
+class IDeckLinkTimecode : public IUnknown
+{
+public:
+    virtual BMDTimecodeBCD GetBCD (void) = 0;
+    virtual HRESULT GetComponents (/* out */ uint8_t *hours, /* out */ uint8_t *minutes, /* out */ uint8_t *seconds, /* out */ uint8_t *frames) = 0;
+    virtual HRESULT GetString (/* out */ const char **timecode) = 0;
+    virtual BMDTimecodeFlags GetFlags (void) = 0;
+
+protected:
+    virtual ~IDeckLinkTimecode () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkTimecode */
+
+/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */
+
+class IDeckLinkVideoFrame : public IUnknown
+{
+public:
+    virtual long GetWidth (void) = 0;
+    virtual long GetHeight (void) = 0;
+    virtual long GetRowBytes (void) = 0;
+    virtual BMDPixelFormat GetPixelFormat (void) = 0;
+    virtual BMDFrameFlags GetFlags (void) = 0;
+    virtual HRESULT GetBytes (/* out */ void **buffer) = 0;
+
+    virtual HRESULT GetTimecode (BMDTimecodeFormat format, /* out */ IDeckLinkTimecode **timecode) = 0;
+    virtual HRESULT GetAncillaryData (/* out */ IDeckLinkVideoFrameAncillary **ancillary) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoFrame () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoFrame */
+
+/* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVideoFrame. */
+
+class IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame
+{
+public:
+    virtual HRESULT SetFlags (BMDFrameFlags newFlags) = 0;
+
+    virtual HRESULT SetTimecode (BMDTimecodeFormat format, /* in */ IDeckLinkTimecode *timecode) = 0;
+    virtual HRESULT SetTimecodeFromComponents (BMDTimecodeFormat format, uint8_t hours, uint8_t minutes, uint8_t seconds, uint8_t frames, BMDTimecodeFlags flags) = 0;
+    virtual HRESULT SetAncillaryData (/* in */ IDeckLinkVideoFrameAncillary *ancillary) = 0;
+
+protected:
+    virtual ~IDeckLinkMutableVideoFrame () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkMutableVideoFrame */
+
+/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */
+
+class IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
+{
+public:
+    virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0;
+    virtual HRESULT GetHardwareReferenceTimestamp (BMDTimeScale timeScale, /* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoInputFrame () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoInputFrame */
+
+/* Interface IDeckLinkVideoFrameAncillary - Obtained through QueryInterface() on an IDeckLinkVideoFrame object. */
+
+class IDeckLinkVideoFrameAncillary : public IUnknown
+{
+public:
+
+    virtual HRESULT GetBufferForVerticalBlankingLine (uint32_t lineNumber, /* out */ void **buffer) = 0;
+    virtual BMDPixelFormat GetPixelFormat (void) = 0;
+    virtual BMDDisplayMode GetDisplayMode (void) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoFrameAncillary () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoFrameAncillary */
+
+/* Interface IDeckLinkAudioInputPacket - Provided by the IDeckLinkInput callback. */
+
+class IDeckLinkAudioInputPacket : public IUnknown
+{
+public:
+    virtual long GetSampleFrameCount (void) = 0;
+    virtual HRESULT GetBytes (/* out */ void **buffer) = 0;
+    virtual HRESULT GetPacketTime (/* out */ BMDTimeValue *packetTime, BMDTimeScale timeScale) = 0;
+
+protected:
+    virtual ~IDeckLinkAudioInputPacket () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkAudioInputPacket */
+
+/* Interface IDeckLinkScreenPreviewCallback - Screen preview callback */
+
+class IDeckLinkScreenPreviewCallback : public IUnknown
+{
+public:
+    virtual HRESULT DrawFrame (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkScreenPreviewCallback () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkScreenPreviewCallback */
+
+/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance(). */
+
+class IDeckLinkGLScreenPreviewHelper : public IUnknown
+{
+public:
+
+    /* Methods must be called with OpenGL context set */
+
+    virtual HRESULT InitializeGL (void) = 0;
+    virtual HRESULT PaintGL (void) = 0;
+    virtual HRESULT SetFrame (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+
+protected:
+    virtual ~IDeckLinkGLScreenPreviewHelper () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkGLScreenPreviewHelper */
+
+/* Interface IDeckLinkConfiguration - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkConfiguration : public IUnknown
+{
+public:
+    virtual HRESULT GetConfigurationValidator (/* out */ IDeckLinkConfiguration **configObject) = 0;
+    virtual HRESULT WriteConfigurationToPreferences (void) = 0;
+
+    /* Video Output Configuration */
+
+    virtual HRESULT SetVideoOutputFormat (BMDVideoConnection videoOutputConnection) = 0;
+    virtual HRESULT IsVideoOutputActive (BMDVideoConnection videoOutputConnection, /* out */ bool *active) = 0;
+
+    virtual HRESULT SetAnalogVideoOutputFlags (BMDAnalogVideoFlags analogVideoFlags) = 0;
+    virtual HRESULT GetAnalogVideoOutputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
+
+    virtual HRESULT EnableFieldFlickerRemovalWhenPaused (bool enable) = 0;
+    virtual HRESULT IsEnabledFieldFlickerRemovalWhenPaused (/* out */ bool *enabled) = 0;
+
+    virtual HRESULT Set444And3GBpsVideoOutput (bool enable444VideoOutput, bool enable3GbsOutput) = 0;
+    virtual HRESULT Get444And3GBpsVideoOutput (/* out */ bool *is444VideoOutputEnabled, /* out */ bool *threeGbsOutputEnabled) = 0;
+
+    virtual HRESULT SetVideoOutputConversionMode (BMDVideoOutputConversionMode conversionMode) = 0;
+    virtual HRESULT GetVideoOutputConversionMode (/* out */ BMDVideoOutputConversionMode *conversionMode) = 0;
+
+    virtual HRESULT Set_HD1080p24_to_HD1080i5994_Conversion (bool enable) = 0;
+    virtual HRESULT Get_HD1080p24_to_HD1080i5994_Conversion (/* out */ bool *enabled) = 0;
+
+    /* Video Input Configuration */
+
+    virtual HRESULT SetVideoInputFormat (BMDVideoConnection videoInputFormat) = 0;
+    virtual HRESULT GetVideoInputFormat (/* out */ BMDVideoConnection *videoInputFormat) = 0;
+
+    virtual HRESULT SetAnalogVideoInputFlags (BMDAnalogVideoFlags analogVideoFlags) = 0;
+    virtual HRESULT GetAnalogVideoInputFlags (/* out */ BMDAnalogVideoFlags *analogVideoFlags) = 0;
+
+    virtual HRESULT SetVideoInputConversionMode (BMDVideoInputConversionMode conversionMode) = 0;
+    virtual HRESULT GetVideoInputConversionMode (/* out */ BMDVideoInputConversionMode *conversionMode) = 0;
+
+    virtual HRESULT SetBlackVideoOutputDuringCapture (bool blackOutInCapture) = 0;
+    virtual HRESULT GetBlackVideoOutputDuringCapture (/* out */ bool *blackOutInCapture) = 0;
+
+    virtual HRESULT Set32PulldownSequenceInitialTimecodeFrame (uint32_t aFrameTimecode) = 0;
+    virtual HRESULT Get32PulldownSequenceInitialTimecodeFrame (/* out */ uint32_t *aFrameTimecode) = 0;
+
+    virtual HRESULT SetVancSourceLineMapping (uint32_t activeLine1VANCsource, uint32_t activeLine2VANCsource, uint32_t activeLine3VANCsource) = 0;
+    virtual HRESULT GetVancSourceLineMapping (/* out */ uint32_t *activeLine1VANCsource, /* out */ uint32_t *activeLine2VANCsource, /* out */ uint32_t *activeLine3VANCsource) = 0;
+
+    /* Audio Input Configuration */
+
+    virtual HRESULT SetAudioInputFormat (BMDAudioConnection audioInputFormat) = 0;
+    virtual HRESULT GetAudioInputFormat (/* out */ BMDAudioConnection *audioInputFormat) = 0;
+};
+
+/* End Interface IDeckLinkConfiguration */
+
+/* Interface IDeckLinkAttributes - DeckLink Attribute interface */
+
+class IDeckLinkAttributes : public IUnknown
+{
+public:
+    virtual HRESULT GetFlag (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ bool *value) = 0;
+    virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0;
+    virtual HRESULT GetFloat (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ double *value) = 0;
+    virtual HRESULT GetString (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ const char **value) = 0;
+
+protected:
+    virtual ~IDeckLinkAttributes () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkAttributes */
+
+/* Interface IDeckLinkKeyer - DeckLink Keyer interface */
+
+class IDeckLinkKeyer : public IUnknown
+{
+public:
+    virtual HRESULT Enable (/* in */ bool isExternal) = 0;
+    virtual HRESULT SetLevel (/* in */ uint8_t level) = 0;
+    virtual HRESULT RampUp (/* in */ uint32_t numberOfFrames) = 0;
+    virtual HRESULT RampDown (/* in */ uint32_t numberOfFrames) = 0;
+    virtual HRESULT Disable (void) = 0;
+
+protected:
+    virtual ~IDeckLinkKeyer () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkKeyer */
+
+/* Functions */
+
+extern "C" {
+
+    IDeckLinkIterator *CreateDeckLinkIteratorInstance (void);
+    IDeckLinkGLScreenPreviewHelper *CreateOpenGLScreenPreviewHelper (void);
+
+};
+
+/* End Functions */
+
+#endif      // defined(__cplusplus)
+#endif      // __DeckLink_API_h__

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPIDispatch.cpp
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPIDispatch.cpp	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPIDispatch.cpp	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,94 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+**/
+
+#include <stdio.h>
+#include <pthread.h>
+#include <dlfcn.h>
+
+#include "DeckLinkAPI.h"
+
+#define kDeckLinkAPI_Name "libDeckLinkAPI.so"
+#define KDeckLinkPreviewAPI_Name "libDeckLinkPreviewAPI.so"
+
+typedef IDeckLinkIterator* (*CreateIteratorFunc)(void);
+typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void);
+
+static pthread_once_t					gDeckLinkOnceControl = PTHREAD_ONCE_INIT;
+static pthread_once_t					gPreviewOnceControl = PTHREAD_ONCE_INIT;
+
+static CreateIteratorFunc				gCreateIteratorFunc = NULL;
+static CreateOpenGLScreenPreviewHelperFunc	gCreateOpenGLPreviewFunc = NULL;
+
+void	InitDeckLinkAPI (void)
+{
+	void *libraryHandle;
+	
+	libraryHandle = dlopen(kDeckLinkAPI_Name, RTLD_NOW|RTLD_GLOBAL);
+	if (!libraryHandle)
+	{
+		fprintf(stderr, "%s\n", dlerror());
+		return;
+	}
+	gCreateIteratorFunc = (CreateIteratorFunc)dlsym(libraryHandle, "CreateDeckLinkIteratorInstance");
+	if (!gCreateIteratorFunc)
+		fprintf(stderr, "%s\n", dlerror());
+}
+
+void	InitDeckLinkPreviewAPI (void)
+{
+	void *libraryHandle;
+	
+	libraryHandle = dlopen(KDeckLinkPreviewAPI_Name, RTLD_NOW|RTLD_GLOBAL);
+	if (!libraryHandle)
+	{
+		fprintf(stderr, "%s\n", dlerror());
+		return;
+	}
+	gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper");
+	if (!gCreateOpenGLPreviewFunc)
+		fprintf(stderr, "%s\n", dlerror());
+}
+
+IDeckLinkIterator*		CreateDeckLinkIteratorInstance (void)
+{
+	pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI);
+	
+	if (gCreateIteratorFunc == NULL)
+		return NULL;
+	return gCreateIteratorFunc();
+}
+
+IDeckLinkGLScreenPreviewHelper*		CreateOpenGLScreenPreviewHelper (void)
+{
+	pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI);
+	pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI);
+	
+	if (gCreateOpenGLPreviewFunc == NULL)
+		return NULL;
+	return gCreateOpenGLPreviewFunc();
+}
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_1.h
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_1.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_1.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,198 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+/* DeckLinkAPI_v7_1.h */
+
+#ifndef __DeckLink_API_v7_1_h__
+#define __DeckLink_API_v7_1_h__
+
+#include "DeckLinkAPI.h"
+
+// "B28131B6-59AC-4857-B5AC-CD75D5883E2F"
+#define IID_IDeckLinkDisplayModeIterator_v7_1	(REFIID){0xB2,0x81,0x31,0xB6,0x59,0xAC,0x48,0x57,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F}
+
+// "AF0CD6D5-8376-435E-8433-54F9DD530AC3"
+#define IID_IDeckLinkDisplayMode_v7_1			(REFIID){0xAF,0x0C,0xD6,0xD5,0x83,0x76,0x43,0x5E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3}
+
+// "EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9"
+#define IID_IDeckLinkVideoOutputCallback_v7_1	(REFIID){0xEB,0xD0,0x1A,0xFA,0xE4,0xB0,0x49,0xC6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9}
+
+// "7F94F328-5ED4-4E9F-9729-76A86BDC99CC"
+#define IID_IDeckLinkInputCallback_v7_1			(REFIID){0x7F,0x94,0xF3,0x28,0x5E,0xD4,0x4E,0x9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC}
+
+// "AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5"
+#define IID_IDeckLinkOutput_v7_1				(REFIID){0xAE,0x5B,0x3E,0x9B,0x4E,0x1E,0x45,0x35,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5}
+
+// "2B54EDEF-5B32-429F-BA11-BB990596EACD"
+#define IID_IDeckLinkInput_v7_1					(REFIID){0x2B,0x54,0xED,0xEF,0x5B,0x32,0x42,0x9F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD}
+
+// "333F3A10-8C2D-43CF-B79D-46560FEEA1CE"
+#define IID_IDeckLinkVideoFrame_v7_1			(REFIID){0x33,0x3F,0x3A,0x10,0x8C,0x2D,0x43,0xCF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE}
+
+// "C8B41D95-8848-40EE-9B37-6E3417FB114B"
+#define IID_IDeckLinkVideoInputFrame_v7_1		(REFIID){0xC8,0xB4,0x1D,0x95,0x88,0x48,0x40,0xEE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B}
+
+// "C86DE4F6-A29F-42E3-AB3A-1363E29F0788"
+#define IID_IDeckLinkAudioInputPacket_v7_1		(REFIID){0xC8,0x6D,0xE4,0xF6,0xA2,0x9F,0x42,0xE3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88}
+
+#if defined(__cplusplus)
+
+class IDeckLinkDisplayModeIterator_v7_1;
+class IDeckLinkDisplayMode_v7_1;
+class IDeckLinkVideoFrame_v7_1;
+class IDeckLinkVideoInputFrame_v7_1;
+class IDeckLinkAudioInputPacket_v7_1;
+
+class IDeckLinkDisplayModeIterator_v7_1 : public IUnknown
+{
+public:
+	virtual	HRESULT	STDMETHODCALLTYPE	Next (IDeckLinkDisplayMode_v7_1* *deckLinkDisplayMode) = 0;
+};
+
+
+class IDeckLinkDisplayMode_v7_1 : public IUnknown
+{
+public:
+	virtual	HRESULT			STDMETHODCALLTYPE	GetName (const char **name) = 0;
+	virtual	BMDDisplayMode	STDMETHODCALLTYPE	GetDisplayMode () = 0;
+	virtual	long			STDMETHODCALLTYPE	GetWidth () = 0;
+	virtual	long			STDMETHODCALLTYPE	GetHeight () = 0;
+	virtual	HRESULT			STDMETHODCALLTYPE	GetFrameRate (BMDTimeValue *frameDuration, BMDTimeScale *timeScale) = 0;
+};
+
+class IDeckLinkVideoOutputCallback_v7_1 : public IUnknown
+{
+public:
+	virtual HRESULT STDMETHODCALLTYPE	ScheduledFrameCompleted (IDeckLinkVideoFrame_v7_1* completedFrame, BMDOutputFrameCompletionResult result) = 0;
+};
+
+class IDeckLinkInputCallback_v7_1 : public IUnknown
+{
+public:
+	virtual HRESULT STDMETHODCALLTYPE	VideoInputFrameArrived (IDeckLinkVideoInputFrame_v7_1* videoFrame, IDeckLinkAudioInputPacket_v7_1* audioPacket) = 0;
+};
+
+// IDeckLinkOutput_v7_1.  Created by QueryInterface from IDeckLink.
+class IDeckLinkOutput_v7_1 : public IUnknown
+{
+public:
+	// Display mode predicates
+	virtual	HRESULT	STDMETHODCALLTYPE	DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport *result) = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1* *iterator) = 0;
+	
+	
+	// Video output
+	virtual HRESULT STDMETHODCALLTYPE	EnableVideoOutput (BMDDisplayMode displayMode) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableVideoOutput () = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	SetVideoOutputFrameMemoryAllocator (IDeckLinkMemoryAllocator* theAllocator) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	CreateVideoFrameFromBuffer (void* buffer, int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, IDeckLinkVideoFrame_v7_1* *outFrame) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	DisplayVideoFrameSync (IDeckLinkVideoFrame_v7_1* theFrame) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	ScheduleVideoFrame (IDeckLinkVideoFrame_v7_1* theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	SetScheduledFrameCompletionCallback (IDeckLinkVideoOutputCallback_v7_1* theCallback) = 0;
+	
+	
+	// Audio output
+	virtual HRESULT STDMETHODCALLTYPE	EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableAudioOutput () = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	WriteAudioSamplesSync (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesWritten) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	BeginAudioPreroll () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	EndAudioPreroll () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	ScheduleAudioSamples (void* buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, uint32_t *sampleFramesWritten) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	FlushBufferedAudioSamples () = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE	SetAudioCallback (IDeckLinkAudioOutputCallback* theCallback) = 0;
+	
+	
+	// Output control
+	virtual HRESULT STDMETHODCALLTYPE	StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
+};
+
+// IDeckLinkInput_v7_1.  Created by QueryInterface from IDeckLink.
+class IDeckLinkInput_v7_1 : public IUnknown
+{
+public:
+	virtual	HRESULT	STDMETHODCALLTYPE	DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDDisplayModeSupport *result) = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	GetDisplayModeIterator (IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0;
+	
+	// Video input
+	virtual HRESULT STDMETHODCALLTYPE	EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableVideoInput () = 0;
+	
+	// Audio input
+	virtual HRESULT STDMETHODCALLTYPE	EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	DisableAudioInput () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	ReadAudioSamples (void* buffer, uint32_t sampleFrameCount, uint32_t *sampleFramesRead, BMDTimeValue *audioPacketTime, BMDTimeScale timeScale) = 0;
+	virtual HRESULT STDMETHODCALLTYPE	GetBufferedAudioSampleFrameCount (uint32_t *bufferedSampleCount) = 0;
+	
+	// Input control
+	virtual HRESULT	STDMETHODCALLTYPE	StartStreams () = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	StopStreams () = 0;
+	virtual HRESULT	STDMETHODCALLTYPE	PauseStreams () = 0;
+	virtual HRESULT STDMETHODCALLTYPE	SetCallback (IDeckLinkInputCallback_v7_1* theCallback) = 0;
+};
+
+// IDeckLinkVideoFrame_v7_1.  Created by IDeckLinkOutput::CreateVideoFrame.
+class IDeckLinkVideoFrame_v7_1 : public IUnknown
+{
+public:
+	virtual long STDMETHODCALLTYPE					GetWidth () = 0;
+	virtual long STDMETHODCALLTYPE					GetHeight () = 0;
+	virtual long STDMETHODCALLTYPE					GetRowBytes () = 0;
+	virtual BMDPixelFormat STDMETHODCALLTYPE		GetPixelFormat () = 0;
+	virtual BMDFrameFlags STDMETHODCALLTYPE			GetFlags () = 0;
+	virtual HRESULT STDMETHODCALLTYPE				GetBytes (void* *buffer) = 0;
+};
+
+// IDeckLinkVideoInputFrame_v7_1.  Provided by the IDeckLinkInput_v7_1 frame arrival callback.
+class IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1
+{
+public:
+	virtual HRESULT STDMETHODCALLTYPE			GetFrameTime (BMDTimeValue *frameTime, BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0;
+};
+
+// IDeckLinkAudioInputPacket_v7_1.  Provided by the IDeckLinkInput_v7_1 callback.
+class IDeckLinkAudioInputPacket_v7_1 : public IUnknown
+{
+public:
+	virtual long STDMETHODCALLTYPE				GetSampleCount () = 0;
+	virtual HRESULT STDMETHODCALLTYPE			GetBytes (void* *buffer) = 0;
+	
+	virtual HRESULT STDMETHODCALLTYPE			GetAudioPacketTime (BMDTimeValue *packetTime, BMDTimeScale timeScale) = 0;
+};
+
+#endif		// defined(__cplusplus)
+
+#endif		// __DeckLink_API_v7_1_h__
+

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_3.h
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_3.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/DeckLinkAPI_v7_3.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,172 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+
+/* DeckLinkAPI_v7_3.h */
+
+#ifndef __DeckLink_API_v7_3_h__
+#define __DeckLink_API_v7_3_h__
+
+#include "DeckLinkAPI.h"
+
+/* Interface ID Declarations */
+
+#define IID_IDeckLinkInputCallback_v7_3                  /* FD6F311D-4D00-444B-9ED4-1F25B5730AD0 */ (REFIID){0xFD,0x6F,0x31,0x1D,0x4D,0x00,0x44,0x4B,0x9E,0xD4,0x1F,0x25,0xB5,0x73,0x0A,0xD0}
+#define IID_IDeckLinkOutput_v7_3                         /* 271C65E3-C323-4344-A30F-D908BCB20AA3 */ (REFIID){0x27,0x1C,0x65,0xE3,0xC3,0x23,0x43,0x44,0xA3,0x0F,0xD9,0x08,0xBC,0xB2,0x0A,0xA3}
+#define IID_IDeckLinkInput_v7_3                          /* 4973F012-9925-458C-871C-18774CDBBECB */ (REFIID){0x49,0x73,0xF0,0x12,0x99,0x25,0x45,0x8C,0x87,0x1C,0x18,0x77,0x4C,0xDB,0xBE,0xCB}
+#define IID_IDeckLinkVideoInputFrame_v7_3                /* CF317790-2894-11DE-8C30-0800200C9A66 */ (REFIID){0xCF,0x31,0x77,0x90,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66}
+
+/* End Interface ID Declarations */
+
+#if defined(__cplusplus)
+
+/* Forward Declarations */
+
+class IDeckLinkVideoInputFrame_v7_3;
+
+/* End Forward Declarations */
+
+
+/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkOutput_v7_3 : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Output */
+
+    virtual HRESULT EnableVideoOutput (BMDDisplayMode displayMode, BMDVideoOutputFlags flags) = 0;
+    virtual HRESULT DisableVideoOutput (void) = 0;
+
+    virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+    virtual HRESULT CreateVideoFrame (int32_t width, int32_t height, int32_t rowBytes, BMDPixelFormat pixelFormat, BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0;
+    virtual HRESULT CreateAncillaryData (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0;
+
+    virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0;
+    virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, BMDTimeValue displayTime, BMDTimeValue displayDuration, BMDTimeScale timeScale) = 0;
+    virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0;
+    virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0;
+
+    /* Audio Output */
+
+    virtual HRESULT EnableAudioOutput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount, BMDAudioOutputStreamType streamType) = 0;
+    virtual HRESULT DisableAudioOutput (void) = 0;
+
+    virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT BeginAudioPreroll (void) = 0;
+    virtual HRESULT EndAudioPreroll (void) = 0;
+    virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, uint32_t sampleFrameCount, BMDTimeValue streamTime, BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0;
+
+    virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0;
+    virtual HRESULT FlushBufferedAudioSamples (void) = 0;
+
+    virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0;
+
+    /* Output Control */
+
+    virtual HRESULT StartScheduledPlayback (BMDTimeValue playbackStartTime, BMDTimeScale timeScale, double playbackSpeed) = 0;
+    virtual HRESULT StopScheduledPlayback (BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, BMDTimeScale timeScale) = 0;
+    virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0;
+    virtual HRESULT GetHardwareReferenceClock (BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0;
+
+protected:
+    virtual ~IDeckLinkOutput_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkOutput */
+
+
+/* Interface IDeckLinkInputCallback - Frame arrival callback. */
+
+class IDeckLinkInputCallback_v7_3 : public IUnknown
+{
+public:
+    virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+    virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, /* in */ IDeckLinkAudioInputPacket *audioPacket) = 0;
+
+protected:
+    virtual ~IDeckLinkInputCallback_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInputCallback */
+
+
+/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkInput_v7_3 : public IUnknown
+{
+public:
+    virtual HRESULT DoesSupportVideoMode (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, /* out */ BMDDisplayModeSupport *result) = 0;
+    virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+    virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0;
+
+    /* Video Input */
+
+    virtual HRESULT EnableVideoInput (BMDDisplayMode displayMode, BMDPixelFormat pixelFormat, BMDVideoInputFlags flags) = 0;
+    virtual HRESULT DisableVideoInput (void) = 0;
+    virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0;
+
+    /* Audio Input */
+
+    virtual HRESULT EnableAudioInput (BMDAudioSampleRate sampleRate, BMDAudioSampleType sampleType, uint32_t channelCount) = 0;
+    virtual HRESULT DisableAudioInput (void) = 0;
+    virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0;
+
+    /* Input Control */
+
+    virtual HRESULT StartStreams (void) = 0;
+    virtual HRESULT StopStreams (void) = 0;
+    virtual HRESULT PauseStreams (void) = 0;
+    virtual HRESULT FlushStreams (void) = 0;
+    virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback_v7_3 *theCallback) = 0;
+
+protected:
+    virtual ~IDeckLinkInput_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkInput */
+
+/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */
+
+class IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame
+{
+public:
+    virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, BMDTimeScale timeScale) = 0;
+
+protected:
+    virtual ~IDeckLinkVideoInputFrame_v7_3 () {}; // call Release method to drop reference count
+};
+
+/* End Interface IDeckLinkVideoInputFrame */
+
+#endif      // defined(__cplusplus)
+#endif      // __DeckLink_API_v7_3_h__

Added: trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/LinuxCOM.h
===================================================================
--- trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/LinuxCOM.h	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/ag-vic/decklink/LinuxCOM.h	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,99 @@
+/* -LICENSE-START-
+** Copyright (c) 2009 Blackmagic Design
+**
+** Permission is hereby granted, free of charge, to any person or organization
+** obtaining a copy of the software and accompanying documentation covered by
+** this license (the "Software") to use, reproduce, display, distribute,
+** execute, and transmit the Software, and to prepare derivative works of the
+** Software, and to permit third-parties to whom the Software is furnished to
+** do so, all subject to the following:
+** 
+** The copyright notices in the Software and this entire statement, including
+** the above license grant, this restriction and the following disclaimer,
+** must be included in all copies of the Software, in whole or in part, and
+** all derivative works of the Software, unless such copies or derivative
+** works are solely in the form of machine-executable object code generated by
+** a source language processor.
+** 
+** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+** DEALINGS IN THE SOFTWARE.
+** -LICENSE-END-
+*/
+
+#ifndef __LINUX_COM_H_
+#define __LINUX_COM_H_
+
+struct REFIID
+{	
+	unsigned char byte0;
+	unsigned char byte1;
+	unsigned char byte2;
+	unsigned char byte3;
+	unsigned char byte4;
+	unsigned char byte5;
+	unsigned char byte6;
+	unsigned char byte7;
+	unsigned char byte8;
+	unsigned char byte9;
+	unsigned char byte10;
+	unsigned char byte11;
+	unsigned char byte12;
+	unsigned char byte13;
+	unsigned char byte14;
+	unsigned char byte15;
+};
+
+typedef REFIID CFUUIDBytes;
+#define CFUUIDGetUUIDBytes(x)	x
+
+typedef int HRESULT;
+typedef unsigned long ULONG;
+typedef void *LPVOID;
+
+#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
+#define FAILED(Status) ((HRESULT)(Status)<0)
+
+#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR)
+#define HRESULT_CODE(hr) ((hr) & 0xFFFF)
+#define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff)
+#define HRESULT_SEVERITY(hr) (((hr) >> 31) & 0x1)
+#define SEVERITY_SUCCESS 0
+#define SEVERITY_ERROR 1
+
+#define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
+
+#define S_OK ((HRESULT)0x00000000L)
+#define S_FALSE ((HRESULT)0x00000001L)
+#define E_UNEXPECTED ((HRESULT)0x8000FFFFL)
+#define E_NOTIMPL ((HRESULT)0x80000001L)
+#define E_OUTOFMEMORY ((HRESULT)0x80000002L)
+#define E_INVALIDARG ((HRESULT)0x80000003L)
+#define E_NOINTERFACE ((HRESULT)0x80000004L)
+#define E_POINTER ((HRESULT)0x80000005L)
+#define E_HANDLE ((HRESULT)0x80000006L)
+#define E_ABORT ((HRESULT)0x80000007L)
+#define E_FAIL ((HRESULT)0x80000008L)
+#define E_ACCESSDENIED ((HRESULT)0x80000009L)
+
+#define STDMETHODCALLTYPE
+
+#define IID_IUnknown		(REFIID){0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}
+#define IUnknownUUID		IID_IUnknown
+
+#ifdef __cplusplus
+class IUnknown
+{
+    public:
+    	virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) = 0;
+    	virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0;
+    	virtual ULONG STDMETHODCALLTYPE Release(void) = 0;
+};
+#endif
+
+#endif 
+

Added: trunk/packaging/linux/debuntu/lucid/agcommon/agcommon.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/agcommon.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/agcommon.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=common-20070615cvs
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=common-20070615cvs.tar.gz
+
+
+# Load up the default build script
+. ../../agcommon.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/agcommon/agcommon.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agcommon/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,38 @@
+agcommon (0.2-0cvs20070615) lucid; urgency=low
+
+  * Rebuild for Lucid Lynx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 03 Apr 2010 19:47:39 +1000
+
+agcommon (0.2-0cvs20070615) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 01 Sep 2009 11:14:15 +1000
+
+agcommon (0.2-0cvs20070615) jaunty; urgency=low
+
+  * Rebuild for Jaunty Jackalope
+  * Change swig dependency to swigwx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 24 Apr 2009 11:01:27 +1000
+
+agcommon (0.2-0cvs20070615) intrepid; urgency=low
+
+  * Rebuild for Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 15 Sep 2008 23:01:54 +1000
+
+agcommon (0.2cvs20070615) lenny; urgency=low
+
+  * Rebuild for lenny using common-20070615cvs
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 08:28:47 +1000
+
+agcommon (0.1) feisty; urgency=low
+
+  * Initial release for feisty-64
+  * Rebuild with support for both python 2.4 & 2.5
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 11 May 2007 12:04:23 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/agcommon/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/lucid/agcommon/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+Source: agcommon
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+#XS-Python-Version: 2.4
+Build-Depends: debhelper (>= 5.0.37.2), dpatch,
+ python-support (>= 0.4), python-all-dev,
+ swigwx, libssl-dev, autoconf, python-setuptools (>=0.6c5-3)
+Standards-Version: 3.7.2
+
+Package: agcommon
+Architecture: any
+Depends: python
+Description: UCL Common Code Library for Access Grid
+ Routines common to a number of multimedia tools. The library
+ originates from work on the RAT project: these are portions that are
+ not directly related to an audio tool and potentially useful
+ elsewhere.

Added: trunk/packaging/linux/debuntu/lucid/agcommon/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Fri, 27 Apr 2007 09:06:50 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+examples-_common-setuporig.py
+

Added: trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/examples-_common-setuporig.py.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/examples-_common-setuporig.py.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/examples-_common-setuporig.py.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,31 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## examples-_common-setuporig.py.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad common-20070615cvs~/examples/_common/setuporig.py common-20070615cvs/examples/_common/setuporig.py
+--- common-20070615cvs~/examples/_common/setuporig.py	2007-06-15 16:01:38.000000000 +1000
++++ common-20070615cvs/examples/_common/setuporig.py	2008-03-22 13:20:15.384744144 +1000
+@@ -20,7 +20,7 @@
+ RUN_EPYDOC    = 0
+ RUN_EPYDOCIFY = 1
+ SWIG_ARGS = [ "-python", "-outdir", "common", "-c++", "-new_repr", 
+-              "-cpperraswarn",
++              "-cpperraswarn", "-DWORDS_SMALLENDIAN",
+               "-I%s" % get_python_inc(plat_specific=1),
+               "-I%s" % os.path.join("..", "..", "src")]
+ SRC = os.path.join('..','..')
+@@ -128,10 +128,7 @@
+                              extra_link_args=ldFlagsList,
+                              libraries=libList)],
+       package_dir = { "common" : "common" }, packages = ["common"],
+-      ext_package = "common", scripts=["rtpbeacon.py",
+-                                       "Win32BeaconService.py",
+-                                       "beacon-install.py",
+-                                       "beacon.ini"])
++      ext_package = "common", scripts=["rtpbeacon.py"])
+     
+ print 'Build finished at: ', strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
+ print 'Completed in', time() - begin_time, 'seconds'


Property changes on: trunk/packaging/linux/debuntu/lucid/agcommon/debian/patches/examples-_common-setuporig.py.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agcommon/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agcommon/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agcommon/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+include /usr/share/dpatch/dpatch.make
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+#versions :=  $(shell pyversions -vs)
+versions :=  $(shell pyversions -vr)
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+
+
+configure: patch-stamp configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+	autoconf -f || true
+	./configure
+
+	touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp
+	dh_testdir
+	for version in $(versions); \
+                do echo "Doing build for python$$version"; \
+	        #do python$$version setup.py build; \
+		make ; \
+		( cd examples/_common && python$$version setup.py build ); \
+	done
+
+	touch build-stamp
+
+clean:	patch-stamp
+	dh_testdir
+	for version in $(versions); \
+                do echo "Doing clean for python$$version"; \
+		#do python$$version setup.py clean -a; \
+	done
+	rm -f build-stamp configure-stamp
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+	for version in $(versions); \
+		do ( cd examples/_common && python$$version setup.py install --root=../../debian/agcommon --no-compile --prefix=/usr --install-lib=/usr/share/python-support/agcommon ); \
+	done
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installdocs doc/[A-HK-Za-z]*   # Everything but INSTALL.html
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_pysupport
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure


Property changes on: trunk/packaging/linux/debuntu/lucid/agcommon/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/aghdvic.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/aghdvic.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/aghdvic.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=mmedia-r4215
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+#srcpkg0=
+srcpkg1=hdvideoservices-0.36.tar.gz
+
+
+# Load up the default build script
+. ../../aghdvic.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/aghdvic/aghdvic.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/60-aghdvic.conf
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/60-aghdvic.conf	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/60-aghdvic.conf	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#net.core.rmem_default=112640
+#net.core.wmem_default=112640
+net.core.rmem_max=17000000
+net.core.wmem_max=17000000

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/86-firewire-camera.rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/86-firewire-camera.rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/86-firewire-camera.rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+KERNEL=="raw1394",	GROUP="video"

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,75 @@
+aghdvic (0r119-2) lucid; urgency=low
+
+  * Rebuild for Lucid Lynx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 03 Apr 2010 20:54:09 +1000
+
+aghdvic (0r119-1) jaunty; urgency=low
+
+  * New upstream version
+  * Use 0.36 for service packages (positionWindow & interlaceType options)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 29 Jun 2009 22:39:16 +1000
+
+aghdvic (0r117-5) jaunty; urgency=low
+
+  * Add udev rule file for usable raw1394 device permission
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 28 Apr 2009 15:13:49 +1000
+
+aghdvic (0r117-4) jaunty; urgency=low
+
+  * Rebuild for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 02 Apr 2009 14:03:33 +1000
+
+aghdvic (0r117-4) hardy; urgency=low
+
+  * New hdvideoservices (0.25.1) starts service in correct directory
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 25 Sep 2008 13:33:46 +1000
+
+aghdvic (0r117-3) hardy; urgency=low
+
+  * Include /etc/sysctl.d/60-aghdvic.conf to set network buffer sizes
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 24 Sep 2008 10:03:26 +1000
+
+aghdvic (0r117-2) hardy; urgency=low
+
+  * New version for  Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Sep 2008 13:23:05 +1000
+
+aghdvic (0r117-2) hardy; urgency=low
+
+  * New hdvideoservices (0.24.1) changes runDV to runDVslow
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 18 Jul 2008 14:41:10 +1000
+
+aghdvic (0r117-1) hardy; urgency=low
+
+  * Renamed
+  * Use new svn version 117
+  * Distribute as AG service packages
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 04 Jan 2008 14:55:19 +1000
+
+ag-hdvic (0r115-1) gutsy; urgency=low
+
+  * Patch for x86_64 - lower optimisation level
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 04 Jan 2008 14:55:19 +1000
+
+ag-hdvic (0r115) gutsy; urgency=low
+
+  * New upstream svn revision
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 13 Nov 2007 10:40:18 +1000
+
+ag-hdvic (0r109) gutsy; urgency=low
+
+  * Rebuild for gutsy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 26 Oct 2007 12:21:23 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+Source: aghdvic
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: autoconf, libx11-dev, libfreetype6-dev, tk8.4-dev,
+ libxvmc-dev, build-essential, libssl-dev, libiec61883-dev,
+ libgl1-mesa-dev, zip
+Standards-Version: 3.7.2
+
+Package: aghdvic
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libiec61883-0, libxvmc1
+Provides: aghdvic
+Conflicts: ag-vic, ag-hdvic, hdvideoservices
+Replaces: ag-vic, ag-hdvic, hdvideoservices
+Description: UQVislab version of vic video tool
+ This is the UQVislab version of vic, svn revision 117,
+ with H263, DV and HDV support.
+ .
+ Packaged as Access Grid service packages

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Wed, 30 Apr 2008 16:13:49 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/include_memcpy.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/include_memcpy.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/include_memcpy.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,10 @@
+--- vic/BlockCopier.h.orig	2008-04-10 15:40:02.000000000 +1000
++++ vic/BlockCopier.h	2008-09-19 14:19:59.523137000 +1000
+@@ -57,6 +57,7 @@
+ #define BlockCopier_
+ 
+ #include <stddef.h>
++#include <string.h>
+ 
+ namespace VISLAB_at_UQ
+ {

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/patch-vic-Makefile.in
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/patch-vic-Makefile.in	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/patches/patch-vic-Makefile.in	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,14 @@
+--- vic/Makefile.in.orig	2007-11-11 12:43:13.000000000 +1000
++++ vic/Makefile.in	2007-11-12 21:04:22.737103000 +1000
+@@ -101,6 +101,11 @@
+ 	$(C++) -o $@ -c $(CFLAGS_NO_OPT) codec/dct.cpp
+ endif
+ 
++# 64 bit systems have problems with -O6 for this file
++# (included since revision 111)
++video/jidctflt.o:
++	$(CC) -o $@ -c -O2 video/jidctflt.c
++
+ ED_YBITS = 4
+ 
+ CC = @CC@

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/postinst
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+echo " POSTINST: Resetting network buffers with sysctl"
+invoke-rc.d procps start
+

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/prerm
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/prerm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/prerm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo " PRERM: no preremoval actions required"
+

Added: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/aghdvic/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/aghdvic/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,91 @@
+#!/usr/bin/make -f
+
+package = aghdvic
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+svcsdir = hdvideoservices-0.36
+pkgdir = ${here}/$(pkgpath)
+arch=`uname -m`
+#AGTKDATABASE=/etc
+AGTKDATABASE=/usr/share
+SYSTEMCONFIGBASE=/etc
+
+
+patch:
+	$(checkdir)
+	if [ "${arch}" = "x86_64" ]; then \
+		cat debian/patches/patch-vic-Makefile.in |patch -p0 ; \
+	fi ; \
+	touch patch
+
+
+build:	patch
+	$(checkdir)
+	./configure
+	make
+	touch build
+
+clean:
+	$(checkdir)
+	rm -f build patch
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm $(pkgpath)/DEBIAN
+	install -m 644 vic/README* $(docdir)
+	install -d $(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/
+	strip vic/vic
+	cp vic/vic vic/run?* ${svcsdir}/DVideoService/
+	(cd ${svcsdir}/DVideoService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/DVideoService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/DVideoConsumerService/
+	(cd ${svcsdir}/DVideoConsumerService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/DVideoConsumerService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/HDVideoService/
+	(cd ${svcsdir}/HDVideoService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/HDVideoService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/HDVideoConsumerService/
+	(cd ${svcsdir}/HDVideoConsumerService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/HDVideoConsumerService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/SimpleHDVideoService/
+	(cd ${svcsdir}/SimpleHDVideoService ; \
+	zip -0 ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/SimpleHDVideoService.zip * )
+
+	cp vic/vic vic/run?* ${svcsdir}/SimpleHDVideoConsumerService/
+	(cd ${svcsdir}/SimpleHDVideoConsumerService ; \
+	zip -0  ../../$(pkgpath)/${AGTKDATABASE}/AccessGrid3/NodeServices/SimpleHDVideoConsumerService.zip * )
+
+	install -d $(pkgpath)/lib/udev/rules.d
+	cp debian/86-firewire-camera.rules $(pkgpath)/lib/udev/rules.d/
+
+	install -d $(pkgpath)/${SYSTEMCONFIGBASE}/sysctl.d
+	cp debian/60-aghdvic.conf $(pkgpath)/${SYSTEMCONFIGBASE}/sysctl.d/
+
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f vic/VERSION -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/aghdvic/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/agzsi.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/agzsi.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/agzsi.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=zsi-2.0
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=agzsi-2.0.r1385.tar.gz
+
+
+# Load up the default build script
+. ../../agzsi.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/agzsi.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,30 @@
+agzsi (2.0.r1385-3) lucid; urgency=low
+
+  * Rebuilt for lucid
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 02 Apr 2010 23:05:46 +1000
+
+agzsi (2.0.r1385-2) karmic; urgency=low
+
+  * Rebuilt for lenny using cdbs
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 19 Mar 2010 13:36:59 +1000
+
+agzsi (2.0.r1385-2) lenny; urgency=low
+
+  * Rebuilt for lenny using cdbs
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 19 Mar 2008 21:16:45 +1000
+
+agzsi (2.0.r1385-1) etch; urgency=low
+
+  * Rebuilt without multiple python version support - now 2.4 only
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 28 Nov 2007 16:42:24 +1000
+
+agzsi (2.0.r1385) etch; urgency=low
+
+  * First release (including Tom's 'self.h = None' line to existing client patch)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 01 Jul 2007 11:56:23 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,30 @@
+Source: agzsi
+Section: AccessGrid
+Priority: optional
+#Maintainer: Debian Python Modules Team <python-modules-team at lists.alioth.debian.org>
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Uploaders: Tristan Seligmann <mithrandi at mithrandi.za.net>, Bernd Zeimetz <bernd at bzed.de>, Stefano Zacchiroli <zack at debian.org>
+Build-Depends: cdbs (>= 0.4.41), debhelper (>= 5.0.37.1), python (>= 2.3.5-7), python-support (>= 0.4), dpatch
+XS-Vcs-Svn: svn://svn.debian.org/python-modules/packages/zsi/trunk/
+XS-Vcs-Browser: http://svn.debian.org/wsvn/python-modules/packages/zsi/trunk/
+Standards-Version: 3.7.2
+
+Package: python-agzsi
+Architecture: all
+Depends: ${python:Depends}, ${misc:Depends}
+Conflicts: python2.3-zsi (<= 1.5.0-3), python2.4-zsi (<= 1.5.0-3), python-zsi
+Replaces: python2.3-zsi (<= 1.5.0-3), python2.4-zsi (<= 1.5.0-3), python-zsi
+Description: Zolera Soap Infrastructure
+ ZSI is a Python package that provides an implementation of SOAP messaging,
+ as described in The SOAP 1.1 Specification. In particular, ZSI parses and
+ generates SOAP messages, and converts between native Python datatypes and
+ SOAP syntax. It can also be used to build applications using SOAP Messages
+ with Attachments. ZSI is ``transport neutral'', and provides only a simple
+ I/O and dispatch framework; a more complete solution is the responsibility
+ of the application using ZSI.
+ .
+ This package contains the wsdl2py tool as well as all documentation and
+ makes sure the right ZSI package for the default Debian python version is
+ installed.
+ .
+  Homepage: http://pywebsvcs.sourceforge.net/

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/control.gutsy
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/control.gutsy	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/control.gutsy	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+Source: agzsi
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: python-dev
+Standards-Version: 3.7.2
+
+Package: agzsi
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Zolera SOAP Infrastructure for Python
+ ZSI, the Zolera SOAP Infrastructure, is a pure-Python
+ module that provides an implementation of SOAP messaging,
+ as described in SOAP 1.1 Specification
+ (see http://www.w3.org/TR/soap).
+ It can also be used to build applications using SOAP Messages
+ with Attachments (see http://www.w3.org/TR/SOAP-attachments).
+ ZSI is intended to make it easier to write web services in Python

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 29 May 2007 15:01:04 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/do_patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/do_patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/do_patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+cat ${1} |patch -p0 -sN --dry-run
+if [ $? -ne 0 ]; then
+  return
+fi
+cat ${1} |patch -p0 -sN
+if [ $? -ne 0 ]; then
+  exit 1
+fi
+


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/do_patch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/install.sh
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/install.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/install.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+sed  -i '1 s/#!\/usr\/bin\/python2\.4/#!\/usr\/bin\/env\ python/' debian/tmp/usr/bin/wsdl2dispatch debian/tmp/usr/bin/wsdl2py
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/install.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00dpatch.conf
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00dpatch.conf	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00dpatch.conf	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+conf_debianonly=1
+conf_origtargzpath=../tarballs

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,3 @@
+bogus-shebang-remove
+no-setuptools
+patch-ZSI-client

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/bogus-shebang-remove.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/bogus-shebang-remove.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/bogus-shebang-remove.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,158 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## bogus-shebang-remove.dpatch by Bernd Zeimetz <bernd at bzed.de>
+##
+## DP: removing not needed she-bang lines, those files are no scripts.
+
+ at DPATCH@
+diff -urNad zsi~/ZSI/ServiceContainer.py zsi/ZSI/ServiceContainer.py
+--- zsi~/ZSI/ServiceContainer.py	2007-01-27 02:03:50.000000000 +0100
++++ zsi/ZSI/ServiceContainer.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ '''Simple Service Container
+    -- use with wsdl2py generated modules.
+ '''
+diff -urNad zsi~/ZSI/TC.py zsi/ZSI/TC.py
+--- zsi~/ZSI/TC.py	2007-01-30 20:04:09.000000000 +0100
++++ zsi/ZSI/TC.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''General typecodes.
+ '''
+diff -urNad zsi~/ZSI/TCapache.py zsi/ZSI/TCapache.py
+--- zsi~/ZSI/TCapache.py	2006-01-23 22:36:32.000000000 +0100
++++ zsi/ZSI/TCapache.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Apache typecodes.
+ '''
+diff -urNad zsi~/ZSI/TCcompound.py zsi/ZSI/TCcompound.py
+--- zsi~/ZSI/TCcompound.py	2007-01-25 02:36:57.000000000 +0100
++++ zsi/ZSI/TCcompound.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Compound typecodes.
+ '''
+diff -urNad zsi~/ZSI/TCnumbers.py zsi/ZSI/TCnumbers.py
+--- zsi~/ZSI/TCnumbers.py	2006-10-14 01:35:29.000000000 +0200
++++ zsi/ZSI/TCnumbers.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Typecodes for numbers.
+ '''
+diff -urNad zsi~/ZSI/TCtimes.py zsi/ZSI/TCtimes.py
+--- zsi~/ZSI/TCtimes.py	2007-01-26 19:40:46.000000000 +0100
++++ zsi/ZSI/TCtimes.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Typecodes for dates and times.
+ '''
+diff -urNad zsi~/ZSI/__init__.py zsi/ZSI/__init__.py
+--- zsi~/ZSI/__init__.py	2006-10-20 00:31:07.000000000 +0200
++++ zsi/ZSI/__init__.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''ZSI:  Zolera Soap Infrastructure.
+ 
+diff -urNad zsi~/ZSI/auth.py zsi/ZSI/auth.py
+--- zsi~/ZSI/auth.py	2005-09-21 07:31:09.000000000 +0200
++++ zsi/ZSI/auth.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Simple CGI dispatching.
+ '''
+diff -urNad zsi~/ZSI/client.py zsi/ZSI/client.py
+--- zsi~/ZSI/client.py	2007-01-26 00:14:13.000000000 +0100
++++ zsi/ZSI/client.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ #
+ # Copyright (c) 2001 Zolera Systems.  All rights reserved.
+diff -urNad zsi~/ZSI/digest_auth.py zsi/ZSI/digest_auth.py
+--- zsi~/ZSI/digest_auth.py	2007-01-25 23:39:50.000000000 +0100
++++ zsi/ZSI/digest_auth.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Utilities for HTTP Digest Authentication
+ '''
+diff -urNad zsi~/ZSI/dispatch.py zsi/ZSI/dispatch.py
+--- zsi~/ZSI/dispatch.py	2007-01-26 19:01:11.000000000 +0100
++++ zsi/ZSI/dispatch.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Simple CGI dispatching.
+ '''
+diff -urNad zsi~/ZSI/fault.py zsi/ZSI/fault.py
+--- zsi~/ZSI/fault.py	2007-02-01 20:59:14.000000000 +0100
++++ zsi/ZSI/fault.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''Faults.
+ '''
+diff -urNad zsi~/ZSI/generate/wsdl2dispatch.py zsi/ZSI/generate/wsdl2dispatch.py
+--- zsi~/ZSI/generate/wsdl2dispatch.py	2007-01-27 02:03:50.000000000 +0100
++++ zsi/ZSI/generate/wsdl2dispatch.py	2007-05-01 23:38:15.000000000 +0200
+@@ -1,4 +1,3 @@
+-#!/usr/bin/env python
+ from cStringIO import StringIO
+ import ZSI, string, sys, getopt, urlparse, types, warnings
+ from ZSI.wstools import WSDLTools
+diff -urNad zsi~/ZSI/parse.py zsi/ZSI/parse.py
+--- zsi~/ZSI/parse.py	2006-10-13 02:12:32.000000000 +0200
++++ zsi/ZSI/parse.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''SOAP messaging parsing.
+ '''
+diff -urNad zsi~/ZSI/resolvers.py zsi/ZSI/resolvers.py
+--- zsi~/ZSI/resolvers.py	2002-05-09 18:21:54.000000000 +0200
++++ zsi/ZSI/resolvers.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''SOAP messaging parsing.
+ '''
+diff -urNad zsi~/ZSI/schema.py zsi/ZSI/schema.py
+--- zsi~/ZSI/schema.py	2006-10-20 00:31:07.000000000 +0200
++++ zsi/ZSI/schema.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Header$
+ '''XML Schema support
+ '''
+diff -urNad zsi~/ZSI/writer.py zsi/ZSI/writer.py
+--- zsi~/ZSI/writer.py	2006-10-20 00:31:07.000000000 +0200
++++ zsi/ZSI/writer.py	2007-05-01 23:37:56.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ # $Id: writer.py 1270 2006-10-19 22:31:07Z boverhof $
+ '''SOAP message serialization.
+ '''
+diff -urNad zsi~/ZSI/wstools/__init__.py zsi/ZSI/wstools/__init__.py
+--- zsi~/ZSI/wstools/__init__.py	2004-12-07 16:54:53.000000000 +0100
++++ zsi/ZSI/wstools/__init__.py	2007-05-01 23:38:21.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ """WSDL parsing services package for Web Services for Python."""
+ 
+ ident = "$Id: __init__.py 840 2004-12-07 15:54:53Z blunck2 $"
+diff -urNad zsi~/ZSI/wstools/c14n.py zsi/ZSI/wstools/c14n.py
+--- zsi~/ZSI/wstools/c14n.py	2006-03-31 01:47:16.000000000 +0200
++++ zsi/ZSI/wstools/c14n.py	2007-05-01 23:38:17.000000000 +0200
+@@ -1,4 +1,3 @@
+-#! /usr/bin/env python
+ '''XML Canonicalization
+ 
+ Patches Applied to xml.dom.ext.c14n:


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/bogus-shebang-remove.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/no-setuptools.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/no-setuptools.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/no-setuptools.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## no-setuptools.dpatch by Bernd Zeimetz <bernd at bzed.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad zsi~/setup.py zsi/setup.py
+--- zsi~/setup.py	2006-09-28 00:55:49.000000000 +0200
++++ zsi/setup.py	2007-05-02 00:04:01.000000000 +0200
+@@ -1,12 +1,9 @@
+ #! /usr/bin/env python
+ # $Header$
+ import sys
+-try:
+-    from setuptools import setup
+-    hasSetuptools = True
+-except ImportError:
+-    from distutils.core import setup
+-    hasSetuptools = False
++
++from distutils.core import setup
++hasSetuptools = False
+ 
+ _url = "http://pywebsvcs.sf.net/"
+ 


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/no-setuptools.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,38 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## patch-ZSI-client.dpatch by Chris Willing <c.willing at uq.edu.au>
+##
+## DP: retry obtaining response
+
+ at DPATCH@
+diff -urNad agzsi-2.0.r1385~/ZSI/client.py agzsi-2.0.r1385/ZSI/client.py
+--- agzsi-2.0.r1385~/ZSI/client.py	2008-03-19 21:54:14.303827851 +1000
++++ agzsi-2.0.r1385/ZSI/client.py	2008-03-19 21:55:00.498460328 +1000
+@@ -9,7 +9,7 @@
+ from ZSI.TC import AnyElement, AnyType, String, TypeCode, _get_global_element_declaration,\
+     _get_type_definition
+ from ZSI.TCcompound import Struct
+-import base64, httplib, Cookie, types, time, urlparse
++import base64, httplib, Cookie, socket, types, time, urlparse
+ from ZSI.address import Address
+ from ZSI.wstools.logging import getLogger as _GetLogger
+ _b64_encode = base64.encodestring
+@@ -345,7 +345,10 @@
+         if self.data: return self.data
+         trace = self.trace
+         while 1:
+-            response = self.h.getresponse()
++            try:
++                response = self.h.getresponse()
++            except:
++                response = self.h.getresponse()
+             self.reply_code, self.reply_msg, self.reply_headers, self.data = \
+                 response.status, response.reason, response.msg, response.read()
+             if trace:
+@@ -374,6 +377,7 @@
+             # Horrible internals hack to patch things up.
+             self.h._HTTPConnection__state = httplib._CS_REQ_SENT
+             self.h._HTTPConnection__response = None
++        self.h = None
+         return self.data
+ 
+     def IsSOAP(self):


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.py
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/patches/patch-ZSI-client.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,31 @@
+--- ZSI/client.py.orig	2007-05-28 11:17:55.000000000 +1000
++++ ZSI/client.py	2007-06-04 15:15:29.867382000 +1000
+@@ -10,7 +10,7 @@
+ from ZSI.TC import AnyElement, AnyType, String, TypeCode, _get_global_element_declaration,\
+     _get_type_definition
+ from ZSI.TCcompound import Struct
+-import base64, httplib, Cookie, types, time, urlparse
++import base64, httplib, Cookie, socket, types, time, urlparse
+ from ZSI.address import Address
+ from ZSI.wstools.logging import getLogger as _GetLogger
+ _b64_encode = base64.encodestring
+@@ -346,7 +346,10 @@
+         if self.data: return self.data
+         trace = self.trace
+         while 1:
+-            response = self.h.getresponse()
++            try:
++                response = self.h.getresponse()
++            except:
++                response = self.h.getresponse()
+             self.reply_code, self.reply_msg, self.reply_headers, self.data = \
+                 response.status, response.reason, response.msg, response.read()
+             if trace:
+@@ -375,6 +378,7 @@
+             # Horrible internals hack to patch things up.
+             self.h._HTTPConnection__state = httplib._CS_REQ_SENT
+             self.h._HTTPConnection__response = None
++        self.h = None
+         return self.data
+ 
+     def IsSOAP(self):

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/postinst.notneeded
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/postinst.notneeded	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/postinst.notneeded	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+echo "Performing post installation tasks"
+#( cd /usr/bin && ln -f wsdl2dispatch wsdl2dispatch.py && ln -f wsdl2py wsdl2py.py )
+ls -l /usr/bin/wsdl2*
+
+/usr/sbin/update-python-modules -f
+echo "Done post installation tasks"
+

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/postrm.notneeded
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/postrm.notneeded	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/postrm.notneeded	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo -n "Performing post removal tasks ...."
+/usr/sbin/update-python-modules -f
+echo "Done post removal tasks"
+

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/prerm.notneeded
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/prerm.notneeded	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/prerm.notneeded	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo "Performing pre-removal tasks"
+( cd /usr/bin/ && rm -f wsdl2dispatch.py && rm -f wsdl2py.py )

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/pycompat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/pycompat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/pycompat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/python-agzsi.manpages
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/python-agzsi.manpages	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/python-agzsi.manpages	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+debian/wsdl2py.1
+debian/wsdl2dispatch.1

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/pyversions
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/pyversions	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/pyversions	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2.4-

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+#!/usr/bin/make -f
+# -*- mode: makefile; coding: utf-8 -*-
+# Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+# See debian/copyright for details.
+
+DEB_PYTHON_SYSTEM = pysupport
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+include /usr/share/cdbs/1/class/python-distutils.mk
+


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.gutsy
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.gutsy	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.gutsy	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,63 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+
+# all versions
+PYVERS  := 2.4
+
+package = agzsi
+docdir = debian/tmp/usr/share/doc/$(package)
+
+
+patched:	patched-stamp
+patched-stamp:
+	debian/do_patch debian/patches/patch-ZSI-client.py
+	touch $@
+	
+build:	patched-stamp build-stamp
+build-stamp:
+	$(checkdir)
+	python${PYVERS} setup.py build
+	touch build
+
+clean:
+	$(checkdir)
+	python${PYVERS} setup.py clean
+
+
+install: build-stamp install-python${PYVERS}
+
+install-python${PYVERS}:
+	$(checkdir)
+	install -d debian/tmp/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm debian/tmp/DEBIAN
+	python${PYVERS} setup.py install --root=debian/tmp
+
+binary-indep:	checkroot build
+	$(checkdir)
+
+
+binary-arch:	checkroot build install
+	$(checkdir)
+	debian/install.sh
+	cp -p debian/tmp/usr/bin/wsdl2dispatch debian/tmp/usr/bin/wsdl2dispatch.py
+	cp -p debian/tmp/usr/bin/wsdl2py debian/tmp/usr/bin/wsdl2py.py
+	cp -a CHANGES Copyright README RELEASE debian/copyright $(docdir)
+	cp -a debian/changelog $(docdir)/changelog.Debian
+	dpkg-gencontrol -isp
+	chown -R root:root debian/tmp
+	chmod -R u+w,go=rX debian/tmp
+	dpkg --build debian/tmp ..
+
+
+define checkdir
+	test ZSI/wstools/XMLname.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.gutsy
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.old
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,67 @@
+#!/usr/bin/make -f
+
+SHELL = /bin/bash
+export DH_PYCENTRAL=nomove
+
+# all versions
+PYVERS  := $(shell pyversions -vs)
+VER     := $(shell /usr/bin/python -c 'import sys; print sys.version[:3]')
+
+package = agzsi
+docdir = debian/tmp/usr/share/doc/$(package)
+
+
+patched:	patched-stamp
+patched-stamp:
+	debian/do_patch debian/patches/patch-ZSI-client.py
+	touch $@
+	
+build:	patched-stamp build-stamp
+build-stamp: $(PYVERS:%=build-python%)
+	touch $@
+build-python%:
+	$(checkdir)
+	python$* setup.py build
+	touch build
+
+clean:
+	$(checkdir)
+	python setup.py clean
+
+
+install: build-stamp $(PYVERS:%=install-python%)
+
+install-python%:
+	$(checkdir)
+	install -d debian/tmp/DEBIAN $(docdir)
+	install -m 755 debian/postinst debian/prerm debian/tmp/DEBIAN
+	python$* setup.py install --root=debian/tmp
+
+binary-indep:	checkroot build
+	$(checkdir)
+
+
+binary-arch:	checkroot build install
+	$(checkdir)
+	debian/install.sh
+	cp -p debian/tmp/usr/bin/wsdl2dispatch debian/tmp/usr/bin/wsdl2dispatch.py
+	cp -p debian/tmp/usr/bin/wsdl2py debian/tmp/usr/bin/wsdl2py.py
+	cp -a CHANGES Copyright README RELEASE debian/copyright $(docdir)
+	cp -a debian/changelog $(docdir)/changelog.Debian
+	dpkg-gencontrol -isp
+	chown -R root:root debian/tmp
+	chmod -R u+w,go=rX debian/tmp
+	dpkg --build debian/tmp ..
+
+
+define checkdir
+	test ZSI/wstools/XMLname.py -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/agzsi/debian/rules.old
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2dispatch.1
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2dispatch.1	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2dispatch.1	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,58 @@
+.\" Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+.\" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+.\" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+.\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+.\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+.TH WSDL2DISPATCH 1
+.SH NAME
+wsdl2dispatch \- generate Python code skeleton for SOAP server from WSDL
+.SH SYNOPSIS
+.B wsdl2dispatch
+.RI \-f " wsdlfile
+|
+.RI \-u " url
+.RI [ options ]
+.SH DESCRIPTION
+.B wsdl2dispatch
+is a utility to generate a code skeleton from a WSDL file for a SOAP
+server in Python, using ZSI. The programmer still has to implement the
+HTTP server / request handler and the hooks to invoke the actual worker
+methods. Note, however, that ZSI also includes ZSI.ServiceContainer
+which implements the server functionality.
+.SH OPTIONS
+.TP
+.BI \-f " wsdlfile
+Specifies an on-disk WSDL file to parse.
+.TP
+.BI \-u " url
+Specifies a URL pointing to the WSDL file to be parsed.
+.TP
+.BR \-h
+Display a brief help message.
+.TP
+.BR \-e
+Enables experimental server code generation.
+.TP
+.BI \-d " outputdir
+Specifies the directory where the output files will be placed.
+.TP
+.BI \-t " typesmodule
+Specifies a module name to use as the types implementation.
+.SH AUTHOR
+This manpage written by Tristan Seligmann.

Added: trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2py.1
===================================================================
--- trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2py.1	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/agzsi/debian/wsdl2py.1	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,63 @@
+.\" Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+.\" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+.\" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+.\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+.\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+.TH WSDL2PY 1
+.SH NAME
+wsdl2py \- generate client Python interface code from WSDL
+.SH SYNOPSIS
+.B wsdl2py
+.RI \-f " wsdlfile
+|
+.RI \-u " url
+.RI [ options ]
+.SH DESCRIPTION
+.B wsdl2py
+is a utility for automatically generating Python client interface code from a
+WSDL definition, and a set of classes representing element declarations
+and type definitions.  This will produce two files in the current
+working directory named after the WSDL definition name.
+.SH OPTIONS
+.TP
+.BI \-f " wsdlfile
+Specifies an on-disk WSDL file to parse.
+.TP
+.BI \-u " url
+Specifies a URL pointing to the WSDL file to be parsed.
+.TP
+.BR \-h
+Display a brief help message.
+.TP
+.BR \-e
+Enables experimental server code generation.
+.TP
+.BR \-x
+Process just the schema from an xsd file (ie. no services).
+.TP
+.BI \-z " funcname
+Specifies a function to use to generate attribute names.
+.TP
+.BI \-d " outputdir
+Specifies the directory where the output files will be placed.
+.TP
+.BI \-t " typesmodule
+Specifies a module name to use as the types implementation.
+.SH AUTHOR
+This manpage written by Tristan Seligmann.

Added: trunk/packaging/linux/debuntu/lucid/bajjer/bajjer.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/bajjer.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/bajjer.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=bajjer-0.2.5
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=Bajjer-0.2.5.tar.gz
+
+
+# Load up the default build script
+. ../../bajjer.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/bajjer/bajjer.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,61 @@
+bajjer (0.2.5-3ubuntu4) lucid; urgency=low
+
+  * Rebuild for Lucid
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 02 Apr 2010 22:55:00 +1000
+
+bajjer (0.2.5-3ubuntu3) karmic; urgency=low
+
+  * Rebuild for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 31 Aug 2009 13:31:22 +1000
+
+bajjer (0.2.5-3ubuntu3) jaunty; urgency=low
+
+  * Patch stream.py to use wrapper for sha hashes
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 29 Apr 2009 16:46:07 +1000
+
+bajjer (0.2.5-3ubuntu2) jaunty; urgency=low
+
+  * New build for jaunty jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 08:55:29 +1000
+
+bajjer (0.2.5-3ubuntu2) hardy; urgency=low
+
+  * Conflicts/Replaces change to better reflect new pkg name
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 08 May 2008 09:16:01 +1000
+
+bajjer (0.2.5-3ubuntu1) hardy; urgency=low
+
+  * Rebuild for hardy - change to cdbs build method
+  * Rename as python-bajjer
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 28 Mar 2008 16:47:54 +1000
+
+bajjer (0.2.5-3) lenny; urgency=low
+
+  * Rebuild for lenny - change to cdbs build method
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 20 Mar 2008 10:34:39 +1000
+
+bajjer (0.2.5-2) etch; urgency=low
+
+  * Added stream.py patch to fully close connections
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 29 Nov 2007 23:43:00 +1000
+
+bajjer (0.2.5-1) etch; urgency=low
+
+  * Added Tom Urams' read speedup patch
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 07 Oct 2007 00:15:31 +1000
+
+bajjer (0.2.5) etch; urgency=low
+
+  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 29 May 2007 14:27:05 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+7

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+Source: bajjer
+Section: AccessGrid
+Priority: optional
+Maintainer: Christoph Willing <c.willing at uq.edu.au>
+Build-Depends: cdbs (>= 0.4.41), debhelper (>= 5.0.38), python (>= 2.3.5-7), python-support (>= 0.4), dpatch
+Standards-Version: 7.0
+
+Package: python-bajjer
+Architecture: all
+Depends: ${python:Depends}
+Conflicts: bajjer
+Replaces: bajjer
+Description: A jabber library for Python
+ The Bajjer library provides an API for dealing with
+ XML streams. It provides SSL support using Python's
+ socket.ssl or PyOpenSSL, and it provides the ability
+ to set handlers, which call a callback function when
+ a certain type of jabber packet is received.
+ From:
+      http://dsd.lbl.gov/Collaboratories/bajjer/download.html

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 29 May 2007 14:27:05 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00dpatch.conf
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00dpatch.conf	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00dpatch.conf	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+conf_debianonly=1
+conf_origtargzpath=../tarballs

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,4 @@
+Bajjer-0.2.5-python25
+gov-lbl-dsd-bajjer-io
+gov-lbl-dsd-bajjer-stream-01
+gov-lbl-dsd-bajjer-stream-02

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/Bajjer-0.2.5-python25.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/Bajjer-0.2.5-python25.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/Bajjer-0.2.5-python25.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,147 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## Bajjer-0.2.5-python25.dpatch by  <douglask at itee>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -up Bajjer-0.2.5/gov/lbl/dsd/bajjer/serialize.py.python25 Bajjer-0.2.5/gov/lbl/dsd/bajjer/serialize.py
+--- Bajjer-0.2.5/gov/lbl/dsd/bajjer/serialize.py.python25	2007-01-18 07:23:14.000000000 +1000
++++ Bajjer-0.2.5/gov/lbl/dsd/bajjer/serialize.py	2007-11-05 16:20:42.000000000 +1000
+@@ -31,9 +31,57 @@ class InvalidElement(Exception):
+     def __init__(self, s='?'):
+         Exception.__init__(self,"Invalid element: %s" % s)
+ 
++## Local FancyTreeBuilder
++
++class FancyTreeBuilder(XMLTreeBuilder):
++
++    def __init__(self, html=0):
++        XMLTreeBuilder.__init__(self, html)
++        self._parser.StartNamespaceDeclHandler = self._start_ns
++        self._parser.EndNamespaceDeclHandler = self._end_ns
++        self.namespaces = []
++
++    def _start(self, tag, attrib_in):
++        elem = XMLTreeBuilder._start(self, tag, attrib_in)
++        self.start(elem)
++
++    def _start_list(self, tag, attrib_in):
++        elem = XMLTreeBuilder._start_list(self, tag, attrib_in)
++        self.start(elem)
++
++    def _end(self, tag):
++        elem = XMLTreeBuilder._end(self, tag)
++        self.end(elem)
++
++    def _start_ns(self, prefix, value):
++        self.namespaces.insert(0, (prefix, value))
++
++    def _end_ns(self, prefix):
++        assert self.namespaces.pop(0)[0] == prefix, "implementation confused"
++
++    ##
++    # Hook method that's called when a new element has been opened.
++    # May access the <b>namespaces</b> attribute.
++    #
++    # @param element The new element.  The tag name and attributes are,
++    #     set, but it has no children, and the text and tail attributes
++    #     are still empty.
++
++    def start(self, element):
++        pass
++
++    ##
++    # Hook method that's called when a new element has been closed.
++    # May access the <b>namespaces</b> attribute.
++    #
++    # @param element The new element.
++
++    def end(self, element):
++        pass
++
+ ## Serialization / deserialization
+ 
+-class FeedParser(XMLTreeBuilder.FancyTreeBuilder):
++class FeedParser(FancyTreeBuilder):
+     """Streaming XML parser (returns as iterator)
+ 
+     Implements the Python iterator protocol on the input XML file.
+@@ -51,7 +99,7 @@ class FeedParser(XMLTreeBuilder.FancyTre
+         must match 'default_ns' and the root_tag of the
+         document must match 'root_tag'.
+         """
+-        XMLTreeBuilder.FancyTreeBuilder.__init__(self)
++        FancyTreeBuilder.__init__(self)
+         # parameters
+         self._iter_level = level
+         self._rtag = root_tag
+diff -up Bajjer-0.2.5/gov/lbl/dsd/bajjer/xutil.py.python25 Bajjer-0.2.5/gov/lbl/dsd/bajjer/xutil.py
+--- Bajjer-0.2.5/gov/lbl/dsd/bajjer/xutil.py.python25	2007-01-18 07:23:14.000000000 +1000
++++ Bajjer-0.2.5/gov/lbl/dsd/bajjer/xutil.py	2007-11-05 15:20:52.000000000 +1000
+@@ -7,7 +7,7 @@ XML utility functions
+ # standard
+ import types
+ # local
+-from elementtree import ElementTree
++from xml.etree import ElementTree
+ 
+ ## Functions
+ 
+diff -up Bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py.python25 Bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py
+--- Bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py.python25	2007-01-18 07:23:14.000000000 +1000
++++ Bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py	2007-11-05 15:20:52.000000000 +1000
+@@ -11,20 +11,20 @@ __author__ = "Matt Rodriguez, MKRodrigue
+ __created__ = "30 Oct 2006"
+ __rcsid__ = "$Id: etreeadapter.py,v 1.1.1.1 2007-01-03 01:16:21 mateo Exp $"
+ 
+-try:
+-    import elementtree
+-except ImportError:
+-    print "You must have elementtree installed"
+-    raise 
+-
+-from elementtree.ElementTree import SubElement, Element, tostring
+-from elementtree import ElementTree
+-from elementtree.ElementTree import *
+-from elementtree import XMLTreeBuilder 
+-from elementtree.ElementTree import _encode, _escape_attrib, _namespace_map, _escape_cdata, _raise_serialization_error
+-import elementtree.ElementTree
++#try:
++#    import elementtree
++#except ImportError:
++#    print "You must have elementtree installed"
++#    raise 
++
++from xml.etree.ElementTree import SubElement, Element, tostring
++from xml.etree import ElementTree
++from xml.etree.ElementTree import *
++from xml.etree.ElementTree import XMLTreeBuilder 
++from xml.etree.ElementTree import _encode, _escape_attrib, _namespace_map, _escape_cdata, _raise_serialization_error
++import xml.etree.ElementTree
+ import string
+-etree_fixtag = elementtree.ElementTree.fixtag
++etree_fixtag = xml.etree.ElementTree.fixtag
+ 
+ 
+ def noprefix_fixtag(tag, namespaces):
+@@ -117,5 +117,5 @@ def noprefix__write(self, file, node, en
+         file.write(_escape_cdata(node.tail, encoding))
+ 
+ 
+-elementtree.ElementTree.fixtag = noprefix_fixtag 
+-elementtree.ElementTree.ElementTree._write = noprefix__write
++xml.etree.ElementTree.fixtag = noprefix_fixtag 
++xml.etree.ElementTree.ElementTree._write = noprefix__write
+diff -up Bajjer-0.2.5/gov/lbl/dsd/bajjer/x/delay.py.python25 Bajjer-0.2.5/gov/lbl/dsd/bajjer/x/delay.py
+--- Bajjer-0.2.5/gov/lbl/dsd/bajjer/x/delay.py.python25	2007-01-18 07:23:12.000000000 +1000
++++ Bajjer-0.2.5/gov/lbl/dsd/bajjer/x/delay.py	2007-11-05 15:20:52.000000000 +1000
+@@ -11,7 +11,7 @@ __created__ = "30 Oct 2006"
+ __rcsid__ = "$Id: delay.py,v 1.1.1.1 2007-01-03 01:16:21 mateo Exp $"
+ 
+ from gov.lbl.dsd.bajjer.x.external import External 
+-from elementtree.ElementTree import SubElement
++from xml.etree.ElementTree import SubElement
+ 
+ 
+ class Delay(External):

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-etreeadapter.dpatch by  <chris at v1>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/etreeadapter.py bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/etreeadapter.py	2007-01-18 07:23:14.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/etreeadapter.py	2008-03-31 23:08:52.021401983 +1000
+@@ -11,11 +11,14 @@
+ __created__ = "30 Oct 2006"
+ __rcsid__ = "$Id: etreeadapter.py,v 1.1.1.1 2007-01-03 01:16:21 mateo Exp $"
+ 
++# Hack to make elementtree from python-elementtree visible in Ubuntu Gutsy Gibbon
+ try:
+     import elementtree
+ except ImportError:
+-    print "You must have elementtree installed"
+-    raise 
++    # this must be python2.5- so point python-elementtree in python2.4
++    import sys
++    sys.path.append("/usr/share/python-support/python-elementtree")
++    import elementtree
+ 
+ from elementtree.ElementTree import SubElement, Element, tostring
+ from elementtree import ElementTree


Property changes on: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-etreeadapter.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,33 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-io.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/io.py bajjer-0.2.5/gov/lbl/dsd/bajjer/io.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/io.py	2007-01-18 07:23:14.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/io.py	2008-03-19 22:12:09.953125611 +1000
+@@ -50,10 +50,12 @@
+         messages.  
+         """ 
+         while True: 
++            gotData = 0
+             for conn, cbq in self._cb_queue_dict.items(): 
+                 for stanza_type, func_tuple in cbq.cb_dict.items(): 
+                     stanza_obj = conn.read(expected=stanza_type, blocking=False)
+                     if stanza_obj is not None:
++                        gotData = 1
+                         func = func_tuple[0] 
+                         arg_tuple  = func_tuple[1]
+                         if arg_tuple is None:
+@@ -64,7 +66,8 @@
+                             for obj in arg_tuple:
+                                 arg_list.append(obj)
+                             func(*arg_list) 
+-            time.sleep(0.1)
++            if not gotData:
++                time.sleep(0.1)
+ 
+ class CallbackQueue:
+     """


Property changes on: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-io.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-stream.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py	2007-01-18 07:23:13.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py	2008-03-19 22:14:46.546049335 +1000
+@@ -120,6 +120,7 @@
+         self._conn.close()
+         self._open = False
+         self._cbthread.unRegister(self._conn) 
++        self._conn = None
+     
+     def setHandler(self, callback_func, expected, args_list=None):
+         """


Property changes on: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-01.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,61 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## gov-lbl-dsd-bajjer-stream-02.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py
+--- bajjer-0.2.5~/gov/lbl/dsd/bajjer/stream.py.orig	2009-04-24 13:42:13.000000000 +1000
++++ bajjer-0.2.5/gov/lbl/dsd/bajjer/stream.py	2009-04-29 15:16:56.559321679 +1000
+@@ -11,7 +11,7 @@
+ ## Imports
+ 
+ # std lib
+-import logging, sha 
++import logging
+ import logging.config
+ 
+ # local
+@@ -21,6 +21,21 @@
+ from gov.lbl.dsd.bajjer import stanza
+ from gov.lbl.dsd.bajjer import roster
+ 
++## Hash wrapper
++def NewShaHash(subject):
++    """
++    Compatibility function:
++    sha is deprecated in python2.6 in favout of hashlib.
++    hashlib is not available < python2.5
++    """
++    try:
++        import hashlib
++        return hashlib.sha(subject)
++    except:
++        import sha
++        return sha.new(subject)
++
++
+ ## Logging
+ 
+ 
+@@ -370,15 +385,15 @@
+             zero_auth_error = "Empty 'sequence' in zero-k authentication reply"
+             raise RuntimeError(zero_auth_error) 
+ 
+-        x = sha.new(auth_info.password).hexdigest()+ reply.query_e.token_
+-        x = sha.new(x).hexdigest()
++        x = NewShaHash(auth_info.password).hexdigest()+ reply.query_e.token_
++        x = NewShaHash(x).hexdigest()
+         for i in xrange(int(reply.query_e.sequence_)):
+-            x = sha.new(x).hexdigest()
++            x = NewShaHash(x).hexdigest()
+         rq.query_e.hash_ = x
+         self._jid.hash = x
+ 
+     def _digestAuthRequest(self, auth_info, rq, reply): 
+-        digest = sha.new(self._getStreamId() + auth_info.password).hexdigest()
++        digest = NewShaHash(self._getStreamId() + auth_info.password).hexdigest()
+         rq.query_e.digest_ = digest
+         self._jid.hash = digest
+ 


Property changes on: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/gov-lbl-dsd-bajjer-stream-02.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-io.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,25 @@
+--- gov/lbl/dsd/bajjer/io.py.orig	2007-01-18 07:23:14.000000000 +1000
++++ gov/lbl/dsd/bajjer/io.py	2007-10-06 00:30:45.442402000 +1000
+@@ -50,10 +50,12 @@
+         messages.  
+         """ 
+         while True: 
++            gotData = 0
+             for conn, cbq in self._cb_queue_dict.items(): 
+                 for stanza_type, func_tuple in cbq.cb_dict.items(): 
+                     stanza_obj = conn.read(expected=stanza_type, blocking=False)
+                     if stanza_obj is not None:
++                        gotData = 1
+                         func = func_tuple[0] 
+                         arg_tuple  = func_tuple[1]
+                         if arg_tuple is None:
+@@ -64,7 +66,8 @@
+                             for obj in arg_tuple:
+                                 arg_list.append(obj)
+                             func(*arg_list) 
+-            time.sleep(0.1)
++            if not gotData:
++                time.sleep(0.1)
+ 
+ class CallbackQueue:
+     """

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream-02.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,53 @@
+--- gov/lbl/dsd/bajjer/stream.py.orig	2009-04-24 13:42:13.000000000 +1000
++++ gov/lbl/dsd/bajjer/stream.py	2009-04-29 15:16:56.559321679 +1000
+@@ -11,7 +11,7 @@
+ ## Imports
+ 
+ # std lib
+-import logging, sha 
++import logging
+ import logging.config
+ 
+ # local
+@@ -21,6 +21,21 @@
+ from gov.lbl.dsd.bajjer import stanza
+ from gov.lbl.dsd.bajjer import roster
+ 
++## Hash wrapper
++def NewShaHash(subject):
++    """
++    Compatibility function:
++    sha is deprecated in python2.6 in favout of hashlib.
++    hashlib is not available < python2.5
++    """
++    try:
++        import hashlib
++        return hashlib.sha(subject)
++    except:
++        import sha
++        return sha.new(subject)
++
++
+ ## Logging
+ 
+ 
+@@ -370,15 +385,15 @@
+             zero_auth_error = "Empty 'sequence' in zero-k authentication reply"
+             raise RuntimeError(zero_auth_error) 
+ 
+-        x = sha.new(auth_info.password).hexdigest()+ reply.query_e.token_
+-        x = sha.new(x).hexdigest()
++        x = NewShaHash(auth_info.password).hexdigest()+ reply.query_e.token_
++        x = NewShaHash(x).hexdigest()
+         for i in xrange(int(reply.query_e.sequence_)):
+-            x = sha.new(x).hexdigest()
++            x = NewShaHash(x).hexdigest()
+         rq.query_e.hash_ = x
+         self._jid.hash = x
+ 
+     def _digestAuthRequest(self, auth_info, rq, reply): 
+-        digest = sha.new(self._getStreamId() + auth_info.password).hexdigest()
++        digest = NewShaHash(self._getStreamId() + auth_info.password).hexdigest()
+         rq.query_e.digest_ = digest
+         self._jid.hash = digest
+ 

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/patches/patch-gov-lbl-dsd-bajjer-stream.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,10 @@
+--- gov/lbl/dsd/bajjer/stream.py.orig	2007-01-18 07:23:13.000000000 +1000
++++ gov/lbl/dsd/bajjer/stream.py	2007-11-29 21:52:33.576478000 +1000
+@@ -120,6 +120,7 @@
+         self._conn.close()
+         self._open = False
+         self._cbthread.unRegister(self._conn) 
++        self._conn = None
+     
+     def setHandler(self, callback_func, expected, args_list=None):
+         """

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/pycompat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/pycompat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/pycompat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/pyversions
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/pyversions	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/pyversions	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+2.4-

Added: trunk/packaging/linux/debuntu/lucid/bajjer/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/bajjer/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/bajjer/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+#!/usr/bin/make -f
+# -*- mode: makefile; coding: utf-8 -*-
+# Copyright © Tristan Seligmann <mithrandi at mithrandi.za.net>
+# See debian/copyright for details.
+
+DEB_PYTHON_SYSTEM = pysupport
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+include /usr/share/cdbs/1/class/python-distutils.mk
+


Property changes on: trunk/packaging/linux/debuntu/lucid/bajjer/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,72 @@
+m2crypto (0.20.2-1ubuntuag1) karmic; urgency=low
+
+  * Build for lucid with 0.20.2
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 02 Apr 2010 23:17:13 +1000
+
+m2crypto (0.18.2-3ag1) jaunty; urgency=low
+
+  * Change swig build dependency to swigwx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 24 Apr 2009 09:53:16 +1000
+
+m2crypto (0.18.2-3ag) jaunty; urgency=low
+
+  * Rebuild for jaunty (bumping version No to keep ahead of distro version)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 10:54:14 +1000
+
+m2crypto (0.18.2-2ag) intrepid; urgency=low
+
+  * Added Tom's timeout speedup
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 15 Sep 2008 16:29:00 +1000
+
+m2crypto (0.18.2-2) unstable; urgency=low
+
+  * Added "import inspect" to M2Crypto/m2urllib2.py 
+    (Closes: #493314, #484364, 477799) 
+
+ -- Dima Barsky <dima at debian.org>  Fri, 15 Aug 2008 22:04:14 +0100
+
+m2crypto (0.18.2-1) unstable; urgency=low
+
+  * New upstream release (Closes: #440837)
+
+ -- Dima Barsky <dima at debian.org>  Sat, 13 Oct 2007 02:21:26 +0100
+
+m2crypto (0.17-2) unstable; urgency=low
+
+  * Added "Build-Depends: python-setuptools" to avoid build inconsistencies.
+
+ -- Dima Barsky <dima at debian.org>  Thu, 19 Jul 2007 09:51:13 +0100
+
+m2crypto (0.17-1) unstable; urgency=low
+
+  * New upstream release
+  * Acknowledge NMU (Closes: #380861)
+  * Changed section to python (Closes: #425875)
+
+ -- Dima Barsky <dima at debian.org>  Thu, 24 May 2007 21:14:36 +0100
+
+m2crypto (0.16-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Update package to the last python policy (Closes: #380861),
+    this includes renaming from m2crypto to python-m2crypto.
+  * Bumped compat to 5.
+
+ -- Ana Beatriz Guerrero Lopez <ana at ekaia.org>  Sat, 12 Aug 2006 16:07:49 +0200
+
+m2crypto (0.16-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Dima Barsky <dima at debian.org>  Sat, 22 Jul 2006 11:11:40 +0100
+
+m2crypto (0.13-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Dima Barsky <dima at debian.org>  Tue, 30 Mar 2004 21:54:28 +0100
+

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,26 @@
+Source: m2crypto
+Section: AccessGrid
+Priority: optional
+Maintainer:  Ubuntu MOTU Developers <ubuntu-motu at lists.ubuntu.com>
+XSBC-Original-Maintainer: Dima Barsky <dima at debian.org>
+Build-Depends: debhelper (>= 5.0.37.2), dpatch,
+ python-all-dev (>= 2.3.5-11), python-support (>= 0.4),
+ libssl-dev (>= 0.9.7), swigwx, python-setuptools (>=0.6c5-3)
+Standards-Version: 3.8.0
+
+Package: python-m2crypto
+Architecture: any
+Depends: ${python:Depends}, ${shlibs:Depends}
+Provides: ${python:Provides}, m2crypto 
+Conflicts: m2crypto (<< 0.18-2.2) 
+Replaces: m2crypto (<< 0.18-2.2)
+Description: a crypto and SSL toolkit for Python
+ m2crypto features the following:
+   * RSA, DSA, DH, HMACs, message digests, symmetric ciphers (including AES).
+   * SSL functionality to implement clients and servers.
+   * HTTPS extensions to Python's httplib, urllib, and xmlrpclib.
+   * Unforgeable HMAC'ing AuthCookies for web session management.
+   * FTP/TLS client and server.
+   * S/MIME.
+   * ZServerSSL: A HTTPS server for Zope.
+   * ZSmime: An S/MIME messenger for Zope.

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,35 @@
+This package was debianized by Dima Barsky <dima at debian.org> on
+Sun, 28 Mar 2004 19:42:33 +0100.
+
+It was downloaded from <http://wiki.osafoundation.org/pub/Projects/MeTooCrypto/m2crypto-0.16.tar.gz>
+It was downloaded from <http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.19.1.tar.gz>
+
+Upstream Author: Ng Pheng Siong <ngps at netmemetic.com>
+Current upstream maintainer: Heikki Toivonen (heikki at osafoundation.org)
+
+Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.
+
+Portions copyright (c) 2004-2006 Open Source Applications Foundation. 
+All rights reserved.
+
+Portions copyright (c) 2005-2006 Vrije Universiteit Amsterdam. 
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+
+THE AUTHOR PROVIDES THIS SOFTWARE ``AS IS'' AND ANY EXPRESSED OR 
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/docs
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/docs	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/docs	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+README

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+sslConnectionTimeout-0.20.2

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/ftpslib_init.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/ftpslib_init.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/ftpslib_init.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ftpslib_init.dpatch by Christoph Willing <c.willing at uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad m2crypto-0.18.2~/M2Crypto/ftpslib.py m2crypto-0.18.2/M2Crypto/ftpslib.py
+--- m2crypto-0.18.2~/M2Crypto/ftpslib.py	2006-03-21 05:26:28.000000000 +1000
++++ m2crypto-0.18.2/M2Crypto/ftpslib.py	2009-06-05 23:34:09.111239355 +1000
+@@ -48,6 +48,7 @@
+ 
+     def __init__(self, host=None, ssl_ctx=None):
+         """Initialise the client. If 'host' is supplied, connect to it."""
++        FTP.__init__(self, host)
+         if ssl_ctx is not None:
+             self.ssl_ctx = ssl_ctx
+         else:


Property changes on: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/ftpslib_init.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout-0.20.2.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout-0.20.2.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout-0.20.2.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## sslConnectionTimeout-0.20.2.dpatch by  <c.willing at vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Minimize blocking time on dead ssl connections
+
+ at DPATCH@
+diff -urNad m2crypto-0.20.2.orig/M2Crypto/SSL/Connection.py m2crypto-0.20.2/M2Crypto/SSL/Connection.py
+--- m2crypto-0.20.2.orig/M2Crypto/SSL/Connection.py	2009-10-07 14:24:28.000000000 +1000
++++ m2crypto-0.20.2/M2Crypto/SSL/Connection.py	2010-04-02 23:34:02.671224237 +1000
+@@ -49,6 +49,8 @@
+         self._fileno = self.socket.fileno()
+         
+         self.blocking = self.socket.gettimeout()
++        if self.blocking is None:
++            self.blocking = -1.0
+         
+         self.ssl_close_flag = m2.bio_noclose
+ 

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## sslConnectionTimeout.dpatch by  <c.willing at vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Minimize blocking time on dead ssl connections
+
+ at DPATCH@
+diff -urNad m2crypto-0.18.2~/M2Crypto/SSL/Connection.py m2crypto-0.18.2/M2Crypto/SSL/Connection.py
+--- m2crypto-0.18.2~/M2Crypto/SSL/Connection.py	2007-06-16 07:34:05.000000000 +1000
++++ m2crypto-0.18.2/M2Crypto/SSL/Connection.py	2008-03-26 12:22:17.692333381 +1000
+@@ -39,6 +39,8 @@
+         self._fileno = self.socket.fileno()
+         
+         self.blocking = self.socket.gettimeout()
++        if self.blocking is None:
++            self.blocking = -1.0
+         
+         self.ssl_close_flag = m2.bio_noclose
+ 


Property changes on: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/patches/sslConnectionTimeout.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,81 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+include /usr/share/dpatch/dpatch.make
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+versions :=  $(shell pyversions -vr)
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+
+configure: patch-stamp configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+
+	touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: patch-stamp configure-stamp
+	dh_testdir
+	for version in $(versions); \
+	        do python$$version setup.py build; \
+	done
+
+	touch build-stamp
+
+clean:	unpatch
+	dh_testdir
+	for version in $(versions); \
+		do python$$version setup.py clean -a; \
+	done
+	rm -f build-stamp configure-stamp SWIG/_m2crypto.py SWIG/_m2crypto.c SWIG/_m2crypto_wrap.c
+	dh_clean 
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+	for version in $(versions); \
+		do python$$version setup.py install --root=debian/python-m2crypto --no-compile; \
+	done
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs CHANGES
+	dh_installdocs doc/[A-HK-Za-z]*   # Everything but INSTALL.html
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_pysupport
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure


Property changes on: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/debian/watch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/debian/watch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/debian/watch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,6 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# Site		Directory		Pattern			Version	Script
+version=2
+http://wiki.osafoundation.org/pub/Projects/MeTooCrypto/m2crypto-0.16.tar.gz	debian	uupdate

Added: trunk/packaging/linux/debuntu/lucid/m2crypto/m2crypto.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/m2crypto/m2crypto.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/m2crypto/m2crypto.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=m2crupto-0.18.2
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+workdir=m2crupto-0.20.2
+srcpkg0=M2Crypto-0.20.2.tar.gz
+
+
+# Load up the default build script
+. ../../m2crypto.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/m2crypto/m2crypto.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/quickbridge/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/quickbridge/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/quickbridge/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,42 @@
+quickbridge (3.1-2) lucid; urgency=low
+
+  * Rebuilt for Lucid Lynx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 03 Apr 2010 20:06:41 +1000
+
+quickbridge (3.1-1) karmic; urgency=low
+
+  * Rebuilt for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 01 Sep 2009 11:35:23 +1000
+
+quickbridge (3.1-1) jaunty; urgency=low
+
+  * Rebuilt for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 13:04:32 +1000
+
+quickbridge (3.1-1) intrepid; urgency=low
+
+  * Rebuilt for intrepid
+
+ -- Chris Willing <c.willing at uq.edu.au>  Mon, 15 Sep 2008 23:21:39 +1000
+
+quickbridge (3.1-1) lenny; urgency=low
+
+  * Rebuilt for lenny
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 22 Mar 2008 14:19:34 +1000
+
+quickbridge (3.1-1) etch; urgency=low
+
+  * Remove spurious "Provides" statement in debian/control
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 07 Nov 2007 10:16:29 +1000
+
+quickbridge (3.1) etch; urgency=low
+
+  * Initial release of quickbridge separated from AccessGrid
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 01 Jul 2007 22:35:03 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/quickbridge/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/quickbridge/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/quickbridge/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,12 @@
+Source: quickbridge
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au>
+Build-Depends: debhelper (>= 5.0.37.1), gcc
+Standards-Version: 3.7.2
+
+Package: quickbridge
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Quickbridge, from the AG Toolkit
+ Quickbridge, a multicast-unicast bridge, from the AG Toolkit

Added: trunk/packaging/linux/debuntu/lucid/quickbridge/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/quickbridge/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/quickbridge/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,22 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Sun, 01 Jul 2007 22:35:03 +1000
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+<Put the license of the package here>
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/quickbridge/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/quickbridge/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/quickbridge/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,45 @@
+#!/usr/bin/make -f
+
+package = quickbridge
+pkgpath = debian/tmp
+docdir = debian/tmp/usr/share/doc/$(package)
+here=`pwd`
+pkgdir = ${here}/$(pkgpath)
+
+
+build:
+	$(checkdir)
+	cd services/network/QuickBridge; gcc -O -o QuickBridge QuickBridge.c
+	touch build
+
+clean:
+	$(checkdir)
+	rm -f build
+
+
+binary-arch:	checkroot build
+	$(checkdir)
+	rm -rf $(pkgpath)
+	install -d $(pkgpath)/DEBIAN $(docdir)
+	install -d $(pkgpath)/usr/bin
+	install -m 755 services/network/QuickBridge/QuickBridge ${pkgdir}/usr/bin/
+	dpkg-gencontrol -isp
+	chown -R root:root $(pkgpath)
+	chmod -R u+w,go=rX $(pkgpath)
+	dpkg --build $(pkgpath) ..
+
+
+binary-indep:	checkroot build
+
+
+define checkdir
+	test -f services/network/QuickBridge/QuickBridge.c -a -f debian/rules
+endef
+
+binary:	binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/quickbridge/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/quickbridge/quickbridge.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/quickbridge/quickbridge.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/quickbridge/quickbridge.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=quickbridge-3.1
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+srcpkg0=quickbridge-3.1.src.tar.gz
+
+
+# Load up the default build script
+. ../../quickbridge.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/quickbridge/quickbridge.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/Twisted.egg-info.in
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/Twisted.egg-info.in	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/Twisted.egg-info.in	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,12 @@
+Metadata-Version: 1.0
+Name: Twisted
+Version: @twversion@
+Summary: An asynchronous networking framework written in Python
+Home-page: http://twistedmatrix.com/
+Author: Glyph Lefkowitz
+Author-email: glyph at twistedmatrix.com
+License: MIT
+Description: An extensible framework for Python programming, with special focus
+        on event-based network programming and multiprotocol integration.
+        
+Platform: UNKNOWN

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,638 @@
+twisted (10.0.0-2ubuntuag1) lucid; urgency=low
+
+  * Rebuild with AG patch
+
+ -- Christoph Willing <c.willing at uq.edu.au>  Sun, 04 Apr 2010 10:20:28 +1000
+
+twisted (10.0.0-2ubuntu1) lucid; urgency=low
+
+  * Add a trigger `twisted-plugins-cache' to rebuild the plugins cache.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 30 Mar 2010 17:55:15 +0200
+
+twisted (10.0.0-2) unstable; urgency=low
+
+  * Include changes from 9.0.0-2 which got skipped
+  * python-twisted depends on version >= 10.0 of other packages
+
+ -- Free Ekanayaka <freee at debian.org>  Tue, 09 Mar 2010 13:32:00 +0100
+
+twisted (10.0.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * Add myself as uploader.
+  * Bump standards version to 3.8.4
+
+ -- Free Ekanayaka <freee at debian.org>  Mon, 08 Mar 2010 12:32:45 +0100
+
+twisted (9.0.0-2) unstable; urgency=low
+
+  * Suppress output on stderr in postrm. Closes: #566395.
+  * Don't recommend twisted-doc-api. Closes: #566913.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 03 Feb 2010 02:14:52 +0100
+
+twisted (9.0.0-1) unstable; urgency=low
+
+  * python-twisted: Depend on the python-twisted-* 9.0 packages.
+  * python-twisted: Depend on python-zope.interface only. Closes: #557781.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 02 Jan 2010 19:38:17 +0100
+
+twisted (9.0.0-0) unstable; urgency=low
+
+  * New upstream version.
+  * tap2deb: Use date -R instead of 822-date. Closes: #550565.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 02 Jan 2010 18:46:39 +0100
+
+twisted (8.2.0-3) unstable; urgency=low
+
+  * Depend on the standalone python-zope.interface{,-dbg} packages.
+    Closes: #543132, #542932.
+  * Remove plugins directory on purge. Closes: #527897.
+  * Fix some lintian warnings.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 25 Aug 2009 20:36:00 +0200
+
+twisted (8.2.0-2) unstable; urgency=low
+
+  * python-twisted-core: Regenerate the plugin cache as the last action
+    in the postinst. Closes: #521663. LP: #361865.
+  * Avoid md5/sha1 deprecation warnings. LP: #344782.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 18 Apr 2009 13:54:12 +0200
+
+twisted (8.2.0-1) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 21 Feb 2009 12:15:25 +0100
+
+twisted (8.2.0-0.1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Esteve Fernandez <esteve at fluidinfo.com>  Sat, 31 Jan 2009 14:40:47 +0100
+
+twisted (8.1.0-4) unstable; urgency=low
+
+  * Move the cache update from python-twisted into python-twisted-core.
+    Closes: #500942.
+
+    Plugins should update the cache on package install (postinst) and 
+    removal (postrm remove) by updating the cache. See the postinst
+    script of python-twisted-core how to update the cache.
+
+  * Fix PortableGtkReactor (now able to run trial test suite with the gtk2
+    reactor). Closes: #499311.
+  * Don't install twisted/test/generator_failure_tests.py, syntax errors
+    with python2.4. Closes: #492830.
+  * Fix manhole to work with python-gtk2 (>= 2.10). Closes: #469105.
+  * mktap(1) description of options fixed in an earlier version. 
+    Closes: #278194.
+  * mktap news fixed in an earlier version. Closes: #278196.
+  * Fix build failure on GNU/kFreeBSD (Petr Salinger). Closes: #490770.
+
+ -- Matthias Klose <doko at debian.org>  Fri, 10 Oct 2008 21:22:21 +0200
+
+twisted (8.1.0-3) unstable; urgency=low
+
+  * Do not include twisted/plugins/dropin.cache, but generate it on
+    configure, remove it on package removal. Closes: #489976.
+  * twisted plugins have to update that cache on installation and removal.
+    See the python-twisted-core postinst how to do so.
+
+ -- Matthias Klose <doko at debian.org>  Fri, 11 Jul 2008 14:41:43 +0200
+
+twisted (8.1.0-2) unstable; urgency=low
+
+  * python-twisted-core: Include twisted/plugins/dropin.cache, Closes: #477103.
+  * tap2deb.py: Fix some dependency names and names of binaries.
+    Closes: #440454. LP: #120453.
+  * python-twisted: Tighten dependencies.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 08 Jul 2008 16:34:14 +0200
+
+twisted (8.1.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * python-twisted: Add an egg-info file. Closes: #477384.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 28 May 2008 23:06:45 +0200
+
+twisted (8.0.1-2) unstable; urgency=low
+
+  * twisted/scripts/tap2deb.py: Create dependency on python-twisted.
+
+ -- Matthias Klose <doko at ubuntu.com>  Wed, 09 Apr 2008 15:37:36 +0000
+
+twisted (8.0.1-1) unstable; urgency=low
+
+  * New upstream version.
+  * Disable building the empty twisted-doc-api package. Closes: #313334.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 30 Mar 2008 21:02:28 +0200
+
+twisted (2.5.0-2) unstable; urgency=low
+
+  * python-twisted-core: Suggest python-wxgtk2.8 as an alternative.
+
+ -- Matthias Klose <doko at debian.org>  Thu, 07 Jun 2007 07:14:49 +0200
+
+twisted (2.5.0-1) unstable; urgency=low
+
+  * New upstream version, compatible with python2.5.
+  * Merge from Ubuntu:
+    - Build a python-twisted-dbg package.
+    - Bump debhelper compatibility to v5.
+    - Tighten dependencies of the python-twisted package.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 20 May 2007 19:29:53 +0200
+
+twisted (2.4.0-3) unstable; urgency=medium
+
+  * twisted/python/versions.py: Update to work with subversion 1.4.
+    Closes: #405141.
+  * python-twisted-core: Don't suggest python-wxgtk2.4 anymore.
+    Closes: #391994.
+
+ -- Matthias Klose <doko at debian.org>  Mon,  8 Jan 2007 00:01:04 +0100
+
+twisted (2.4.0-2) unstable; urgency=high
+
+  * python-twisted-core: Depend on python-twisted-bin.
+
+ -- Matthias Klose <doko at debian.org>  Sun,  9 Jul 2006 12:04:18 +0000
+
+twisted (2.4.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * Convert packaging to use python-central (closes: #373392).
+  * python-twisted-core: Do not suggest python-glade-1.2 (closes: #368514).
+  * python-twisted.menu: Add python-tk as a required package for tkmtap.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 14 Jun 2006 03:45:29 +0200
+
+twisted (2.2.0-2) unstable; urgency=low
+
+  * Fix classname in python/dispatch.py (closes: #359225).
+  * Fix spelling errors in man pages (closes: #355227).
+  * Drop conflicts on packages not tested with twisted >= 2.0 (closes: #359179).
+
+ -- Matthias Klose <doko at debian.org>  Fri, 14 Apr 2006 23:25:37 +0000
+
+twisted (2.2.0-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 22 Feb 2006 08:28:04 +0100
+
+twisted (2.1.0-4) unstable; urgency=low
+
+  * Fix typo in versioned dependencies on *-conch packages (closes: #349627).
+  * Fix location of the core documentation in the doc-base file.
+    Closes: #349627.
+
+ -- Matthias Klose <doko at debian.org>  Thu,  2 Feb 2006 15:39:10 +0000
+
+twisted (2.1.0-3) unstable; urgency=low
+
+  * Rename python-twisted to python-twisted-core; python-twisted is now
+    a transitional package, depending on python-twisted-core and all
+    twisted modules, which were split out into separate packages.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 25 Jan 2006 17:56:16 +0100
+
+twisted (2.1.0-2) unstable; urgency=low
+
+  * debian/copyright: Include copyright for python 2.3; some 2.3 files
+    are included in the upstream tarball, but not in the binary packages.
+
+ -- Matthias Klose <doko at debian.org>  Mon, 16 Jan 2006 19:59:05 +0100
+
+twisted (2.1.0-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 15 Jan 2006 22:07:22 +0000
+
+twisted (2.0.1-4) unstable; urgency=low
+
+  * Fix doc symlinks (closes: #313313).
+  * Remove conflict with supyb, requested by the supyb maintainer.
+  * Suggest python-wxgtk2.4 | python-wxgtk2.6.
+  * Fix man page symlinks (closes: #326021, #314508, #315307, #323551).
+  * Fix location of the tutorial in the doc-base file (closes: #318167).
+  * python-twisted: Add dependency on python-soappy (closes: #317290).
+
+ -- Matthias Klose <doko at debian.org>  Thu,  1 Sep 2005 15:49:29 +0200
+
+twisted (2.0.1-3) unstable; urgency=low
+
+  * Drop python2.2 packages, build python2.4 packages.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 12 Jun 2005 19:05:59 +0200
+
+twisted (2.0.1-2) unstable; urgency=low
+
+  * Reupload as -2, -1 is sticking in the NEW queue from a hijack attempt.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 12 Jun 2005 18:41:05 +0200
+
+twisted (2.0.1-1) unstable; urgency=low
+
+  * New upstream version, built from the sumo tarball.
+  * (Build-)depend on zope-interface.
+  * Explicitely conflict with all current packages depending on
+    python-twisted and python-twisted-conch. Please check for
+    compatibility first.
+  * Do provide menu entries for the default version only.
+  * Empty twisted-doc-api package at the moment.
+  * Use debhelper for the packaging.
+  * Change priority to optional.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 12 Jun 2005 14:52:40 +0200
+
+twisted (1.3.0-8) unstable; urgency=low
+
+  * Fix the fix in gtk2reactor.
+
+ -- Matthias Klose <doko at debian.org>  Fri, 11 Feb 2005 14:45:43 +0100
+
+twisted (1.3.0-7) unstable; urgency=low
+
+  * Conditionally import the profile module (closes: #294493).
+  * Add suggestions to the python-profiler package.
+  * Suppress gtk2 user warning in gtk2reactor (closes: #291310).
+
+ -- Matthias Klose <doko at debian.org>  Thu, 10 Feb 2005 13:12:20 +0100
+
+twisted (1.3.0-6) unstable; urgency=medium
+
+  * Fix two bad mail-related bugs, which are really harmful for the
+    scalemail application (Tommi Virtanen):
+    - insufficient error handling in mail delivery, causing mail loss
+      (fixed by r12036)
+    - unable to send mail from <> (fixed by r12767, which broke receiving
+      mail from <>, which is fixed in r12858).
+    Closes: #289993.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 15 Jan 2005 23:49:03 +0100
+
+twisted (1.3.0-5) unstable; urgency=low
+
+  * Fix memory leak in _c_urlarg.c (closes: #284818).
+  * python2.3-twisted: Add python-glade-1.2 python-gtk-1.2 suggests.
+    Closes: #283238.
+
+ -- Matthias Klose <doko at debian.org>  Mon, 20 Dec 2004 19:23:11 +0100
+
+twisted (1.3.0-4) unstable; urgency=low
+
+  * Fix package recommendations.
+  * twisted/xish/domish.py: Add fixes for jabber protocol implementation.
+    Alexandre Fayolle. Closes: #273141.
+
+ -- Matthias Klose <doko at debian.org>  Wed,  6 Oct 2004 08:06:47 +0200
+
+twisted (1.3.0-3) unstable; urgency=medium
+
+  * twisted-doc-api: Add link to docs (closes: #255888).
+  * twisted-doc: Rename examples/xindex.html (closes: #255887).
+  * twisted-doc: Include the Twisted tutorial (closes: #256598).
+  * Install the PDF version of the Twisted Book, not the PostScript version.
+  * python-twisted: Recommend the python-serial package.
+  * Fix nmea protocol failing when checksums turned off (closes: #243136).
+  * Add support for bool types in Twisted Serialize module (python2.3 only).
+    Closes: #217053.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 29 Aug 2004 15:31:36 +0200
+
+twisted (1.3.0-2) unstable; urgency=low
+
+  * Fix links in twisted-doc's index.html (closes: #255548).
+
+ -- Matthias Klose <doko at debian.org>  Mon, 21 Jun 2004 22:01:11 +0200
+
+twisted (1.3.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * Hijacking the package.
+    See http://lists.debian.org/debian-qa/2004/06/msg00070.html.
+  * Fix doc-base file (closes: #220698, #220699).
+  * html files are included as .html, not .xhtml (closes: #192600).
+  * Make package descriptions more verbose (closes: #209816).
+  * Fix some lintian errors.
+
+ -- Matthias Klose <doko at debian.org>  Sat, 19 Jun 2004 00:54:55 +0200
+
+twisted (1.2.0-1.1) unstable; urgency=low
+
+  * NMU.
+  * Fix suggestions and recommendations:
+    - Make python-pyopenssl, python-pam recommendations.
+    - Make python-tk, python-gtk2, python-glade2, python-qt3,
+      libwxgtk2.4-python suggestions.
+    Closes: #240564.
+  * python-twisted-conch: Depend on python2.3-twisted-conch.
+  * Use Debian's way importing gtk2:
+    - doc/examples/pbgtk2.py
+    - twisted/spread/ui/gtk2util.py
+  * The Debian package provided upstream isn't a big help, as it's just
+    an outdated copy of the Debian package :-(
+
+ -- Matthias Klose <doko at debian.org>  Sat, 17 Apr 2004 14:25:26 +0200
+
+twisted (1.2.0-1) unstable; urgency=low
+
+  * New upstream version (closes: #211102).
+
+ -- Matthias Klose <doko at debian.org>  Thu, 26 Feb 2004 07:05:22 +0100
+
+twisted (1.1.2-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 18 Feb 2004 12:03:02 -0500
+
+twisted (1.1.1-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 15 Jan 2004 12:03:02 -0500
+
+twisted (1.1.0-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 21 Nov 2003 14:56:54 -0500
+
+twisted (1.0.7-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 17 Sep 2003 00:33:51 -0500
+
+twisted (1.0.6-1) unstable; urgency=low
+
+  * New upstream version.
+  * NMU (encouraged by maintainer)
+
+ -- Martin Sjogren <sjogren at debian.org>  Thu,  3 Jul 2003 07:45:27 +0200
+ 
+twisted (1.0.5-1) unstable; urgency=low
+
+  * New upstream version
+  * Remove Python 2.1 packages -- upstream no longer supports 2.1 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu,  1 May 2003 09:06:49 +0300
+
+twisted (1.0.4-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 18 Apr 2003 03:46:22 +0000
+
+twisted (1.0.3-1) unstable; urgency=low
+
+  * Split out conch
+    * This allows us to have conch properly depend on python-crypto
+  * Documentation improvements
+    * Installing xhtml versions of everything
+    * Distributing ps and pdf versions of book
+    * doc-base support
+  * Split out doc-api
+    * It's HUGE and many people don't need it (since it is available on the
+      web) 
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 12 Nov 2002 02:59:56 -0600
+
+twisted (1.0.0-2) unstable; urgency=low
+
+  * Put api docs in api/ (Closes: #167196) 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu,  7 Nov 2002 12:27:37 -0600
+
+twisted (1.0.0-1) unstable; urgency=low
+
+  * New upstream release 
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 22 Oct 2002 06:22:49 -0500
+
+twisted (0.99.2-4) unstable; urgency=low
+
+  * UGH! Python 2.3 distutils bug is back 
+  * Working around it
+
+ -- Moshe Zadka <moshez at debian.org>  Wed,  2 Oct 2002 12:07:25 +0000
+
+twisted (0.99.2-3) unstable; urgency=low
+
+  * Adding "/usr/bin/python" to build dependencies.
+
+ -- Moshe Zadka <moshez at debian.org>  Mon, 30 Sep 2002 15:46:56 +0000
+
+twisted (0.99.2-2) unstable; urgency=low
+
+  * Enabling Python 2.3 support 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 27 Sep 2002 10:49:43 -0500
+
+twisted (0.99.2-1) unstable; urgency=low
+
+  * New upstream
+  * Fixed build dependencies (Closes: #159258)
+
+ -- Moshe Zadka <moshez at debian.org>  Mon, 23 Sep 2002 08:56:05 -0500
+
+twisted (0.99.0-1) unstable; urgency=low
+
+  * New upstream version.
+  * Packaging changes:
+    * "Twisted" is now a package, to facilitate upgrades from woody
+      (there are verioned depends:)
+    * New package: twisted-quotes -- quotes collected by the Twisted release
+      team
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 29 Aug 2002 08:05:38 -0500
+
+twisted (0.19.0-2) unstable; urgency=low
+
+  * Gagh, make python2.2-twisted any, not all. 
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 31 Jul 2002 02:25:23 -0500
+
+twisted (0.19.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Debian packaging changes:
+    * split python2.x-twisted into python2.x-twisted and python2.x-twisted-bin
+    * unfortunately, because of distutils mind boggling stupidity, it will
+      do most of the work for building the arch-independant utilities when
+      building the c module
+    * fortunately, twisted will now take up much less room in the archive
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 19 Jun 2002 18:01:50 +0300
+
+twisted (0.18.0-2) unstable; urgency=low
+
+  * The "Aaaaarrrgghhh, I'm stupid release"
+  * debian/control: python2.1-twisted needs to Conflict:/Replace: twisted too
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 18 Jun 2002 20:22:08 +0300
+
+twisted (0.18.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Lots of debian changes:
+    * building python2.1-twisted, python2.2-twisted
+    * python-twisted depends on python2.1-twisted
+    * menu support for t-im and manhole enabled
+  * Removed debelper
+    * Added debian/scripts/ directory with helper scripts
+    * This will (hopefully) mean support python2.3 will be easy 
+  * Upstream fixed tcp client (Closes: #142789)
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 28 May 2002 12:35:35 +0300
+
+twisted (0.17.3-1) unstable; urgency=low
+
+  * New upstream release 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 19 Apr 2002 02:55:43 -0500
+
+twisted (0.17.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Now building two packages -- one for the code, one for the docs
+    + If you want the docs, install twisted-docs too
+    + Feedback is encouraged about whether a 2.2-supporting version is needed
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 14 Mar 2002 07:24:07 +0200
+
+twisted (0.15.5-1) unstable; urgency=low
+
+  * New upstream release 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri,  8 Mar 2002 07:14:16 +0200
+
+twisted (0.15.4-1) unstable; urgency=low
+
+  * New upstream version
+  * Better DNS support
+
+ -- Moshe Zadka <moshez at debian.org>  Tue,  5 Mar 2002 13:54:37 +0200
+
+twisted (0.15.3-1) unstable; urgency=low
+
+  * New upstream release
+  * Fixed stupidproxy bug, where connections weren't closed 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 28 Feb 2002 21:07:28 +0200
+
+twisted (0.15.1-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Moshe Zadka <moshez at debian.org>  Tue, 12 Feb 2002 20:36:38 +0200
+
+twisted (0.15.0-1) unstable; urgency=low
+
+  * New upstream release
+  * IM application: many improvements, new GTK+ client
+  * easier to add error callbacks to deferred
+  * SOCKSv4 support
+  * bugs fixed in t.i.tcp
+  * added approveConnection (again ;-)
+  * All non-blocking methods now return deferreds instead of accepting 
+    callbacks (hopefully)
+  * low-level protocol changes
+  * New t.web applications and features
+  * Perspective retrieval now async
+  * Enterprise now fixed
+
+ -- Moshe Zadka <moshez at debian.org>  Wed,  6 Feb 2002 14:38:38 +0200
+
+twisted (0.13.0-1) unstable; urgency=low
+
+  * New upstream version 
+  * New forum
+  * New config interface
+  * New metrics
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 10 Jan 2002 20:04:30 +0200
+
+twisted (0.12.2-1) unstable; urgency=low
+
+  * New upstream versions (many bugfixes) 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 29 Nov 2001 08:01:23 +0200
+
+twisted (0.12.1-1) unstable; urgency=low
+
+  * New upstream version (mainly bugfixes) 
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 22 Nov 2001 09:09:14 +0200
+
+twisted (0.12.0-1) unstable; urgency=low
+
+  * New upstream version
+  * Using Python 2.1 
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 21 Nov 2001 15:17:25 +0200
+
+twisted (0.10.3-1) unstable; urgency=low
+
+  * New upstream release
+  * twisted.names, resolving internet names
+  * optimizations
+  * works with Jython too
+
+ -- Moshe Zadka <moshez at debian.org>  Sun, 30 Sep 2001 23:46:45 +0200
+
+twisted (0.10.2-1) unstable; urgency=low
+
+  * New upstream release
+  * bug fixes
+  * timeouts for client sockets 
+  * Tutorial about plugins
+  * Mail has changed API in an incompatible way
+
+ -- Moshe Zadka <moshez at debian.org>  Wed, 12 Sep 2001 23:00:59 +0300
+
+twisted (0.10.1-1) unstable; urgency=low
+
+  * New upstream release 
+  * Massive renaming in prespective broker classes
+  * web proxying
+  * TCP connection forwarding
+  * Lots of new protocols: LDAP, finger and obscure RFCs
+  * --plugin option to twistd
+  * web widgets
+  * twisted.enterprise improved a lot 
+
+ -- Moshe Zadka <moshez at debian.org>  Fri, 31 Aug 2001 06:49:00 +0300
+
+twisted (0.10.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Added twisted.tap and twisted.mail to distribution
+  * Added docs about writing new twisted servers
+  * Changed mail API: now, saveMessage gets the SMTP from too
+  * Removed spurious prints from twisted.mail.mail
+  * Possible to relay mail to unknown domains via smart host
+  * tap2deb can create policy compliant Debian packages around .tap's
+  * Fixed debian/rules clean target (closes: Bug#108245)
+  * New arguments to twistd: --python, --no_save
+  * New arguments to mktap: --append
+  * twisted.tcp.Port can now change the size of the backlog from 5
+  * UDP servers now possible
+
+ -- Moshe Zadka <moshez at debian.org>  Thu,  9 Aug 2001 09:37:03 +0300
+
+twisted (0.9.4-1) unstable; urgency=low
+
+  * Initial Release. (closes: #105843)
+
+ -- Moshe Zadka <moshez at debian.org>  Thu, 26 Jul 2001 21:09:53 +0300

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/compat
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/compat	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/compat	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+5

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,86 @@
+Source: twisted
+Section: AccessGrid
+Priority: optional
+Maintainer: Christoph Willing <c.willing at uq.edu.au>
+Uploaders: Free Ekanayaka <freee at debian.org>
+Build-Depends: debhelper (>= 5.0.37.1), python-central (>= 0.6.11), python-all-dev, python-all-dbg, python-zope.interface-dbg, patch, dpatch
+Build-Conflicts: python-setuptools
+XS-Python-Version: all
+Standards-Version: 3.8.4
+
+Package: python-twisted-core
+Architecture: all
+Depends: ${python:Depends}, python-twisted-bin (>= ${source:Version}), python-zope.interface (>= 3.5), python (>= 2.3.5-9), ${misc:Depends}
+Suggests: python-tk, python-gtk2, python-glade2, python-qt3, python-wxgtk2.8 | python-wxgtk2.6, python-profiler
+Recommends: python-openssl, python-pam, python-serial
+Conflicts: python2.3-twisted (<< 2.1.0-4), python2.4-twisted (<< 2.1.0-4), python-twisted (<< 2.1.0-4), python2.3-twisted-core, python2.4-twisted-core
+Replaces: python2.3-twisted (<< 2.1.0-4), python2.4-twisted (<< 2.1.0-4), python-twisted (<< 2.1.0-4), python2.3-twisted-core, python2.4-twisted-core
+Provides: ${python:Provides}
+XB-Python-Version: ${python:Versions}
+Description: Event-based framework for internet applications
+ It includes a web server, a telnet server, a multiplayer RPG engine, a
+ generic client and server for remote object access, and APIs for creating
+ new protocols.
+
+Package: python-twisted-bin
+Architecture: any
+Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Conflicts: python2.3-twisted-bin, python2.4-twisted-bin
+Replaces: python2.3-twisted-bin, python2.4-twisted-bin
+Provides: ${python:Provides}
+Suggests: python-twisted-bin-dbg
+XB-Python-Version: ${python:Versions}
+Description: Event-based framework for internet applications
+ It includes a web server, a telnet server, a multiplayer RPG engine, a 
+ generic client and server for remote object access, and APIs for creating 
+ new protocols.
+
+Package: python-twisted-bin-dbg
+Priority: extra
+Section: debug
+Architecture: any
+Depends: python-zope.interface-dbg, python-twisted-bin (= ${binary:Version}), python-dbg, ${shlibs:Depends}, ${misc:Depends}
+Description: Event-based framework for internet applications (debug extension)
+ It includes a web server, a telnet server, a multiplayer RPG engine, a 
+ generic client and server for remote object access, and APIs for creating 
+ new protocols.
+ .
+ This package contains the extension built for the Python debug interpreter.
+
+Package: twisted-doc
+Section: doc
+Priority: extra
+Architecture: all
+Depends: ${misc:Depends}
+Suggests: python-twisted, twisted-doc-api
+Recommends: www-browser | postscript-viewer | pdf-viewer
+Description: The official documentation of Twisted
+ This contains various HOWTOs and overviews in various formats
+ .
+ Twisted is an event-based framework for internet applications.
+ It includes a web server, a telnet server, a multiplayer RPG engine, a 
+ generic client and server for remote object access, and APIs for creating 
+ new protocols.
+
+#Package: twisted-doc-api
+#Section: doc
+#Priority: extra
+#Architecture: all
+#Depends: twisted-doc, ${misc:Depends}
+#Description: The auto-generated API docs of Twisted
+# Epydoc-generated HTML API docs of Twisted classes, modules and functions.
+# .
+# Twisted is an event-based framework for internet applications
+# It includes a web server, a telnet server, a multiplayer RPG engine, a 
+# generic client and server for remote object access, and APIs for creating 
+# new protocols.
+
+Package: python-twisted
+Architecture: all
+Priority: extra
+Depends: ${python:Depends}, python-twisted-core (>= 10.0), python-twisted-conch (>= 1:10.0), python-twisted-mail (>= 10.0), python-twisted-lore (>= 10.0), python-twisted-names (>= 10.0), python-twisted-news (>= 10.0), python-twisted-runner (>= 10.0), python-twisted-web (>= 10.0), python-twisted-words (>= 10.0), ${misc:Depends}
+Provides: ${python:Provides}
+XB-Python-Version: ${python:Versions}
+Description: Event-based framework for internet applications (transitional package)
+ This is a transitional package that depends on the twisted core library and
+ all the libraries split out to separate packages starting with Twisted-2.0.1.

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,107 @@
+This package was debianized by Moshe Zadka <moshez at debian.org>
+on Sat, 21 Jul 2001 09:35:33 +0300,
+updated for 2.0 by Matthias Klose <doko at debian.org>
+
+It was downloaded from http://www.twistedmatrix.com
+
+Copyright (c) 2005
+Allen Short
+Andrew Bennetts
+Benjamin Bruheim
+Bob Ippolito
+Christopher Armstrong
+Donovan Preston
+Eric Mangold
+Itamar Shtull-Trauring
+James Knight
+Jason A. Mobarak
+Jonathan Lange
+Jonathan D. Simms
+Jp Calderone
+Juergen Hermann
+Kevin Turner
+Mary Gardiner
+Matthew Lefkowitz
+Massachusetts Institute of Technology
+Moshe Zadka
+Paul Swartz
+Pavel Pergamenshchik
+Sean Riley
+Travis B. Hartwell
+
+except as noted at the end of this file.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Copyright Exceptions:
+
+The source includes in twisted/python/pymodules some files from the
+Python 2.3 upstream tarball (not included in the binary packages).
+The Python 2.3 license follows:
+
+PSF LICENSE AGREEMENT FOR PYTHON 2.3
+------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using Python 2.3 software in source or binary form and its
+associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 2.3
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003 Python Software Foundation; All Rights Reserved" are
+retained in Python 2.3 alone or in any derivative version prepared by
+Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 2.3 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 2.3.
+
+4. PSF is making Python 2.3 available to Licensee on an "AS IS"
+basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.3 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+2.3 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.3,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee.  This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python 2.3, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/00list
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/00list	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/00list	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+twisted-internet-_threadedselect

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/twisted-internet-_threadedselect.dpatch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/twisted-internet-_threadedselect.dpatch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/twisted-internet-_threadedselect.dpatch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## twisted-internet-_threadedselect.dpatch by  <chris at v1.vislab.uq.edu.au>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad twisted-8.0.1~/twisted/internet/_threadedselect.py twisted-8.0.1/twisted/internet/_threadedselect.py
+--- twisted-8.0.1~/twisted/internet/_threadedselect.py	2008-03-05 07:36:22.000000000 +1000
++++ twisted-8.0.1/twisted/internet/_threadedselect.py	2008-04-17 13:12:00.257646276 +1000
+@@ -185,7 +185,7 @@
+                     else:
+                         raise
+                 elif se.args[0] == EINTR:
+-                    return
++                    continue
+                 elif se.args[0] == EBADF:
+                     self._preenDescriptorsInThread()
+                 else:


Property changes on: trunk/packaging/linux/debuntu/lucid/twisted/debian/patches/twisted-internet-_threadedselect.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postinst
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+set -e
+
+#DEBHELPER#
+
+rebuild_cache()
+{
+    for p in $(pyversions -i); do
+	$p -c 'from twisted.plugin import IPlugin, getPlugins; list(getPlugins(IPlugin))' \
+	  >/dev/null 2>&1 || true
+    done
+}
+
+case "$1" in
+    triggered)
+	if [ "$2" = twisted-plugins-cache ]; then
+	    rebuild_cache
+	fi
+	;;
+    configure)
+	rebuild_cache
+	;;
+esac
+
+exit 0

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postrm
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postrm	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.postrm	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+set -e
+
+case "$1" in
+    purge)
+	find /usr/lib/python[23].*/*-packages/twisted/plugins \
+	    -name dropin.cache 2>/dev/null | xargs -r rm -f
+	for d in /usr/lib/python[23].*/*-packages/twisted/plugins; do
+	    rmdir $d 2>/dev/null || true
+	done 
+	;;
+esac
+
+#DEBHELPER#
+
+exit 0

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.triggers
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.triggers	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted-core.triggers	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+interest twisted-plugins-cache

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.menu
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.menu	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.menu	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+?package(python-twisted,python-gtk2):\
+	needs="x11"\
+	section="Applications/Network/Communication"\
+	title="Manhole Twisted Client"\
+	command="/usr/bin/manhole"
+
+?package(python-twisted,python-tk):\
+	needs="x11"\
+	section="Applications/Network/Communication"\
+	title="Twisted Application Generator"\
+	command="/usr/bin/tkmktap"

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.preinst
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.preinst	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/python-twisted.preinst	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,7 @@
+#! /bin/sh -e
+
+if [ ! -h /usr/share/doc/python-twisted ]; then
+    rm -rf /usr/share/doc/python-twisted
+fi
+
+#DEBHELPER#

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,159 @@
+#! /usr/bin/make -f
+
+include /usr/share/dpatch/dpatch.make
+
+SHELL = /bin/bash
+
+DEB_HOST_ARCH_OS ?=  $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+# all versions
+PYVERS	:= $(shell pyversions -vs)
+VER	:= $(shell /usr/bin/python -c 'import sys; print sys.version[:3]')
+
+gamesdir = debian/twisted-quotes/usr/share/games/fortunes
+
+twersion := $(subst twisted-,,$(notdir $(CURDIR)))
+
+include /usr/share/pycentral-data/pycentral.mk
+
+build: build-stamp
+build-stamp: patch-stamp $(PYVERS:%=build-python%)
+	touch $@
+build-python%:
+	python$* setup.py build
+	python$*-dbg setup.py build
+	touch $@
+
+clean:	unpatch
+	rm -rf *-stamp build-python* build
+	rm -rf $(addprefix debian/,$(packages)) debian/files debian/substvars
+	rm -rf _trial_temp test.log
+	find . -name "*.pyc" |xargs -r rm
+	dh_clean
+
+install: build-stamp install-prereq $(PYVERS:%=install-python%) install-nover
+
+install-prereq: build-stamp
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+
+install-python%: install-prereq
+	: # python-twisted-core
+	python$* setup.py install --root=debian/python-twisted-core --install-layout=deb
+
+	-find debian/python-twisted-core -name '*.py[co]' | xargs rm -f
+#	for i in debian/python$*-twisted-core/usr/bin/*; do \
+#	  mv $$i $${i}$*; \
+#	done
+#	mkdir -p debian/python$*-twisted-core/usr/share/man/man1
+#	for i in doc/man/{manhole,*tap*,trial,twistd}.1; do \
+#	  iv=`basename $$i .1`$*.1; \
+#	  cp -p $$i debian/python$*-twisted-core/usr/share/man/man1/$$iv; \
+#	done
+	case $* in \
+	  1.5|2.0|2.1|2.2) ;; \
+	  *) rm -rf debian/python-twisted-core/usr/lib/python$*/*-packages/twisted/python/pymodules; \
+	esac
+
+	: # python-twisted-bin
+ifeq ($(DEB_HOST_ARCH_OS), linux)
+	dh_movefiles -ppython-twisted-bin \
+	  --sourcedir=debian/python-twisted-core \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/protocols/_c_urlarg.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/python/_epoll.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/python/_initgroups.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/test/raiser.so
+else
+	dh_movefiles -ppython-twisted-bin \
+	  --sourcedir=debian/python-twisted-core \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/protocols/_c_urlarg.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/python/_initgroups.so \
+	    usr/lib/python$*/$(call sitedir,$*)/twisted/test/raiser.so
+endif
+
+	: # python-twisted
+	mkdir -p debian/python-twisted/usr/lib/python$*/$(call sitedir,$*)
+	sed 's/@twersion@/$(twversion)/' debian/Twisted.egg-info.in \
+		> debian/python-twisted/usr/lib/python$*/$(call sitedir,$*)/Twisted-$(twersion).egg-info
+
+	: # Replace all '#!' calls to python with /usr/bin/python
+	: # and make them executable
+	for i in `find debian/python-twisted-* -mindepth 3 -type f`; do \
+	  sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python\1,' \
+		$$i > $$i.temp; \
+	  if cmp --quiet $$i $$i.temp; then \
+	    rm -f $$i.temp; \
+	  else \
+	    mv -f $$i.temp $$i; \
+	    chmod 755 $$i; \
+	    echo "fixed interpreter: $$i"; \
+	  fi; \
+	done
+
+	: # python-twisted-bin-dbg
+	python$*-dbg setup.py install --root=debian/python-twisted-bin-dbg --no-compile --install-layout=deb
+	find debian/python-twisted-bin-dbg ! -type d ! -name '*_d.so' | xargs rm -f
+	find debian/python-twisted-bin-dbg -depth -empty -exec rmdir {} \;
+
+install-nover:
+	: # twisted-doc
+	mkdir -p debian/twisted-doc/usr/share/doc/twisted-doc
+	cp -a doc/* debian/twisted-doc/usr/share/doc/twisted-doc/
+	-find debian/twisted-doc -type d -name man | xargs rm -rf
+
+	mkdir -p debian/python-twisted-core/usr/share/man/man1
+	for i in doc/man/{manhole,*tap*,trial,twistd,pyhtmlizer}.1; do \
+	  cp -p $$i debian/python-twisted-core/usr/share/man/man1/; \
+	done
+
+#	: # python-twisted-core
+#	mkdir -p debian/python-twisted-core/usr/bin
+#	for i in debian/python$(VER)-twisted-core/usr/bin/*; do \
+#	  iv=`basename $$i $(VER)`; \
+#	  ln -sf $${iv}$(VER) debian/python-twisted-core/usr/bin/$$iv; \
+#	done
+#	mkdir -p debian/python-twisted-core/usr/share/man/man1
+#	for i in debian/python$(VER)-twisted-core/usr/share/man/man1/*; do \
+#	  iv=`basename $$i $(VER).1`; \
+#	  ln -sf $${iv}$(VER).1.gz \
+#	    debian/python-twisted-core/usr/share/man/man1/$$iv.1.gz; \
+#	done
+
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs -i
+	dh_installdocs -i
+#	rm -rf debian/twisted-doc-api/usr/share/doc/twisted-doc-api
+#	ln -s twisted-doc debian/twisted-doc-api/usr/share/doc/twisted-doc-api
+	dh_installmenu -i
+	dh_compress -i -X.py
+	dh_fixperms -i
+	DH_PYCENTRAL=include-links dh_pycentral -i
+	dh_installdeb -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
+
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs -a
+	dh_installdocs -a
+	dh_installmenu -a
+	dh_strip -ppython-twisted-bin --dbg-package=python-twisted-bin-dbg
+	rm -rf debian/python-twisted-bin-dbg/usr/share/doc/python-twisted-bin-dbg
+	ln -s python-twisted-bin \
+	    debian/python-twisted-bin-dbg/usr/share/doc/python-twisted-bin-dbg
+	dh_compress -a -X.py
+	dh_fixperms -a
+	DH_PYCENTRAL=include-links dh_pycentral -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install install-nover install-prereq


Property changes on: trunk/packaging/linux/debuntu/lucid/twisted/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-api
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-api	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-api	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,20 @@
+Document: twisted-api
+Title: The Twisted API Reference
+Author: The Twisted Team
+Abstract: This collection of autogenerated API references describes how
+ to use the various classes and function in Twisted
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/twisted-doc/api/index.html
+Files: /usr/share/doc/twisted-doc/api/*.html
+Document: twisted-api
+Title: The Twisted API Reference
+Author: The Twisted Team
+Abstract: This collection of autogenerated API references describes how
+ to use the various classes and function in Twisted
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/twisted-doc/api/index.html
+Files: /usr/share/doc/twisted-doc/api/*.html

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-doc.doc-base
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-doc.doc-base	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/twisted-doc.doc-base	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,10 @@
+Document: twisted-howto
+Title: The Twisted Book
+Author: The Twisted Team
+Abstract: This book describes how to use Twisted for any use --
+ from bringing up a simple web site to coding distributed applications
+Section: Programming/Python
+
+Format: HTML
+Index: /usr/share/doc/twisted-doc/howto/index.html
+Files: /usr/share/doc/twisted-doc/howto/*.html

Added: trunk/packaging/linux/debuntu/lucid/twisted/debian/watch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/debian/watch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/debian/watch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,2 @@
+version=3
+http://tmrc.mit.edu/mirror/twisted/Twisted/(\d\.\d)/ Twisted-([\d\.]*)\.tar\.bz2

Added: trunk/packaging/linux/debuntu/lucid/twisted/twisted.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/twisted/twisted.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/twisted/twisted.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=twisted-10.0.0
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+#srcpkg0=twisted-10.0.0.tar.gz
+
+
+# Load up the default build script
+. ../../twisted.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/twisted/twisted.build
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/buildag.sh
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/buildag.sh	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/buildag.sh	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+
+
+echo "YYY ${topdir}"
+echo "ZZZ ${version}"
+
+( cd common && scons configure && scons )
+echo "DONE COMMON"
+( cd VPMedia && scons TOP_DIR=${topdir} configure && scons TOP_DIR=${topdir} )
+echo "DONE VPMEDIA"
+( cd VPC && scons TOP_DIR=${topdir} )
+echo "DONE VPC"
+( cd VPCScreen-${version} && scons TOP_DIR=${topdir}
+zip -0 VPCScreenProducerService.zip VPCScreenProducerService.py VPCScreenProducerService.svc
+)
+echo "DONE VPCSCREEN"
+


Property changes on: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/buildag.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/changelog
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/changelog	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/changelog	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,67 @@
+vpcscreen (0.2-5) lucid; urgency=low
+
+  * Rebuild for Lucid Lynx
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sat, 03 Apr 2010 21:13:47 +1000
+
+vpcscreen (0.2-4) karmic; urgency=low
+
+  * Change default ttl to 127 (was 16). Still needs to accept cli value
+
+ -- Chris Willing <c.willing at uq.edu.au>  Fri, 02 Apr 2010 01:16:22 +1000
+
+vpcscreen (0.2-3) karmic; urgency=low
+
+  * New build for Karmic Koala
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 02 Sep 2009 16:07:14 +1000
+
+vpcscreen (0.2-3) jaunty; urgency=low
+
+  * New build for Jaunty Jackalope
+
+ -- Chris Willing <c.willing at uq.edu.au>  Wed, 01 Apr 2009 15:56:55 +1000
+
+vpcscreen (0.2-3) intrepid; urgency=low
+
+  * New build for Intrepid Ibex
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 16 Sep 2008 22:13:33 +1000
+
+vpcscreen (0.2-3) hardy; urgency=low
+
+  * Make VPCScreenProducer.py a conffiles entry
+  *	(to avoid removal when accessgrid3.1 package is removed/purged)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 08 May 2008 12:45:19 +1000
+
+vpcscreen (0.2-2) hardy; urgency=low
+
+  * Rebuild using wxgtk2.8 (was 2.6)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Sun, 27 Apr 2008 21:09:34 +1000
+
+vpcscreen (0.2-1) hardy; urgency=low
+
+  * Rebuild for hardy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 24 Apr 2008 15:27:40 +1000
+
+vpcscreen (0.2-1) gutsy; urgency=low
+
+  * Rearranged locations for vpc-about & vpc-help files
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 18 Dec 2007 15:38:59 +1000
+
+vpcscreen (0.2-0ubuntu2) gutsy; urgency=low
+
+  * Fixed copyright details (to ANU, not UChicago)
+
+ -- Chris Willing <c.willing at uq.edu.au>  Thu, 08 Nov 2007 11:17:49 +1000
+
+vpcscreen (0.2-0ubuntu1) gutsy; urgency=low
+
+  * Initial release for gutsy
+
+ -- Chris Willing <c.willing at uq.edu.au>  Tue, 30 Oct 2007 20:54:19 +1000
+

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/conffiles
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/conffiles	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/conffiles	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1 @@
+./etc/AccessGrid3/NodeServices/VPCScreenProducerService.zip

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/control
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/control	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/control	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,14 @@
+Source: vpcscreen
+Section: AccessGrid
+Priority: optional
+Maintainer: Chris Willing <c.willing at uq.edu.au> 
+Build-Depends: scons, libwxgtk2.8-dev, zip,
+ libxft-dev, libxmu-dev, libx11-dev
+Standards-Version: 3.6.1
+
+Package: vpcscreen
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: VPCScreen from the ANU Internet Futures team
+ Encode arbitrary sections of display screen as H.261as video stream. An
+ Access Grid (AG3) service package is included.

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/copyright
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/copyright	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/copyright	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,101 @@
+This package was debianized by Chris Willing <c.willing at uq.edu.au> on
+Tue, 30 Oct 2007 09:05:22 +1000
+
+It was downloaded from http://www.vislab.uq.edu.au/ag3/distfiles/
+
+Upstream Author: Rhys Hawkins <Rhys.Hawkins at anu.edu.au> (Linux port)
+
+Copyright: ANU 2003-2007
+
+License: Access Grid Toolkit Public License (AGTPL)
+
+Copyright (c) 2003-2007 Australian National University. All Rights Reserved.
+
+ 1) The "Software", below, refers to the Access Grid Toolkit (in
+ either source-code, or binary form and related documentation) and a
+ "work based on the Software" means a work based on either the
+ Software, on part of the Software, or on any derivative work of the
+ Software under copyright law: that is, a work containing all or a
+ portion of the Software either verbatim or with modifications.  Each
+ licensee is addressed as "you" or "Licensee."
+
+ 2) The University of Chicago as Operator of Argonne National
+ Laboratory is the copyright holder in the Software.  The holder
+ reserves all rights except those expressly granted to the Licensee
+ herein and license rights held by the U.S. Government.
+
+ 3) A copy or copies of the Software may be given to others, if you
+ meet the following conditions:
+
+    a) Copies in source code form must include the copyright notice
+    and this license.
+
+    b) Copies in binary form must include the copyright notice and
+    this license in the documentation.
+
+ 4) All advertising materials, journal articles and documentation
+ mentioning features derived from or use of the Software must display
+ the following acknowledgement:
+
+    "This product includes software developed by and/or derived from
+    the Access Grid project (http://www.accessgrid.org)."
+
+    In the event that the product being advertised includes an intact
+    Access Grid Toolkit distribution (with copyright and license
+    included) then this clause is waived.
+
+ 5) You may make modifications to the Software, however, if you modify
+ a copy or copies of the Software or any portion of it, thus forming a
+ work based on the Software, and give a copy or copies of such work to
+ others, either in source code or binary form, you must meet the
+ following conditions:
+
+    a) The Software must carry prominent notices stating that you
+    changed portions of the Software.
+
+    b) The Software must display the following acknowledgement:
+
+       "This product includes software developed by and/or derived
+       from the Access Grid Project (http://www.accessgrid.org) to
+       which the U.S. Government retains certain rights."
+
+ 6) LICENSEE AGREES THAT THE EXPORT OF GOODS AND/OR TECHNICAL DATA
+ FROM THE UNITED STATES MAY REQUIRE SOME FORM OF EXPORT CONTROL
+ LICENSE FROM THE U.S. GOVERNMENT AND THAT FAILURE TO OBTAIN SUCH
+ EXPORT CONTROL LICENSE MAY RESULT IN CRIMINAL LIABILITY UNDER
+ U.S. LAWS.
+
+ 7) Portions of the Software resulted from work developed under a
+ U.S. Government contract and are subject to the following license:
+ the Government is granted for itself and others acting on its behalf
+ a paid-up, nonexclusive, irrevocable worldwide license in this
+ computer software to reproduce, prepare derivative works, and perform
+ publicly and display publicly.
+
+ 8) The Software was prepared, in part, as an account of work
+ sponsored by an agency of the United States Government.  Neither the
+ United States, nor the University of Chicago, nor any contributors to
+ the Access Grid Project or Access Grid Toolkit, nor any of their
+ employees, makes any warranty express or implied, or assumes any
+ legal liability or responsibility for the accuracy, completeness, or
+ usefulness of any information, apparatus, product, or process
+ disclosed, or represents that its use would not infringe privately
+ owned rights.
+
+ 9) IN NO EVENT WILL THE UNITED STATES, THE UNIVERSITY OF CHICAGO OR
+ ANY CONTRIBUTORS TO THE ACCESS GRID PROJECT OR ACCESS GRID TOOLKIT BE
+ LIABLE FOR ANY DAMAGES, INCLUDING DIRECT, INCIDENTAL, SPECIAL, OR
+ CONSEQUENTIAL DAMAGES RESULTING FROM EXERCISE OF THIS LICENSE
+ AGREEMENT OR THE USE OF THE SOFTWARE.
+
+END OF LICENSE
+
+
+
+The Debian packaging is (C) 2007, Chris Willing <c.willing at uq.edu.au> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
+

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-X_ShmGetImage.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-X_ShmGetImage.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-X_ShmGetImage.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+--- VPC/include/VPC/VPC.h.orig	2010-03-10 14:19:07.665246679 +1000
++++ VPC/include/VPC/VPC.h	2010-03-10 14:18:08.256444180 +1000
+@@ -4,5 +4,7 @@
+ 
+ #include <VPC/VPC_config.h>
+ 
++#include <stdio.h>
++
+ 
+ #endif // VPC_H
+--- VPC/include/VPC/Producer/X11Producer.h.orig	2006-08-25 16:23:15.000000000 +1000
++++ VPC/include/VPC/Producer/X11Producer.h	2010-03-10 14:54:45.274309130 +1000
+@@ -18,6 +18,14 @@
+ #include <X11/Xmu/WinUtil.h>
+ 
+ #include <X11/extensions/XShm.h>
++#include <X11/extensions/shm.h>
++
++// Hack alert! Should perhaps find correct opcode with
++// XQueryExtension(display, "MIT-SHM", ...)
++#ifndef X_ShmGetImage
++#define X_ShmGetImage                  4
++#endif
++
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ 

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-open_mode.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-open_mode.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPC-open_mode.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,11 @@
+--- VPC/src/Producer/VPCRTPProducer.cpp.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPC/src/Producer/VPCRTPProducer.cpp	2008-09-18 23:12:27.139918000 +1000
+@@ -206,7 +206,7 @@
+ #ifndef WIN32
+ static void dump_frame( int width, int height, void *data )
+ {
+-  int fd = open( "dumped_frame.pgm", O_CREAT | O_TRUNC | O_WRONLY );
++  int fd = open( "dumped_frame.pgm", O_CREAT | O_TRUNC | O_WRONLY, S_IRWXU );
+   if ( fd < 0 ) {
+     fprintf( stderr, "failed to create file\n" );
+     return;

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-64bit.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,78 @@
+--- common/src/inet_ntop.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_ntop.c	2007-07-27 09:06:37 +1000
+@@ -16,7 +16,7 @@
+  * SOFTWARE.
+  */
+ 
+-#ifndef HAVE_INET_NTOP
++#ifdef NEED_INET_NTOP
+ #include "config_unix.h"
+ #include "config_win32.h"
+ #include "inet_ntop.h"
+--- common/src/inet_ntop.h.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_ntop.h	2007-07-27 09:06:37 +1000
+@@ -1,4 +1,4 @@
+-#ifndef HAVE_INET_NTOP
++#ifdef NEED_INET_NTOP
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+@@ -8,4 +8,4 @@ const char *inet_ntop(int af, const void
+ #if defined(__cplusplus)
+ }
+ #endif
+-#endif /* HAVE_INET_NTOP */
++#endif /* NEED_INET_NTOP */
+--- common/src/inet_pton.h.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_pton.h	2007-07-27 09:06:37 +1000
+@@ -1,4 +1,4 @@
+-#ifndef HAVE_INET_PTON
++#ifdef NEED_INET_PTON
+ #if defined(__cplusplus)
+ extern "C" {
+ #endif
+@@ -8,5 +8,5 @@ int inet_pton(int af, const char *src, v
+ #if defined(__cplusplus)
+ }
+ #endif
+-#endif /* HAVE_INET_PTON */
++#endif /* NEED_INET_PTON */
+ 
+--- common/src/qfDES.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/qfDES.c	2007-07-27 09:06:37 +1000
+@@ -12,7 +12,7 @@ Added 2 August 1996, Saleem
+ #include "qfDES.h"
+ #include "crypt_random.h"
+ 
+-typedef unsigned long Word;
++typedef uint32_t Word;
+ 
+ #define B00 0x80000000
+ #define B01 0x40000000
+--- common/src/inet_pton.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/inet_pton.c	2007-07-27 09:06:37 +1000
+@@ -16,7 +16,7 @@
+  * SOFTWARE.
+  */
+ 
+-#ifndef HAVE_INET_PTON
++#ifdef NEED_INET_PTON
+ #include "config_unix.h"
+ #include "config_win32.h"
+ #include "inet_pton.h"
+--- common/src/mbus_parser.c.64bit	2005-11-17 02:13:10 +1000
++++ common/src/mbus_parser.c	2007-07-27 09:06:37 +1000
+@@ -166,8 +166,12 @@ int mbus_parse_int(struct mbus_parser *m
+ 		CHECK_OVERRUN;
+         }
+ 
++	/* Have to set errno to zero before checking for it as strtol/etc
++	doesn't change it if it is already set */
++	errno = 0;
++
+ 	*i = strtol(m->buffer, &p, 10);
+-	if (((*i == LONG_MAX) || (*i == LONG_MIN)) && (errno == ERANGE)) {
++        if (((*i == INT_MAX) || (*i == INT_MIN)) && (errno == ERANGE)) {
+ 		debug_msg("integer out of range\n");
+ 		return FALSE;
+ 	}

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-debug.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,30 @@
+--- VPC/src/Filter/VPCImageRescale.cpp.debug	2006-08-25 16:23:15.000000000 +1000
++++ VPC/src/Filter/VPCImageRescale.cpp	2007-07-27 10:28:50.000000000 +1000
+@@ -165,11 +165,13 @@ VPCImageRescale::filterFrame( VPCVideoFr
+ 	buffer_format = VPC_VIDEO_FORMAT_RGB24;
+       }
+ 
++#ifdef DEBUG
+       printf("rescaling rgb24 %dx%d -> %dx%d\n",
+ 	     inputFrame.getWidth(),
+ 	     inputFrame.getHeight(),
+ 	     width,
+ 	     height);
++#endif
+ 
+       rescale_nearest_rgb24_to_rgb24(inputFrame.getBuffer(),
+ 				     inputFrame.getWidth(),
+@@ -194,11 +196,13 @@ VPCImageRescale::filterFrame( VPCVideoFr
+ 	buffer_format = VPC_VIDEO_FORMAT_BGRA;
+       }
+ 
++#ifdef DEBUG
+       printf("rescaling bgra %dx%d -> %dx%d\n",
+ 	     inputFrame.getWidth(),
+ 	     inputFrame.getHeight(),
+ 	     width,
+ 	     height);
++#endif
+ 
+       rescale_nearest_bgra_to_bgra(inputFrame.getBuffer(),
+ 				   inputFrame.getWidth(),

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,29 @@
+--- VPCScreen-0.2/VPCScreenCapture.cpp.filepaths	2006-10-10 14:34:06 +1000
++++ VPCScreen-0.2/VPCScreenCapture.cpp	2007-07-27 09:06:37 +1000
+@@ -229,7 +229,7 @@ bool VPCScreenCapture::OnInit()
+   
+   wxImage::AddHandler(new wxGIFHandler);
+   wxXmlResource::Get()->InitAllHandlers();
+-  wxXmlResource::Get()->Load(wxT("VPCScreenCapture.xrc"));
++  wxXmlResource::Get()->Load(wxT("/usr/share/VPCScreen/VPCScreenCapture.xrc"));
+   ScreenCaptureFrame *frame = new ScreenCaptureFrame();
+   if(!frame->initFrame()) {
+ 
+@@ -426,7 +426,7 @@ bool ScreenCaptureFrame::initFrame()
+         if (about_label)
+ 	{
+ 			
+-	  if(!about_label->LoadFile( wxFileName(wxT("vpc-about.html"))))
++	  if(!about_label->LoadFile( wxFileName(wxT("/usr/share/VPCScreen/vpc-about.html"))))
+ 	  {
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load about information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);
+@@ -441,7 +441,7 @@ bool ScreenCaptureFrame::initFrame()
+ 	   } 
+           
+         help_text = XRCCTRL(*helpdlg,"help_text",wxHtmlWindow);
+-        if (help_text&&!help_text->LoadFile(wxFileName(wxT("vpc-help.html"))))
++        if (help_text&&!help_text->LoadFile(wxFileName(wxT("/usr/share/VPCScreen/vpc-help.html"))))
+ 		{
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load help information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-filepaths.patch.old	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,29 @@
+--- VPCScreen-0.2/VPCScreenCapture.cpp.filepaths	2006-10-10 14:34:06 +1000
++++ VPCScreen-0.2/VPCScreenCapture.cpp	2007-07-27 09:06:37 +1000
+@@ -229,7 +229,7 @@ bool VPCScreenCapture::OnInit()
+   
+   wxImage::AddHandler(new wxGIFHandler);
+   wxXmlResource::Get()->InitAllHandlers();
+-  wxXmlResource::Get()->Load(wxT("VPCScreenCapture.xrc"));
++  wxXmlResource::Get()->Load(wxT("/usr/share/VPCScreen/VPCScreenCapture.xrc"));
+   ScreenCaptureFrame *frame = new ScreenCaptureFrame();
+   if(!frame->initFrame()) {
+ 
+@@ -426,7 +426,7 @@ bool ScreenCaptureFrame::initFrame()
+         if (about_label)
+ 	{
+ 			
+-	  if(!about_label->LoadFile( wxFileName(wxT("vpc-about.html"))))
++	  if(!about_label->LoadFile( wxFileName(wxT("/usr/share/doc/VPCScreen-0.2/vpc-about.html"))))
+ 	  {
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load about information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);
+@@ -441,7 +441,7 @@ bool ScreenCaptureFrame::initFrame()
+ 	   } 
+           
+         help_text = XRCCTRL(*helpdlg,"help_text",wxHtmlWindow);
+-        if (help_text&&!help_text->LoadFile(wxFileName(wxT("vpc-help.html"))))
++        if (help_text&&!help_text->LoadFile(wxFileName(wxT("/usr/share/doc/VPCScreen-0.2/vpc-help.html"))))
+ 		{
+ 				wxString msg(wxT("ScreenCaptureFrame::initFrame:Failed to load help information"));
+ 			    wxMessageBox(msg,wxT("Error"), wxOK | wxICON_ERROR,NULL);

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/VPCScreen-0.2-scons.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,122 @@
+--- VPC/SConstruct.scons	2006-08-25 16:23:15 +1000
++++ VPC/SConstruct	2007-07-27 09:06:37 +1000
+@@ -9,6 +9,10 @@ else:
+ opts = Options()
+ opts.Add( PathOption( 'install_prefix', 'Where to install VPMedia files', default_install_prefix ) )
+ 
++opts.Add( 'TOP_DIR',
++	  'For use by RPM only: location of %{_builddir}/%{buildsubdir} during rpmbuild',
++	  "" )
++
+ env = Environment(options = opts)
+ 
+ conf = Configure(env)
+@@ -41,7 +45,17 @@ if sys.platform == 'win32':
+     env['LIBPATH'].append('c:\\lib')
+ 
+ else:
+-    header = 'common/uclconf.h'
++    header = 'common/src/uclconf.h'
++    if not env.has_key('CPPPATH'):
++        env['CPPPATH'] = []
++    if not env.has_key('LIBPATH'):
++        env['LIBPATH'] = []
++
++    env['CPPPATH'].append( env['TOP_DIR'] )
++    env['CPPPATH'].append( env['TOP_DIR'] + '/VPMedia/include' )
++    env['LIBPATH'].append( env['TOP_DIR'] + '/common/src' )
++    env['LIBPATH'].append( env['TOP_DIR'] + '/VPMedia/src' )
++
+ t = conf.CheckLibWithHeader( 'uclmmbase', header, 'C' )
+ if not t:
+ 	print "Failed to link with uclmmbase library, please install libcommon"
+--- VPMedia/include/VPMedia/libcommon.h.scons	2006-06-07 14:35:03 +1000
++++ VPMedia/include/VPMedia/libcommon.h	2007-07-27 09:06:37 +1000
+@@ -7,13 +7,13 @@
+ #endif 
+ 
+ extern "C" {
+-#include <common/config_unix.h>
+-#include <common/config_win32.h>
+-#include <common/debug.h>
+-#include <common/memory.h>
+-#include <common/net_udp.h>
+-#include <common/rtp.h>
+-#include <common/md5.h>
++#include <common/src/config_unix.h>
++#include <common/src/config_win32.h>
++#include <common/src/debug.h>
++#include <common/src/memory.h>
++#include <common/src/net_udp.h>
++#include <common/src/rtp.h>
++#include <common/src/md5.h>
+ };
+ 
+ #endif // LIBCOMMON_H
+--- VPMedia/SConstruct.scons	2006-06-07 14:35:07 +1000
++++ VPMedia/SConstruct	2007-07-27 09:06:37 +1000
+@@ -19,6 +19,10 @@ opts.Add( 'strict',
+           'Set to 1 to enable -Werror command line argument',
+           0 )
+ 
++opts.Add( 'TOP_DIR',
++	  'For use by RPM only: location of %{_builddir}/%{buildsubdir} during rpmbuild',
++	  "" )
++
+ env = Environment( options = opts )
+ 
+ env_lists = [ 'CPPPATH', 'LIBS', 'LIBPATH', 'CFLAGS' ]
+@@ -30,6 +34,9 @@ if sys.platform == 'win32':
+ 	env['CPPPATH'].append( 'c:\\include' )
+ 	env['LIBPATH'].append( 'c:\\lib' )
+ 
++env['CPPPATH'].append( env['TOP_DIR'] )
++env['LIBPATH'].append( env['TOP_DIR'] + '/common/src' )
++
+ env_dicts = [ 'CPPDEFINES' ]
+ for e in env_dicts:
+ 	if not env.has_key(e):
+@@ -77,7 +84,7 @@ if 'configure' in COMMAND_LINE_TARGETS:
+ 	if sys.platform == 'win32':
+ 	    header = 'common/config_win32.h'
+         else:
+-            header = 'common/uclconf.h'
++            header = 'common/src/uclconf.h'
+ 	t = conf.CheckLibWithHeader( 'uclmmbase', header, 'C' )
+ 	if not t:
+ 		print "Failed to link with uclmmbase library, please install libcommon"
+--- VPCScreen-0.2/SConstruct.orig	2006-10-10 10:06:03.000000000 +1000
++++ VPCScreen-0.2/SConstruct	2007-08-09 15:22:19.830914214 +1000
+@@ -14,8 +14,12 @@
+         print "Warning: unknown platform %s, building as linux!" % sys.platform
+         platform = "linux"
+ 
++opts = Options()
++opts.Add( 'TOP_DIR',
++	'For use by RPM only: location of ${builddir} during build',
++	"")
+ 
+-env = Environment()
++env = Environment(options = opts)
+ 
+ for key in [ 'CPPPATH', 'LIBS', 'LIBPATH', 'CXXFLAGS','LINKFLAGS']:
+ 	if not env.has_key(key):	
+@@ -48,11 +52,15 @@
+ 	
+ elif platform=='linux':
+ 	env.ParseConfig('wx-config --cppflags --libs')
+-	env['LIBS'].extend(['X11','Xmu','VPC', 'VPMedia','dv','uclmmbase'])
++	env['LIBS'].extend(['X11','Xmu','VPC', 'VPMedia','uclmmbase'])
+ 	env['LIBPATH'].append('/usr/X11R6/lib')
+ 	env['CXXFLAGS'].extend(['-c', '-g', '-Wall'])
+-
+-
++	env['CPPPATH'].append( env['TOP_DIR'] )
++	env['CPPPATH'].append( env['TOP_DIR'] + '/VPMedia/include' )
++	env['CPPPATH'].append( env['TOP_DIR'] + '/VPC/include' )
++	env['LIBPATH'].append( env['TOP_DIR'] + '/common/src' )
++	env['LIBPATH'].append( env['TOP_DIR'] + '/VPMedia/src' )
++	env['LIBPATH'].append( env['TOP_DIR'] + '/VPC/src' )
+ 
+ 
+ sc = env.Program( 'VPCScreenCapture', source =source_files)

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,27 @@
+--- VPCScreen-0.2/VPCScreenProducerService.py.orig	2006-10-10 13:53:37.000000000 +1000
++++ VPCScreen-0.2/VPCScreenProducerService.py	2007-08-09 16:59:51.445191032 +1000
+@@ -54,7 +54,7 @@
+         else:
+             VPCScreen = "VPCScreenCapture"
+ 
+-        self.executable = os.path.join(os.getcwd(),VPCScreen)
++        self.executable = os.path.join('/usr/bin',VPCScreen)
+ 
+         self.sysConf = SystemConfig.instance()
+ 
+@@ -66,12 +66,12 @@
+         else:
+             encs = VPCScreenProducerService.encodings[:3]
+             
+-        self.encoding = OptionSetParameter( "encoding", encs[0], encs )
++        self.encoding = OptionSetParameter( "encoding", encs[1], encs )
+ 	sizes = VPCScreenProducerService.sizes
+ 	self.size = OptionSetParameter( "size", sizes[0], sizes )
+         self.bandwidth = RangeParameter( "bandwidth", 800, 0, 3072 )
+-        self.framerate = RangeParameter( "framerate", 10, 1, 10 )
+-        self.quality = RangeParameter( "quality", 75, 1, 100 )
++        self.framerate = RangeParameter( "framerate", 16, 1, 24 )
++        self.quality = RangeParameter( "quality", 85, 1, 100 )
+         self.minimized = OptionSetParameter("minimized", 'OFF', ['ON', 'OFF'])
+ 
+         self.configuration.append( self.encoding )

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPMedia-types
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPMedia-types	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/patch-VPMedia-types	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,41 @@
+--- VPMedia/include/VPMedia/VPMedia.h.orig	2006-06-07 14:35:03.000000000 +1000
++++ VPMedia/include/VPMedia/VPMedia.h	2009-05-29 14:58:31.389386293 +1000
+@@ -22,6 +22,7 @@
+ #ifndef VPMEDIA_H
+ #define VPMEDIA_H
+ 
++#include <string.h>
+ #include <VPMedia/VPMedia_config.h>
+ 
+ #ifdef WIN32
+--- VPMedia/include/VPMedia/VPMTypes.h.orig	2006-06-07 14:35:03.000000000 +1000
++++ VPMedia/include/VPMedia/VPMTypes.h	2009-05-29 14:46:02.375577412 +1000
+@@ -12,6 +12,8 @@
+ #else
+ 
+ #include <stdint.h>
++typedef unsigned char u_char;
++typedef unsigned int u_int;
+ 
+ #endif // VPMEDIA_WIN32
+ 
+--- VPC/src/Producer/VPCRTPProducer.cpp.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPC/src/Producer/VPCRTPProducer.cpp	2009-09-02 16:35:56.363050000 +1000
+@@ -12,6 +12,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <stdio.h>
+ #endif 
+ 
+ VPCRTPProducer::VPCRTPProducer( const char *description ) :
+--- VPC/src/Producer/VPCV4LProducer.cpp.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPC/src/Producer/VPCV4LProducer.cpp	2009-09-02 16:43:30.234039000 +1000
+@@ -3,6 +3,7 @@
+ 
+ #include <VPC/VPCDebug.h>
+ 
++#include <stdio.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/u_char-jpegdct_h.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/u_char-jpegdct_h.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/u_char-jpegdct_h.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,12 @@
+--- VPMedia/include/VPMedia/video/mjpeg/jpeg/jpegdct.h.orig	2008-09-16 22:09:30.000000000 +1000
++++ VPMedia/include/VPMedia/video/mjpeg/jpeg/jpegdct.h	2008-09-17 08:38:41.318515000 +1000
+@@ -57,6 +57,9 @@
+ typedef unsigned short u_short;
+ typedef unsigned int u_int;
+ #endif /* WIN32 */
++typedef unsigned char u_char;
++typedef unsigned short u_short;
++typedef unsigned int u_int;
+ 
+ void jpeg_fdct(const u_char* in, int stride, short* out, const float* qt);
+ void jpeg_bv_rdct1(int dc, short* blk, int ac0, u_char* out, int stride);

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-string.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-string.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-string.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,9 @@
+--- VPMedia/include/VPMedia/VPMedia.h.orig	2008-09-16 22:09:28.000000000 +1000
++++ VPMedia/include/VPMedia/VPMedia.h	2008-09-17 08:54:35.870718000 +1000
+@@ -44,4 +44,6 @@
+ 
+ #include <VPMedia/VPMTypes.h>
+ 
++#include <string.h>
++
+ #endif // VPMEDIA_H

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-ttlhack.patch
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-ttlhack.patch	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/patches/vpmedia-ttlhack.patch	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,19 @@
+--- VPMedia/src/VPMSession_net.cpp.orig	2008-09-16 22:09:32.000000000 +1000
++++ VPMedia/src/VPMSession_net.cpp	2010-04-02 01:04:51.718584080 +1000
+@@ -8,14 +8,14 @@
+ 
+ bool VPMSession_net::initialised_global = false;
+ 
+-static const uint16_t DEFAULT_TTL = 16;
++static const uint16_t DEFAULT_TTL = 127;
+ 
+ VPMSession_net::VPMSession_net( const char *_address,
+ 				VPMSessionListener &listener ) :
+   VPMSession( listener ),
+   address( _address ),
+   session( 0 ),
+-  ttl( 16 ),
++  ttl( DEFAULT_TTL ),
+   bandwidth( 64000 ),
+   first_packet_time(0),
+   total_bytes_sent(0),

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/rules
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/rules	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/rules	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,69 @@
+#!/usr/bin/make -f
+
+package = vpcscreen
+version = 0.2
+docdir = debian/tmp/usr/share/doc/$(package)
+pkgdir = debian/tmp
+here=`pwd`
+AGTKDATABASE=/usr/share
+
+
+patched:
+	$(checkdir)
+	cat debian/patches/VPCScreen-0.2-scons.patch |patch -p0
+	cat debian/patches/VPCScreen-0.2-filepaths.patch |patch -p0
+	cat debian/patches/VPCScreen-0.2-64bit.patch |patch -p0
+	cat debian/patches/VPCScreen-0.2-debug.patch |patch -p0
+	cat debian/patches/patch-VPCScreen-0.2-VPCScreenProducerService.py |patch -p0
+	cat debian/patches/u_char-jpegdct_h.patch |patch -p0
+	cat debian/patches/patch-VPMedia-types |patch -p0
+	cat debian/patches/vpmedia-string.patch |patch -p0
+	cat debian/patches/vpmedia-ttlhack.patch |patch -p0
+	cat debian/patches/VPC-open_mode.patch |patch -p0
+	cat debian/patches/VPC-X_ShmGetImage.patch |patch -p0
+	touch $@
+
+build: patched
+	topdir=$(here) version=$(version) sh debian/buildag.sh
+	touch $@
+
+clean:
+	$(checkdir)
+	rm -f build patched
+	rm -rf *~ debian/tmp debian/*~ debian/files* debian/substvars
+
+binary-indep:   checkroot build
+	$(checkdir)
+
+binary-arch:    checkroot build
+	$(checkdir)
+	rm -rf debian/tmp
+	install -d debian/tmp/DEBIAN $(docdir)
+	install -d ${pkgdir}/usr/bin
+	install -d ${pkgdir}/usr/share/VPCScreen
+	install -d ${pkgdir}/${AGTKDATABASE}/AccessGrid3/NodeServices
+	install -m 0755 -s VPCScreen-${version}/VPCScreenCapture ${pkgdir}/usr/bin/
+	install -m 0644 VPCScreen-${version}/VPCScreenCapture.xrc ${pkgdir}/usr/share/VPCScreen/
+	install -m 0644 VPCScreen-${version}/vpc-help.html ${pkgdir}/usr/share/VPCScreen/
+	install -m 0644 VPCScreen-${version}/vpc-about.html ${pkgdir}/usr/share/VPCScreen/
+	install -m 0644 VPCScreen-${version}/VPCScreenProducerService.zip ${pkgdir}/${AGTKDATABASE}/AccessGrid3/NodeServices/
+
+	cp -p debian/copyright $(docdir)
+	cp -a debian/changelog $(docdir)/changelog.Debian
+	dpkg-shlibdeps debian/tmp/usr/bin/VPCScreenCapture
+	dpkg-gencontrol -isp
+	chown -R root:root debian/tmp
+	chmod -R u+w,go=rX debian/tmp
+	dpkg --build debian/tmp ..
+
+define checkdir
+	test -f common/SConstruct -a -f debian/rules
+endef
+
+binary: binary-indep binary-arch
+
+checkroot:
+	$(checkdir)
+	test $$(id -u) = 0
+
+.PHONY: binary binary-arch binary-indep clean checkroot


Property changes on: trunk/packaging/linux/debuntu/lucid/vpcscreen/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/packaging/linux/debuntu/lucid/vpcscreen/vpcscreen.build
===================================================================
--- trunk/packaging/linux/debuntu/lucid/vpcscreen/vpcscreen.build	                        (rev 0)
+++ trunk/packaging/linux/debuntu/lucid/vpcscreen/vpcscreen.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+
+here=`pwd`
+
+# Set any particular variable needed
+#
+#workdir=vpcscreen-0.2
+#site0=http://www.vislab.uq.edu.au/ag3/distfiles
+scrpkg0=vpcscreen-0.2.tar.gz
+
+
+# Load up the default build script
+. ../../vpcscreen.build
+
+


Property changes on: trunk/packaging/linux/debuntu/lucid/vpcscreen/vpcscreen.build
___________________________________________________________________
Name: svn:executable
   + *

Modified: trunk/packaging/linux/debuntu/m2crypto.build
===================================================================
--- trunk/packaging/linux/debuntu/m2crypto.build	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/m2crypto.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -5,7 +5,7 @@
 USEEXISTING=0
 
 PKGNAME=m2crypto
-PKGVERSION=0.18.2
+PKGVERSION=0.19.1
 
 # Ensure some basics are set
 [ -z ${PKGNAME} ] && { echo "PKGNAME needs to be set. Exiting now!"
@@ -70,6 +70,7 @@
   #
   # NORMALLY the tarball creates the build directory, so just do
   tar zxvf ${here}/${srcpkg0}
+  mv `basename ${srcpkg0} .tar.gz` ${workdir}
 
   # But others need a directory created first, like:
   # mkdir ${workdir}

Modified: trunk/packaging/linux/debuntu/twisted.build
===================================================================
--- trunk/packaging/linux/debuntu/twisted.build	2010-04-08 17:09:18 UTC (rev 6767)
+++ trunk/packaging/linux/debuntu/twisted.build	2010-04-09 11:15:35 UTC (rev 6768)
@@ -5,7 +5,7 @@
 USEEXISTING=0
 
 PKGNAME=twisted
-PKGVERSION=8.2.0
+PKGVERSION=10.0.0
 
 # Ensure some basics are set
 [ -z ${PKGNAME} ] && { echo "PKGNAME needs to be set. Exiting now!"
@@ -69,8 +69,7 @@
   # Generate the source environment
   #
   # NORMALLY the tarball creates the build directory, so just do
-  tar jxvf ${here}/${srcpkg0}
-  mv Twisted-${PKGVERSION} ${workdir}
+  tar xvf ${here}/${srcpkg0}
 
   # But others need a directory created first, like:
   # mkdir ${workdir}



More information about the ag-cvs mailing list