Check-in [34f573e3f8]
Overview
Comment:Started preliminary work to support PackageMaker templates for CACKey builds
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 34f573e3f8365b2501118096370945687dce3ffb
User & Date: kvanals on 2010-07-24 18:47:47
Other Links: manifest | tags
Context
2010-07-24
18:56
Modified OSX cackey build script to support automatically generating UUIDs check-in: 578368c8b1 user: kvanals tags: trunk
18:47
Started preliminary work to support PackageMaker templates for CACKey builds check-in: 34f573e3f8 user: kvanals tags: trunk
2010-07-23
23:08
Added platform build notes check-in: 031f9f08b9 user: rkeene tags: trunk
Changes

Added build/cackey_osx_build/Template_pmbuild.pmdoc/01libcackey-contents.xml.in version [c0bd9f9d51].













>
>
>
>
>
>
1
2
3
4
5
6
<pkg-contents spec="1.12">
	<f n="libcackey.dylib" o="root" g="admin" p="33261" pt="@@BUILDROOTDIR@@/macbuild/Leopard/libcackey.dylib" m="false" t="file">
		<mod>owner</mod>
		<mod>group</mod>
	</f>
</pkg-contents>

Added build/cackey_osx_build/Template_pmbuild.pmdoc/01libcackey.xml.in version [fe70bceb11].



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<pkgref spec="1.12" uuid="@@UUID@@">
	<config>
		<identifier>mil.army.usace.cackeyForMacOsX@@OSXVERSION@@.libcackey.pkg</identifier>
		<version>1</version>
		<description></description>
		<post-install type="none"/>
		<requireAuthorization/>
		<installFrom relative="true" mod="true">../../macbuild/@@OSXVERSION@@/libcackey.dylib</installFrom>
		<installTo mod="true" relocatable="true">/Library/CACKey/</installTo>
		<flags>
			<followSymbolicLinks/>
		</flags>
		<packageStore type="internal"></packageStore>
		<mod>parent</mod>
		<mod>scripts.postinstall.path</mod>
		<mod>relocatable</mod>
		<mod>installTo.path</mod>
		<mod>installFrom.path</mod>
		<mod>installTo</mod>
	</config>
	<contents>
		<file-list>01libcackey-contents.xml</file-list>
		<filter>/CVS$</filter>
		<filter>/\.svn$</filter>
		<filter>/\.cvsignore$</filter>
		<filter>/\.cvspass$</filter>
		<filter>/\.DS_Store$</filter>
	</contents>
</pkgref>

Added build/cackey_osx_build/Template_pmbuild.pmdoc/02libcackey-contents.xml.in version [76f0baeb74].













>
>
>
>
>
>
1
2
3
4
5
6
<pkg-contents spec="1.12">
	<f n="libcackey_g.dylib" o="root" g="admin" p="33261" pt="@@BUILDROOTDIR@@/macbuild/Leopard/libcackey_g.dylib" m="false" t="file">
		<mod>owner</mod>
		<mod>group</mod>
	</f>
</pkg-contents>

Added build/cackey_osx_build/Template_pmbuild.pmdoc/02libcackey.xml.in version [593a22e1b4].



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<pkgref spec="1.12" uuid="@@UUID@@">
	<config>
		<identifier>mil.army.usace.cackeyForMacOsX@@OSXVERSION@@.libcackeyg.pkg</identifier>
		<version>1</version>
		<description></description>
		<post-install type="none"/>
		<requireAuthorization/>
		<installFrom relative="true" mod="true">../../macbuild/@@OSXVERSION@@/libcackey_g.dylib</installFrom>
		<installTo mod="true" relocatable="true">/Library/CACKey/</installTo>
		<flags>
			<followSymbolicLinks/>
		</flags>
		<packageStore type="internal"></packageStore>
		<mod>parent</mod>
		<mod>scripts.postinstall.path</mod>
		<mod>relocatable</mod>
		<mod>installTo.path</mod>
		<mod>installFrom.path</mod>
		<mod>installTo</mod>
	</config>
	<contents>
		<file-list>02libcackey-contents.xml</file-list>
		<filter>/CVS$</filter>
		<filter>/\.svn$</filter>
		<filter>/\.cvsignore$</filter>
		<filter>/\.cvspass$</filter>
		<filter>/\.DS_Store$</filter>
	</contents>
</pkgref>

Added build/cackey_osx_build/Template_pmbuild.pmdoc/03libcackey-contents.xml.in version [c50c97b69f].















>
>
>
>
>
>
>
1
2
3
4
5
6
7
<pkg-contents spec="1.12">
	<f n="cackey.dylib" o="root" g="wheel" p="33261" pt="@@BUILDROOTDIR@@/build/cackey_osx_build/cackey.dylib" m="true" t="file">
		<mod>owner</mod>
		<mod>mode</mod>
		<mod>group</mod>
	</f>
</pkg-contents>

Added build/cackey_osx_build/Template_pmbuild.pmdoc/03libcackey.xml.in version [057a954678].































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<pkgref spec="1.12" uuid="@@OSXVERSION@@">
	<config>
		<identifier>mil.army.usace.cackeyForMacOsX@@OSXVERSION@@.cackey.pkg</identifier>
		<version>1</version>
		<description></description>
		<post-install type="none"/>
		<requireAuthorization/>
		<installFrom relative="true" mod="true">cackey.dylib</installFrom>
		<installTo mod="true" relocatable="true">/usr/lib/pkcs11</installTo>
		<flags></flags>
		<packageStore type="internal"></packageStore>
		<mod>parent</mod>
		<mod>scripts.postinstall.path</mod>
		<mod>installTo.isAbsoluteType</mod>
		<mod>installTo.isRelativeType</mod>
		<mod>scripts.postflight.path</mod>
		<mod>relocatable</mod>
		<mod>version</mod>
		<mod>installTo.path</mod>
		<mod>installFrom.path</mod>
		<mod>installTo</mod>
	</config>
	<contents>
		<file-list>03libcackey-contents.xml</file-list>
		<filter>/CVS$</filter>
		<filter>/\.svn$</filter>
		<filter>/\.cvsignore$</filter>
		<filter>/\.cvspass$</filter>
		<filter>/\.DS_Store$</filter>
	</contents>
</pkgref>

Added build/cackey_osx_build/Template_pmbuild.pmdoc/index.xml.in version [7d23f00ebd].























































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<pkmkdoc spec="1.12">
	<properties>
		<title>CACKey for Mac OS X @@OSXVERSION@@</title>
		<organization>mil.army.usace</organization>
		<userSees ui="both"/>
		<min-target os="@@TARGETOS@@"/>
		<domain system="true"/>
	</properties>
	<distribution>
		<versions min-spec="1.000000"/>
		<scripts></scripts>
	</distribution>
	<description>CACKey</description>
	<contents>
		<choice title="CACKey PKCS#11 Library (Core)" id="cackey" starts_selected="true" starts_enabled="true" starts_hidden="false">
			<pkgref id="mil.army.usace.cackeyForMacOsX@@OSXVERSION@@.libcackey.pkg"/>
			<pkgref id="mil.army.usace.cackeyForMacOsX@@OSXVERSION@@.cackey.pkg"/>
		</choice>
		<choice title="CACKey PKCS#11 Library (Debug)" id="cackeydebug" starts_selected="true" starts_enabled="true" starts_hidden="false">
			<pkgref id="mil.army.usace.cackeyForMacOsX@@OSXVERSION@@.libcackeyg.pkg"/>
		</choice>
	</contents>
	<resources bg-scale="none" bg-align="topleft">
		<locale lang="en">
			<resource mime-type="text/rtf" kind="embedded" type="license">
				<![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural

\f0\fs26 \cf0 Release information:\
    pkg: CACKey\
 author: US Army Corps of Engineers\
Mac build contact: Kenneth Van Alstyne <kenneth.l.vanalstyne@usace.army.mil>\
                   US Army Corps of Engineers\
                   Information Technology Laboratory\
                   Vicksburg, MS 39180\
contact: Roy Keene <roy.s.keene@usace.army.mil>\
------------------------------------------------\
\
The following files in the source directory are the intellectual property of the\
Free Software Foundation and are licensed under the terms of the GNU General\
Public License (GPL):\
	config.guess, config.sub, install-sh\
\
The files in the source directory and the "leakcheck" directory are the intellectual\
property of the United States Government.  It is not clear which, if any,\
license is made on them.  In addition, as of 07-JUN-2010 they have not be\
cleared for public release.\
\
The files in the "pkcs11/" directory are licensed under the terms of the\
following licenses:\
	mypkcs11.h : GNU General Public License 2.1.\
	pkcs11.h   : GNU General Public License 2.1.\
	pkcs11f.h  : GNU General Public License 2.1.\
	pkcs11n.h  : Mozilla Public License or GNU General Public License\
	pkcs11t.h  : GNU General Public License 2.1.}]]>
			</resource>
			<resource mime-type="text/rtf" kind="embedded" type="readme">
				<![CDATA[{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
{\fonttbl\f0\fnil\fcharset0 LucidaGrande;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural

\f0\fs26 \cf0 Thank you for choosing to install CACKey.\
\
To use CACKey, install /Library/CACKey/libcackey.dylib or\
/usr/lib/pkcs11/cackey.dylib as a security module into any application that can use a PKCS#11 provider.\
\
A debug version, /Library/CACKey/libcackey_g.dylib is provided if debug output is necessary.}]]>
			</resource>
		</locale>
	</resources>
	<requirements>
		<requirement id="tosv" operator="lt" value="'@@NEXTOSXVER@@'">
			<message>This CACKey release requires Mac OS X @@CUROSXVER@@.</message>
		</requirement>
		<requirement id="tosv" operator="ge" value="'@@CUROSXVER@@'">
			<message>This CACKey release requires Mac OS X @@CUROSXVER@@.</message>
		</requirement>
	</requirements>
	<flags/>
	<item type="file">01libcackey.xml</item>
	<item type="file">02libcackey.xml</item>
	<item type="file">03libcackey.xml</item>
	<mod>properties.customizeOption</mod>
	<mod>properties.title</mod>
	<mod>description</mod>
	<mod>properties.systemDomain</mod>
	<mod>properties.anywhereDomain</mod>
</pkmkdoc>

Modified build/cackey_osx_build/build_osx.sh from [ba9acb7d77] to [2b8374712c].

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
# Shell Script to make Mac OS X Releases of CACKey
# Kenneth Van Alstyne
# kenneth.l.vanalstyne@usace.army.mil
# 20100712
CACKEY_VERSION=`cat configure.ac | grep AC_INIT | cut -d " " -f 2 | sed 's_)__'`

# Usage function
usage() {
	echo "Usage: build_osx.sh <target>"
	echo Where target is one of:
	echo "    panther  - (Builds 10.3 Library for PPCG3)"




<







1
2
3
4

5
6
7
8
9
10
11
#!/bin/bash
# Shell Script to make Mac OS X Releases of CACKey
# Kenneth Van Alstyne
# kenneth.l.vanalstyne@usace.army.mil

CACKEY_VERSION=`cat configure.ac | grep AC_INIT | cut -d " " -f 2 | sed 's_)__'`

# Usage function
usage() {
	echo "Usage: build_osx.sh <target>"
	echo Where target is one of:
	echo "    panther  - (Builds 10.3 Library for PPCG3)"
53
54
55
56
57
58
59



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113



114
115
116
117
118
119
120

# Build function for Panther
panther() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	OSX=Panther



	HOST=powerpc-apple-darwin7
	make distclean
	ARCH="ppc -mcpu=G3"
	CFLAGS="-arch ${ARCH}" ./configure --with-pcsc-headers=${HEADERS} --with-pcsc-libs=${LIBRARY} --host=${HOST}
	make
	cp libcackey.dylib macbuild/${OSX}/libcackey.dylib
	cp libcackey_g.dylib macbuild/${OSX}/libcackey_g.dylib
	pkgbuild
}

# Build function for Tiger
tiger() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	LIB=""
	ARCHLIST=""
	DLIB=""
	DARCHLIST=""
	OSX=Tiger



	for HOST in powerpc-apple-darwin8 i386-apple-darwin8; do
		genbuild
	done
	libbuild
	pkgbuild
}

# Build function for Leopard
leopard() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	LIB=""
	ARCHLIST=""
	DLIB=""
	DARCHLIST=""
	OSX=Leopard



	for HOST in powerpc-apple-darwin9 i386-apple-darwin9; do
		genbuild
	done
	libbuild
	pkgbuild
}

# Build function for Snow Leopard
snowleopard() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	LIB=""
	ARCHLIST=""
	DLIB=""
	DARCHLIST=""
	OSX=SnowLeopard



	for HOST in i386-apple-darwin10 x86_64-apple-darwin10; do
		genbuild
	done
	libbuild
	pkgbuild
}








>
>
>




















>
>
>

















>
>
>

















>
>
>







52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131

# Build function for Panther
panther() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	OSX=Panther
	PKTARGETOS=1
	NEXTOSXVER=10.4
	CUROSXVER=10.3
	HOST=powerpc-apple-darwin7
	make distclean
	ARCH="ppc -mcpu=G3"
	CFLAGS="-arch ${ARCH}" ./configure --with-pcsc-headers=${HEADERS} --with-pcsc-libs=${LIBRARY} --host=${HOST}
	make
	cp libcackey.dylib macbuild/${OSX}/libcackey.dylib
	cp libcackey_g.dylib macbuild/${OSX}/libcackey_g.dylib
	pkgbuild
}

# Build function for Tiger
tiger() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	LIB=""
	ARCHLIST=""
	DLIB=""
	DARCHLIST=""
	OSX=Tiger
	PKTARGETOS=2
	NEXTOSXVER=10.5
	CUROSXVER=10.4
	for HOST in powerpc-apple-darwin8 i386-apple-darwin8; do
		genbuild
	done
	libbuild
	pkgbuild
}

# Build function for Leopard
leopard() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	LIB=""
	ARCHLIST=""
	DLIB=""
	DARCHLIST=""
	OSX=Leopard
	PKTARGETOS=3
	NEXTOSXVER=10.6
	CUROSXVER=10.5
	for HOST in powerpc-apple-darwin9 i386-apple-darwin9; do
		genbuild
	done
	libbuild
	pkgbuild
}

# Build function for Snow Leopard
snowleopard() {
	makedir
	HEADERS=/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/PCSC.framework/Versions/A/Headers/
	LIBRARY=/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/PCSC.framework/PCSC
	LIB=""
	ARCHLIST=""
	DLIB=""
	DARCHLIST=""
	OSX=SnowLeopard
	PKTARGETOS=3
	NEXTOSXVER=10.7
	CUROSXVER=10.6
	for HOST in i386-apple-darwin10 x86_64-apple-darwin10; do
		genbuild
	done
	libbuild
	pkgbuild
}

151
152
153
154
155
156
157





158
159
160
161
162
163
164
# Function to build Mac OS X Packages
pkgbuild() {
	rm -f build/cackey_osx_build/cackey.dylib
	ln macbuild/${OSX}/libcackey.dylib build/cackey_osx_build/cackey.dylib
	for PMDOC in build/cackey_osx_build/${OSX}_pmbuild.pmdoc/*.in; do
		PMDOC="`echo "${PMDOC}" | sed 's_.in__g'`"
		sed "s|@@BUILDROOTDIR@@|$(pwd)|g" ${PMDOC}.in > ${PMDOC}





	done
	if [ ${OSX} == "Panther" ]; then
		EXT=mpkg
	else
		EXT=pkg
	fi
	/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker -d build/cackey_osx_build/${OSX}_pmbuild.pmdoc -o macbuild/pkg/CACKey_${CACKEY_VERSION}_${OSX}.${EXT}







>
>
>
>
>







162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# Function to build Mac OS X Packages
pkgbuild() {
	rm -f build/cackey_osx_build/cackey.dylib
	ln macbuild/${OSX}/libcackey.dylib build/cackey_osx_build/cackey.dylib
	for PMDOC in build/cackey_osx_build/${OSX}_pmbuild.pmdoc/*.in; do
		PMDOC="`echo "${PMDOC}" | sed 's_.in__g'`"
		sed "s|@@BUILDROOTDIR@@|$(pwd)|g" ${PMDOC}.in > ${PMDOC}
		sed "s|@@OSXVERSION@@|${OSX}|g" ${PMDOC}.in > ${PMDOC}
		sed "s|@@UUID@@|${UUID}|g" ${PMDOC}.in > ${PMDOC}
		sed "s|@@TARGETOS@@|${PKTARGETOS}|g" ${PMDOC}.in > ${PMDOC}
		sed "s|@@NEXTOSXVER@@|${NEXTOSXVER}|g" ${PMDOC}.in > ${PMDOC}
		sed "s|@@CUROSXVER@@|${CUROSXVER}|g" ${PMDOC}.in > ${PMDOC}
	done
	if [ ${OSX} == "Panther" ]; then
		EXT=mpkg
	else
		EXT=pkg
	fi
	/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker -d build/cackey_osx_build/${OSX}_pmbuild.pmdoc -o macbuild/pkg/CACKey_${CACKEY_VERSION}_${OSX}.${EXT}