debian/0000755000000000000000000000000011706310446007170 5ustar debian/monodoc-db4o-manual.install0000644000000000000000000000023611706251603014317 0ustar tmp/Db4objects.Db4o.tree /usr/lib/monodoc/sources/ debian/Db4objects.Db4o.source /usr/lib/monodoc/sources/ tmp/Db4objects.Db4o.zip /usr/lib/monodoc/sources/ debian/copyright0000644000000000000000000000201211706251603011115 0ustar This package was debianized by Jose Carlos Garcia Sogo on Sat, 11 Nov 2006 12:15:33 -0400. It was downloaded from http://www.db4o.com Copyright Holder: Copyright (C) 2004 - 2009 Versant Corporation http://www.versant.com License: db4o is free software; you can redistribute it and/or modify it under the terms of version 3 of the GNU General Public License as published by the Free Software Foundation. db4o is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3'. Information above was taken from the boilerplate license text included in all source files. debian/db4otool.install0000644000000000000000000000027311706251603012307 0ustar debian/script/db4otool /usr/bin/ src/Db4oTool/Db4oTool/bin/Release/Db4oTool.exe* /usr/lib/db4o/ tmp/Cecil.FlowAnalysis.dll* /usr/lib/db4o/ tmp/Mono.Cecil.dll* /usr/lib/db4o/ debian/changelog0000644000000000000000000003024411706310360011040 0ustar db4o (8.0.184.15484+dfsg-2) unstable; urgency=low [ Iain Lane ] * [7269e42] Don't use deprecated cli.make -- Jo Shields Fri, 20 Jan 2012 16:05:54 +0000 db4o (8.0.184.15484+dfsg-1) experimental; urgency=low * [12bbf33] Imported Upstream version 8.0.184.15484+dfsg * [38f1873] Remove all obsolete patches. * [bd2d9b2] The bundled Cecil with Db4o upstream doesn't quite match what we ship in Debian. Add a couple of copy-paste methods to an interface implementation, to match the current specification. * [a635faa] In many cases, making the test harness assemblies shipped with a library work is harder work than the library itself - so strip all the test projects from the main Solution file. * [188d11c] Port the Db4oTool options parsing code from the dead Mono.GetOptions library to the rather less dead Mono.Options library. This is largely based on a patch by Carlos Martín Nieto . * [dc252e1] The new ABI version is 8.0, so update various packaging files accordingly. * [5649714] Switch from standalone Quilt to DebSrc 3.0 (Quilt) * [d035609] Bump Standards version to 3.9.2 (no changes). * [a543d2c] Split db4otool into its own package - it causes problems for our packaging policy to have an unversioned file like /usr/bin/db4otool in a versioned library package like libdb4o8.0-cil. * [61682b0] Get rid of Makefile-mangling shell scripts, since we use xbuild now. * [4a8a48a] Convert build system to a pure xbuild setup, and refresh install files to use the xbuild build locations. * [6c41c74] This is a 4.0-only build, so use 4.0-only build-depends. * [810c928] Add more fixed to build-depends for building on 4.0. * [6e67796] Xbuild seems to like picking up on Cecil from Mono's private path, so hint it the location of our system Cecil. * [e73beb4] Refresh Mono.Options patch due to changes in the related csproj file. * [aa0a90d] Don't try to put files outside $(CURDIR) in debian/install. Instead, copy them to a local folder and use that. * [3ba6c3c] Move various manual hacks from install to build rule, where they belong. * [8e3de09] Move db4otool script into its own folder - you cannot have a file in debian/ with the same name as a package. -- Jo Shields Tue, 16 Aug 2011 17:07:39 +0100 db4o (7.4.121.14026+dfsg-3) unstable; urgency=low * debian/db4o.pc, debian/control: + Actually, DON'T add a Requires for mono-cecil. * debian/libdb4o7.4-cil.install: + Copy Mono.Cecil to each of the four /usr/lib/cli output directories, since it's a private lib and they all reference it. -- Jo Shields Sun, 25 Jul 2010 13:24:29 +0100 db4o (7.4.121.14026+dfsg-2) unstable; urgency=low * debian/db4o.pc: + Include all four db4o assemblies in the pkgconfig file's references, not just the main db4o assembly. * debian/rules: + Ensure regular expression dealing with ABI versioning in db4o.pc is greedy, since we have multiple substitutions per line now. * debian/db4o.pc, debian/control: + Ensure db4o.pc requires mono-cecil.pc (and that the -dev package also does so). -- Jo Shields Sun, 25 Jul 2010 12:09:58 +0100 db4o (7.4.121.14026+dfsg-1) unstable; urgency=low [ David Paleino ] * debian/control: - Vcs-* fields updated, package moved to Git - moved from Section libs to cli-mono - replaced Build-Dependency on dpatch with quilt - bumped B-D on quilt (>= 0.46-7~), debhelper (>= 7.0.50) and cli-common-dev (>= 0.5.7) * debian/rules: - fixed monodoc calls to use mdoc (Closes: #534009) - include quilt makefile instead of dpatch's - rewritten using overriden targets and dh7 * debian/patches/* converted to quilt [ Jo Shields ] * debian/libdb4o7.4-cil.install*, debian/rules, debian/db4o.pc: + CLI Policy 0.7 install location * debian/copyright: + Update for new license & new company name [ Iain Lane ] * debian/patches/01-dos2unix.patch: Regenerate; didn't apply before * debian/rules: + Update to be more DH7ish + Use mono-csc as compiler, per latest CLI policy * debian/control: Bump mono-devel build-dep to >= 2.4.2.3 to have mono-csc available * debian/compat: Use compat level 7 so that dh_install looks in debian/tmp without having to be explicitly told so * New upstream version 7.4.121.14026 (which now builds. Closes: #534009), DFSGed to remove precompiled binaries from the tarball. Here is a list of the deleted binaries: - omn2008/ObjectManagerEnterprise-vs2008-7.4.msi - src/Libs/net-2.0/Mono.GetOptions.dll - src/Libs/net-2.0/Cecil.FlowAnalysis.dll - src/Libs/net-2.0/Mono.Cecil.dll - src/Libs/net-2.0/Mono.Cecil.Pdb.dll - src/Libs/compact-2.0/Cecil.FlowAnalysis.dll - src/Libs/compact-2.0/Mono.Cecil.dll - omn2005/ObjectManagerEnterprise-vs2005-7.4.msi - bin/net-2.0/Mono.GetOptions.dll - bin/net-2.0/Db4objects.Db4o.dll - bin/net-2.0/Db4oTool.MSBuild.dll - bin/net-2.0/Cecil.FlowAnalysis.dll - bin/net-2.0/Db4objects.Db4o.NativeQueries.dll - bin/net-2.0/Db4objects.Drs.dll - bin/net-2.0/Db4oBench.dll - bin/net-2.0/Mono.Cecil.dll - bin/net-2.0/Db4objects.Db4o.Instrumentation.dll - bin/net-2.0/Mono.Cecil.Pdb.dll - bin/net-2.0/Db4oTool.exe - bin/compact-2.0/Db4objects.Db4o.dll - bin/compact-2.0/Cecil.FlowAnalysis.dll - bin/compact-2.0/Db4objects.Db4o.NativeQueries.dll - bin/compact-2.0/Db4oBench.dll - bin/compact-2.0/Mono.Cecil.dll - bin/compact-2.0/Db4objects.Db4o.Instrumentation.dll - doc/tutorial/db4o-7.4-tutorial.pdf - doc/tutorial/bin/Db4objects.Db4o.dll - doc/tutorial/bin/WeifenLuo.WinFormsUI.dll - doc/tutorial/bin/Cecil.FlowAnalysis.dll - doc/tutorial/bin/SHDocVw.dll - doc/tutorial/bin/Db4oBench.dll - doc/tutorial/bin/Mono.Cecil.dll - doc/tutorial/bin/Db4objects.Db4o.Linq.dll - doc/tutorial/bin/AxSHDocVw.dll - doc/tutorial/bin/Db4objects.Db4o.Tutorial.Chapters.dll - doc/tutorial/bin/Db4objects.Db4o.Tutorial.Console.exe - doc/tutorial/Db4oTutorial.exe - doc/api/db4o.chm * debian/control: Update deps to point at -cil-dev packages * debian/patches/*: Refresh to apply cleanly * debian/rules: Can no longer extract information from CHM documentation as it has been dfsged out. * debian/patches/04-update-relative-paths: Update buildsys to use correct relative paths so that lib can be built * debian/monodoc-db4o-manual.post{inst,rm}: Remove obsolete maintainer scripts which are either not required due to new monodoc features or packaging improvements * debian/libdb4o6.0-cil.installcligac: GAC the new libraries that we build now * debian/patches/05-cecil-api: Add new patch to remove call to method that isn't in the API of the version of cecil we have * debian/control, debian/libdb4o6.0-cil*: Rename package to libdb4o7.4-cil for new ABI * debian/db4o.pc: Fix up to include the ABI version * debian/control: Add new -cil-dev package contianing pcfiles * debian/db4o{admin,tool}: Rename wrapper script to new version of tool * debian/control: Add Depends on ${misc:Depends} to packages that didn't have it * debian/copyright: Refer to versioned GPL * debian/control: Fix typo This packages -> This package (Closes: #557688) * debian/README.source: Add from Quilt package (thanks Lintian) -- Iain Lane Thu, 28 Jan 2010 16:30:31 +0000 db4o (6.1.604+dfsg-3) unstable; urgency=low [ Mirco Bauer ] * Upload to unstable. [ Iain Lane ] * debian/control, debian/rules, debian/patches/00_configurable_compiler.dpatch: Update build-deps, patch the build system to allow compiler configuration and pass MCS=/usr/bin/csc for Mono 2.0 transition. -- Iain Lane Sat, 28 Feb 2009 18:23:10 +0000 db4o (6.1.604+dfsg-2) unstable; urgency=low * debian/rules: + Use correct substitution for the pkg-config file to make it actually work. -- Sebastian Dröge Wed, 19 Mar 2008 23:35:37 +0100 db4o (6.1.604+dfsg-1) unstable; urgency=low * The "get sexy and ready for lenny" release * DFSG version of db4o 6.1.604 (deleted all pre-compiled binaries from the tarball) + For the record here a list of the deleted files: bin/compact-2.0/Cecil.FlowAnalysis.dll bin/compact-2.0/Db4objects.Db4o.Tools.dll bin/compact-2.0/Db4objects.Db4o.dll bin/compact-2.0/Mono.Cecil.dll bin/compact-2.0-legacy/Db4oTools.dll bin/compact-2.0-legacy/db4o.dll bin/net-2.0/Cecil.FlowAnalysis.dll bin/net-2.0/Db4oAdmin.exe bin/net-2.0/Db4objects.Db4o.Tools.dll bin/net-2.0/Db4objects.Db4o.dll bin/net-2.0/Mono.Cecil.dll bin/net-2.0/Mono.GetOptions.dll bin/net-2.0-legacy/Db4oTools.dll bin/net-2.0-legacy/db4o.dll doc/api/H2Reg.exe doc/tutorial/Db4objects.Db4o.Tutorial.exe doc/tutorial/bin/AxSHDocVw.dll doc/tutorial/bin/Cecil.FlowAnalysis.dll doc/tutorial/bin/Db4oUnit.Extensions.dll doc/tutorial/bin/Db4oUnit.dll doc/tutorial/bin/Db4objects.Db4o.Tools.dll doc/tutorial/bin/Db4objects.Db4o.Tutorial.Chapters.dll doc/tutorial/bin/Db4objects.Db4o.dll doc/tutorial/bin/Mono.Cecil.dll doc/tutorial/bin/Mono.GetOptions.dll doc/tutorial/bin/SHDocVw.dll doc/tutorial/bin/WeifenLuo.WinFormsUI.dll src/Libs/compact-1.0/Cecil.FlowAnalysis.dll src/Libs/compact-1.0/Mono.Cecil.dll src/Libs/compact-2.0/Cecil.FlowAnalysis.dll src/Libs/compact-2.0/Mono.Cecil.dll src/Libs/net-1.1/Cecil.FlowAnalysis.dll src/Libs/net-1.1/Mono.Cecil.dll src/Libs/net-2.0/Cecil.FlowAnalysis.dll src/Libs/net-2.0/Mono.Cecil.dll src/Libs/net-2.0/Mono.GetOptions.dll * New upstream release * debian/control: + Fixed ABI version in the package name, Db4objects.Db4o.dll is versioned as 6.0.* and not 6.1.*. + Added Replaces and Conflicts for libdb4o6.1-cil << 6.1.604. + Added Homepage, Vcs-Browser and Vcs-Svn fields. + Added libmono-cecil0.5-cil, monodoc-base and libchm-bin to build dependencies. + Updated cli-common-dev build dependency to >= 0.5.4, as we need dh_clistrip from it. + Updated Section of libdb4o-doc to doc. (Closes: #427581) + Bumped Standards-Version to 3.7.4, no changes needed. + Added monodoc-db4o-manual package. + Changed Maintainer to Debian CLI Libraries Team. + Added myself to Uploaders. * debian/rules: + Use dh_clistrip instead of custom find command. + Only build libraries and admin tool (without test-cases). Building the test-cases failed caused by a bug in the gmcs compiler. (Closes: #458658) -- Mirco Bauer Sun, 17 Feb 2008 14:15:28 +0100 db4o (6.1.401~dfsg-2) unstable; urgency=low * Build depends on pkg-config (Closes: #423752) * Use dh_clifixperms instead of own 'find' command. -- Jose Carlos Garcia Sogo Mon, 14 May 2007 17:12:52 +0200 db4o (6.1.401~dfsg-1) unstable; urgency=low * New usptream release. * Build Depend on Cecil.Flowanalysis * Rewrite copyright file. It was a copy of tangerine's copyright, and were not adapted to this package. Make clear that db4o is licensed under GPL. * There is an ABI change, so make a new binary package: libdb4o6.1-cil * Adapt packaging to this change. * makefile.dpatch: + Don't copy libraries from system to our building dir. + Use pkg-config where possible + Fix Mono.GetOptions reference -- Jose Carlos Garcia Sogo Fri, 27 Apr 2007 00:03:26 +0200 db4o (6.0.003~dfsg-2) unstable; urgency=low * Install Db4oAdmin.exe file in /usr/lib/db4o and a wrapper in /usr/bin * There is no need to ship Db4oTest.exe in binary package. -- Jose Carlos Garcia Sogo Wed, 6 Dec 2006 17:21:46 +0100 db4o (6.0.003~dfsg-1) unstable; urgency=low * Initial release. -- Jose Carlos Garcia Sogo Wed, 6 Dec 2006 15:19:08 +0100 debian/Db4objects.Db4o.source0000644000000000000000000000017311706251603013164 0ustar debian/libdb4o-cil-dev.install0000644000000000000000000000004411706251603013415 0ustar debian/db4o.pc /usr/lib/pkgconfig/ debian/libdb4o-doc.docs0000644000000000000000000000000611706251603012117 0ustar doc/* debian/README.source0000644000000000000000000000353511706251603011354 0ustar This package uses quilt to manage all modifications to the upstream source. Changes are stored in the source package as diffs in debian/patches and applied during the build. To configure quilt to use debian/patches instead of patches, you want either to export QUILT_PATCHES=debian/patches in your environment or use this snippet in your ~/.quiltrc: for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then export QUILT_PATCHES=debian/patches break fi done To get the fully patched source after unpacking the source package, cd to the root level of the source package and run: quilt push -a The last patch listed in debian/patches/series will become the current patch. To add a new set of changes, first run quilt push -a, and then run: quilt new where is a descriptive name for the patch, used as the filename in debian/patches. Then, for every file that will be modified by this patch, run: quilt add before editing those files. You must tell quilt with quilt add what files will be part of the patch before making changes or quilt will not work properly. After editing the files, run: quilt refresh to save the results as a patch. Alternately, if you already have an external patch and you just want to add it to the build system, run quilt push -a and then: quilt import -P /path/to/patch quilt push -a (add -p 0 to quilt import if needed). as above is the filename to use in debian/patches. The last quilt push -a will apply the patch to make sure it works properly. To remove an existing patch from the list of patches that will be applied, run: quilt delete You may need to run quilt pop -a to unapply patches first before running this command. debian/source/0000755000000000000000000000000011706251603010467 5ustar debian/source/format0000644000000000000000000000001411706251603011675 0ustar 3.0 (quilt) debian/rules0000755000000000000000000000241711706251603010253 0ustar #!/usr/bin/make -f #export DH_VERBOSE=1 DEB_CLI_ABI_VERSION = 8.0 DEB_CLI_API_VERSION = 8.0.184.15484 override_dh_auto_build: xbuild /property:Configuration=Release /property:DefineConstants="MONO" /property:DocumentationFile="Db4objects.Db4o.dll.xml" src/Db4o-2010.sln mdoc update \ -i $(CURDIR)/src/Db4objects.Db4o/Db4objects.Db4o.dll.xml \ -o $(CURDIR)/tmp/monodocer \ $(CURDIR)/src/Db4objects.Db4o/bin/Release/Db4objects.Db4o.dll mdoc assemble \ -f ecma \ -o $(CURDIR)/tmp/Db4objects.Db4o \ $(CURDIR)/tmp/monodocer cp `pkg-config --variable=Libraries mono-cecil` tmp/ cp `pkg-config --variable=Libraries cecil-flowanalysis` tmp/ cp `pkg-config --variable=Libraries mono.reflection` tmp/ perl -pe 's/#PACKAGE_ABI_VERSION#/$(DEB_CLI_ABI_VERSION)/g' \ $(CURDIR)/debian/db4o.pc.in > debian/db4o.pc override_dh_auto_clean: xbuild /property:Configuration=Release /property:DefineConstants="MONO" /target:Clean src/Db4o-2010.sln rm -rf tmp rm -f debian/db4o.pc find src -type d -name bin -exec rm -rf {} \; find src -type d -name obj -exec rm -rf {} \; override_dh_auto_install: dh_auto_install override_dh_compress: dh_compress -i -Xapi/ -Xtutorial/ -Xreference/ override_dh_makeclilibs: dh_makeclilibs -i -m $(DEB_CLI_API_VERSION) %: dh $@ --with cli debian/compat0000644000000000000000000000000211706251603010365 0ustar 7 debian/db4o.pc.in0000644000000000000000000000125711706251603010755 0ustar prefix=/usr libdir=${prefix}/lib pkglibdir=${libdir}/cli/ Name: db4o Description: db4o - native OODBMS for CLI Version: #PACKAGE_ABI_VERSION# Libs: -r:${pkglibdir}/Db4objects.Db4o-#PACKAGE_ABI_VERSION#/Db4objects.Db4o.dll -r:${pkglibdir}/Db4objects.Db4o.Linq-#PACKAGE_ABI_VERSION#/Db4objects.Db4o.Linq.dll -r:${pkglibdir}/Db4objects.Db4o.Instrumentation-#PACKAGE_ABI_VERSION#/Db4objects.Db4o.Instrumentation.dll -r:${pkglibdir}/Db4objects.Db4o.CS-#PACKAGE_ABI_VERSION#/Db4objects.Db4o.CS.dll -r:${pkglibdir}/Db4objects.Db4o.NativeQueries-#PACKAGE_ABI_VERSION#/Db4objects.Db4o.NativeQueries.dll -r:${pkglibdir}/Db4objects.Db4o.Optional-#PACKAGE_ABI_VERSION#/Db4objects.Db4o.Optional.dll debian/libdb4o8.0-cil.install0000644000000000000000000000205411706251603013072 0ustar src/Db4objects.Db4o/bin/Release/Db4objects.Db4o.dll* /usr/lib/cli/Db4objects.Db4o-8.0/ src/Db4objects.Db4o.Linq/bin/Release/Db4objects.Db4o.Linq.dll* /usr/lib/cli/Db4objects.Db4o.Linq-8.0/ tmp/Mono.Reflection.dll* /usr/lib/cli/Db4objects.Db4o.Linq-8.0/ src/Db4objects.Db4o.Instrumentation/bin/Release/Db4objects.Db4o.Instrumentation.dll* /usr/lib/cli/Db4objects.Db4o.Instrumentation-8.0/ tmp/Cecil.FlowAnalysis.dll* /usr/lib/cli/Db4objects.Db4o.Instrumentation-8.0/ tmp/Mono.Cecil.dll* /usr/lib/cli/Db4objects.Db4o.Instrumentation-8.0/ src/Db4objects.Db4o.CS/bin/Release/Db4objects.Db4o.CS.dll* /usr/lib/cli/Db4objects.Db4o.CS-8.0/ src/Db4objects.Db4o.NativeQueries/bin/Release/Db4objects.Db4o.NativeQueries.dll* /usr/lib/cli/Db4objects.Db4o.NativeQueries-8.0/ tmp/Cecil.FlowAnalysis.dll* /usr/lib/cli/Db4objects.Db4o.NativeQueries-8.0/ tmp/Mono.Cecil.dll* /usr/lib/cli/Db4objects.Db4o.NativeQueries-8.0/ src/Db4objects.Db4o.Optional/bin/Release/Db4objects.Db4o.Optional.dll* /usr/lib/cli/Db4objects.Db4o.Optional-8.0/ debian/patches/0000755000000000000000000000000011706310140010606 5ustar debian/patches/dont_build_test_assemblies.patch0000644000000000000000000001640311706251603017234 0ustar Index: db4o/src/Db4o-2010.sln =================================================================== --- db4o.orig/src/Db4o-2010.sln 2011-08-14 17:26:06.000000000 +0100 +++ db4o/src/Db4o-2010.sln 2011-08-14 17:26:13.000000000 +0100 @@ -9,30 +9,18 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Data.Services-2010", "Db4objects.Db4o.Data.Services\Db4objects.Db4o.Data.Services-2010.csproj", "{8DA7BEBC-170D-4F66-A215-6B3BDF73795F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Data.Services.Tests-2010", "Db4objects.Db4o.Data.Services.Tests\Db4objects.Db4o.Data.Services.Tests-2010.csproj", "{27FDA74C-DDA4-41E0-838A-660B22283B7C}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Linq-2010", "Db4objects.Db4o.Linq\Db4objects.Db4o.Linq-2010.csproj", "{23531440-0922-43EB-A483-6592FFC2F093}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Linq.Tests-2010", "Db4objects.Db4o.Linq.Tests\Db4objects.Db4o.Linq.Tests-2010.csproj", "{22AB6F58-39BF-4580-821B-5900E31AC33A}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.NativeQueries-2010", "Db4objects.Db4o.NativeQueries\Db4objects.Db4o.NativeQueries-2010.csproj", "{AB1BF369-A9C4-4876-9797-178DB8AD437F}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Optional-2010", "Db4objects.Db4o.Optional\Db4objects.Db4o.Optional-2010.csproj", "{E9588FE7-C19D-445E-BB53-AE539EA4F0E6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Tests-2010", "Db4objects.Db4o.Tests\Db4objects.Db4o.Tests-2010.csproj", "{7FBF7399-7815-4AC2-8DE8-B21AA8FE9048}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4oTool-2010", "Db4oTool\Db4oTool\Db4oTool-2010.csproj", "{6F3BE659-0653-4982-94D6-F1D9D8887E09}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4oTool.Tests-2010", "Db4oTool\Db4oTool.Tests\Db4oTool.Tests-2010.csproj", "{69859DB2-4DE3-4DE4-A0BB-13861418378F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4oUnit-2010", "Db4oUnit\Db4oUnit-2010.csproj", "{8F82F8B0-95B6-4553-BDA8-BD9A954E682F}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4oUnit.Extensions-2010", "Db4oUnit.Extensions\Db4oUnit.Extensions-2010.csproj", "{9446B00C-E8A6-4CEB-83DE-2CAC5168DFE3}" EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Db4objects.Db4o.Linq.VB.Tests-2010", "Db4objects.Db4o.Linq.VB.Tests\Db4objects.Db4o.Linq.VB.Tests-2010.vbproj", "{1B1EA933-A4CF-40EA-91F8-0C359242B6B4}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Linq.Instrumentation.Tests-2010", "Db4objects.Db4o.Linq.Instrumentation.Tests\Db4objects.Db4o.Linq.Instrumentation.Tests-2010.csproj", "{34A9FF31-90E6-4C19-AD64-3C4512C521FE}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Db4objects.Db4o.Instrumentation-2010", "Db4objects.Db4o.Instrumentation\Db4objects.Db4o.Instrumentation-2010.csproj", "{DFE1C46F-BB18-4B6A-AE34-4366F58BEB5A}" EndProject Global @@ -57,18 +45,10 @@ {8DA7BEBC-170D-4F66-A215-6B3BDF73795F}.Debug|Any CPU.Build.0 = Debug|Any CPU {8DA7BEBC-170D-4F66-A215-6B3BDF73795F}.Release|Any CPU.ActiveCfg = Release|Any CPU {8DA7BEBC-170D-4F66-A215-6B3BDF73795F}.Release|Any CPU.Build.0 = Release|Any CPU - {27FDA74C-DDA4-41E0-838A-660B22283B7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {27FDA74C-DDA4-41E0-838A-660B22283B7C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {27FDA74C-DDA4-41E0-838A-660B22283B7C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {27FDA74C-DDA4-41E0-838A-660B22283B7C}.Release|Any CPU.Build.0 = Release|Any CPU {23531440-0922-43EB-A483-6592FFC2F093}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {23531440-0922-43EB-A483-6592FFC2F093}.Debug|Any CPU.Build.0 = Debug|Any CPU {23531440-0922-43EB-A483-6592FFC2F093}.Release|Any CPU.ActiveCfg = Release|Any CPU {23531440-0922-43EB-A483-6592FFC2F093}.Release|Any CPU.Build.0 = Release|Any CPU - {22AB6F58-39BF-4580-821B-5900E31AC33A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {22AB6F58-39BF-4580-821B-5900E31AC33A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {22AB6F58-39BF-4580-821B-5900E31AC33A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {22AB6F58-39BF-4580-821B-5900E31AC33A}.Release|Any CPU.Build.0 = Release|Any CPU {AB1BF369-A9C4-4876-9797-178DB8AD437F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AB1BF369-A9C4-4876-9797-178DB8AD437F}.Debug|Any CPU.Build.0 = Debug|Any CPU {AB1BF369-A9C4-4876-9797-178DB8AD437F}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -77,18 +57,10 @@ {E9588FE7-C19D-445E-BB53-AE539EA4F0E6}.Debug|Any CPU.Build.0 = Debug|Any CPU {E9588FE7-C19D-445E-BB53-AE539EA4F0E6}.Release|Any CPU.ActiveCfg = Release|Any CPU {E9588FE7-C19D-445E-BB53-AE539EA4F0E6}.Release|Any CPU.Build.0 = Release|Any CPU - {7FBF7399-7815-4AC2-8DE8-B21AA8FE9048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7FBF7399-7815-4AC2-8DE8-B21AA8FE9048}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7FBF7399-7815-4AC2-8DE8-B21AA8FE9048}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7FBF7399-7815-4AC2-8DE8-B21AA8FE9048}.Release|Any CPU.Build.0 = Release|Any CPU {6F3BE659-0653-4982-94D6-F1D9D8887E09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6F3BE659-0653-4982-94D6-F1D9D8887E09}.Debug|Any CPU.Build.0 = Debug|Any CPU {6F3BE659-0653-4982-94D6-F1D9D8887E09}.Release|Any CPU.ActiveCfg = Release|Any CPU {6F3BE659-0653-4982-94D6-F1D9D8887E09}.Release|Any CPU.Build.0 = Release|Any CPU - {69859DB2-4DE3-4DE4-A0BB-13861418378F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {69859DB2-4DE3-4DE4-A0BB-13861418378F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {69859DB2-4DE3-4DE4-A0BB-13861418378F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {69859DB2-4DE3-4DE4-A0BB-13861418378F}.Release|Any CPU.Build.0 = Release|Any CPU {8F82F8B0-95B6-4553-BDA8-BD9A954E682F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8F82F8B0-95B6-4553-BDA8-BD9A954E682F}.Debug|Any CPU.Build.0 = Debug|Any CPU {8F82F8B0-95B6-4553-BDA8-BD9A954E682F}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -97,14 +69,6 @@ {9446B00C-E8A6-4CEB-83DE-2CAC5168DFE3}.Debug|Any CPU.Build.0 = Debug|Any CPU {9446B00C-E8A6-4CEB-83DE-2CAC5168DFE3}.Release|Any CPU.ActiveCfg = Release|Any CPU {9446B00C-E8A6-4CEB-83DE-2CAC5168DFE3}.Release|Any CPU.Build.0 = Release|Any CPU - {1B1EA933-A4CF-40EA-91F8-0C359242B6B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1B1EA933-A4CF-40EA-91F8-0C359242B6B4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1B1EA933-A4CF-40EA-91F8-0C359242B6B4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1B1EA933-A4CF-40EA-91F8-0C359242B6B4}.Release|Any CPU.Build.0 = Release|Any CPU - {34A9FF31-90E6-4C19-AD64-3C4512C521FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {34A9FF31-90E6-4C19-AD64-3C4512C521FE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {34A9FF31-90E6-4C19-AD64-3C4512C521FE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {34A9FF31-90E6-4C19-AD64-3C4512C521FE}.Release|Any CPU.Build.0 = Release|Any CPU {DFE1C46F-BB18-4B6A-AE34-4366F58BEB5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DFE1C46F-BB18-4B6A-AE34-4366F58BEB5A}.Debug|Any CPU.Build.0 = Debug|Any CPU {DFE1C46F-BB18-4B6A-AE34-4366F58BEB5A}.Release|Any CPU.ActiveCfg = Release|Any CPU debian/patches/port_options_code_to_Mono.Options.patch0000644000000000000000000002573011706251603020523 0ustar Index: db4o/src/Db4oTool/Db4oTool/ProgramOptions.cs =================================================================== --- db4o.orig/src/Db4oTool/Db4oTool/ProgramOptions.cs 2011-08-14 18:40:21.000000000 +0100 +++ db4o/src/Db4oTool/Db4oTool/ProgramOptions.cs 2011-08-14 19:29:51.000000000 +0100 @@ -13,152 +13,98 @@ You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. */ -using System; -using System.Collections.Generic; -using Db4oTool.Core; -using Mono.GetOptions; - -namespace Db4oTool -{ - public delegate ITypeFilter TypeFilterFactory(); - - public class ProgramOptions : Options - { - private bool _prettyVerbose; - - [Option("Preserve debugging information", "debug")] - public bool Debug; - - [Option("Implement Transparent Persistence Support", "tp")] - public bool TransparentPersistence; - - [Option("Instrument native collections for transparent activation/persistence", "collections")] - public bool Collections; - - [Option("Case sensitive queries", "case-sensitive")] - public bool CaseSensitive; - - [Option("Verbose operation mode", 'v', "verbose")] - public bool Verbose; - - [Option("Optimize all native queries", "nq")] - public bool NQ; - - [Option("Pretty verbose operation mode", "vv")] - public bool PrettyVerbose - { - get { return _prettyVerbose; } - - set { Verbose = _prettyVerbose = value; } - } - - [Option("Fake operation mode, assembly won't be written", "fake")] - public bool Fake; - - public List StatisticsFileNames = new List(); - - [Option("Print statistics for database file PARAM", "statistics")] - public WhatToDoNext StatisticsFileName(string fileName) - { - StatisticsFileNames.Add(fileName); - return WhatToDoNext.GoAhead; - } - - [Option("Run consistency checks on target database.", "check")] - public bool CheckDatabase; - - [Option("Displays file usage statistics for target database.", "fileusage")] - public bool ShowFileUsageStats; - - [Option("Installs the db4o performance counter category", "install-performance-counters")] - public bool InstallPerformanceCounters; - - public List CustomInstrumentations = new List(); - - [Option("Custom instrumentation type", "instrumentation", MaxOccurs = -1)] - public WhatToDoNext CustomInstrumentation(string instrumentation) - { - CustomInstrumentations.Add(instrumentation); - return WhatToDoNext.GoAhead; - } - - public readonly List Filters = new List(); - - [Option("Filter types to be instrumented by attribute", "by-attribute", MaxOccurs = -1)] - public WhatToDoNext ByAttribute(string attribute) - { - Filters.Add(delegate { return new ByAttributeFilter(attribute); }); - return WhatToDoNext.GoAhead; - } - - [Option("Custom type filter", "by-filter", MaxOccurs = -1)] - public WhatToDoNext ByFilter(string filterType) - { - Filters.Add(delegate { return Factory.Instantiate(filterType); }); - return WhatToDoNext.GoAhead; - } - - [Option("Filter types by name (with regular expression syntax)", "by-name", MaxOccurs = -1)] - public WhatToDoNext ByName(string name) - { - Filters.Add(delegate { return new ByNameFilter(name); }); - return WhatToDoNext.GoAhead; - } - - [Option("Negates the last filter.", "not", MaxOccurs = -1)] - public WhatToDoNext Not() - { - if (Filters.Count == 0) throw new InvalidOperationException("'not' must be specified after a filter"); - - int lastIndex = Filters.Count - 1; - TypeFilterFactory lastFilter = Filters[lastIndex]; - Filters[lastIndex] = delegate { return new NotFilter(lastFilter()); }; - return WhatToDoNext.GoAhead; - } - - [Option("Same as 'tp'", "ta")] - public WhatToDoNext TA() - { - TransparentPersistence = true; - return WhatToDoNext.GoAhead; - } - - public string Target - { - get - { - if (RemainingArguments == null) return null; - if (RemainingArguments.Length != 1) return null; - return RemainingArguments[0]; - } - - set - { - RemainingArguments = new string[] { value }; - } - } - - public bool IsValid - { - get - { - bool databaseTarget = CheckDatabase || ShowFileUsageStats; - bool enhancementTarget = NQ || TransparentPersistence || CustomInstrumentations.Count > 0; - - if (databaseTarget && enhancementTarget) - { - return false; - } - - return StatisticsFileNames.Count > 0 || InstallPerformanceCounters || - (Target != null - && (databaseTarget || enhancementTarget)); - } - } - - public ProgramOptions() - { - DontSplitOnCommas = true; - } - } -} \ No newline at end of file +using System; +using System.Collections.Generic; +using Db4oTool.Core; +using Mono.Options; + +namespace Db4oTool +{ + public delegate ITypeFilter TypeFilterFactory(); + + public class ProgramOptions + { + public bool Debug; + public bool TransparentPersistence; + public bool CaseSensitive; + public bool Verbose; + public bool NQ; + public bool PrettyVerbose; + public bool Fake; + public bool Collections; + public bool CheckDatabase; + public bool InstallPerformanceCounters; + public bool ShowFileUsageStats; + public List StatisticsFileNames = new List(); + public List CustomInstrumentations = new List(); + public readonly List Filters = new List(); + + private void Not() + { + if (Filters.Count == 0) throw new InvalidOperationException("'not' must be specified after a filter"); + + int lastIndex = Filters.Count - 1; + TypeFilterFactory lastFilter = Filters[lastIndex]; + Filters[lastIndex] = delegate { return new NotFilter(lastFilter()); }; + } + + private OptionSet options; + + public bool IsValid + { + get + { + bool databaseTarget = CheckDatabase || ShowFileUsageStats; + bool enhancementTarget = NQ || TransparentPersistence || CustomInstrumentations.Count > 0; + + if (databaseTarget && enhancementTarget) + { + return false; + } + + return StatisticsFileNames.Count > 0 || InstallPerformanceCounters || + (Target != null + && (databaseTarget || enhancementTarget)); + } + } + + public ProgramOptions() + { + options = new OptionSet() + .Add("debug", "Preserve debugging information", option => Debug = option != null) + .Add("tp", "Implement Transparent Persistence Support", option => TransparentPersistence = option != null) + .Add("collections", "Instrument native collections for transparent activation/persistence", option => Collections = option != null) + .Add("case-sensitive", "Case sensitive queries", option => CaseSensitive = option != null) + .Add("v|verbose", "Verbose operation mode", option => Verbose = option != null) + .Add("nq", "Optimize all native queries", option => NQ = option != null) + .Add ("vv", "Pretty verbose operation mode", option => Verbose = PrettyVerbose = option != null) + .Add("fake", "Fake operation mode, assembly won't be written", option => Fake = option != null) + .Add("statistics=", "Print statistics for database file VALUE", option => StatisticsFileNames.Add(option)) + .Add("check", "Run consistency checks on target database", option => CheckDatabase = option != null) + .Add("fileusage", "Displays file usage statistics for target database", option => ShowFileUsageStats = option != null) + .Add("install-performance-counters", "Installs the db4o performance counter category", option => InstallPerformanceCounters = option != null) + .Add("instrumentation=", "Custom instrumentation type", option => CustomInstrumentations.Add(option)) + .Add("by-attribute=", "Filter types to be instrumented by attribute", option => Filters.Add(delegate { return new ByAttributeFilter(option); })) + .Add("by-filter=", "Custom type filter", option => Filters.Add(delegate { return Factory.Instantiate(option); })) + .Add("by-name=", "Filter types by name (with regular expression syntax)", option => Filters.Add(delegate { return new ByNameFilter(option); })) + .Add("not", "Negates the last filter", option => Not()) + .Add("ta", "Same as 'tp'", option => TransparentPersistence = true) + ; + } + + public string Target = null; + + public void ProcessArgs(string[] args) + { + List extra = options.Parse(args); + if (extra.Count > 0) + Target = extra[0]; + } + + public void DoHelp() + { + options.WriteOptionDescriptions(Console.Error); + } + + } +} Index: db4o/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs =================================================================== --- db4o.orig/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs 2011-08-14 18:40:21.000000000 +0100 +++ db4o/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs 2011-08-14 19:29:51.000000000 +0100 @@ -15,7 +15,7 @@ with this program. If not, see http://www.gnu.org/licenses/. */ using System.Reflection; using System.Runtime.InteropServices; -using System.Security; +using System.Security; [assembly: AssemblyTitle("Db4oTool")] [assembly: AssemblyDescription("Db4oTool 8.0.184.15484 (.NET)")] @@ -30,16 +30,8 @@ [assembly: AssemblyVersion("8.0.184.15484")] -[assembly: Mono.Author("Jean Baptiste Evain")] -[assembly: Mono.Author("Rodrigo B. de Oliveira")] -[assembly: Mono.Author("Klaus Wuestefeld")] -[assembly: Mono.Author("Patrick Roemer")] - -[assembly: Mono.About("")] -[assembly: Mono.UsageComplement("")] - -[assembly: AllowPartiallyTrustedCallers] +[assembly: AllowPartiallyTrustedCallers] #if NET_4_0 [assembly: SecurityRules(SecurityRuleSet.Level1)] -#endif +#endif Index: db4o/src/Db4oTool/Db4oTool/Db4oTool-2010.csproj =================================================================== --- db4o.orig/src/Db4oTool/Db4oTool/Db4oTool-2010.csproj 2011-08-14 19:29:46.000000000 +0100 +++ db4o/src/Db4oTool/Db4oTool/Db4oTool-2010.csproj 2011-08-14 19:29:51.000000000 +0100 @@ -88,10 +88,6 @@ False /usr/lib/mono-cecil/Mono.Cecil.Pdb.dll - - False - ..\..\Libs\net-2.0\Mono.GetOptions.dll - 3.5 @@ -100,6 +96,7 @@ + debian/patches/debian-changes-8.0.184.15484+dfsg-10000644000000000000000000001307611706310140015747 0ustar Description: Upstream changes introduced in version 8.0.184.15484+dfsg-1 This patch has been created by dpkg-source during the package build. Here's the last changelog entry, hopefully it gives details on why those changes were made: . db4o (8.0.184.15484+dfsg-1) experimental; urgency=low . * [12bbf33] Imported Upstream version 8.0.184.15484+dfsg * [38f1873] Remove all obsolete patches. * [bd2d9b2] The bundled Cecil with Db4o upstream doesn't quite match what we ship in Debian. Add a couple of copy-paste methods to an interface implementation, to match the current specification. * [a635faa] In many cases, making the test harness assemblies shipped with a library work is harder work than the library itself - so strip all the test projects from the main Solution file. * [188d11c] Port the Db4oTool options parsing code from the dead Mono.GetOptions library to the rather less dead Mono.Options library. This is largely based on a patch by Carlos Martín Nieto . * [dc252e1] The new ABI version is 8.0, so update various packaging files accordingly. * [5649714] Switch from standalone Quilt to DebSrc 3.0 (Quilt) * [d035609] Bump Standards version to 3.9.2 (no changes). * [a543d2c] Split db4otool into its own package - it causes problems for our packaging policy to have an unversioned file like /usr/bin/db4otool in a versioned library package like libdb4o8.0-cil. * [61682b0] Get rid of Makefile-mangling shell scripts, since we use xbuild now. * [4a8a48a] Convert build system to a pure xbuild setup, and refresh install files to use the xbuild build locations. * [6c41c74] This is a 4.0-only build, so use 4.0-only build-depends. * [810c928] Add more fixed to build-depends for building on 4.0. * [6e67796] Xbuild seems to like picking up on Cecil from Mono's private path, so hint it the location of our system Cecil. * [e73beb4] Refresh Mono.Options patch due to changes in the related csproj file. * [aa0a90d] Don't try to put files outside $(CURDIR) in debian/install. Instead, copy them to a local folder and use that. * [3ba6c3c] Move various manual hacks from install to build rule, where they belong. * [8e3de09] Move db4otool script into its own folder - you cannot have a file in debian/ with the same name as a package. . The person named in the Author field signed this changelog entry. Author: Jo Shields --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: http://bugs.debian.org/ Bug-Ubuntu: https://launchpad.net/bugs/ Forwarded: Reviewed-By: Last-Update: --- db4o-8.0.184.15484+dfsg.orig/src/Db4oUnit/Properties/AssemblyInfo.cs +++ db4o-8.0.184.15484+dfsg/src/Db4oUnit/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Security; [assembly: AssemblyVersion("8.0.184.15484")] [assembly: AssemblyKeyFile("")] [assembly: AssemblyConfiguration(".NET")] -[assembly: AssemblyDescription("Db4oUnit 8.0.184.15484 (.NET)")] \ No newline at end of file +[assembly: AssemblyDescription("Db4oUnit 8.0.184.15484 (.NET)")] --- db4o-8.0.184.15484+dfsg.orig/src/drs/Db4objects.Drs/Properties/AssemblyInfo.cs +++ db4o-8.0.184.15484+dfsg/src/drs/Db4objects.Drs/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; [assembly: AssemblyVersion("8.0.184.15484")] -[assembly: CLSCompliant(true)] \ No newline at end of file +[assembly: CLSCompliant(true)] --- db4o-8.0.184.15484+dfsg.orig/src/Db4oUnit.Extensions/Properties/AssemblyInfo.cs +++ db4o-8.0.184.15484+dfsg/src/Db4oUnit.Extensions/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Security; [assembly: AssemblyVersion("8.0.184.15484")] [assembly: AssemblyKeyFile("")] [assembly: AssemblyConfiguration(".NET")] -[assembly: AssemblyDescription("Db4oUnit.Extensions 8.0.184.15484 (.NET)")] \ No newline at end of file +[assembly: AssemblyDescription("Db4oUnit.Extensions 8.0.184.15484 (.NET)")] --- db4o-8.0.184.15484+dfsg.orig/src/Db4objects.Db4o/Properties/AssemblyInfo.cs +++ db4o-8.0.184.15484+dfsg/src/Db4objects.Db4o/Properties/AssemblyInfo.cs @@ -40,4 +40,4 @@ using System.Security; [assembly: SecurityRules(SecurityRuleSet.Level1)] #endif -[assembly: CLSCompliant(true)] \ No newline at end of file +[assembly: CLSCompliant(true)] --- db4o-8.0.184.15484+dfsg.orig/src/Db4objects.Db4o.Instrumentation/Properties/AssemblyInfo.cs +++ db4o-8.0.184.15484+dfsg/src/Db4objects.Db4o.Instrumentation/Properties/AssemblyInfo.cs @@ -34,4 +34,4 @@ using System.Security; [assembly: AllowPartiallyTrustedCallers] #endif -[assembly: CLSCompliant(true)] \ No newline at end of file +[assembly: CLSCompliant(true)] --- db4o-8.0.184.15484+dfsg.orig/src/Db4oBench/Properties/AssemblyInfo.cs +++ db4o-8.0.184.15484+dfsg/src/Db4oBench/Properties/AssemblyInfo.cs @@ -28,4 +28,4 @@ using System.Runtime.InteropServices; [assembly: ComVisible (false)] -[assembly: AssemblyVersion("8.0.184.15484")] \ No newline at end of file +[assembly: AssemblyVersion("8.0.184.15484")] debian/patches/use_cecil_0.9.5_api.patch0000644000000000000000000003105111706251603015154 0ustar Index: db4o/src/Db4oTool/Db4oTool/Core/CecilReflector.cs =================================================================== --- db4o.orig/src/Db4oTool/Db4oTool/Core/CecilReflector.cs 2011-08-14 17:23:05.000000000 +0100 +++ db4o/src/Db4oTool/Db4oTool/Core/CecilReflector.cs 2011-08-14 17:23:26.000000000 +0100 @@ -13,202 +13,218 @@ You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/. */ -using System; -using System.Collections; -using System.Collections.Generic; -using Db4objects.Db4o.Foundation; -using Mono.Cecil; - -namespace Db4oTool.Core -{ - public class CecilReflector - { - private readonly InstrumentationContext _context; - private readonly IAssemblyResolver _resolver; - - public CecilReflector(InstrumentationContext context) - { - _context = context; - _resolver = new RelativeAssemblyResolver(_context); - - if (_context.AlternateAssemblyLocation != null) - { - _resolver = new CompositeAssemblyResolver( - new RelativeAssemblyResolver(_context.AlternateAssemblyLocation), - _resolver); - } - } - - public bool Implements(TypeDefinition type, Type interfaceType) - { - return Implements(type, interfaceType.FullName); - } - - private bool Implements(TypeDefinition type, string interfaceName) - { - if (Contains(type.Interfaces, interfaceName)) return true; - if (null == type.BaseType) return false; - - TypeDefinition baseType = ResolveTypeReference(type.BaseType); - if (null != baseType) return Implements(baseType, interfaceName); - - return false; - } - - public TypeDefinition ResolveTypeReference(TypeReference typeRef) - { - if (null == typeRef) throw new ArgumentNullException("typeRef"); - - TypeDefinition type = typeRef as TypeDefinition; - if (null != type) return type; - - GenericParameter parameter = typeRef as GenericParameter; - if (parameter != null) return null; - - TypeSpecification typeSpecification = typeRef as TypeSpecification; - if (typeSpecification != null) return ResolveTypeReference(typeSpecification.ElementType); - - AssemblyDefinition assembly = ResolveAssembly(typeRef.Scope as AssemblyNameReference); - if (null == assembly) return null; - - return FindType(assembly, typeRef); - } - - private AssemblyDefinition ResolveAssembly(AssemblyNameReference assemblyRef) - { - return _resolver.Resolve(assemblyRef); - } - - private TypeDefinition FindType(AssemblyDefinition assembly, TypeReference typeRef) - { - foreach (ModuleDefinition m in assembly.Modules) - { - foreach (TypeDefinition t in m.Types) - { - if (t.FullName == typeRef.FullName) return t; - } - } - return null; - } - - private static bool Contains(IEnumerable collection, string fullName) - { - foreach (TypeReference typeRef in collection) - { - if (typeRef.FullName == fullName) return true; - } - return false; - } - - public static MethodDefinition GetMethod(TypeDefinition type, string methodName) - { - if (type == null) throw new ArgumentNullException("type"); - if (methodName == null) throw new ArgumentNullException("methodName"); - - foreach (MethodDefinition method in type.Methods) - { - if (method.Name == methodName) return method; - } - - return null; - } - - public static MethodDefinition GetMethod(TypeDefinition type, MethodReference template) - { - return GetMethodInternal(type, template.Name, template.Parameters); - } - - public static MethodDefinition GetMethod(TypeDefinition type, string methodName, Type [] parameterTypes) - { - return GetMethodInternal(type, methodName, parameterTypes); - } - - static MethodDefinition GetMethodInternal(TypeDefinition type, string name, IList parameters) - { - if (type == null) throw new ArgumentNullException ("type"); - - foreach (MethodDefinition method in type.Methods) - { - if (method.Name != name) continue; - if (!ParametersMatch(method.Parameters, parameters)) continue; - - return method; - } - - return null; - } - - static bool ParametersMatch(IList parameters, IList candidates) - { - if (parameters.Count != candidates.Count) return false; - - for (int i = 0; i < parameters.Count; i++) { - string candidateTypeName; - object candidate = candidates[i]; - - if (candidate is Type) - candidateTypeName = (candidate as Type).FullName.Replace('+', '/'); - else if (candidate is TypeReference) - candidateTypeName = (candidate as TypeReference).FullName; - else if (candidate is ParameterDefinition) - candidateTypeName = (candidate as ParameterDefinition).ParameterType.FullName; - else - return false; - - if (parameters[i].ParameterType.FullName != candidateTypeName) return false; - } - - return true; - } - - public static FieldDefinition GetField(TypeDefinition type, string fieldName) - { - if (type == null) throw new ArgumentNullException("type"); - if (fieldName == null) throw new ArgumentNullException("fieldName"); - - foreach (FieldDefinition field in type.Fields) - { - if (field.Name == fieldName) return field; - } - - return null; - } - } - - internal class CompositeAssemblyResolver : IAssemblyResolver - { - private readonly IAssemblyResolver[] _resolvers; - - public CompositeAssemblyResolver(params IAssemblyResolver[] resolvers) - { - _resolvers = resolvers; - } - - public AssemblyDefinition Resolve(string fullName) - { - return InternalResolve(delegate(IAssemblyResolver resolver) - { - return resolver.Resolve(fullName); - }); - } - - public AssemblyDefinition Resolve(AssemblyNameReference name) - { - return InternalResolve(delegate(IAssemblyResolver resolver) - { - return resolver.Resolve(name); - }); - } - - private AssemblyDefinition InternalResolve(Function @delegate) - { - foreach (IAssemblyResolver resolver in _resolvers) - { - AssemblyDefinition assemblyDefinition = @delegate(resolver); - if (assemblyDefinition != null) return assemblyDefinition; - } - - return null; - } - } -} +using System; +using System.Collections; +using System.Collections.Generic; +using Db4objects.Db4o.Foundation; +using Mono.Cecil; + +namespace Db4oTool.Core +{ + public class CecilReflector + { + private readonly InstrumentationContext _context; + private readonly IAssemblyResolver _resolver; + + public CecilReflector(InstrumentationContext context) + { + _context = context; + _resolver = new RelativeAssemblyResolver(_context); + + if (_context.AlternateAssemblyLocation != null) + { + _resolver = new CompositeAssemblyResolver( + new RelativeAssemblyResolver(_context.AlternateAssemblyLocation), + _resolver); + } + } + + public bool Implements(TypeDefinition type, Type interfaceType) + { + return Implements(type, interfaceType.FullName); + } + + private bool Implements(TypeDefinition type, string interfaceName) + { + if (Contains(type.Interfaces, interfaceName)) return true; + if (null == type.BaseType) return false; + + TypeDefinition baseType = ResolveTypeReference(type.BaseType); + if (null != baseType) return Implements(baseType, interfaceName); + + return false; + } + + public TypeDefinition ResolveTypeReference(TypeReference typeRef) + { + if (null == typeRef) throw new ArgumentNullException("typeRef"); + + TypeDefinition type = typeRef as TypeDefinition; + if (null != type) return type; + + GenericParameter parameter = typeRef as GenericParameter; + if (parameter != null) return null; + + TypeSpecification typeSpecification = typeRef as TypeSpecification; + if (typeSpecification != null) return ResolveTypeReference(typeSpecification.ElementType); + + AssemblyDefinition assembly = ResolveAssembly(typeRef.Scope as AssemblyNameReference); + if (null == assembly) return null; + + return FindType(assembly, typeRef); + } + + private AssemblyDefinition ResolveAssembly(AssemblyNameReference assemblyRef) + { + return _resolver.Resolve(assemblyRef); + } + + private TypeDefinition FindType(AssemblyDefinition assembly, TypeReference typeRef) + { + foreach (ModuleDefinition m in assembly.Modules) + { + foreach (TypeDefinition t in m.Types) + { + if (t.FullName == typeRef.FullName) return t; + } + } + return null; + } + + private static bool Contains(IEnumerable collection, string fullName) + { + foreach (TypeReference typeRef in collection) + { + if (typeRef.FullName == fullName) return true; + } + return false; + } + + public static MethodDefinition GetMethod(TypeDefinition type, string methodName) + { + if (type == null) throw new ArgumentNullException("type"); + if (methodName == null) throw new ArgumentNullException("methodName"); + + foreach (MethodDefinition method in type.Methods) + { + if (method.Name == methodName) return method; + } + + return null; + } + + public static MethodDefinition GetMethod(TypeDefinition type, MethodReference template) + { + return GetMethodInternal(type, template.Name, template.Parameters); + } + + public static MethodDefinition GetMethod(TypeDefinition type, string methodName, Type [] parameterTypes) + { + return GetMethodInternal(type, methodName, parameterTypes); + } + + static MethodDefinition GetMethodInternal(TypeDefinition type, string name, IList parameters) + { + if (type == null) throw new ArgumentNullException ("type"); + + foreach (MethodDefinition method in type.Methods) + { + if (method.Name != name) continue; + if (!ParametersMatch(method.Parameters, parameters)) continue; + + return method; + } + + return null; + } + + static bool ParametersMatch(IList parameters, IList candidates) + { + if (parameters.Count != candidates.Count) return false; + + for (int i = 0; i < parameters.Count; i++) { + string candidateTypeName; + object candidate = candidates[i]; + + if (candidate is Type) + candidateTypeName = (candidate as Type).FullName.Replace('+', '/'); + else if (candidate is TypeReference) + candidateTypeName = (candidate as TypeReference).FullName; + else if (candidate is ParameterDefinition) + candidateTypeName = (candidate as ParameterDefinition).ParameterType.FullName; + else + return false; + + if (parameters[i].ParameterType.FullName != candidateTypeName) return false; + } + + return true; + } + + public static FieldDefinition GetField(TypeDefinition type, string fieldName) + { + if (type == null) throw new ArgumentNullException("type"); + if (fieldName == null) throw new ArgumentNullException("fieldName"); + + foreach (FieldDefinition field in type.Fields) + { + if (field.Name == fieldName) return field; + } + + return null; + } + } + + internal class CompositeAssemblyResolver : IAssemblyResolver + { + private readonly IAssemblyResolver[] _resolvers; + + public CompositeAssemblyResolver(params IAssemblyResolver[] resolvers) + { + _resolvers = resolvers; + } + + public AssemblyDefinition Resolve(string fullName, ReaderParameters parameters) + { + return InternalResolve(delegate(IAssemblyResolver resolver) + { + return resolver.Resolve(fullName); + }); + } + + public AssemblyDefinition Resolve(string fullName) + { + return InternalResolve(delegate(IAssemblyResolver resolver) + { + return resolver.Resolve(fullName); + }); + } + + public AssemblyDefinition Resolve(AssemblyNameReference name) + { + return InternalResolve(delegate(IAssemblyResolver resolver) + { + return resolver.Resolve(name); + }); + } + + public AssemblyDefinition Resolve(AssemblyNameReference name, ReaderParameters parameters) + { + return InternalResolve(delegate(IAssemblyResolver resolver) + { + return resolver.Resolve(name); + }); + } + + private AssemblyDefinition InternalResolve(Function @delegate) + { + foreach (IAssemblyResolver resolver in _resolvers) + { + AssemblyDefinition assemblyDefinition = @delegate(resolver); + if (assemblyDefinition != null) return assemblyDefinition; + } + + return null; + } + } +} debian/patches/force_cecil_0.9.5.patch0000644000000000000000000001666411706251603014642 0ustar Index: db4o/src/Db4oTool/Db4oTool/Db4oTool-2010.csproj =================================================================== --- db4o.orig/src/Db4oTool/Db4oTool/Db4oTool-2010.csproj 2011-08-14 19:27:34.000000000 +0100 +++ db4o/src/Db4oTool/Db4oTool/Db4oTool-2010.csproj 2011-08-14 19:28:41.000000000 +0100 @@ -80,13 +80,13 @@ False ..\..\Libs\net-2.0\Cecil.FlowAnalysis.dll - + False - ..\..\Libs\net-2.0\Mono.Cecil.dll + /usr/lib/mono-cecil/Mono.Cecil.dll - + False - ..\..\Libs\net-2.0\Mono.Cecil.Pdb.dll + /usr/lib/mono-cecil/Mono.Cecil.Pdb.dll False @@ -189,11 +189,11 @@ - Index: db4o/src/Db4objects.Db4o.Instrumentation/Db4objects.Db4o.Instrumentation-2010.csproj =================================================================== --- db4o.orig/src/Db4objects.Db4o.Instrumentation/Db4objects.Db4o.Instrumentation-2010.csproj 2011-08-14 19:27:34.000000000 +0100 +++ db4o/src/Db4objects.Db4o.Instrumentation/Db4objects.Db4o.Instrumentation-2010.csproj 2011-08-14 19:29:00.000000000 +0100 @@ -85,9 +85,9 @@ False ..\Libs\net-2.0\Cecil.FlowAnalysis.dll - + False - ..\Libs\net-2.0\Mono.Cecil.dll + /usr/lib/mono-cecil/Mono.Cecil.dll @@ -137,11 +137,11 @@ - Index: db4o/src/Db4objects.Db4o.NativeQueries/Db4objects.Db4o.NativeQueries-2010.csproj =================================================================== --- db4o.orig/src/Db4objects.Db4o.NativeQueries/Db4objects.Db4o.NativeQueries-2010.csproj 2011-08-14 19:27:34.000000000 +0100 +++ db4o/src/Db4objects.Db4o.NativeQueries/Db4objects.Db4o.NativeQueries-2010.csproj 2011-08-14 19:27:52.000000000 +0100 @@ -85,9 +85,9 @@ False ..\Libs\net-2.0\Cecil.FlowAnalysis.dll - + False - ..\Libs\net-2.0\Mono.Cecil.dll + /usr/lib/mono-cecil/Mono.Cecil.dll @@ -167,11 +167,11 @@ - Index: db4o/src/Db4objects.Db4o.Optional/Db4objects.Db4o.Optional-2010.csproj =================================================================== --- db4o.orig/src/Db4objects.Db4o.Optional/Db4objects.Db4o.Optional-2010.csproj 2011-08-14 19:25:59.000000000 +0100 +++ db4o/src/Db4objects.Db4o.Optional/Db4objects.Db4o.Optional-2010.csproj 2011-08-14 19:26:34.000000000 +0100 @@ -85,9 +85,9 @@ False ..\Libs\net-2.0\Cecil.FlowAnalysis.dll - + False - ..\Libs\net-2.0\Mono.Cecil.dll + /usr/lib/mono-cecil/Mono.Cecil.dll @@ -174,11 +174,11 @@ - debian/patches/series0000644000000000000000000000023711706310140012025 0ustar force_cecil_0.9.5.patch port_options_code_to_Mono.Options.patch dont_build_test_assemblies.patch use_cecil_0.9.5_api.patch debian-changes-8.0.184.15484+dfsg-1 debian/libdb4o8.0-cil.installcligac0000644000000000000000000000063411706251603014237 0ustar /usr/lib/cli/Db4objects.Db4o-8.0/Db4objects.Db4o.dll /usr/lib/cli/Db4objects.Db4o.Linq-8.0/Db4objects.Db4o.Linq.dll /usr/lib/cli/Db4objects.Db4o.Instrumentation-8.0/Db4objects.Db4o.Instrumentation.dll /usr/lib/cli/Db4objects.Db4o.CS-8.0/Db4objects.Db4o.CS.dll /usr/lib/cli/Db4objects.Db4o.NativeQueries-8.0/Db4objects.Db4o.NativeQueries.dll /usr/lib/cli/Db4objects.Db4o.Optional-8.0/Db4objects.Db4o.Optional.dll debian/control0000644000000000000000000000705311706251603010577 0ustar Source: db4o Section: cli-mono Priority: optional Maintainer: Debian CLI Libraries Team Uploaders: Jose Carlos Garcia Sogo , Mirco Bauer , Sebastian Dröge Build-Depends: debhelper (>= 7.0.50) Build-Depends-Indep: cli-common-dev (>= 0.8~), mono-devel (>= 2.10~), libmono-cecil-cil-dev (>= 0.9.5~), libmono-cecil-flowanalysis-cil-dev (>= 0.1~vcs20110809.r1.b34edf6-1~), libmono-reflection-cil-dev, pkg-config, monodoc-base Standards-Version: 3.9.2 Homepage: http://www.db4o.com/ Vcs-Browser: http://git.debian.org/?p=pkg-cli-libs/packages/db4o.git Vcs-Git: git://git.debian.org/git/pkg-cli-libs/packages/db4o.git Package: libdb4o8.0-cil Architecture: all Replaces: libdb4o6.1-cil, libdb4o6.0-cil Conflicts: libdb4o6.1-cil, libdb4o6.0-cil Suggests: libdb4o-doc, monodoc-db4o-manual Depends: ${shlibs:Depends}, ${misc:Depends}, ${cli:Depends} Description: native OODBMS for CLI db4o is the open source object database that enables Java and .NET developers to store and retrieve any application object with only one line of code, eliminating the need to predefine or maintain a separate, rigid data model. . This is the native CLI version of db4o for Mono and Microsoft .NET Framework, but there is also a native Java version, check http://www.db4o.com. Package: libdb4o-cil-dev Architecture: all Replaces: libdb4o6.1-cil, libdb4o6.0-cil Suggests: libdb4o-doc, monodoc-db4o-manual Depends: ${shlibs:Depends}, ${misc:Depends}, ${cli:Depends}, libdb4o8.0-cil (= ${binary:Version}) Description: native OODBMS for CLI - development files db4o is the open source object database that enables Java and .NET developers to store and retrieve any application object with only one line of code, eliminating the need to predefine or maintain a separate, rigid data model. . This is the native CLI version of db4o for Mono and Microsoft .NET Framework, but there is also a native Java version, check http://www.db4o.com. . This package contains development files for the db4o library, and should be for compilation Package: db4otool Architecture: all Replaces: libdb4o7.4-cil, libdb4o6.1-cil, libdb4o6.0-cil Breaks: libdb4o7.4-cil, libdb4o6.1-cil, libdb4o6.0-cil Depends: ${cli:Depends}, ${misc:Depends} Description: native OODBMS for CLI (documentation) db4o is the open source object database that enables Java and .NET developers to store and retrieve any application object with only one line of code, eliminating the need to predefine or maintain a separate, rigid data model. . This package contains the Db4oTool utility, used to manupilate Db4o databases. Package: libdb4o-doc Section: doc Architecture: all Depends: ${misc:Depends} Suggests: www-browser | xchm | kchmviewer Description: native OODBMS for CLI (documentation) db4o is the open source object database that enables Java and .NET developers to store and retrieve any application object with only one line of code, eliminating the need to predefine or maintain a separate, rigid data model. . This package contains API reference and tutorial on db4o in HTML form. Package: monodoc-db4o-manual Section: doc Architecture: all Depends: monodoc-manual, ${misc:Depends} Description: compiled XML documentation for db4o db4o is the open source object database that enables Java and .NET developers to store and retrieve any application object with only one line of code, eliminating the need to predefine or maintain a separate, rigid data model. . This package contains the compiled XML documentation for db4o. debian/script/0000755000000000000000000000000011706251603010473 5ustar debian/script/db4otool0000644000000000000000000000007511706251603012146 0ustar #!/bin/sh exec /usr/bin/cli /usr/lib/db4o/Db4oTool.exe "$@"