| #!/bin/sh |
| # Make sure we are running in the right directory... |
| if test ! -f tools/testosx; then |
| echo "Run this script from the top-level CUPS source directory, e.g.:" |
| echo "" |
| echo " tools/testosx [version]" |
| echo "" |
| exit 1 |
| fi |
| |
| # Get the current working copy version... |
| rev=`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[a-zA-Z]*//g'` |
| |
| if test $# = 0; then |
| version="1.2svn-r$rev" |
| else |
| version=$1 |
| fi |
| |
| # Setup an install directory... |
| user=`whoami` |
| topdir=`pwd` |
| pkgdir="/tmp/cups.pkg-$user" |
| |
| echo Building package using temp directory $pkgdir... |
| rm -rf $pkgdir |
| mkdir -p $pkgdir/Package |
| mkdir -p $pkgdir/Resources |
| |
| # Install resource files into the Resources directory... |
| echo Installing resource files... |
| cp packaging/LICENSE.rtf $pkgdir/Resources/ReadMe.rtf |
| cp packaging/WELCOME.rtf $pkgdir/Resources/Welcome.rtf |
| cp packaging/installer.tif $pkgdir/Resources/background.tif |
| |
| cat >$pkgdir/Resources/preflight <<EOF |
| #!/bin/sh |
| # Stop any running cupsd processes... |
| killall cupsd || exit 0 |
| EOF |
| chmod 755 $pkgdir/Resources/preflight |
| |
| if test -x /bin/launchctl; then |
| cat >$pkgdir/Resources/postflight <<EOF |
| #!/bin/sh |
| |
| # Remove old startup item, we use launchd now... |
| rm -f /System/Library/StartupItems/PrintingServices/PrintingServices |
| |
| # Tell launchd to reload cupsd... |
| launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0 |
| launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist |
| EOF |
| else |
| cat >$pkgdir/Resources/postflight <<EOF |
| #!/bin/sh |
| |
| # Start cupsd... |
| /usr/sbin/cupsd |
| EOF |
| fi |
| |
| chmod 755 $pkgdir/Resources/postflight |
| |
| # Tag the current revision in the plist and web interface files... |
| sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \ |
| -e '1,$s/@CUPS_RELEASE@/1.2.'$rev'/g' \ |
| <packaging/cups-desc.plist.in >packaging/cups-desc.plist |
| sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \ |
| -e '1,$s/@CUPS_RELEASE@/1.2.'$rev'/g' \ |
| <packaging/cups-info.plist.in >packaging/cups-info.plist |
| |
| # Install CUPS into the Package directory... |
| #make INSTALL=$topdir/install-sh BUILDROOT=$pkgdir/Package install |
| make BUILDROOT=$pkgdir/Package install |
| |
| # Figure out where PackageMaker is installled... |
| if test -d /Developer/Applications/Utilities/PackageMaker.app; then |
| PackageMaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker |
| else |
| PackageMaker=/Developer/Applications/PackageMaker.app/Contents/MacOS/PackageMaker |
| fi |
| |
| # Create the package... |
| echo Creating MacOS X package... |
| rm -rf cups.pkg |
| echo $PackageMaker -build -v -p cups.pkg \ |
| -f $pkgdir/Package \ |
| -r $pkgdir/Resources \ |
| -d packaging/cups-desc.plist \ |
| -i packaging/cups-info.plist |
| $PackageMaker -build -v -p cups.pkg \ |
| -f $pkgdir/Package \ |
| -r $pkgdir/Resources \ |
| -d packaging/cups-desc.plist \ |
| -i packaging/cups-info.plist |
| |
| # Create a disk image... |
| echo Creating MacOS X disk image... |
| hdiutil create -ov -srcfolder cups.pkg cups-$version.dmg |
| |
| # Cleanup temp files... |
| echo Removing temporary files... |
| rm -rf $pkgdir |