]> git.ipfire.org Git - thirdparty/cups.git/blob - tools/testosx
9193b8a3de4a69df6f6119d346d9d57ac1ec3c59
[thirdparty/cups.git] / tools / testosx
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 [version]"
7 echo ""
8 exit 1
9 fi
10
11 # Get the current working copy version...
12 rev=`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[a-zA-Z]*//g'`
13
14 if test $# = 0; then
15 version="1.2svn-r$rev"
16 else
17 version=$1
18 fi
19
20 # Setup an install directory...
21 user=`whoami`
22 topdir=`pwd`
23 pkgdir="/tmp/cups.pkg-$user"
24
25 echo Building package using temp directory $pkgdir...
26 rm -rf $pkgdir
27 mkdir -p $pkgdir/Package
28 mkdir -p $pkgdir/Resources
29
30 # Install resource files into the Resources directory...
31 echo Installing resource files...
32 cp packaging/LICENSE.rtf $pkgdir/Resources/ReadMe.rtf
33 cp packaging/WELCOME.rtf $pkgdir/Resources/Welcome.rtf
34 cp packaging/installer.tif $pkgdir/Resources/background.tif
35
36 cat >$pkgdir/Resources/preflight <<EOF
37 #!/bin/sh
38 # Stop any running cupsd processes...
39 killall cupsd || exit 0
40 EOF
41 chmod 755 $pkgdir/Resources/preflight
42
43 if test -x /bin/launchctl; then
44 cat >$pkgdir/Resources/postflight <<EOF
45 #!/bin/sh
46
47 # Remove old startup item, we use launchd now...
48 rm -f /System/Library/StartupItems/PrintingServices/PrintingServices
49
50 # Tell launchd to reload cupsd...
51 launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0
52 launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
53 EOF
54 else
55 cat >$pkgdir/Resources/postflight <<EOF
56 #!/bin/sh
57
58 # Start cupsd...
59 /usr/sbin/cupsd
60 EOF
61 fi
62
63 chmod 755 $pkgdir/Resources/postflight
64
65 # Tag the current revision in the plist and web interface files...
66 sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \
67 -e '1,$s/@CUPS_RELEASE@/1.2.'$rev'/g' \
68 <packaging/cups-desc.plist.in >packaging/cups-desc.plist
69 sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \
70 -e '1,$s/@CUPS_RELEASE@/1.2.'$rev'/g' \
71 <packaging/cups-info.plist.in >packaging/cups-info.plist
72
73 # Install CUPS into the Package directory...
74 #make INSTALL=$topdir/install-sh BUILDROOT=$pkgdir/Package install
75 make BUILDROOT=$pkgdir/Package install
76
77 # Figure out where PackageMaker is installled...
78 if test -d /Developer/Applications/Utilities/PackageMaker.app; then
79 PackageMaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
80 else
81 PackageMaker=/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker
82 fi
83
84 # Create the package...
85 echo Creating MacOS X package...
86 rm -rf cups.pkg
87 echo $PackageMaker -build -v -p cups.pkg \
88 -f $pkgdir/Package \
89 -r $pkgdir/Resources \
90 -d packaging/cups-desc.plist \
91 -i packaging/cups-info.plist
92 $PackageMaker -build -v -p cups.pkg \
93 -f $pkgdir/Package \
94 -r $pkgdir/Resources \
95 -d packaging/cups-desc.plist \
96 -i packaging/cups-info.plist
97
98 # Create a disk image...
99 echo Creating MacOS X disk image...
100 hdiutil create -ov -srcfolder cups.pkg cups-$version.dmg
101
102 # Cleanup temp files...
103 echo Removing temporary files...
104 rm -rf $pkgdir