aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSense Egbert Hofstede <sense@ubuntu.com>2010-09-21 21:13:43 +0200
committerSense Egbert Hofstede <sense@ubuntu.com>2010-09-21 21:13:43 +0200
commitdf5dbe27aa3446bf9c7ea8953968bc49a4db5864 (patch)
tree66a9d00b33702a7a391f83b7fd7705b3fb34b8dc
parent12d7f820f43d4ed09dd974e2e956013f78da519e (diff)
downloadayatana-indicator-application-df5dbe27aa3446bf9c7ea8953968bc49a4db5864.tar.gz
ayatana-indicator-application-df5dbe27aa3446bf9c7ea8953968bc49a4db5864.tar.bz2
ayatana-indicator-application-df5dbe27aa3446bf9c7ea8953968bc49a4db5864.zip
Created a second policy file to make sure that applications depending on 'appindicator-sharp' will not have to be recompiled.
Changes to the packaging is required to make sure the policy file gets installed. Many thanks to Jo Shields for looking into this issue and proposing a solution.
-rw-r--r--bindings/mono/Makefile.am20
-rw-r--r--bindings/mono/policy.0.0.appindicator-sharp.config.in2
-rw-r--r--bindings/mono/policy.0.1.appindicator-sharp.config.in10
3 files changed, 29 insertions, 3 deletions
diff --git a/bindings/mono/Makefile.am b/bindings/mono/Makefile.am
index 2ad6d87..c9c038b 100644
--- a/bindings/mono/Makefile.am
+++ b/bindings/mono/Makefile.am
@@ -15,6 +15,9 @@ ASSEMBLY = $(ASSEMBLY_NAME).dll
POLICY = policy.$(POLICY_VERSION).$(ASSEMBLY_NAME)
POLICY_VERSION = 0.0
DLLPOLICY = $(POLICY).dll
+POLICY1 = policy.$(POLICY1_VERSION).$(ASSEMBLY_NAME)
+POLICY1_VERSION = 0.1
+DLLPOLICY1 = $(POLICY1).dll
WRAPPER_FREE_BINDING_SRC = ../../src/app-indicator.c
WRAPPER_FREE_BINDING = app-indicator.c
@@ -22,7 +25,9 @@ TARGET = \
$(ASSEMBLY) \
$(ASSEMBLY).config \
$(DLLPOLICY) \
- $(POLICY).config
+ $(POLICY).config \
+ $(DLLPOLICY1) \
+ $(POLICY1).config
assemblydir = $(libdir)/cli/appindicator-sharp-0.1
assembly_DATA = $(TARGET)
@@ -37,8 +42,10 @@ CLEANFILES = \
$(RAW_API) \
$(TEST) \
$(DLLPOLICY) \
+ $(DLLPOLICY1) \
$(WRAPPER_FREE_BINDING) \
- $(POLICY).config
+ $(POLICY).config \
+ $(POLICY1).config
DISTCLEANFILES = $(ASSEMBLY).config
TEST_SOURCES = TestIndicator.cs
@@ -52,6 +59,7 @@ EXTRA_DIST = \
app-indicator.sources.xml \
$(ASSEMBLY_NAME).snk \
$(POLICY).config.in \
+ $(POLICY1).config.in \
$(customs) \
$(TEST_SOURCES)
@@ -128,3 +136,11 @@ $(POLICY).config: $(POLICY).config.in Makefile
$(DLLPOLICY): $(POLICY).config $(ASSEMBLY_NAME).snk Makefile
$(AL) -link:$(POLICY).config -out:$(DLLPOLICY) -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk
+
+$(POLICY1).config: $(POLICY1).config.in Makefile
+ sed -e "s|@ASSEMBLY_NAME@|$(ASSEMBLY_NAME)|" \
+ -e "s|@ASSEMBLY_VERSION@|$(ASSEMBLY_VERSION)|g" \
+ $< > $@
+
+$(DLLPOLICY1): $(POLICY1).config $(ASSEMBLY_NAME).snk Makefile
+ $(AL) -link:$(POLICY1).config -out:$(DLLPOLICY1) -keyfile:$(srcdir)/$(ASSEMBLY_NAME).snk
diff --git a/bindings/mono/policy.0.0.appindicator-sharp.config.in b/bindings/mono/policy.0.0.appindicator-sharp.config.in
index 95c21ed..e1fe0db 100644
--- a/bindings/mono/policy.0.0.appindicator-sharp.config.in
+++ b/bindings/mono/policy.0.0.appindicator-sharp.config.in
@@ -3,7 +3,7 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="@ASSEMBLY_NAME@" publicKeyToken="bcae265d1c7ab4c2" />
- <bindingRedirect oldVersion="0.0.0.0-@ASSEMBLY_VERSION@" newVersion="@ASSEMBLY_VERSION@"/>
+ <bindingRedirect oldVersion="0.0.0.0-0.1.0.0" newVersion="@ASSEMBLY_VERSION@"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
diff --git a/bindings/mono/policy.0.1.appindicator-sharp.config.in b/bindings/mono/policy.0.1.appindicator-sharp.config.in
new file mode 100644
index 0000000..0a8f9b1
--- /dev/null
+++ b/bindings/mono/policy.0.1.appindicator-sharp.config.in
@@ -0,0 +1,10 @@
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="@ASSEMBLY_NAME@" publicKeyToken="bcae265d1c7ab4c2" />
+ <bindingRedirect oldVersion="0.1.0.0-@ASSEMBLY_VERSION@" newVersion="@ASSEMBLY_VERSION@"/>
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>