2 # $Id: package.sh 8992 2006-12-23 03:12:09Z phobos $
3 # Copyright 2004-2005 Nick Mathewson & Andrew Lewman.
4 # Copyright 2005-2008 Andrew Lewman
5 # This is licensed under the Modified BSD License.
8 # Helpful info on OS X packaging:
9 # http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/index.html
14 ## Determine OSX Version
16 if [ -x /usr
/bin
/sw_vers
]; then
17 # This is poor, yet functional. We don't care about the 3rd number in
19 OSVER
=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 | cut -d"." -f1,2`
21 "10.5") OS
="leopard" ARCH
="universal";;
22 "10.4") OS
="tiger" ARCH
="universal";;
23 "10.3") OS
="panther" ARCH
="ppc";;
24 "10.2") OS
="jaguar" ARCH
="ppc";;
25 "10.1") OS
="puma" ARCH
="ppc";;
26 "10.0") OS
="cheetah" ARCH
="ppc";;
33 # Where will we put our temporary files?
34 BUILD_DIR
=/tmp
/polipo-osx-$$
35 # Path to PackageMaker app.
36 PACKAGEMAKER
=/Developer
/Applications
/Utilities
/PackageMaker.app
/Contents
/MacOS
/PackageMaker
40 echo I might ask you
for your password now
, so you can sudo.
42 sudo
rm -rf $BUILD_DIR
43 mkdir
$BUILD_DIR ||
exit 1
44 for subdir
in polipo_packageroot output
; do
45 mkdir
$BUILD_DIR/$subdir
48 ### Make Polipo package.
49 chmod 755 contrib
/PolipoPostflight
50 mkdir
-p $BUILD_DIR/polipo_packageroot
/Library
/Polipo
/
51 cp polipo
$BUILD_DIR/polipo_packageroot
/polipo
52 cp config.sample
$BUILD_DIR/polipo_packageroot
/config
53 cp contrib
/PolipoPostflight
$BUILD_DIR/polipo_packageroot
/postflight
54 cp contrib
/addsysuser
$BUILD_DIR/polipo_packageroot
/addsysuser
55 cp contrib
/uninstall_polipo_bundle.sh
$BUILD_DIR/polipo_packageroot
/uninstall_polipo_bundle.sh
56 cp localindex.html
$BUILD_DIR/polipo_packageroot
/index.html
57 cat <<EOF > $BUILD_DIR/polipo_packageroot/Welcome.txt
58 Polipo: a caching web proxy
60 Polipo is a small and fast caching web proxy (a web cache, an HTTP
61 proxy, a proxy server).
64 ### Assemble documentation
66 groff polipo.man
-T ps
-m man | pstopdf
-i -o $BUILD_DIR/polipo_packageroot
/polipo.pdf
67 texi2html polipo.texi
&& cp polipo.html
$BUILD_DIR/polipo_packageroot
/polipo.html
69 find $BUILD_DIR/polipo_packageroot
-print0 |sudo
xargs -0 chown root
:wheel
71 $PACKAGEMAKER -build \
72 -p $BUILD_DIR/output
/Polipo.pkg \
73 -f $BUILD_DIR/polipo_packageroot \
74 -i contrib
/PolipoInfo.plist \
75 -d contrib
/PolipoDesc.plist
77 ### Package it all into a DMG
79 find $BUILD_DIR/output
-print0 | sudo
xargs -0 chown root
:wheel
81 mv $BUILD_DIR/output
"$BUILD_DIR/Polipo-$VERSION-$OS-$ARCH"
82 rm -f "Polipo-$VERSION-$OS-$ARCH-Bundle.dmg"
84 sudo hdiutil create
-format UDZO
-srcfolder "$BUILD_DIR/Polipo-$VERSION-$OS-$ARCH" "Polipo-$VERSION-$OS-$ARCH.dmg"
85 sudo chown
"$USER" "Polipo-$VERSION-$OS-$ARCH.dmg"
87 #sudo rm -rf $BUILD_DIR