debian/0000755000000000000000000000000011707007130007162 5ustar debian/changelog0000644000000000000000000001016211707007130011034 0ustar mono-zeroconf (0.9.0-4) unstable; urgency=low * [1cbf0fc] Modernise packaging. - Use dh override targets instead of --until/--after - Use 3.0 (quilt) instead of dpatch * [cbe700d] Standards-Version → 3.9.2, no changes required -- Iain Lane Sun, 22 Jan 2012 13:25:34 +0000 mono-zeroconf (0.9.0-3) unstable; urgency=low * [d83970d] Add patch to fix multiple/recursive Dispose calls (LP: #883023) -- Chow Loong Jin Mon, 07 Nov 2011 11:12:36 +0800 mono-zeroconf (0.9.0-2) unstable; urgency=low * debian/control, debian/rules: + Use mono-csc from mono-devel 2.4.3 * debian/control: + No-change bump to Standards 3.8.3 + Remove individual library build-deps no longer needed for mono-devel 2.4.3 * debian/monodoc-mono-zeroconf-manual.postinst: + Remove - index updating is now handled by DPKG triggers * debian/libmono-zeroconf1.0-cil.links, debian/rules: + Stop renaming pkg-config file * debian/libmono-zeroconf1.0-cil.install, debian/libmono-zeroconf1.0-cil.installcligac, debian/patches/01_pkg-config-path.dpatch, debian/patches/02_provider-factory-path.dpatch: + CLI Policy 0.7 install location, with the exception of Mono.Zeroconf.Providers.AvahiDBus.dll, which is installed into the wrong place to minimize the degree of upstream patching which would otherwise be needed. * debian/libmono-zeroconf1.0-cil.install, debian/libmono-zeroconf-cil-dev.install, debian/control: + Create unversioned -dev package containing pkg-config file -- Jo Shields Tue, 08 Dec 2009 12:18:34 +0000 mono-zeroconf (0.9.0-1) unstable; urgency=low [ Jo Shields ] * New upstream release * debian/control: + Bump standards version to 3.8.1 * debian/rules: + Implement get-orig-source rule * debian/libmono-zeroconf1.0-cil.install, debian/libmono-zeroconf1.0-cil.installcligac: + Update to reflect 0.4 policy and assembly [ Chow Loong Jin ] * debian/control: + Change Vcs-* fields to git -- Chow Loong Jin Thu, 04 Jun 2009 03:34:46 +0800 mono-zeroconf (0.8.0-2) unstable; urgency=low [ Jo Shields ] * debian/control: + Add Vcs-* fields [ David Paleino ] * debian/rules rewritten using dh7 style * debian/compat bumped to 7 * debian/control: + Build-Dependency on debhelper bumped to >= 7 + Build-Depends-Indep updated for Mono 2.0 Transition * debian/watch updated * debian/patches/*: descriptions added [ Sebastian Dröge ] * Upload to unstable. -- Sebastian Dröge Wed, 04 Mar 2009 08:10:56 +0100 mono-zeroconf (0.8.0-1) experimental; urgency=low * New upstream release: + debian/control: - Update Standards-Version to 3.8.0. - Update Build-Depends. + debian/rules: - Update clilibs to >= 0.8.0. -- Sebastian Dröge Tue, 28 Oct 2008 11:58:08 +0100 mono-zeroconf (0.7.6-1) unstable; urgency=low * New upstream release, adding IPv6 support: + debian/libmono-zeroconf1.0-cil.install, debian/libmono-zeroconf1.0-cil.installcligac: - Update locations and add new policy assembly. -- Sebastian Dröge Fri, 21 Mar 2008 02:11:13 +0100 mono-zeroconf (0.7.5-1) unstable; urgency=low * New upstream release. * debian/patches/03_assembly-version.dpatch, debian/libmono-zeroconf1.0-cil.install, debian/libmono-zeroconf1.0-cil.installcligac: + Install policy assemblies provided by upstream instead of fixing the assembly version. * debian/control: + Build depend on mono-2.0-devel for al2. -- Sebastian Dröge Sat, 26 Jan 2008 14:24:30 +0100 mono-zeroconf (0.7.4-1) unstable; urgency=low * New upstream bugfix release. * debian/watch: + Fix location (Closes: #459996). * debian/patches/03_assembly-version.dpatch: + Fix assembly version. -- Sebastian Dröge Thu, 24 Jan 2008 14:02:11 +0100 mono-zeroconf (0.7.3-1) unstable; urgency=low * Initial version (Closes: #457143). -- Sebastian Dröge Thu, 20 Dec 2007 04:54:46 +0100 debian/compat0000644000000000000000000000000211707007130010360 0ustar 7 debian/source/0000755000000000000000000000000011707007130010462 5ustar debian/source/format0000644000000000000000000000001411707007130011670 0ustar 3.0 (quilt) debian/libmono-zeroconf-cil-dev.install0000644000000000000000000000005711707007130015357 0ustar debian/tmp/usr/lib/pkgconfig/mono-zeroconf*.pc debian/monodoc-mono-zeroconf-manual.install0000644000000000000000000000004311707007130016251 0ustar debian/tmp/usr/lib/monodoc/sources debian/libmono-zeroconf1.0-cil.installcligac0000644000000000000000000000044111707007130016162 0ustar /usr/lib/cli/Mono.Zeroconf-1.0/Mono.Zeroconf.dll /usr/lib/cli/Mono.Zeroconf-1.0/policy.1.0.Mono.Zeroconf.dll /usr/lib/cli/Mono.Zeroconf-1.0/policy.2.0.Mono.Zeroconf.dll /usr/lib/cli/Mono.Zeroconf-1.0/policy.3.0.Mono.Zeroconf.dll /usr/lib/cli/Mono.Zeroconf-1.0/policy.4.0.Mono.Zeroconf.dll debian/mzclient.install0000644000000000000000000000011311707007130012372 0ustar debian/tmp/usr/bin/mzclient debian/tmp/usr/lib/mono-zeroconf/MZClient.exe* debian/rules0000755000000000000000000000155411707007130010247 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 MAKEFILE = $(firstword $(MAKEFILE_LIST)) DEBIAN_DIR = $(dir $(MAKEFILE)) SOURCE_DIR = $(DEBIAN_DIR)/.. DEB_VERSION = $(shell dpkg-parsechangelog | grep ^Vers | cut -d\ -f2) DEB_SOURCE_NAME = $(shell dpkg-parsechangelog -l$(DEBIAN_DIR)/changelog | grep ^Source | cut -d" " -f2) VERSION = $(shell uscan --dehs | sed -n 's/.*\(.*\)<\/upstream-version>.*/\1/p') override_dh_auto_configure: dh_auto_configure -- MCS=/usr/bin/mono-csc --prefix=/usr --disable-mdnsresponder override_dh_makeclilibs: dh_makeclilibs -m0.9.0 %: dh $@ --with cli get-orig-source: uscan \ --package $(DEB_SOURCE_NAME) \ --watchfile $(DEBIAN_DIR)/watch \ --upstream-version $(VERSION) \ --download-version $(VERSION) \ --destdir . \ --force-download \ --rename debian/libmono-zeroconf1.0-cil.install0000644000000000000000000000105711707007130015023 0ustar debian/tmp/usr/lib/mono/gac/Mono.Zeroconf/4.0.*/Mono.Zeroconf.dll* /usr/lib/cli/Mono.Zeroconf-1.0/ debian/tmp/usr/lib/mono/gac/policy.1.0.Mono.Zeroconf/*/* /usr/lib/cli/Mono.Zeroconf-1.0/ debian/tmp/usr/lib/mono/gac/policy.2.0.Mono.Zeroconf/*/* /usr/lib/cli/Mono.Zeroconf-1.0/ debian/tmp/usr/lib/mono/gac/policy.3.0.Mono.Zeroconf/*/* /usr/lib/cli/Mono.Zeroconf-1.0/ debian/tmp/usr/lib/mono/gac/policy.4.0.Mono.Zeroconf/*/* /usr/lib/cli/Mono.Zeroconf-1.0/ debian/tmp/usr/lib/mono-zeroconf/Mono.Zeroconf.Providers.AvahiDBus.dll* /usr/lib/cli/Mono.Zeroconf-1.0/ debian/watch0000644000000000000000000000012511707007130010211 0ustar version=3 http://banshee-project.org/files/mono-zeroconf/mono-zeroconf-(.*)\.tar\.gz debian/control0000644000000000000000000000746611707007130010602 0ustar Source: mono-zeroconf Section: libs Priority: optional Maintainer: Debian CLI Libraries Team Uploaders: Sebastian Dröge Build-Depends: debhelper (>= 7.0.50~), cli-common-dev (>= 0.5.7) Build-Depends-Indep: mono-devel (>= 2.4.3), monodoc-base (>= 2.0), pkg-config Standards-Version: 3.9.2 Homepage: http://mono-project.com/Mono_Zeroconf Vcs-Browser: http://git.debian.org/?p=pkg-cli-libs/packages/mono-zeroconf.git Vcs-Git: git://git.debian.org/git/pkg-cli-libs/packages/mono-zeroconf.git Package: libmono-zeroconf1.0-cil Architecture: all Depends: ${cli:Depends}, ${misc:Depends} Recommends: avahi-daemon Description: CLI library for multicast DNS service discovery Mono.Zeroconf is a cross platform Zero Configuration Networking library for Mono and .NET. It provides a unified API for performing the most common zeroconf operations on a variety of platforms and subsystems: all the operating systems supported by Mono and both the Avahi and Bonjour/mDNSResponder transports. . By using Mono.ZeroConf applications can use a single API that will work regardless of the underlying implementation that a particular operating system uses. . Applications can publish services that will be exposed to other computers on the network and also query the local machines on the network for services that could have been exposed. . This package contains the Mono.Zeroconf library itself. Package: libmono-zeroconf-cil-dev Architecture: all Depends: libmono-zeroconf1.0-cil (= ${binary:Version}), ${misc:Depends} Replaces: libmono-zeroconf1.0-cil (<< 0.9.0-2) Description: CLI library for multicast DNS service discovery Mono.Zeroconf is a cross platform Zero Configuration Networking library for Mono and .NET. It provides a unified API for performing the most common zeroconf operations on a variety of platforms and subsystems: all the operating systems supported by Mono and both the Avahi and Bonjour/mDNSResponder transports. . By using Mono.ZeroConf applications can use a single API that will work regardless of the underlying implementation that a particular operating system uses. . Applications can publish services that will be exposed to other computers on the network and also query the local machines on the network for services that could have been exposed. . This package contains development files for the Mono.Zeroconf library, and should be used for compilation Package: mzclient Architecture: all Depends: ${cli:Depends}, ${misc:Depends}, libmono-zeroconf1.0-cil (= ${binary:Version}) Description: CLI library for multicast DNS service discovery (commandline tool) Mono.Zeroconf is a cross platform Zero Configuration Networking library for Mono and .NET. It provides a unified API for performing the most common zeroconf operations on a variety of platforms and subsystems: all the operating systems supported by Mono and both the Avahi and Bonjour/mDNSResponder transports. . By using Mono.ZeroConf applications can use a single API that will work regardless of the underlying implementation that a particular operating system uses. . Applications can publish services that will be exposed to other computers on the network and also query the local machines on the network for services that could have been exposed. . This package contains the mzclient tool, that can be used for resolving or publishing services from the commandline. Package: monodoc-mono-zeroconf-manual Section: doc Architecture: all Depends: monodoc-manual, ${misc:Depends} Description: compiled XML documentation for mono-zeroconf The MonoDoc Project is the documentation framework of the Mono project which provides detailed API documentation for all Mono components and the Mono CLI implementation. . This packages contains the compiled XML documentation for mono-zeroconf of MonoDoc. debian/copyright0000644000000000000000000000252711707007130011123 0ustar This package was debianized by Sebastian Dröge on Thu, 20 Dec 2007 04:54:46 +0100 It was downloaded from http://banshee-project.org/files/mzc/ Upstream Authors: Aaron Bockover Copyright: Copyright (c) 2006-2007 Novell, Inc (http://www.novell.com) License: 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. debian/patches/0000755000000000000000000000000011707007130010611 5ustar debian/patches/03_fix-multiple-dispose.patch0000644000000000000000000001056511707007130016226 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## 03_fix-multiple-dispose.patch.dpatch by ## DP: Fix multiple/recursive Dispose calls @DPATCH@ diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' mono-zeroconf~/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/BrowseService.cs mono-zeroconf/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/BrowseService.cs --- mono-zeroconf~/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/BrowseService.cs 2011-11-07 09:24:49.000000000 +0800 +++ mono-zeroconf/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/BrowseService.cs 2011-11-07 11:09:53.532560321 +0800 @@ -52,19 +52,23 @@ public void Dispose () { lock (this) { - disposed = true; - DisposeResolver (); + if (!disposed) { + disposed = true; + DisposeResolver (); + } } } private void DisposeResolver () { lock (this) { + IAvahiServiceResolver resolver = this.resolver; + if (resolver != null) { + this.resolver = null; resolver.Failure -= OnResolveFailure; resolver.Found -= OnResolveFound; resolver.Free (); - resolver = null; } } } diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' mono-zeroconf~/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/ServiceBrowser.cs mono-zeroconf/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/ServiceBrowser.cs --- mono-zeroconf~/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/ServiceBrowser.cs 2011-11-07 09:24:49.000000000 +0800 +++ mono-zeroconf/src/Mono.Zeroconf.Providers.AvahiDBus/Mono.Zeroconf.Providers.AvahiDBus/ServiceBrowser.cs 2011-11-07 11:09:53.532560321 +0800 @@ -45,17 +45,21 @@ public void Dispose () { lock (this) { + IAvahiServiceBrowser service_browser = this.service_browser; if (service_browser != null) { + this.service_browser = null; service_browser.ItemNew -= OnItemNew; service_browser.ItemRemove -= OnItemRemove; service_browser.Free (); } - + if (services.Count > 0) { - foreach (BrowseService service in services.Values) { + List services_list = new List (services.Values); + services.Clear (); // Clear first so we no-op if we Dispose() again + + foreach (BrowseService service in services_list) { service.Dispose (); } - services.Clear (); } } } @@ -117,10 +121,11 @@ { lock (this) { BrowseService service = new BrowseService (name, type, domain, @interface, protocol); - - if (services.ContainsKey (name)) { - services[name].Dispose (); + BrowseService to_dispose; + + if (services.TryGetValue (name, out to_dispose)) { services[name] = service; + to_dispose.Dispose (); } else { services.Add (name, service); } @@ -134,10 +139,12 @@ { lock (this) { BrowseService service = new BrowseService (name, type, domain, @interface, protocol); - - if (services.ContainsKey (name)) { - services[name].Dispose (); + BrowseService to_dispose; + + // handler may be called recursively, so remove service from services before disposing + if (services.TryGetValue (name, out to_dispose)) { services.Remove (name); + to_dispose.Dispose (); } OnServiceRemoved (service); debian/patches/02_provider-factory-path0000644000000000000000000000144111707007130015266 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## DP: fix library path @DPATCH@ --- mono-zeroconf/src/Mono.Zeroconf/Mono.Zeroconf.Providers/ProviderFactory.cs.old 2007-12-20 05:53:53.000000000 +0100 +++ mono-zeroconf/src/Mono.Zeroconf/Mono.Zeroconf.Providers/ProviderFactory.cs 2007-12-20 05:54:11.000000000 +0100 @@ -86,8 +86,9 @@ for(int i = 0; i < path_parts.Length - 4; i++) { new_path = Path.Combine(new_path, path_parts[i]); } - - directories.Add(Path.Combine(new_path, "mono-zeroconf")); + + new_path = Path.Combine(new_path, "cli"); + directories.Add(Path.Combine(new_path, "Mono.Zeroconf-1.0")); } foreach(string directory in directories) { debian/patches/01_pkg-config-path0000644000000000000000000000106111707007130014010 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## DP: fix assembly location @DPATCH@ --- mono-zeroconf/src/mono-zeroconf.pc.in.old 2007-12-20 05:04:09.000000000 +0100 +++ mono-zeroconf/src/mono-zeroconf.pc.in 2007-12-20 05:04:19.000000000 +0100 @@ -6,5 +6,5 @@ Description: Mono library for universal cross platform Zeroconf support via a unified API with built in support for mdnsd and optional support for Avahi. Version: @VERSION@ Requires: -Libs: -r:${libdir}/mono/mono-zeroconf/Mono.Zeroconf.dll +Libs: -r:${libdir}/cli/Mono.Zeroconf-1.0/Mono.Zeroconf.dll debian/patches/series0000644000000000000000000000011211707007130012020 0ustar 01_pkg-config-path 02_provider-factory-path 03_fix-multiple-dispose.patch