]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | #!/bin/sh |
2 | # Make sure we are running in the right directory... | |
3 | if test ! -f tools/testosx; then | |
4 | echo "Run this script from the top-level CUPS source directory, e.g.:" | |
5 | echo "" | |
6 | echo " tools/testosx" | |
7 | echo "" | |
8 | exit 1 | |
9 | fi | |
10 | ||
a4d04587 | 11 | # Get the current working copy version... |
12 | rev=`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[a-zA-Z]*//g'` | |
ef416fc2 | 13 | |
14 | # Setup an install directory... | |
15 | user=`whoami` | |
16 | topdir=`pwd` | |
17 | pkgdir="/tmp/cups.pkg-$user" | |
18 | ||
19 | echo Building package using temp directory $pkgdir... | |
20 | rm -rf $pkgdir | |
21 | mkdir -p $pkgdir/Package | |
22 | mkdir -p $pkgdir/Resources | |
23 | ||
ef416fc2 | 24 | # Install resource files into the Resources directory... |
25 | echo Installing resource files... | |
26 | cp packaging/LICENSE.rtf $pkgdir/Resources/ReadMe.rtf | |
27 | cp packaging/WELCOME.rtf $pkgdir/Resources/Welcome.rtf | |
28 | cp packaging/installer.tif $pkgdir/Resources/background.tif | |
29 | ||
30 | cat >$pkgdir/Resources/preflight <<EOF | |
31 | #!/bin/sh | |
a4d04587 | 32 | # Stop any running cupsd processes... |
ef416fc2 | 33 | killall cupsd || exit 0 |
34 | EOF | |
35 | chmod 755 $pkgdir/Resources/preflight | |
36 | ||
37 | cat >$pkgdir/Resources/postflight <<EOF | |
38 | #!/bin/sh | |
a4d04587 | 39 | launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0 |
40 | launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist | |
41 | sleep 1 | |
42 | if test -e /private/var/run/cupsd; then | |
43 | chmod g+w,o+w /private/var/run/cupsd | |
44 | fi | |
ef416fc2 | 45 | EOF |
46 | chmod 755 $pkgdir/Resources/postflight | |
47 | ||
48 | # Tag the current revision in the plist and web interface files... | |
49 | sed -e '1,$s/@CUPS_VERSION@/1.2svn-r'$rev'/g' \ | |
50 | -e '1,$s/@CUPS_RELEASE@/1.2.'$rev'/g' \ | |
51 | <packaging/cups-desc.plist.in >packaging/cups-desc.plist | |
52 | sed -e '1,$s/@CUPS_VERSION@/1.2svn-r'$rev'/g' \ | |
53 | -e '1,$s/@CUPS_RELEASE@/1.2.'$rev'/g' \ | |
54 | <packaging/cups-info.plist.in >packaging/cups-info.plist | |
55 | sed -e '1,$s/@CUPS_VERSION@/1.2svn-r'$rev'/g' \ | |
56 | <doc/index.html.in >doc/index.html | |
09ec0018 | 57 | sed -e '1,$s/@CUPS_VERSION@/1.2svn-r'$rev'/g' \ |
58 | <templates/header.tmpl.in >templates/header.tmpl | |
59 | ||
60 | # Install CUPS into the Package directory... | |
61 | #make INSTALL=$topdir/install-sh BUILDROOT=$pkgdir/Package install | |
62 | make BUILDROOT=$pkgdir/Package install | |
ef416fc2 | 63 | |
64 | # Figure out where PackageMaker is installled... | |
65 | if test -d /Developer/Applications/Utilities/PackageMaker.app; then | |
66 | PackageMaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker | |
67 | else | |
68 | PackageMaker=/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker | |
69 | fi | |
70 | ||
71 | # Create the package... | |
72 | echo Creating MacOS X package... | |
73 | rm -rf cups.pkg | |
74 | echo $PackageMaker -build -v -p cups.pkg \ | |
75 | -f $pkgdir/Package \ | |
76 | -r $pkgdir/Resources \ | |
77 | -d packaging/cups-desc.plist \ | |
78 | -i packaging/cups-info.plist | |
79 | $PackageMaker -build -v -p cups.pkg \ | |
80 | -f $pkgdir/Package \ | |
81 | -r $pkgdir/Resources \ | |
82 | -d packaging/cups-desc.plist \ | |
83 | -i packaging/cups-info.plist | |
84 | ||
85 | # Create a disk image... | |
86 | echo Creating MacOS X disk image... | |
87 | hdiutil create -ov -srcfolder cups.pkg cups-1.2svn-r$rev.dmg | |
88 | ||
89 | # Cleanup temp files... | |
90 | echo Removing temporary files... | |
91 | rm -rf $pkgdir |