#!/bin/sh
if test ! -f tools/testosx; then
echo "Run this script from the top-level CUPS source directory, e.g.:"
echo ""
echo " sudo tools/testosx [version]"
echo ""
exit 1
fi
if test `whoami` != root; then
echo "Run this script with sudo, e.g.:"
echo ""
echo " sudo tools/testosx [version]"
echo ""
exit 1
fi
rev=`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[a-zA-Z]*//g'`
if test $ version="1.3svn-r$rev"
else
version=$1
fi
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
echo Installing resource files...
cp packaging/LICENSE.rtf $pkgdir/Resources/ReadMe.rtf
sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \
<packaging/WELCOME.rtf >$pkgdir/Resources/Welcome.rtf
cp packaging/installer.tif $pkgdir/Resources/background.tif
if test -x /bin/launchctl; then
cat >$pkgdir/Resources/preflight <<EOF
#!/bin/sh
if test "x`whoami`" = xroot; then
sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0
sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cups-lpd.plist || exit 0
fi
killall cupsd || exit 0
EOF
else
cat >$pkgdir/Resources/preflight <<EOF
#!/bin/sh
killall cupsd || exit 0
EOF
fi
chmod 755 $pkgdir/Resources/preflight
if test -x /bin/launchctl; then
cat >$pkgdir/Resources/postflight <<EOF
#!/bin/sh
rm -f /etc/xinetd.d/cups-lpd
if test "x`whoami`" = xroot; then
sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd-lpd.plist || exit 0
fi
EOF
else
cat >$pkgdir/Resources/postflight <<EOF
#!/bin/sh
/usr/sbin/cupsd
EOF
fi
chmod 755 $pkgdir/Resources/postflight
case `uname -r` in
8.* | 9.*)
cp packaging/InstallationCheck $pkgdir/Resources
chmod 755 $pkgdir/Resources/InstallationCheck
;;
esac
for file in packaging/cups-desc.plist packaging/cups-info.plist \
doc/index.html doc/ja/index.html templates/header.tmpl; do
echo Updating $file...
sed -e '1,$s/@CUPS_VERSION@/'$version'/g' \
-e '1,$s/@CUPS_REVISION@//g' \
-e '1,$s/@CUPS_RELEASE@/1.3.'$rev'/g' \
<$file.in >$file
done
make BUILDROOT=$pkgdir/Package install
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
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
echo Creating MacOS X disk image...
hdiutil create -ov -srcfolder cups.pkg cups-$version.dmg
echo Removing temporary files...
rm -rf $pkgdir