Windows: Build policy assembly as a merge module
authorAsanka C. Herath <asanka@secure-endpoints.com>
Mon, 29 Nov 2010 23:20:42 +0000 (18:20 -0500)
committerAsanka C. Herath <asanka@secure-endpoints.com>
Mon, 29 Nov 2010 23:21:56 +0000 (18:21 -0500)
packages/windows/installer/NTMakefile
packages/windows/installer/heimdal-installer.wxs
packages/windows/installer/heimdal-policy.wxs [new file with mode: 0644]

index 5a4d2c7cf79bf6e5d99a41418fd0fcc8380afdb3..9dbfd2c23c449cde57c2f4b2a6a8d5e043d55f3e 100644 (file)
@@ -54,24 +54,45 @@ DEBUGOPT=-$(BUILD)
 ######################################################################
 # Heimdal Merge Modules
 
-MERGEMOD=$(INSTDIR)\Heimdal.msm
+ASSEMBLYMODULE=$(INSTDIR)\Heimdal.msm
 
-$(MERGEMOD): $(OBJ)\heimdal-assemblies.wixobj
+$(ASSEMBLYMODULE): $(OBJ)\heimdal-assemblies.wixobj
        $(LIGHT) -out $@ $**
 
 $(OBJ)\heimdal-assemblies.wixobj: heimdal-assemblies.wxs
-       $(CANDLE) -arch $(PLATFORM) -o $@ $** \
-               -dVersion=$(VERSION)    \
-               -dBinDir=$(BINDIR)      \
+       $(CANDLE) -arch $(PLATFORM) -o $@ $**   \
+               -dVersion=$(VERSION)            \
+               -dBinDir=$(BINDIR)              \
                -dPlatform=$(PLATFORM)
 
-$(SDKREDISTDIR)\Heimdal.msm: $(MERGEMOD)
+$(SDKREDISTDIR)\Heimdal.msm: $(ASSEMBLYMODULE)
        $(CP) $** $@
 
-all:: $(MERGEMOD) $(SDKREDISTDIR)\Heimdal.msm
+POLICYMODULE=$(INSTDIR)\Heimdal.Policy.msm
+
+$(POLICYMODULE): $(OBJ)\heimdal-policy.wixobj
+       $(LIGHT) -out $@ $**
+
+$(OBJ)\heimdal-policy.wixobj: heimdal-policy.wxs
+       $(CANDLE) -arch $(PLATFORM) -o $@ $**   \
+               -dVersion=$(VERSION)            \
+               -dBinDir=$(BINDIR)              \
+               -dPlatform=$(PLATFORM)          \
+               -dPolPrefix=$(POLPREFIX)
+
+$(SDKREDISTDIR)\Heimdal.Policy.msm: $(POLICYMODULE)
+       $(CP) $** $@
+
+all:: $(ASSEMBLYMODULE) $(SDKREDISTDIR)\Heimdal.msm
+
+all:: $(POLICYMODULE) $(SDKREDISTDIR)\Heimdal.Policy.msm
 
 clean::
-       -$(RM) $(MERGEMOD)
+       -$(RM) $(ASSEMBLYMODULE)
+       -$(RM) $(POLICYMODULE)
+       -$(RM) $(SDKREDISTDIR)\Heimdal.msm
+       -$(RM) $(SDKREDISTDIR)\Heimdal.Policy.msm
+
 
 ######################################################################
 # Runtime modules
@@ -127,7 +148,7 @@ THIRDPARTYOPT=$(THIRDPARTYOPT) -dMKShim=1
 
 INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)-$(VERSIOND).msi
 
-$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(MERGEMOD) $(THIRDPARTYOBJS)    \
+$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(ASSEMBLYMODULE) $(THIRDPARTYOBJS)      \
                $(THIRDPARTYDEPS) lang\en-us.wxl
        $(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS)      \
                -sval -cultures:en-us -loc lang\en-us.wxl       \
@@ -136,15 +157,15 @@ $(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(MERGEMOD) $(THIRDPARTYOBJS)       \
        $(_CODESIGN)
 
 $(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
-       $(CANDLE) -arch $(PLATFORM) -o $@ $** \
-               -dVersion=$(VERSION)    \
-               -dBinDir=$(BINDIR)      \
-               -dDocDir=$(DOCDIR)      \
-               -dInstDir=$(INSTDIR)    \
-               -dSrcDir=$(SRC)         \
-               -dPlatform=$(PLATFORM)  \
-               -dRuntimeModule=$(RUNTIMEMODULE) \
-               -dPolPrefix=$(POLPREFIX)        \
+       $(CANDLE) -arch $(PLATFORM) -o $@ $**           \
+               -dVersion=$(VERSION)                    \
+               -dBinDir=$(BINDIR)                      \
+               -dDocDir=$(DOCDIR)                      \
+               -dInstDir=$(INSTDIR)                    \
+               -dSrcDir=$(SRC)                         \
+               -dPlatform=$(PLATFORM)                  \
+               -dRuntimeModule=$(RUNTIMEMODULE)        \
+               -dPolPrefix=$(POLPREFIX)                \
                $(THIRDPARTYOPT)
 
 all:: $(INSTALLER)
index e356c1d45f8703f94d5e9ba33d893216ca1bc8b2..15bc95c60dc9bbe794c77d7cbdc0343723634ca6 100644 (file)
@@ -9,8 +9,6 @@
   <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
   <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
   <?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?>
-  <?define GuidPolGSSAPI=2EB8472F-64DD-470B-AF65-FC8AAC185788 ?>
-  <?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?>
   <?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?>
   <?define GuidKvno=2B932C2B-9167-4051-BDF7-A104E9983CE6 ?>
   <?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?>
@@ -25,8 +23,6 @@
   <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
   <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
   <?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?>
-  <?define GuidPolGSSAPI=7B7D6813-8D9C-4647-8966-89A1CA24A08B ?>
-  <?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?>
   <?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?>
   <?define GuidKvno=4C6015BE-1347-4D12-8841-FF90E0B9D6A8 ?>
   <?define GuidKcpytkt=CBCDFC80-601B-4F26-A020-7D1278735B95 ?>
             <Merge Id='Heimdal.Assemblies' Language='0'
                    SourceFile='$(var.InstDir)\Heimdal.msm' />
 
+            <Merge Id='Heimdal.Policy' Language='0'
+                   SourceFile='$(var.InstDir)\Heimdal.Policy.msm' />
+
+
             <Merge Id='Runtime' Language='0'
                    SourceFile='$(var.RuntimeModule)' />
 
                    SourceFile='$(var.InstDir)\Heimdal-krbcompat.msm' />
             <?endif?>
 
-            <!--
-                Publisher Configuration
-
-                The publisher configuration files are included in the
-                Heimdal installers, but not included in the Heimdal
-                assemblies.
-            -->
-
-            <Directory Id='dir.policy.Heimdal.Kerberos'
-                       Name='$(var.PolPrefix).Heimdal.Kerberos'
-                       FileSource='$(var.BinDir)\$(var.PolPrefix).Heimdal.Kerberos'>
-              <Component Id='comp.policy.Heimdal.Kerberos'
-                         Guid='$(var.GuidPolKerberos)'
-                         Win64='$(var.Win64)'>
-                <File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32'
-                      Id='policy.GSSAPI' AssemblyManifest='policy.GSSAPI' />
-                <File Name='$(var.Version).cat' Id='policy.GSSAPI.cat' />
-              </Component>
-
-            </Directory>
-
             <Directory Id='dirPlugin' Name='plugin'>
               <Directory Id='PLUGINDIR' Name='krb5'>
 
       <?endif?>
       <ComponentRef Id='comp.Plugin.Reg' />
 
-      <ComponentRef Id='comp.policy.Heimdal.Kerberos' />
-
       <MergeRef Id='Heimdal.Assemblies' />
+      <MergeRef Id='Heimdal.Policy' />
       <MergeRef Id='Runtime' />
 
       <?ifdef Thirdparty ?>
diff --git a/packages/windows/installer/heimdal-policy.wxs b/packages/windows/installer/heimdal-policy.wxs
new file mode 100644 (file)
index 0000000..8a73fe8
--- /dev/null
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="windows-1252"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
+
+  <?if $(var.Platform)=x64 ?>
+
+  <?define Win64=yes ?>
+  <?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?>
+
+  <?else?>
+
+  <?define Win64=no ?>
+  <?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?>
+
+  <?endif?>
+
+  <Module Id="Heimdal" Language="0" Version="$(var.Version)">
+
+    <Package Id="A064012D-F3C3-4059-9AC0-00D8A5283D6D"
+             InstallerVersion="200"
+             Languages="1033" Manufacturer="Heimdal"
+             SummaryCodepage="1252" AdminImage="no"
+             Platform="$(var.Platform)" />
+
+    <!--
+        Publisher Configuration
+
+        The publisher configuration files are included in the Heimdal
+        installers, but not included in the Heimdal assemblies.
+    -->
+
+    <Directory Id='TARGETDIR' Name='SourceDir'>
+      <Directory Id='dir.policy.Heimdal.Kerberos'
+                 Name='$(var.PolPrefix).Heimdal.Kerberos'
+                 FileSource='$(var.BinDir)\$(var.PolPrefix).Heimdal.Kerberos'>
+
+        <Component Id='comp.policy.Heimdal.Kerberos'
+                   Guid='$(var.GuidPolKerberos)'
+                   Win64='$(var.Win64)'>
+          <File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32'
+                Id='policy.Kerberos' AssemblyManifest='policy.Kerberos' />
+          <File Name='$(var.Version).cat' Id='policy.Kerberos.cat' />
+        </Component>
+
+      </Directory>
+    </Directory>
+
+  </Module>
+</Wix>