[db4o] 8.0
Tom Callaway
spot at fedoraproject.org
Wed Jun 29 15:59:30 UTC 2011
commit 06139e09d2650576d7ce1e7d6b5983a4d951acb4
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date: Wed Jun 29 11:59:17 2011 -0400
8.0
db4o-8.0-CSOptional.patch | 21 +
db4o-8.0-CecilFix.patch | 41 ++
db4o-8.0-db4otool-testfix.patch | 30 ++
db4o-8.0-extensions-make-fix.patch | 9 +
db4o-8.0-make.patch | 124 ++++++
db4o-8.0-mono-reflection.patch | 20 +
db4o-8.0-more-makefile-fixes.patch | 17 +
db4o-8.0-noGetOptions.patch | 815 +++++++++++++++++++++++++++++++++++
db4o-8.0-noGetOptions2.patch | 823 ++++++++++++++++++++++++++++++++++++
db4o.spec | 70 ++--
sources | 2 +-
11 files changed, 1932 insertions(+), 40 deletions(-)
---
diff --git a/db4o-8.0-CSOptional.patch b/db4o-8.0-CSOptional.patch
new file mode 100644
index 0000000..ec5044f
--- /dev/null
+++ b/db4o-8.0-CSOptional.patch
@@ -0,0 +1,21 @@
+diff -up db4o-8.0/src/Db4objects.Db4o.Tests/Makefile.CSOptional db4o-8.0/src/Db4objects.Db4o.Tests/Makefile
+--- db4o-8.0/src/Db4objects.Db4o.Tests/Makefile.CSOptional 2011-05-13 14:32:00.732687619 -0400
++++ db4o-8.0/src/Db4objects.Db4o.Tests/Makefile 2011-05-13 14:32:24.535384191 -0400
+@@ -3,5 +3,5 @@ include ../include.mk
+
+ TARGET = exe
+ ASSEMBLY = $(TESTS)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(CS) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:System.Drawing
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(CS) -r:$(OUTDIR)/$(CS_OPTIONAL) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:System.Drawing
+ OPT_MCS_FLAGS = -main:Db4objects.Db4o.Tests.AllTests
+diff -up db4o-8.0/src/include.mk.CSOptional db4o-8.0/src/include.mk
+--- db4o-8.0/src/include.mk.CSOptional 2011-05-13 14:30:44.247662105 -0400
++++ db4o-8.0/src/include.mk 2011-05-13 14:31:15.855259488 -0400
+@@ -10,6 +10,7 @@ RESPONSE_FILE = $(WORKDIR)/sources
+ CORE = Db4objects.Db4o.dll
+ CS = Db4objects.Db4o.CS.dll
+ OPTIONAL = Db4objects.Db4o.Optional.dll
++CS_OPTIONAL = Db4objects.Db4o.CS.Optional.dll
+ TESTS = Db4objects.Db4o.Tests.exe
+ UNIT = Db4oUnit.dll
+ UNIT_EXT = Db4oUnit.Extensions.dll
diff --git a/db4o-8.0-CecilFix.patch b/db4o-8.0-CecilFix.patch
new file mode 100644
index 0000000..cf0b645
--- /dev/null
+++ b/db4o-8.0-CecilFix.patch
@@ -0,0 +1,41 @@
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Core/CecilReflector.cs.CecilFix db4o-8.0/src/Db4oTool/Db4oTool/Core/CecilReflector.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool/Core/CecilReflector.cs.CecilFix 2011-01-28 22:15:16.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool/Core/CecilReflector.cs 2011-05-13 13:25:36.586593204 -0400
+@@ -192,6 +192,17 @@ namespace Db4oTool.Core
+ });
+ }
+
++ public AssemblyDefinition Resolve(string fullName, ReaderParameters parameters)
++ {
++ if (fullName == null)
++ throw new ArgumentNullException ("fullName");
++
++ return InternalResolve(delegate(IAssemblyResolver resolver)
++ {
++ return resolver.Resolve(AssemblyNameReference.Parse (fullName), parameters);
++ });
++ }
++
+ public AssemblyDefinition Resolve(AssemblyNameReference name)
+ {
+ return InternalResolve(delegate(IAssemblyResolver resolver)
+@@ -200,6 +211,19 @@ namespace Db4oTool.Core
+ });
+ }
+
++ public AssemblyDefinition Resolve(AssemblyNameReference name, ReaderParameters parameters)
++ {
++ if (name == null)
++ throw new ArgumentNullException ("name");
++ if (parameters == null)
++ parameters = new ReaderParameters ();
++
++ return InternalResolve(delegate(IAssemblyResolver resolver)
++ {
++ return resolver.Resolve(name, parameters);
++ });
++ }
++
+ private AssemblyDefinition InternalResolve(Function<IAssemblyResolver, AssemblyDefinition> @delegate)
+ {
+ foreach (IAssemblyResolver resolver in _resolvers)
diff --git a/db4o-8.0-db4otool-testfix.patch b/db4o-8.0-db4otool-testfix.patch
new file mode 100644
index 0000000..278cec1
--- /dev/null
+++ b/db4o-8.0-db4otool-testfix.patch
@@ -0,0 +1,30 @@
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/ILPatternTestCase.cs.TestFix db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/ILPatternTestCase.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/ILPatternTestCase.cs.TestFix 2011-05-13 14:04:04.122202528 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/ILPatternTestCase.cs 2011-05-13 14:11:10.565568075 -0400
+@@ -72,7 +72,7 @@ namespace Db4oTool.Tests.Core
+
+ static MethodDefinition CreateTestMethod(Emitter emitter)
+ {
+- TypeReference type = new TypeReference ("", "Test", null);
++ TypeReference type = new TypeReference ("", "Test", null, null);
+ MethodDefinition test = new MethodDefinition("Test", MethodAttributes.Public, type);
+ emitter(test.Body.GetILProcessor());
+ return test;
+@@ -80,7 +80,7 @@ namespace Db4oTool.Tests.Core
+
+ private static void TestSequence1(ILProcessor il)
+ {
+- TypeReference type = new TypeReference("", "Test", null);
++ TypeReference type = new TypeReference("", "Test", null, null);
+ FieldDefinition blank = new FieldDefinition("Test", FieldAttributes.Public, type);
+ il.Emit(OpCodes.Nop);
+ il.Emit(OpCodes.Ldsfld, blank);
+@@ -90,7 +90,7 @@ namespace Db4oTool.Tests.Core
+
+ private static void TestSequence2(ILProcessor il)
+ {
+- TypeReference type = new TypeReference ("", "Test", null);
++ TypeReference type = new TypeReference ("", "Test", null, null);
+ FieldDefinition blank = new FieldDefinition("Test", FieldAttributes.Public, type);
+ il.Emit(OpCodes.Nop);
+ il.Emit(OpCodes.Ldfld, blank);
diff --git a/db4o-8.0-extensions-make-fix.patch b/db4o-8.0-extensions-make-fix.patch
new file mode 100644
index 0000000..1afba78
--- /dev/null
+++ b/db4o-8.0-extensions-make-fix.patch
@@ -0,0 +1,9 @@
+diff -up db4o-8.0/src/Db4oUnit.Extensions/Makefile.CSFix db4o-8.0/src/Db4oUnit.Extensions/Makefile
+--- db4o-8.0/src/Db4oUnit.Extensions/Makefile.CSFix 2011-05-13 13:45:55.319569035 -0400
++++ db4o-8.0/src/Db4oUnit.Extensions/Makefile 2011-05-13 13:48:00.296921933 -0400
+@@ -3,4 +3,4 @@ include ../include.mk
+
+ TARGET = library
+ ASSEMBLY = $(UNIT_EXT)
+-REFERENCES = -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(CORE)
++REFERENCES = -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(CS) -r:$(OUTDIR)/$(OPTIONAL)
diff --git a/db4o-8.0-make.patch b/db4o-8.0-make.patch
new file mode 100644
index 0000000..8221696
--- /dev/null
+++ b/db4o-8.0-make.patch
@@ -0,0 +1,124 @@
+diff -up db4o-8.0/src/Db4objects.Db4o.Instrumentation/Makefile.makepatch db4o-8.0/src/Db4objects.Db4o.Instrumentation/Makefile
+--- db4o-8.0/src/Db4objects.Db4o.Instrumentation/Makefile.makepatch 2011-01-28 20:16:56.000000000 -0500
++++ db4o-8.0/src/Db4objects.Db4o.Instrumentation/Makefile 2011-05-11 16:57:41.158881213 -0400
+@@ -1,8 +1,8 @@
+
+-include ../../db4o.net/include.mk
++include ../include.mk
+
+-OUTDIR = ../../db4o.net/bin
++OUTDIR = ../bin
+
+ TARGET = library
+ ASSEMBLY = $(INSTR)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(CECIL) -r:$(OUTDIR)/$(FLOWANALYSIS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(CECIL) -r:$(FLOWANALYSIS)
+diff -up db4o-8.0/src/Db4objects.Db4o.Linq/Makefile.makepatch db4o-8.0/src/Db4objects.Db4o.Linq/Makefile
+--- db4o-8.0/src/Db4objects.Db4o.Linq/Makefile.makepatch 2011-01-28 20:16:46.000000000 -0500
++++ db4o-8.0/src/Db4objects.Db4o.Linq/Makefile 2011-05-11 16:57:41.158881213 -0400
+@@ -1,8 +1,8 @@
+
+-include ../../db4o.net/include.mk
++include ../include.mk
+
+-OUTDIR = ../../db4o.net/bin
++OUTDIR = ../bin
+
+ TARGET = library
+ ASSEMBLY = Db4objects.Db4o.Linq.dll
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(CECIL) -r:$(OUTDIR)/$(FLOWANALYSIS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(CECIL) -r:$(FLOWANALYSIS)
+diff -up db4o-8.0/src/Db4objects.Db4o.Linq.Tests/Makefile.makepatch db4o-8.0/src/Db4objects.Db4o.Linq.Tests/Makefile
+--- db4o-8.0/src/Db4objects.Db4o.Linq.Tests/Makefile.makepatch 2011-01-28 20:16:52.000000000 -0500
++++ db4o-8.0/src/Db4objects.Db4o.Linq.Tests/Makefile 2011-05-11 16:57:41.158881213 -0400
+@@ -3,5 +3,5 @@ include ../include.mk
+
+ TARGET = exe
+ ASSEMBLY = $(LINQ_TESTS)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT) -r:$(OUTDIR)/$(LINQ) -r:$(OUTDIR)/$(CECIL) -r:$(OUTDIR)/$(FLOWANALYSIS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT) -r:$(OUTDIR)/$(LINQ) -r:$(CECIL) -r:$(FLOWANALYSIS)
+ OPT_MCS_FLAGS = -main:Db4objects.Db4o.Linq.Tests.AllTests
+diff -up db4o-8.0/src/Db4objects.Db4o.NativeQueries/Makefile.makepatch db4o-8.0/src/Db4objects.Db4o.NativeQueries/Makefile
+--- db4o-8.0/src/Db4objects.Db4o.NativeQueries/Makefile.makepatch 2011-01-28 20:16:44.000000000 -0500
++++ db4o-8.0/src/Db4objects.Db4o.NativeQueries/Makefile 2011-05-11 16:57:41.159881200 -0400
+@@ -1,8 +1,8 @@
+
+-include ../../db4o.net/include.mk
++include ../include.mk
+
+-OUTDIR = ../../db4o.net/bin
++OUTDIR = ../bin
+
+ TARGET = library
+ ASSEMBLY = $(NQ)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(CECIL) -r:$(OUTDIR)/$(FLOWANALYSIS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(INSTR) -r:$(CECIL) -r:$(FLOWANALYSIS)
+diff -up db4o-8.0/src/Db4objects.Db4o.Tests/Makefile.makepatch db4o-8.0/src/Db4objects.Db4o.Tests/Makefile
+--- db4o-8.0/src/Db4objects.Db4o.Tests/Makefile.makepatch 2011-01-28 20:16:34.000000000 -0500
++++ db4o-8.0/src/Db4objects.Db4o.Tests/Makefile 2011-05-11 17:00:25.522811400 -0400
+@@ -1,7 +1,7 @@
+
+ include ../include.mk
+-
+-TARGET = exe
+-ASSEMBLY = $(TESTS)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(CS) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(OUTDIR)/$(CECIL) -r:$(OUTDIR)/$(FLOWANALYSIS) -r:System.Drawing
+-OPT_MCS_FLAGS = -main:Db4objects.Db4o.Tests.AllTests
++
++TARGET = exe
++ASSEMBLY = $(TESTS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(CS) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:System.Drawing
++OPT_MCS_FLAGS = -main:Db4objects.Db4o.Tests.AllTests
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Makefile.makepatch db4o-8.0/src/Db4oTool/Db4oTool/Makefile
+--- db4o-8.0/src/Db4oTool/Db4oTool/Makefile.makepatch 2011-01-28 20:16:52.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool/Makefile 2011-05-11 16:59:46.702299812 -0400
+@@ -1,8 +1,8 @@
+
+-include ../../include.mk
+-
++include ../../include.mk
++
+ OUTDIR = ../../bin
+-
+-TARGET = exe
+-ASSEMBLY = $(TOOL)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(OUTDIR)/$(CECIL) -r:$(OUTDIR)/$(FLOWANALYSIS) -r:$(OUTDIR)/$(GETOPTIONS)
++
++TARGET = exe
++ASSEMBLY = $(TOOL)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:$(GETOPTIONS)
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile.makepatch db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile.makepatch 2011-01-28 20:16:56.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile 2011-05-11 16:57:41.164881138 -0400
+@@ -9,4 +9,4 @@ precompile:
+
+ TARGET = exe
+ ASSEMBLY = $(TOOL_TESTS)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(OUTDIR)/$(CECIL) -r:$(OUTDIR)/$(FLOWANALYSIS) -r:$(OUTDIR)/$(TOOL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:$(OUTDIR)/$(TOOL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT)
+diff -up db4o-8.0/src/Makefile.makepatch db4o-8.0/src/Makefile
+--- db4o-8.0/src/Makefile.makepatch 2011-01-28 20:16:42.000000000 -0500
++++ db4o-8.0/src/Makefile 2011-05-11 16:58:59.088899223 -0400
+@@ -12,17 +12,17 @@ TOOL = Db4oTool/Db4oTool
+ TOOL_TESTS = Db4oTool/Db4oTool.Tests
+ LINQ = Db4objects.Db4o.Linq
+ LINQ_TESTS = Db4objects.Db4o.Linq.Tests
+-LINQ_INSTR_TESTS = Db4objects.Db4o.Linq.Instrumentation.Tests
+-
++LINQ_INSTR_TESTS = Db4objects.Db4o.Linq.Instrumentation.Tests
++
+ LIBS = Libs/net-2.0
+
+ OUTDIR = ./bin
+
+ all: prebuild build postbuild
+
+-prebuild:
+- [ -d $(OUTDIR) ] || mkdir $(OUTDIR)
+- cp $(LIBS)/*.dll $(OUTDIR)
++prebuild:
++ [ -d $(OUTDIR) ] || mkdir $(OUTDIR)
++# cp $(LIBS)/*.dll $(OUTDIR)
+
+ build: core cs optional nq linq tool tests
+
diff --git a/db4o-8.0-mono-reflection.patch b/db4o-8.0-mono-reflection.patch
new file mode 100644
index 0000000..42054ca
--- /dev/null
+++ b/db4o-8.0-mono-reflection.patch
@@ -0,0 +1,20 @@
+diff -up db4o-8.0/src/Db4objects.Db4o.Linq/Makefile.mono-reflection db4o-8.0/src/Db4objects.Db4o.Linq/Makefile
+--- db4o-8.0/src/Db4objects.Db4o.Linq/Makefile.mono-reflection 2011-05-12 16:34:00.704256102 -0400
++++ db4o-8.0/src/Db4objects.Db4o.Linq/Makefile 2011-05-12 16:34:00.712256003 -0400
+@@ -5,4 +5,4 @@ OUTDIR = ../bin
+
+ TARGET = library
+ ASSEMBLY = Db4objects.Db4o.Linq.dll
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(CECIL) -r:$(FLOWANALYSIS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:$(MONOREFLECTION)
+diff -up db4o-8.0/src/include.mk.mono-reflection db4o-8.0/src/include.mk
+--- db4o-8.0/src/include.mk.mono-reflection 2011-01-28 20:16:52.000000000 -0500
++++ db4o-8.0/src/include.mk 2011-05-12 16:34:30.823890392 -0400
+@@ -24,6 +24,7 @@ LINQ_INSTR_TESTS = Db4objects.Db4o.Linq.
+ CECIL = Mono.Cecil.dll
+ FLOWANALYSIS = Cecil.FlowAnalysis.dll
+ GETOPTIONS = Mono.GetOptions.dll
++MONOREFLECTION = Mono.Reflection.dll
+
+ build: precompile compile postcompile
+
diff --git a/db4o-8.0-more-makefile-fixes.patch b/db4o-8.0-more-makefile-fixes.patch
new file mode 100644
index 0000000..6b01363
--- /dev/null
+++ b/db4o-8.0-more-makefile-fixes.patch
@@ -0,0 +1,17 @@
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile.makefix db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile.makefix 2011-05-13 13:52:13.190587068 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Makefile 2011-05-13 13:53:27.527606318 -0400
+@@ -3,10 +3,12 @@ include ../../include.mk
+
+ OUTDIR = ../../bin
+
++KEY_FILE = ../../db4objects.snk
++
+ precompile:
+ [ -d $(OUTDIR) ] || mkdir $(OUTDIR)
+ find $(WORKDIR) -name "*.cs" | egrep -v 'Resources'> $(RESPONSE_FILE)
+
+ TARGET = exe
+ ASSEMBLY = $(TOOL_TESTS)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:$(OUTDIR)/$(TOOL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:$(OUTDIR)/$(TOOL) -r:$(OUTDIR)/$(UNIT) -r:$(OUTDIR)/$(UNIT_EXT) -r:$(OUTDIR)/$(OPTIONAL)
diff --git a/db4o-8.0-noGetOptions.patch b/db4o-8.0-noGetOptions.patch
new file mode 100644
index 0000000..87a35bc
--- /dev/null
+++ b/db4o-8.0-noGetOptions.patch
@@ -0,0 +1,815 @@
+diff -up db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs.noGetOptions db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs
+--- db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs.noGetOptions 2011-01-28 22:15:20.000000000 -0500
++++ db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs 2011-05-13 14:24:13.672625837 -0400
+@@ -1,81 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using System;
+-using System.IO;
+-using System.Reflection;
+-
+-using Db4oTool;
+-using Db4oTool.Core;
+-using Db4oTool.Tests.Core;
+-
+-namespace Db4objects.Db4o.Linq.Instrumentation.Tests
+-{
+- // TODO: integrate into the build
+- class Program
+- {
+- const string TestAssemblyFileName = "Db4objects.Db4o.Linq.Tests.exe";
+-
+- static void Main(string[] args)
+- {
+- var path = ExecutingAssemblyPath();
+- CopyToTemp(Path.Combine(path, TestAssemblyFileName));
+- CopyAllToTemp(Directory.GetFiles(path, "*.dll"));
+-
+- var testAssemblyFile = Path.Combine(GetTempPath(), TestAssemblyFileName);
+- InstrumentAssembly(testAssemblyFile);
+-
+- var domain = AppDomain.CreateDomain("LinqTests", null, new AppDomainSetup { ApplicationBase = GetTempPath() });
+- domain.ExecuteAssembly(testAssemblyFile);
+- }
+-
+- private static string GetTempPath()
+- {
+- return ShellUtilities.GetTempPath();
+- }
+-
+- private static void InstrumentAssembly(string testAssemblyFile)
+- {
+- var options = new ProgramOptions()
+- {
+- Target = testAssemblyFile,
+- TransparentPersistence = true,
+- };
+-
+- const string attribute_type = "Db4objects.Db4o.Linq.Tests.CodeAnalysis.DoNotInstrumentAttribute";
+-
+- options.Filters.Add(delegate { return new NotFilter(new ByAttributeFilter(attribute_type)); });
+- Db4oTool.Program.Run(options);
+- }
+-
+- private static void CopyAllToTemp(string[] files)
+- {
+- foreach (var fname in files)
+- {
+- CopyToTemp(fname);
+- }
+- }
+-
+- private static void CopyToTemp(string fname)
+- {
+- ShellUtilities.CopyToTemp(fname);
+- }
+-
+- private static string ExecutingAssemblyPath()
+- {
+- return Path.GetDirectoryName(Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName);
+- }
+- }
+-}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Makefile.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/Makefile
+--- db4o-8.0/src/Db4oTool/Db4oTool/Makefile.noGetOptions 2011-05-13 14:24:13.654626067 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/Makefile 2011-05-13 14:24:13.673625824 -0400
+@@ -3,6 +3,8 @@ include ../../include.mk
+
+ OUTDIR = ../../bin
+
++KEY_FILE = ../../db4objects.snk
++
+ TARGET = exe
+ ASSEMBLY = $(TOOL)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:$(GETOPTIONS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS)
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Program.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/Program.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool/Program.cs.noGetOptions 2011-05-13 14:24:13.666625915 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/Program.cs 2011-05-13 14:24:13.673625824 -0400
+@@ -31,85 +31,77 @@ namespace Db4oTool
+ {
+ Trace.Listeners.Add(new TextWriterTraceListener(Console.Error));
+
+- ProgramOptions options = new ProgramOptions();
+- try
+- {
+- options.ProcessArgs(args);
+- if (!options.IsValid)
+- {
+- options.DoHelp();
+- return -1;
+- }
+-
+- Run(options);
+- }
+- catch (Exception x)
+- {
+- ReportError(options, x);
+- return -2;
+- }
++ Run(args);
+ return 0;
+ }
+
+- public static void Run(ProgramOptions options)
++ public static void Run(string[] args)
+ {
+- foreach (string fileName in options.StatisticsFileNames)
+- {
+- new Statistics().Run(fileName);
+- }
++ ProgramOptions.ProcessArgs(args);
++ foreach (string fileName in ProgramOptions.StatisticsFileNames)
++ {
++ new Statistics().Run(fileName);
++ }
+
+- if (options.InstallPerformanceCounters)
++ if (ProgramOptions.InstallPerformanceCounters)
+ {
+ Db4oPerformanceCounters.ReInstall();
+ }
+
+- if (options.CheckDatabase)
+- {
+- Console.Write("\r\nChecking '{0}' : ", options.Target);
+- ConsistencyChecker.Main(new string[] { options.Target});
+- }
+-
+- if (options.ShowFileUsageStats)
+- {
+- FileUsageStatsCollector.Main(new string[] { options.Target, "true" });
+- }
+-
+- if (NoInstrumentationStep(options))
+- {
+- return;
+- }
++ if (ProgramOptions.CheckDatabase)
++ {
++ Console.Write("\r\nChecking '{0}' : ", ProgramOptions.Target);
++ ConsistencyChecker.Main(new string[] { ProgramOptions.Target});
++ }
++
++ if (ProgramOptions.ShowFileUsageStats)
++ {
++ FileUsageStatsCollector.Main(new string[] { ProgramOptions.Target, "true" });
++ }
++
++ if (!ProgramOptions.NQ && !ProgramOptions.TransparentPersistence && ProgramOptions.CustomInstrumentations.Count == 0)
++ {
++ return;
++ }
+
+ using (new CurrentDirectoryAssemblyResolver())
+ {
+- RunPipeline(options);
++ RunPipeline();
+ }
+ }
+
+- private static bool NoInstrumentationStep(ProgramOptions options)
+- {
+- return !options.NQ && !options.TransparentPersistence && options.CustomInstrumentations.Count == 0;
+- }
+-
+- private static void RunPipeline(ProgramOptions options)
++ private static void RunPipeline()
+ {
+- InstrumentationPipeline pipeline = new InstrumentationPipeline(GetConfiguration(options));
+- if (options.NQ)
++ Configuration configuration = new Configuration(ProgramOptions.Target);
++ configuration.CaseSensitive = ProgramOptions.CaseSensitive;
++ configuration.PreserveDebugInfo = ProgramOptions.Debug;
++ if (ProgramOptions.Verbose)
++ {
++ configuration.TraceSwitch.Level = ProgramOptions.PrettyVerbose ? TraceLevel.Verbose : TraceLevel.Info;
++ }
++ foreach (TypeFilterFactory factory in ProgramOptions.Filters)
++ {
++ configuration.AddFilter(factory());
++ }
++
++ InstrumentationPipeline pipeline = new InstrumentationPipeline(configuration);
++ if (ProgramOptions.NQ)
+ {
+ pipeline.Add(new DelegateOptimizer());
+ pipeline.Add(new PredicateOptimizer());
+ }
+
+- if (options.TransparentPersistence)
++ if (ProgramOptions.TransparentPersistence)
+ {
+- pipeline.Add(new TAInstrumentation(options.Collections));
++ pipeline.Add(new TAInstrumentation(ProgramOptions.Collections));
+ }
+
+- foreach (IAssemblyInstrumentation instr in Factory.Instantiate<IAssemblyInstrumentation>(options.CustomInstrumentations))
++ foreach (IAssemblyInstrumentation instr in Factory.Instantiate<IAssemblyInstrumentation>(ProgramOptions.CustomInstrumentations))
+ {
+ pipeline.Add(instr);
+ }
+
+- if (!options.Fake)
++ if (!ProgramOptions.Fake)
+ {
+ pipeline.Add(new SaveAssemblyInstrumentation());
+ if (pipeline.Context.IsAssemblySigned())
+@@ -119,33 +111,5 @@ namespace Db4oTool
+ }
+ pipeline.Run();
+ }
+-
+- private static void ReportError(ProgramOptions options, Exception x)
+- {
+- if (options.Verbose)
+- {
+- Console.WriteLine(x);
+- }
+- else
+- {
+- Console.WriteLine(x.Message);
+- }
+- }
+-
+- private static Configuration GetConfiguration(ProgramOptions options)
+- {
+- Configuration configuration = new Configuration(options.Target);
+- configuration.CaseSensitive = options.CaseSensitive;
+- configuration.PreserveDebugInfo = options.Debug;
+- if (options.Verbose)
+- {
+- configuration.TraceSwitch.Level = options.PrettyVerbose ? TraceLevel.Verbose : TraceLevel.Info;
+- }
+- foreach (TypeFilterFactory factory in options.Filters)
+- {
+- configuration.AddFilter(factory());
+- }
+- return configuration;
+- }
+ }
+-}
+\ No newline at end of file
++}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs.noGetOptions 2011-05-13 14:24:13.667625902 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs 2011-05-13 14:24:13.674625811 -0400
+@@ -16,149 +16,98 @@ with this program. If not, see http://w
+ using System;
+ using System.Collections.Generic;
+ using Db4oTool.Core;
+-using Mono.GetOptions;
++using Mono.Options;
+
+ namespace Db4oTool
+ {
+ public delegate ITypeFilter TypeFilterFactory();
+
+- public class ProgramOptions : Options
++ public class ProgramOptions
+ {
+- 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
+- {
++ private static bool _prettyVerbose;
++ public static bool Debug { get; private set; }
++ public static bool TransparentPersistence { get; private set; }
++ public static bool Collections { get; private set; }
++ public static bool CaseSensitive { get; private set; }
++ public static bool Verbose { get; private set; }
++ public static bool NQ { get; private set; }
++ public static bool PrettyVerbose {
+ get { return _prettyVerbose; }
+-
+ set { Verbose = _prettyVerbose = value; }
+ }
+-
+- [Option("Fake operation mode, assembly won't be written", "fake")]
+- public bool Fake;
+-
+- public List<string> StatisticsFileNames = new List<string>();
+-
+- [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<string> CustomInstrumentations = new List<string>();
+-
+- [Option("Custom instrumentation type", "instrumentation", MaxOccurs = -1)]
+- public WhatToDoNext CustomInstrumentation(string instrumentation)
+- {
+- CustomInstrumentations.Add(instrumentation);
+- return WhatToDoNext.GoAhead;
+- }
+-
+- public readonly List<TypeFilterFactory> Filters = new List<TypeFilterFactory>();
+-
+- [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<ITypeFilter>(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];
++ public static bool Fake { get; private set; }
++ public static bool CheckDatabase { get; private set; }
++ public static bool ShowFileUsageStats { get; private set; }
++ public static bool InstallPerformanceCounters { get; private set; }
++ public static bool HelpShown { get; private set; }
++ public static string Target { get; private set; }
++ public static bool IsValid { get; private set; }
++ static bool databaseTarget;
++ static bool enhancementTarget;
++
++ public static List<string> StatisticsFileNames = new List<string>();
++ public static List<string> CustomInstrumentations = new List<string>();
++ public static readonly List<TypeFilterFactory> Filters = new List<TypeFilterFactory>();
++
++ static OptionSet Options { get; set; }
++
++ static ProgramOptions ()
++ {
++ Options = new OptionSet () {
++ { "target=", "Target database [required]", (string val) => Target = val },
++ { "debug", "Preserve debugging information", val => Debug = true },
++ { "tp|ta", "Implement Transparent Persistence Support", val => TransparentPersistence = true },
++ { "collections", "Instrument native collections for transparent activation/persistence", val => Collections = true },
++ { "case-sensitive", "Case sensitive queries", val => CaseSensitive = true },
++ { "v|verbose", "Verbose operation mode", val => Verbose = true },
++ { "vv", "Pretty verbose operation mode", val => _prettyVerbose = true },
++ { "nq", "Optimize all native queries", val => NQ = true },
++ { "fake", "Fake operation mode, assembly won't be written", val => Fake = true },
++ { "check", "Run consistency checks on target database", val => CheckDatabase = true },
++ { "fileusage", "Displays file usage statistics for target database", val => ShowFileUsageStats = true },
++ { "install-performance-counters", "Installs the db4o performance counter category", val => InstallPerformanceCounters = true },
++ { "statistics=", "Print statistics for database file PARAM", val => StatisticsFileNames.Add(val) },
++ { "instrumentation=", "Custom instrumentation type", val => CustomInstrumentations.Add(val) },
++ { "by-attribute=", "Filter types to be instrumented by attribute", val => Filters.Add(delegate { return new ByAttributeFilter(val); }) },
++ { "by-filter=", "Custom type filter", val => Filters.Add(delegate { return Factory.Instantiate<ITypeFilter>(val); }) },
++ { "by-name=", "Filter types by name (with regular expression syntax)", val => Filters.Add(delegate { return new ByNameFilter(val); }) },
++ { "not", "Negates the last filter", val => {
++ 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()); };
++ }
++ },
++ { "h|?|help", "Show this help list", help => DoHelp () },
++ };
++ }
++
++ public static void ProcessArgs (string[] args)
++ {
++ try {
++ Options.Parse (args);
++ } catch (OptionException ex) {
++ DoHelp ();
+ }
+-
+- 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));
++ if (Target == null) {
++ IsValid = false;
++ } else {
++ databaseTarget = CheckDatabase || ShowFileUsageStats;
++ enhancementTarget = NQ || TransparentPersistence || CustomInstrumentations.Count > 0;
++ if (databaseTarget && enhancementTarget) {
++ IsValid = false;
++ } else {
++ IsValid = StatisticsFileNames.Count > 0 || InstallPerformanceCounters || (Target != null && (databaseTarget || enhancementTarget));
++ }
+ }
+ }
+
+- public ProgramOptions()
++ public static void DoHelp ()
+ {
+- DontSplitOnCommas = true;
++ Console.WriteLine ("usage: db4otool [options]");
++ Console.WriteLine ();
++ Options.WriteOptionDescriptions (Console.Out);
++ HelpShown = true;
+ }
+ }
+-}
+\ No newline at end of file
++}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs.noGetOptions 2011-05-13 14:24:13.669625876 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs 2011-05-13 14:24:13.674625811 -0400
+@@ -30,14 +30,6 @@ using System.Security;
+
+ [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("<target>")]
+-
+ [assembly: AllowPartiallyTrustedCallers]
+
+ #if NET_4_0
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs.noGetOptions 2011-01-28 22:15:10.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs 2011-05-13 14:24:13.675625798 -0400
+@@ -24,7 +24,6 @@ namespace Db4oTool.Tests
+ {
+ return new Type[]
+ {
+- typeof(ProgramOptionsTestCase),
+ typeof(Core.AllTests),
+ typeof(NQ.AllTests),
+ typeof(TA.AllTests),
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs.noGetOptions 2011-01-28 22:15:10.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs 2011-05-13 14:24:13.675625798 -0400
+@@ -31,10 +31,8 @@ namespace Db4oTool.Tests.Core
+ typeof(ContextVariableTestCase),
+ typeof(DebugInformationTestSuite),
+ typeof(ILPatternTestCase),
+- typeof(InstallPerformanceCountersTestCase),
+ typeof(CustomInstrumentationTestCase),
+ typeof(PreserveDebugInfoTestCase),
+- typeof(InstrumentingCFAssemblyTestCase),
+ typeof(StackAnalyzerTestCase),
+ };
+ }
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs.noGetOptions 2011-01-28 22:15:14.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs 2011-05-13 14:24:13.675625798 -0400
+@@ -1,65 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using System;
+-using System.Diagnostics;
+-using System.Security.Principal;
+-using System.Threading;
+-using Db4objects.Db4o.Monitoring;
+-using Db4oUnit;
+-
+-namespace Db4oTool.Tests.Core
+-{
+- class InstallPerformanceCountersTestCase : ITestCase
+- {
+- public void Test()
+- {
+- if (!IsCurrentUserAnAdministrator() && IsLenientPerformanceCounterInstallTest())
+- {
+- Console.Error.WriteLine("WARNING: {0} requires administrator access rights to run.", GetType());
+- return;
+- }
+-
+- if (Db4oCategoryExists())
+- {
+- PerformanceCounterCategory.Delete(Db4oPerformanceCounters.CategoryName);
+- }
+-
+- ProgramOptions options = new ProgramOptions();
+- options.InstallPerformanceCounters = true;
+-
+- Db4oTool.Program.Run(options);
+-
+- Assert.IsTrue(Db4oCategoryExists());
+- }
+-
+- private static bool IsLenientPerformanceCounterInstallTest()
+- {
+- return !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("LENIENT_PERFCOUNTER_INSTALL_TEST"));
+- }
+-
+- private static bool Db4oCategoryExists()
+- {
+- return PerformanceCounterCategory.Exists(Db4oPerformanceCounters.CategoryName);
+- }
+-
+- private static bool IsCurrentUserAnAdministrator()
+- {
+- AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
+- WindowsPrincipal principal = (WindowsPrincipal)Thread.CurrentPrincipal;
+- return principal.IsInRole(WindowsBuiltInRole.Administrator);
+- }
+- }
+-}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs.noGetOptions 2011-01-28 22:15:14.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs 2011-05-13 14:24:13.676625786 -0400
+@@ -1,124 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using System;
+-using System.Collections.Generic;
+-using System.IO;
+-using System.Reflection;
+-using Db4objects.Db4o.TA;
+-using Db4oTool.Core;
+-using Db4oUnit;
+-using Mono.Cecil;
+-
+-namespace Db4oTool.Tests.Core
+-{
+- public class InstrumentingCFAssemblyTestCase : ITestCase
+- {
+- private const string CF20_VERSION = "2.0.0.0";
+- private const string CF35_VERSION = "3.5.0.0";
+-
+- public void TestCF20Instrumentation()
+- {
+- AssertCFInstrumentation(CF20_VERSION);
+- }
+-
+- public void TestCF35Instrumentation()
+- {
+- AssertCFInstrumentation(CF35_VERSION);
+- }
+-
+- private void AssertCFInstrumentation(string version)
+- {
+- string assemblyPath = CompileAndInstrumentCFAssembly(version);
+- AssertInstrumentedCFAssembly(assemblyPath);
+- }
+-
+- private static void AssertInstrumentedCFAssembly(string assemblyPath)
+- {
+- AppDomain appDomain = AppDomain.CreateDomain("CF_InstrumentationTest");
+-
+- try
+- {
+- appDomain.DoCallBack(new InstrumentationAsserter(assemblyPath).Run);
+- }
+- finally
+- {
+- AppDomain.Unload(appDomain);
+- }
+-
+- }
+-
+- private string CompileAndInstrumentCFAssembly(string version)
+- {
+- string assemblyPath = String.Empty;
+- CompilationServices.ExtraParameters.Using(
+- "/nostdlib+",
+-
+- delegate
+- {
+- assemblyPath =
+- CompilationServices.EmitAssemblyFromResource(
+- ResourceServices.CompleteResourceName(GetType(), "CFInstrumentationSubject"),
+- ReferencesFor(version));
+-
+- Db4oTool.Program.Run(ProgramOptionsFor(assemblyPath));
+- });
+-
+- return assemblyPath;
+- }
+-
+- private static IEnumerable<string> CFVersions()
+- {
+- yield return CF20_VERSION;
+- yield return CF35_VERSION;
+- }
+-
+- private static ProgramOptions ProgramOptionsFor(string assemblyPath)
+- {
+- ProgramOptions po = new ProgramOptions();
+- po.ProcessArgs(new string[] {"-ta", assemblyPath,});
+-
+- return po;
+- }
+-
+- private Assembly[] ReferencesFor(string version)
+- {
+- string cfAssembliesFolder = CompactFrameworkServices.FolderFor(version);
+-
+- return new Assembly[]
+- {
+- Assembly.LoadFile(Path.Combine(cfAssembliesFolder, "mscorlib.dll")),
+- Assembly.LoadFile(Path.Combine(cfAssembliesFolder, "System.dll")),
+- };
+- }
+- }
+-
+- [Serializable]
+- internal class InstrumentationAsserter
+- {
+- private readonly string _assemblyPath;
+-
+- public InstrumentationAsserter(string assemblyPath)
+- {
+- _assemblyPath = assemblyPath;
+- }
+-
+- public void Run()
+- {
+- Assembly assembly = Assembly.LoadFrom(_assemblyPath);
+- Assert.IsTrue(typeof(IActivatable).IsAssignableFrom(assembly.GetType("Db4oTool.Tests.Core.Resources.CFInstrumentationSubject")));
+- }
+- }
+-}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs.noGetOptions 2011-01-28 22:15:14.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs 2011-05-13 14:24:13.676625786 -0400
+@@ -1,60 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using Db4oUnit;
+-
+-namespace Db4oTool.Tests
+-{
+- class ProgramOptionsTestCase : ITestCase
+- {
+- public void TestTpSameAsTA()
+- {
+- AssertTransparentPersistence("-tp");
+- AssertTransparentPersistence("-ta");
+- }
+-
+- public void TestInstallPerformanceCounters()
+- {
+- ProgramOptions options = new ProgramOptions();
+- Assert.IsFalse(options.InstallPerformanceCounters);
+- options.ProcessArgs(new string[] { "--install-performance-counters"});
+- Assert.IsTrue(options.InstallPerformanceCounters);
+- }
+-
+- public void TestInvalidOptionsCombination()
+- {
+- AssertInvalidOptionsCombination("-nq -fileusage mytarget");
+- AssertInvalidOptionsCombination("-nq -check mytarget");
+- AssertInvalidOptionsCombination("-ta -fileusage mytarget");
+- AssertInvalidOptionsCombination("-ta -check mytarget");
+- AssertInvalidOptionsCombination("-tp -fileusage mytarget");
+- }
+-
+- private void AssertInvalidOptionsCombination(string arguments)
+- {
+- ProgramOptions options = new ProgramOptions();
+- options.ProcessArgs(arguments.Split(' '));
+- Assert.IsFalse(options.IsValid);
+- }
+-
+- private static void AssertTransparentPersistence(string arg)
+- {
+- ProgramOptions options = new ProgramOptions();
+- Assert.IsFalse(options.TransparentPersistence);
+- options.ProcessArgs(new string[] { arg });
+- Assert.IsTrue(options.TransparentPersistence);
+- }
+- }
+-}
+diff -up db4o-8.0/src/Makefile.noGetOptions db4o-8.0/src/Makefile
+--- db4o-8.0/src/Makefile.noGetOptions 2011-05-13 14:25:54.563345710 -0400
++++ db4o-8.0/src/Makefile 2011-05-13 14:26:16.330069335 -0400
+@@ -28,7 +28,7 @@ build: core cs optional nq linq tool tes
+
+ postbuild:
+
+-tests: unit_ext tool_tests linq_instr_tests
++tests: unit_ext tool_tests
+ cd $(TESTS) ; $(MAKE)
+
+ linq_tests:
diff --git a/db4o-8.0-noGetOptions2.patch b/db4o-8.0-noGetOptions2.patch
new file mode 100644
index 0000000..9cb6644
--- /dev/null
+++ b/db4o-8.0-noGetOptions2.patch
@@ -0,0 +1,823 @@
+diff -up db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs.noGetOptions db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs
+--- db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs.noGetOptions 2011-01-28 22:15:20.000000000 -0500
++++ db4o-8.0/src/Db4objects.Db4o.Linq.Instrumentation.Tests/Program.cs 2011-05-16 11:29:38.548673452 -0400
+@@ -1,81 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using System;
+-using System.IO;
+-using System.Reflection;
+-
+-using Db4oTool;
+-using Db4oTool.Core;
+-using Db4oTool.Tests.Core;
+-
+-namespace Db4objects.Db4o.Linq.Instrumentation.Tests
+-{
+- // TODO: integrate into the build
+- class Program
+- {
+- const string TestAssemblyFileName = "Db4objects.Db4o.Linq.Tests.exe";
+-
+- static void Main(string[] args)
+- {
+- var path = ExecutingAssemblyPath();
+- CopyToTemp(Path.Combine(path, TestAssemblyFileName));
+- CopyAllToTemp(Directory.GetFiles(path, "*.dll"));
+-
+- var testAssemblyFile = Path.Combine(GetTempPath(), TestAssemblyFileName);
+- InstrumentAssembly(testAssemblyFile);
+-
+- var domain = AppDomain.CreateDomain("LinqTests", null, new AppDomainSetup { ApplicationBase = GetTempPath() });
+- domain.ExecuteAssembly(testAssemblyFile);
+- }
+-
+- private static string GetTempPath()
+- {
+- return ShellUtilities.GetTempPath();
+- }
+-
+- private static void InstrumentAssembly(string testAssemblyFile)
+- {
+- var options = new ProgramOptions()
+- {
+- Target = testAssemblyFile,
+- TransparentPersistence = true,
+- };
+-
+- const string attribute_type = "Db4objects.Db4o.Linq.Tests.CodeAnalysis.DoNotInstrumentAttribute";
+-
+- options.Filters.Add(delegate { return new NotFilter(new ByAttributeFilter(attribute_type)); });
+- Db4oTool.Program.Run(options);
+- }
+-
+- private static void CopyAllToTemp(string[] files)
+- {
+- foreach (var fname in files)
+- {
+- CopyToTemp(fname);
+- }
+- }
+-
+- private static void CopyToTemp(string fname)
+- {
+- ShellUtilities.CopyToTemp(fname);
+- }
+-
+- private static string ExecutingAssemblyPath()
+- {
+- return Path.GetDirectoryName(Assembly.GetExecutingAssembly().ManifestModule.FullyQualifiedName);
+- }
+- }
+-}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Makefile.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/Makefile
+--- db4o-8.0/src/Db4oTool/Db4oTool/Makefile.noGetOptions 2011-05-16 11:29:38.534673620 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/Makefile 2011-05-16 11:29:38.549673440 -0400
+@@ -3,6 +3,8 @@ include ../../include.mk
+
+ OUTDIR = ../../bin
+
++KEY_FILE = ../../db4objects.snk
++
+ TARGET = exe
+ ASSEMBLY = $(TOOL)
+-REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS) -r:$(GETOPTIONS)
++REFERENCES = -r:$(OUTDIR)/$(CORE) -r:$(OUTDIR)/$(OPTIONAL) -r:$(OUTDIR)/$(INSTR) -r:$(OUTDIR)/$(NQ) -r:$(CECIL) -r:$(FLOWANALYSIS)
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Program.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/Program.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool/Program.cs.noGetOptions 2011-05-16 11:29:38.542673524 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/Program.cs 2011-05-16 11:29:38.549673440 -0400
+@@ -31,85 +31,77 @@ namespace Db4oTool
+ {
+ Trace.Listeners.Add(new TextWriterTraceListener(Console.Error));
+
+- ProgramOptions options = new ProgramOptions();
+- try
+- {
+- options.ProcessArgs(args);
+- if (!options.IsValid)
+- {
+- options.DoHelp();
+- return -1;
+- }
+-
+- Run(options);
+- }
+- catch (Exception x)
+- {
+- ReportError(options, x);
+- return -2;
+- }
++ Run(args);
+ return 0;
+ }
+
+- public static void Run(ProgramOptions options)
++ public static void Run(string[] args)
+ {
+- foreach (string fileName in options.StatisticsFileNames)
+- {
+- new Statistics().Run(fileName);
+- }
++ ProgramOptions.ProcessArgs(args);
++ foreach (string fileName in ProgramOptions.StatisticsFileNames)
++ {
++ new Statistics().Run(fileName);
++ }
+
+- if (options.InstallPerformanceCounters)
++ if (ProgramOptions.InstallPerformanceCounters)
+ {
+ Db4oPerformanceCounters.ReInstall();
+ }
+
+- if (options.CheckDatabase)
+- {
+- Console.Write("\r\nChecking '{0}' : ", options.Target);
+- ConsistencyChecker.Main(new string[] { options.Target});
+- }
+-
+- if (options.ShowFileUsageStats)
+- {
+- FileUsageStatsCollector.Main(new string[] { options.Target, "true" });
+- }
+-
+- if (NoInstrumentationStep(options))
+- {
+- return;
+- }
++ if (ProgramOptions.CheckDatabase)
++ {
++ Console.Write("\r\nChecking '{0}' : ", ProgramOptions.Target);
++ ConsistencyChecker.Main(new string[] { ProgramOptions.Target});
++ }
++
++ if (ProgramOptions.ShowFileUsageStats)
++ {
++ FileUsageStatsCollector.Main(new string[] { ProgramOptions.Target, "true" });
++ }
++
++ if (!ProgramOptions.NQ && !ProgramOptions.TransparentPersistence && ProgramOptions.CustomInstrumentations.Count == 0)
++ {
++ return;
++ }
+
+ using (new CurrentDirectoryAssemblyResolver())
+ {
+- RunPipeline(options);
++ RunPipeline();
+ }
+ }
+
+- private static bool NoInstrumentationStep(ProgramOptions options)
+- {
+- return !options.NQ && !options.TransparentPersistence && options.CustomInstrumentations.Count == 0;
+- }
+-
+- private static void RunPipeline(ProgramOptions options)
++ private static void RunPipeline()
+ {
+- InstrumentationPipeline pipeline = new InstrumentationPipeline(GetConfiguration(options));
+- if (options.NQ)
++ Configuration configuration = new Configuration(ProgramOptions.Target);
++ configuration.CaseSensitive = ProgramOptions.CaseSensitive;
++ configuration.PreserveDebugInfo = ProgramOptions.Debug;
++ if (ProgramOptions.Verbose)
++ {
++ configuration.TraceSwitch.Level = ProgramOptions.PrettyVerbose ? TraceLevel.Verbose : TraceLevel.Info;
++ }
++ foreach (TypeFilterFactory factory in ProgramOptions.Filters)
++ {
++ configuration.AddFilter(factory());
++ }
++
++ InstrumentationPipeline pipeline = new InstrumentationPipeline(configuration);
++ if (ProgramOptions.NQ)
+ {
+ pipeline.Add(new DelegateOptimizer());
+ pipeline.Add(new PredicateOptimizer());
+ }
+
+- if (options.TransparentPersistence)
++ if (ProgramOptions.TransparentPersistence)
+ {
+- pipeline.Add(new TAInstrumentation(options.Collections));
++ pipeline.Add(new TAInstrumentation(ProgramOptions.Collections));
+ }
+
+- foreach (IAssemblyInstrumentation instr in Factory.Instantiate<IAssemblyInstrumentation>(options.CustomInstrumentations))
++ foreach (IAssemblyInstrumentation instr in Factory.Instantiate<IAssemblyInstrumentation>(ProgramOptions.CustomInstrumentations))
+ {
+ pipeline.Add(instr);
+ }
+
+- if (!options.Fake)
++ if (!ProgramOptions.Fake)
+ {
+ pipeline.Add(new SaveAssemblyInstrumentation());
+ if (pipeline.Context.IsAssemblySigned())
+@@ -119,33 +111,5 @@ namespace Db4oTool
+ }
+ pipeline.Run();
+ }
+-
+- private static void ReportError(ProgramOptions options, Exception x)
+- {
+- if (options.Verbose)
+- {
+- Console.WriteLine(x);
+- }
+- else
+- {
+- Console.WriteLine(x.Message);
+- }
+- }
+-
+- private static Configuration GetConfiguration(ProgramOptions options)
+- {
+- Configuration configuration = new Configuration(options.Target);
+- configuration.CaseSensitive = options.CaseSensitive;
+- configuration.PreserveDebugInfo = options.Debug;
+- if (options.Verbose)
+- {
+- configuration.TraceSwitch.Level = options.PrettyVerbose ? TraceLevel.Verbose : TraceLevel.Info;
+- }
+- foreach (TypeFilterFactory factory in options.Filters)
+- {
+- configuration.AddFilter(factory());
+- }
+- return configuration;
+- }
+ }
+-}
+\ No newline at end of file
++}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs.noGetOptions 2011-05-16 11:29:38.544673500 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/ProgramOptions.cs 2011-05-16 11:32:55.602317651 -0400
+@@ -16,149 +16,107 @@ with this program. If not, see http://w
+ using System;
+ using System.Collections.Generic;
+ using Db4oTool.Core;
+-using Mono.GetOptions;
++using Mono.Options;
+
+ namespace Db4oTool
+ {
+ public delegate ITypeFilter TypeFilterFactory();
+
+- public class ProgramOptions : Options
++ public class ProgramOptions
+ {
+- 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
+- {
++ private static bool _prettyVerbose;
++ public static bool Debug { get; private set; }
++ public static bool TransparentPersistence { get; private set; }
++ public static bool Collections { get; private set; }
++ public static bool CaseSensitive { get; private set; }
++ public static bool Verbose { get; private set; }
++ public static bool NQ { get; private set; }
++ public static bool PrettyVerbose {
+ get { return _prettyVerbose; }
+-
+ set { Verbose = _prettyVerbose = value; }
+ }
+-
+- [Option("Fake operation mode, assembly won't be written", "fake")]
+- public bool Fake;
+-
+- public List<string> StatisticsFileNames = new List<string>();
+-
+- [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<string> CustomInstrumentations = new List<string>();
+-
+- [Option("Custom instrumentation type", "instrumentation", MaxOccurs = -1)]
+- public WhatToDoNext CustomInstrumentation(string instrumentation)
+- {
+- CustomInstrumentations.Add(instrumentation);
+- return WhatToDoNext.GoAhead;
+- }
+-
+- public readonly List<TypeFilterFactory> Filters = new List<TypeFilterFactory>();
+-
+- [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<ITypeFilter>(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];
++ public static bool Fake { get; private set; }
++ public static bool CheckDatabase { get; private set; }
++ public static bool ShowFileUsageStats { get; private set; }
++ public static bool InstallPerformanceCounters { get; private set; }
++ public static bool HelpShown { get; private set; }
++ public static string Target { get; private set; }
++ public static bool IsValid { get; private set; }
++ static bool databaseTarget;
++ static bool enhancementTarget;
++
++ public static List<string> StatisticsFileNames = new List<string>();
++ public static List<string> CustomInstrumentations = new List<string>();
++ public static readonly List<TypeFilterFactory> Filters = new List<TypeFilterFactory>();
++
++ static OptionSet Options { get; set; }
++
++ static ProgramOptions ()
++ {
++ Options = new OptionSet () {
++ { "by-attribute=", "Filter types to be instrumented by attribute", val => Filters.Add(delegate { return new ByAttributeFilter(val); }) },
++ { "by-filter=", "Custom type filter", val => Filters.Add(delegate { return Factory.Instantiate<ITypeFilter>(val); }) },
++ { "by-name=", "Filter types by name (with regular expression syntax)", val => Filters.Add(delegate { return new ByNameFilter(val); }) },
++ { "case-sensitive", "Case sensitive queries", val => CaseSensitive = true },
++ { "check", "Run consistency checks on target database", val => CheckDatabase = true },
++ { "collections", "Instrument native collections for transparent activation/persistence", val => Collections = true },
++ { "debug", "Preserve debugging information", val => Debug = true },
++ { "fake", "Fake operation mode, assembly won't be written", val => Fake = true },
++ { "fileusage", "Displays file usage statistics for target database", val => ShowFileUsageStats = true },
++ { "h|?|help", "Show this help list", help => DoHelp () },
++ { "install-performance-counters", "Installs the db4o performance counter category", val => InstallPerformanceCounters = true },
++ { "instrumentation=", "Custom instrumentation type", val => CustomInstrumentations.Add(val) },
++ { "not", "Negates the last filter", val => {
++ 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()); };
++ }
++ },
++ { "nq", "Optimize all native queries", val => NQ = true },
++ { "statistics=", "Print statistics for database file PARAM", val => StatisticsFileNames.Add(val) },
++ { "tp|ta", "Implement Transparent Persistence Support", val => TransparentPersistence = true },
++ { "v|verbose", "Verbose operation mode", val => Verbose = true },
++ { "vv", "Pretty verbose operation mode", val => _prettyVerbose = true },
++ };
++ }
++
++ public static void ProcessArgs (string[] args)
++ {
++ List<string> extra;
++ try {
++ extra = Options.Parse (args);
++ }
++ catch (OptionException ex) {
++ DoHelp ();
++ return;
+ }
+-
+- set
+- {
+- RemainingArguments = new string[] { value };
++ if (extra.Count > 0) {
++ Target = string.Join (" ", extra.ToArray ());
++ } else {
++ IsValid = false;
++ DoHelp ();
++ return;
+ }
+- }
+-
+- 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));
++ if (Target == null) {
++ IsValid = false;
++ } else {
++ databaseTarget = CheckDatabase || ShowFileUsageStats;
++ enhancementTarget = NQ || TransparentPersistence || CustomInstrumentations.Count > 0;
++ if (databaseTarget && enhancementTarget) {
++ IsValid = false;
++ } else {
++ IsValid = StatisticsFileNames.Count > 0 || InstallPerformanceCounters || (Target != null && (databaseTarget || enhancementTarget));
++ }
+ }
+ }
+
+- public ProgramOptions()
++ public static void DoHelp ()
+ {
+- DontSplitOnCommas = true;
++ Console.WriteLine ("Usage: Db4oTool [options] <target>");
++ Console.WriteLine ("Options:");
++ Options.WriteOptionDescriptions (Console.Out);
++ HelpShown = true;
+ }
+ }
+-}
+\ No newline at end of file
++}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs.noGetOptions 2011-05-16 11:29:38.546673476 -0400
++++ db4o-8.0/src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs 2011-05-16 11:29:38.550673428 -0400
+@@ -30,14 +30,6 @@ using System.Security;
+
+ [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("<target>")]
+-
+ [assembly: AllowPartiallyTrustedCallers]
+
+ #if NET_4_0
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs.noGetOptions 2011-01-28 22:15:10.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/AllTests.cs 2011-05-16 11:29:38.551673416 -0400
+@@ -24,7 +24,6 @@ namespace Db4oTool.Tests
+ {
+ return new Type[]
+ {
+- typeof(ProgramOptionsTestCase),
+ typeof(Core.AllTests),
+ typeof(NQ.AllTests),
+ typeof(TA.AllTests),
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs.noGetOptions 2011-01-28 22:15:10.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/AllTests.cs 2011-05-16 11:29:38.551673416 -0400
+@@ -31,10 +31,8 @@ namespace Db4oTool.Tests.Core
+ typeof(ContextVariableTestCase),
+ typeof(DebugInformationTestSuite),
+ typeof(ILPatternTestCase),
+- typeof(InstallPerformanceCountersTestCase),
+ typeof(CustomInstrumentationTestCase),
+ typeof(PreserveDebugInfoTestCase),
+- typeof(InstrumentingCFAssemblyTestCase),
+ typeof(StackAnalyzerTestCase),
+ };
+ }
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs.noGetOptions 2011-01-28 22:15:14.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstallPerformanceCountersTestCase.cs 2011-05-16 11:29:38.551673416 -0400
+@@ -1,65 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using System;
+-using System.Diagnostics;
+-using System.Security.Principal;
+-using System.Threading;
+-using Db4objects.Db4o.Monitoring;
+-using Db4oUnit;
+-
+-namespace Db4oTool.Tests.Core
+-{
+- class InstallPerformanceCountersTestCase : ITestCase
+- {
+- public void Test()
+- {
+- if (!IsCurrentUserAnAdministrator() && IsLenientPerformanceCounterInstallTest())
+- {
+- Console.Error.WriteLine("WARNING: {0} requires administrator access rights to run.", GetType());
+- return;
+- }
+-
+- if (Db4oCategoryExists())
+- {
+- PerformanceCounterCategory.Delete(Db4oPerformanceCounters.CategoryName);
+- }
+-
+- ProgramOptions options = new ProgramOptions();
+- options.InstallPerformanceCounters = true;
+-
+- Db4oTool.Program.Run(options);
+-
+- Assert.IsTrue(Db4oCategoryExists());
+- }
+-
+- private static bool IsLenientPerformanceCounterInstallTest()
+- {
+- return !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("LENIENT_PERFCOUNTER_INSTALL_TEST"));
+- }
+-
+- private static bool Db4oCategoryExists()
+- {
+- return PerformanceCounterCategory.Exists(Db4oPerformanceCounters.CategoryName);
+- }
+-
+- private static bool IsCurrentUserAnAdministrator()
+- {
+- AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
+- WindowsPrincipal principal = (WindowsPrincipal)Thread.CurrentPrincipal;
+- return principal.IsInRole(WindowsBuiltInRole.Administrator);
+- }
+- }
+-}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs.noGetOptions 2011-01-28 22:15:14.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/Core/InstrumentingCFAssemblyTestCase.cs 2011-05-16 11:29:38.552673404 -0400
+@@ -1,124 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using System;
+-using System.Collections.Generic;
+-using System.IO;
+-using System.Reflection;
+-using Db4objects.Db4o.TA;
+-using Db4oTool.Core;
+-using Db4oUnit;
+-using Mono.Cecil;
+-
+-namespace Db4oTool.Tests.Core
+-{
+- public class InstrumentingCFAssemblyTestCase : ITestCase
+- {
+- private const string CF20_VERSION = "2.0.0.0";
+- private const string CF35_VERSION = "3.5.0.0";
+-
+- public void TestCF20Instrumentation()
+- {
+- AssertCFInstrumentation(CF20_VERSION);
+- }
+-
+- public void TestCF35Instrumentation()
+- {
+- AssertCFInstrumentation(CF35_VERSION);
+- }
+-
+- private void AssertCFInstrumentation(string version)
+- {
+- string assemblyPath = CompileAndInstrumentCFAssembly(version);
+- AssertInstrumentedCFAssembly(assemblyPath);
+- }
+-
+- private static void AssertInstrumentedCFAssembly(string assemblyPath)
+- {
+- AppDomain appDomain = AppDomain.CreateDomain("CF_InstrumentationTest");
+-
+- try
+- {
+- appDomain.DoCallBack(new InstrumentationAsserter(assemblyPath).Run);
+- }
+- finally
+- {
+- AppDomain.Unload(appDomain);
+- }
+-
+- }
+-
+- private string CompileAndInstrumentCFAssembly(string version)
+- {
+- string assemblyPath = String.Empty;
+- CompilationServices.ExtraParameters.Using(
+- "/nostdlib+",
+-
+- delegate
+- {
+- assemblyPath =
+- CompilationServices.EmitAssemblyFromResource(
+- ResourceServices.CompleteResourceName(GetType(), "CFInstrumentationSubject"),
+- ReferencesFor(version));
+-
+- Db4oTool.Program.Run(ProgramOptionsFor(assemblyPath));
+- });
+-
+- return assemblyPath;
+- }
+-
+- private static IEnumerable<string> CFVersions()
+- {
+- yield return CF20_VERSION;
+- yield return CF35_VERSION;
+- }
+-
+- private static ProgramOptions ProgramOptionsFor(string assemblyPath)
+- {
+- ProgramOptions po = new ProgramOptions();
+- po.ProcessArgs(new string[] {"-ta", assemblyPath,});
+-
+- return po;
+- }
+-
+- private Assembly[] ReferencesFor(string version)
+- {
+- string cfAssembliesFolder = CompactFrameworkServices.FolderFor(version);
+-
+- return new Assembly[]
+- {
+- Assembly.LoadFile(Path.Combine(cfAssembliesFolder, "mscorlib.dll")),
+- Assembly.LoadFile(Path.Combine(cfAssembliesFolder, "System.dll")),
+- };
+- }
+- }
+-
+- [Serializable]
+- internal class InstrumentationAsserter
+- {
+- private readonly string _assemblyPath;
+-
+- public InstrumentationAsserter(string assemblyPath)
+- {
+- _assemblyPath = assemblyPath;
+- }
+-
+- public void Run()
+- {
+- Assembly assembly = Assembly.LoadFrom(_assemblyPath);
+- Assert.IsTrue(typeof(IActivatable).IsAssignableFrom(assembly.GetType("Db4oTool.Tests.Core.Resources.CFInstrumentationSubject")));
+- }
+- }
+-}
+diff -up db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs.noGetOptions db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs
+--- db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs.noGetOptions 2011-01-28 22:15:14.000000000 -0500
++++ db4o-8.0/src/Db4oTool/Db4oTool.Tests/ProgramOptionsTestCase.cs 2011-05-16 11:29:38.552673404 -0400
+@@ -1,60 +0,0 @@
+-/* This file is part of the db4o object database http://www.db4o.com
+-
+-Copyright (C) 2004 - 2010 Versant Corporation http://www.versant.com
+-
+-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/. */
+-using Db4oUnit;
+-
+-namespace Db4oTool.Tests
+-{
+- class ProgramOptionsTestCase : ITestCase
+- {
+- public void TestTpSameAsTA()
+- {
+- AssertTransparentPersistence("-tp");
+- AssertTransparentPersistence("-ta");
+- }
+-
+- public void TestInstallPerformanceCounters()
+- {
+- ProgramOptions options = new ProgramOptions();
+- Assert.IsFalse(options.InstallPerformanceCounters);
+- options.ProcessArgs(new string[] { "--install-performance-counters"});
+- Assert.IsTrue(options.InstallPerformanceCounters);
+- }
+-
+- public void TestInvalidOptionsCombination()
+- {
+- AssertInvalidOptionsCombination("-nq -fileusage mytarget");
+- AssertInvalidOptionsCombination("-nq -check mytarget");
+- AssertInvalidOptionsCombination("-ta -fileusage mytarget");
+- AssertInvalidOptionsCombination("-ta -check mytarget");
+- AssertInvalidOptionsCombination("-tp -fileusage mytarget");
+- }
+-
+- private void AssertInvalidOptionsCombination(string arguments)
+- {
+- ProgramOptions options = new ProgramOptions();
+- options.ProcessArgs(arguments.Split(' '));
+- Assert.IsFalse(options.IsValid);
+- }
+-
+- private static void AssertTransparentPersistence(string arg)
+- {
+- ProgramOptions options = new ProgramOptions();
+- Assert.IsFalse(options.TransparentPersistence);
+- options.ProcessArgs(new string[] { arg });
+- Assert.IsTrue(options.TransparentPersistence);
+- }
+- }
+-}
+diff -up db4o-8.0/src/Makefile.noGetOptions db4o-8.0/src/Makefile
+--- db4o-8.0/src/Makefile.noGetOptions 2011-05-16 11:29:38.534673620 -0400
++++ db4o-8.0/src/Makefile 2011-05-16 11:29:38.603672795 -0400
+@@ -28,7 +28,7 @@ build: core cs optional nq linq tool tes
+
+ postbuild:
+
+-tests: unit_ext tool_tests linq_instr_tests
++tests: unit_ext tool_tests
+ cd $(TESTS) ; $(MAKE)
+
+ linq_tests:
diff --git a/db4o.spec b/db4o.spec
index e757f61..ca034a7 100644
--- a/db4o.spec
+++ b/db4o.spec
@@ -4,15 +4,21 @@
Summary: A native OODBMS for Java/.NET/Mono - Mono version
Name: db4o
-Version: 7.4
-Release: 4%{?dist}
+Version: 8.0
+Release: 1%{?dist}
License: GPLv2
-Patch0: db4o-74-make.patch
+Patch0: db4o-8.0-make.patch
+Patch1: db4o-8.0-mono-reflection.patch
+Patch2: db4o-8.0-CecilFix.patch
+Patch3: db4o-8.0-noGetOptions2.patch
+Patch4: db4o-8.0-extensions-make-fix.patch
+Patch5: db4o-8.0-more-makefile-fixes.patch
+Patch6: db4o-8.0-db4otool-testfix.patch
Group: Development/Libraries
-Source: %{name}-%{version}-net2.zip
+Source: http://www.db4o.com/downloads/%{name}-%{version}-net35.zip
URL: http://www.db4o.com/
-Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: mono-devel, mono-cecil-flowanalysis-devel
+BuildRequires: mono-reflection-devel
ExclusiveArch: %ix86 x86_64 ia64 %{arm} sparc alpha s390 s390x
@@ -40,6 +46,16 @@ Development files for db4o
%prep
%setup -q
%patch0 -p1 -b .makepatch
+%patch1 -p1 -b .mono-reflection
+%patch2 -p1 -b .CecilFix
+dos2unix src/Db4oTool/Db4oTool/Program.cs
+dos2unix src/Db4oTool/Db4oTool/ProgramOptions.cs
+dos2unix src/Db4oTool/Db4oTool/Properties/AssemblyInfo.cs
+%patch3 -p1 -b .noGetOptions
+%patch4 -p1 -b .extensions-make-fix
+%patch5 -p1 -b .makefix
+%patch6 -p1 -b .TestFix
+cp %{_libdir}/mono-source-libs/Options.cs src/Db4oTool/Db4oTool/
#sed -i 's/\r//' doc/tutorial/vb/index.html
#sed -i 's/\r//' doc/tutorial/index.html
sed 's!/usr/lib!%{_libdir}!' -i src/Makefile
@@ -47,23 +63,24 @@ rm -rf src/Libs/*
sed -i 's|Mono.Cecil.dll|%{_libdir}/mono/gac/Mono.Cecil/%{cecilver}__%{ceciltoken}/Mono.Cecil.dll|' src/include.mk
sed -i 's|Cecil.FlowAnalysis.dll|%{_libdir}/mono/Cecil.FlowAnalysis/Cecil.FlowAnalysis.dll|' src/include.mk
sed -i 's|Mono.GetOptions.dll|%{_libdir}/mono/2.0/Mono.GetOptions.dll|' src/include.mk
+sed -i 's|Mono.Reflection.dll|%{_libdir}/mono/Mono.Reflection/Mono.Reflection.dll|' src/include.mk
%build
rm -rf %{buildroot}
cd src
-make
+make core cs optional nq linq tool
%install
-rm -rf %{buildroot}
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mkdir -p %{buildroot}/%{_libdir}/mono/gac
mkdir -p %{buildroot}/%{_bindir}
+
gacutil -i src/bin/Db4objects.Db4o.dll -f -package db4o -root %{buildroot}%{_libdir}
+gacutil -i src/bin/Db4objects.Db4o.CS.dll -f -package db4o -root %{buildroot}%{_libdir}
gacutil -i src/bin/Db4objects.Db4o.Instrumentation.dll -f -package db4o -root %{buildroot}%{_libdir}
gacutil -i src/bin/Db4objects.Db4o.Linq.dll -f -package db4o -root %{buildroot}%{_libdir}
gacutil -i src/bin/Db4objects.Db4o.NativeQueries.dll -f -package db4o -root %{buildroot}%{_libdir}
-gacutil -i src/bin/Db4oUnit.dll -f -package db4o -root %{buildroot}%{_libdir}
-gacutil -i src/bin/Db4oUnit.Extensions.dll -f -package db4o -root %{buildroot}%{_libdir}
+gacutil -i src/bin/Db4objects.Db4o.Optional.dll -f -package db4o -root %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_libdir}/mono/db4o
cp src/bin/* %{buildroot}%{_libdir}/mono/db4o
@@ -74,8 +91,8 @@ libdir=%{_libdir}
Name: db4o
Description: db4o - an object based database system
-Version: 7.4
-Libs: -r:%{_libdir}/mono/db4o/Db4objects.Db4o.dll, -r:%{_libdir}/mono/db4o/Db4oUnit.dll, -r:%{_libdir}/mono/db4o/Db4objects.Db4o.Instrumentation.dll, -r:%{_libdir}/mono/db4o/Db4oUnit.Extensions.dll -r:%{_libdir}/mono/db4o/Db4objects.Db4o.Linq.dll -r:%{_libdir}/mono/db4o/Db4objects.Db4o.NativeQueries.dll
+Version: 8.0
+Libs: -r:%{_libdir}/mono/db4o/Db4objects.Db4o.dll, -r:%{_libdir}/mono/db4o/Db4objects.Db4o.CS.dll, -r:%{_libdir}/mono/db4o/Db4objects.Db4o.Instrumentation.dll, -r:%{_libdir}/mono/db4o/Db4objects.Db4o.Linq.dll -r:%{_libdir}/mono/db4o/Db4objects.Db4o.NativeQueries.dll, -r:%{_libdir}/mono/db4o/Db4objects.Db4o.Optional.dll
EOF
cat <<EOF >%{buildroot}/%{_bindir}/Db4oTool
@@ -83,37 +100,9 @@ cat <<EOF >%{buildroot}/%{_bindir}/Db4oTool
env mono %{_libdir}/mono/db4o/Db4oTool.exe "$@"
EOF
-cat <<EOF >%{buildroot}/%{_bindir}/Db4oTool-Tests
-#!/bin/sh
-env mono %{_libdir}/mono/db4o/Db4oTool.Tests.exe "$@"
-EOF
-
-cat <<EOF >%{buildroot}/%{_bindir}/Db4o-LinqTests
-#!/bin/sh
-env mono %{_libdir}/mono/db4o/Db4objects.Db4o.Linq.Tests.exe "$@"
-EOF
-
-cat <<EOF >%{buildroot}/%{_bindir}/Db4o-LinqInstrumentationTests
-#!/bin/sh
-env mono %{_libdir}/mono/db4o/Db4objects.Db4o.Linq.Instrumentation.Tests.exe "$@"
-EOF
-
-cat <<EOF >%{buildroot}/%{_bindir}/Db4oTests
-#!/bin/sh
-env mono %{_libdir}/mono/db4o/Db4objects.Db4o.Tests.exe "$@"
-EOF
-
chmod 755 %{buildroot}/%{_bindir}/Db4oTool
-chmod 755 %{buildroot}/%{_bindir}/Db4oTool-Tests
-chmod 755 %{buildroot}/%{_bindir}/Db4o-LinqTests
-chmod 755 %{buildroot}/%{_bindir}/Db4o-LinqInstrumentationTests
-chmod 755 %{buildroot}/%{_bindir}/Db4oTests
-
-%clean
-rm -rf %{buildroot}
%files
-%defattr(-,root,root,-)
%{_bindir}/*
%{_libdir}/mono/db4o/
%{_libdir}/mono/gac/Db4*
@@ -125,6 +114,9 @@ rm -rf %{buildroot}
%{_libdir}/pkgconfig/db4o.pc
%changelog
+* Wed Jun 29 2011 Tom Callaway <spot at fedoraproject.org> - 8.0-1
+- update to 8.0
+
* Wed Jun 01 2011 Paul Whalen <paul.whalen at senecac.on.ca> - 7.4-4
- Added correct arm macro to ExclusiveArch
diff --git a/sources b/sources
index f15c6e9..95b9f8f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c9cb469cb95a44076ddd2cad34e015e8 db4o-7.4-net2.zip
+332de4a3c114f930f8e2f38e28b49b98 db4o-8.0-net35.zip
More information about the scm-commits
mailing list