[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r13065: Backport: the alpha installer for osx has been through four (tor/branches/tor-0_1_2-patches/contrib/osx)
Author: phobos
Date: 2008-01-07 20:50:28 -0500 (Mon, 07 Jan 2008)
New Revision: 13065
Added:
tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonDesc.plist
tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonInfo.plist
Modified:
tor/branches/tor-0_1_2-patches/contrib/osx/Makefile.am
tor/branches/tor-0_1_2-patches/contrib/osx/ReadMe.rtf
tor/branches/tor-0_1_2-patches/contrib/osx/Tor
tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleDesc.plist.in
tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleInfo.plist.in
tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleWelcome.rtf
tor/branches/tor-0_1_2-patches/contrib/osx/TorPostflight
tor/branches/tor-0_1_2-patches/contrib/osx/TorPreFlight
tor/branches/tor-0_1_2-patches/contrib/osx/addsysuser
tor/branches/tor-0_1_2-patches/contrib/osx/package.sh
tor/branches/tor-0_1_2-patches/contrib/osx/package_list.txt
tor/branches/tor-0_1_2-patches/contrib/osx/uninstall_tor_bundle.sh
Log:
Backport: the alpha installer for osx has been through four release,
consider it well tested.
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/Makefile.am
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/Makefile.am 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/Makefile.am 2008-01-08 01:50:28 UTC (rev 13065)
@@ -8,5 +8,5 @@
TorInfo.plist.in TorStartupDesc.plist.in TorStartupInfo.plist \
package.sh privoxy.config TorPostflight addsysuser \
Tor_Uninstaller.applescript uninstall_tor_bundle.sh \
- package_list.txt tor_logo.gif \
- TorPreFlight
+ TorbuttonInfo.plist TorbuttonDesc.plist \
+ package_list.txt tor_logo.gif TorPreFlight
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/ReadMe.rtf
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/ReadMe.rtf 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/ReadMe.rtf 2008-01-08 01:50:28 UTC (rev 13065)
@@ -4,4 +4,4 @@
\margl1440\margr1440\vieww9000\viewh9000\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\f0\fs24 \cf0 Tor is a toolset for a wide range of organizations and people who want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, IRC, SSH, and more. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features.}
\ No newline at end of file
+\f0\fs24 \cf0 Tor is a toolset for a wide range of organizations and people who want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, IRC, SSH, and more. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features.}
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/Tor
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/Tor 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/Tor 2008-01-08 01:50:28 UTC (rev 13065)
@@ -26,21 +26,20 @@
OSVER=`/usr/bin/sw_vers | grep ProductVersion | cut -f2 | cut -d"." -f1,2`
case "$OSVER" in
"10.5") OS="leopard" ARCH="universal";;
- "10.4") OS="tiger" ARCH="universal";;
- "10.3") OS="panther" ARCH="ppc";;
- "10.2") OS="jaguar" ARCH="ppc";;
- "10.1") OS="puma" ARCH="ppc";;
- "10.0") OS="cheetah" ARCH="ppc";;
+ "10.4") OS="tiger" ARCH="universal";;
+ "10.3") OS="panther" ARCH="ppc";;
+ "10.2") OS="jaguar" ARCH="ppc";;
+ "10.1") OS="puma" ARCH="ppc";;
+ "10.0") OS="cheetah" ARCH="ppc";;
esac
else
OS="unknown"
fi
-
+
if [ $ARCH != "universal" ]; then
export EVENT_NOKQUEUE=1
fi
-
##
# Tor Service
##
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleDesc.plist.in
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleDesc.plist.in 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleDesc.plist.in 2008-01-08 01:50:28 UTC (rev 13065)
@@ -5,9 +5,9 @@
<key>IFPkgDescriptionDeleteWarning</key>
<string></string>
<key>IFPkgDescriptionDescription</key>
- <string>Bundled package of Tor @VERSION@ and Privoxy.</string>
+ <string>Bundled package of Tor @VERSION@, Privoxy 3.0.6, and Torbutton.</string>
<key>IFPkgDescriptionTitle</key>
- <string>Tor - Privoxy Bundle</string>
+ <string>Tor - Privoxy - Torbutton Bundle</string>
<key>IFPkgDescriptionVersion</key>
<string>@VERSION@</string>
</dict>
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleInfo.plist.in
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleInfo.plist.in 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleInfo.plist.in 2008-01-08 01:50:28 UTC (rev 13065)
@@ -38,6 +38,12 @@
<key>IFPkgFlagPackageSelection</key>
<string>selected</string>
</dict>
+ <dict>
+ <key>IFPkgFlagPackageLocation</key>
+ <string>torbutton.pkg</string>
+ <key>IFPkgFlagPackageSelection</key>
+ <string>selected</string>
+ </dict>
</array>
<key>IFPkgFormatVersion</key>
<real>0.10000000149011612</real>
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleWelcome.rtf
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleWelcome.rtf 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/TorBundleWelcome.rtf 2008-01-08 01:50:28 UTC (rev 13065)
@@ -1,23 +1,38 @@
-{\rtf1\mac\ansicpg10000\cocoartf102
-{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;}
+{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Oblique;\f2\fswiss\fcharset77 Helvetica-Bold;
+}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww9000\viewh9000\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
-\f0\fs24 \cf0 Welcome to Tor - Privoxy Bundle installer.\
-This will install Tor and privoxy in your computer.\
+\f0\fs24 \cf0 Welcome to Tor - Privoxy - Torbutton Bundle installer.\
+This will install Tor, Privoxy, and Torbutton in your computer.\
\
-\f1\b Tor and Privoxy are separate products.\
+\f1\i Tor, Privoxy, and Torbutton are separate products.\
They are packaged together for your convenience.
+\f2\i0\b \
+
\f0\b0 \
-\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Tor is a system for using the Internet anonymously, and allowing\
+
+\f2\b \cf0 Tor
+\f0\b0 is a system for using the Internet anonymously, and allowing\
others to do so.\
\
-For more information, please visit https://www.torproject.org/\
+ For more information, please visit https://www.torproject.org/\
\
-Privoxy stands between your web browser and Tor to make your web surfing experience safer.\
+
+\f2\b Privoxy
+\f0\b0 stands between your web browser and Tor to make your web surfing experience safer.\
\
-For more information, please visit http://www.privoxy.org/}
+ For more information, please visit http://www.privoxy.org/\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f2\b \cf0 Torbutton
+\f0\b0 is a 1-click way for Firefox users to enable or disable the browser's use of Tor.
+\f1\i Torbutton will not install if you do not have Firefox installed.
+\f0\i0 \
+\
+ For more information, please visit https://torbutton.torproject.org/}
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/TorPostflight
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/TorPostflight 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/TorPostflight 2008-01-08 01:50:28 UTC (rev 13065)
@@ -1,4 +1,37 @@
#!/bin/sh
+# ====================================================================
+# TorPostFlight is distributed under this license
+#
+# Copyright (c) 2006 Andrew Lewman
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+#
+# * Neither the names of the copyright owners nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# ======================================================================
# TorPostflight gets invoked after any install or upgrade.
@@ -13,6 +46,7 @@
TARGET=$2/Library/Tor
TORDIR=$TARGET/var/lib/tor
LOGFILE=/var/log/tor.log
+TORBUTTON_VERSION="1.0.4.01-fx+tb"
# Check defaults for TARGET
if [ "$TARGET" == "//Library/Tor" ]; then
@@ -55,8 +89,8 @@
ln -sf $TARGET/tor-resolve .
cd /usr/share/man/man1
-MAN1=$TARGET/man/man1
-ln -sf $MAN1/*.1 .
+MAN1=$TARGET/share/man/man1
+#ln -sf $MAN1/*.1 .
if [ -d /Library/StartupItems/Privoxy ]; then
find /Library/StartupItems/Privoxy -print0 | xargs -0 chown root:wheel
@@ -70,12 +104,12 @@
# Copy Uninstaller
if [ -f $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.applescript ]; then
cp $PACKAGE_PATH/Contents/Resources/Tor_Uninstaller.applescript $TARGET/Tor_Uninstaller.applescript
- chmod 555 $TARGET/Tor_Uninstaller.applescript
+ chmod 550 $TARGET/Tor_Uninstaller.applescript
fi
if [ -f $PACKAGE_PATH/Contents/Resources/uninstall_tor_bundle.sh ]; then
cp $PACKAGE_PATH/Contents/Resources/uninstall_tor_bundle.sh $TARGET/uninstall_tor_bundle.sh
- chmod 555 $TARGET/uninstall_tor_bundle.sh
+ chmod 550 $TARGET/uninstall_tor_bundle.sh
fi
if [ -f $PACKAGE_PATH/Contents/Resources/package_list.txt ]; then
@@ -86,3 +120,19 @@
rm -f /Library/StartupItems/Tor/Tor.loc
echo "$TARGET" > /Library/StartupItems/Tor/Tor.loc
fi
+
+if [ -f /Applications/Firefox.app/Contents/MacOS/firefox ]; then
+ if [ -f $TARGET/torbutton-$TORBUTTON_VERSION.xpi ]; then
+ /Applications/Firefox.app/Contents/MacOS/firefox -install-global-extension $TARGET/torbutton-$TORBUTTON_VERSION.xpi
+# The following is a kludge to get around the fact that the installer
+# runs as root. This means the Torbutton extension will install with
+# root permissions; thereby making uninstalling Torbutton from inside
+# Firefox impossible. The user will be caught in an endless loop of
+# uninstall -> automatic re-installation of Torbutton. The OSX
+# installer doesn't tell you the owner of Firefox, therefore we have to
+# parse it.
+ USR=`ls -alrt /Applications/Firefox.app/Contents/MacOS/extensions/ | tail -1 | awk '{print $3}'`
+ GRP=`ls -alrt /Applications/Firefox.app/Contents/MacOS/extensions/ | tail -1 | awk '{print $4}'`
+ chown -R $USR:$GRP /Applications/Firefox.app/Contents/MacOS/extensions/
+ fi
+fi
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/TorPreFlight
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/TorPreFlight 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/TorPreFlight 2008-01-08 01:50:28 UTC (rev 13065)
@@ -1,4 +1,40 @@
#!/bin/sh
+#
+# ===================================================================
+#
+# TorPreFlight is distributed under this license:
+#
+# Copyright (c) 2006 Andrew Lewman
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+#
+# * Neither the names of the copyright owners nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#===============================================================================
+
# TorPreFlight is invoked before the install begins
# Figure out where Tor is installed
@@ -16,8 +52,8 @@
# Backup all of Tor, just in case
if [ -d $TORPATH ]; then
- cp ${TORPATH}/torrc ${TORPATH}/torrc.installer-saved
- cp ${PRIVOXYPATH}/config ${PRIVOXYPATH}/config.installer-saved
- cp ${PRIVOXYPATH}/user.action ${PRIVOXYPATH}/user.action.installer-saved
+ cp $TORPATH/torrc $TORPATH/torrc.installer-saved
+ cp $PRIVOXYPATH/config $PRIVOXYPATH/config.installer-saved
+ cp $PRIVOXYPATH/user.action $PRIVOXYPATH/user.action.installer-saved
fi
Added: tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonDesc.plist
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonDesc.plist (rev 0)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonDesc.plist 2008-01-08 01:50:28 UTC (rev 13065)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>IFPkgDescriptionTitle</key>
+ <string>Torbutton Extension for Firefox</string>
+ <key>IFPkgDescriptionVersion</key>
+ <string>0.1</string>
+</dict>
+</plist>
Added: tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonInfo.plist
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonInfo.plist (rev 0)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/TorbuttonInfo.plist 2008-01-08 01:50:28 UTC (rev 13065)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleIdentifier</key>
+ <string>Torbutton Extension for Firefox</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Torbutton configuration for Tor</string>
+ <key>CFBundleName</key>
+ <string>Torbutton configuration for Tor</string>
+ <key>CFBundleSortVersionString</key>
+ <string>0.1</string>
+ <key>IFPkgFlagAuthorizationAction</key>
+ <string>RootAuthorization</string>
+ <key>IFPkgFlagRestartAction</key>
+ <string>RecommendedRestart</string>
+ <key>IFPkgFlagFollowLinks</key>
+ <true/>
+ <key>IFPkgFlagIsRequired</key>
+ <false/>
+</dict>
+</plist>
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/addsysuser
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/addsysuser 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/addsysuser 2008-01-08 01:50:28 UTC (rev 13065)
@@ -4,65 +4,80 @@
#
# Modified for Tor installer by Nick Mathewson
# 2007-06-12 Modified for leopard by Andrew Lewman
+# Copyright (c) 2007 Andrew Lewman
+#
ROOTPROP=/
if [ "`whoami`" != "root" ]; then
-echo "You must be root to execute this script."
-exit
+ echo "You must be root to execute this script."
+ exit
fi
if [ "x$3" = "x" ]; then
-echo 'Usage: addsysuser <username> "<full name>" <homedir>'
-exit 0
+ echo 'Usage: addsysuser <username> "<full name>" <homedir>'
+ exit 0
fi
+
username=$1
realname=$2
homedir=$3
+
if [ -x /usr/bin/dscl ]; then
- # Determine the gid of the daemon group
- gid=`dscl . -read /groups/daemon gid`
- if [ "x`dscl . -list /users|cut -f2 -d' '|grep $username`" != "x" ]; then
- echo The account $username already exists.
- exit 0
- fi
- # home is the local path to the home directory
- home=/Users/$username
- echo Creating account for $username...
- dscl . -create /users/$username
- dscl . -create /users/$username _writers_tim_passwd $username
- dscl . -create /users/$username realname $realname
- dscl . -create /users/$username _writers_passwd $username
- dscl . -create /users/$username gid $gid
- dscl . -create /users/$username home $homedir
- dscl . -create /users/$username name $username
- dscl . -create /users/$username passwd '*'
- dscl . -create /users/$username shell /dev/null
+ # Determine the gid of the daemon group
+ gid=`dscl . -read /groups/daemon gid`
+ if [ "x`dscl . -list /users|cut -f2 -d' '|grep $username`" != "x" ]; then
+ echo The account $username already exists.
+ exit 0
+ fi
+ if [ -x /usr/bin/nidump ]; then
+ uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`
+ else
+ _tmp=/tmp/_dsexport_tmp.txt.$$
+ rm -f $_tmp
+ dsexport $_tmp '/Local/Default' 'dsRecTypeStandard:Users' > /dev/null 2>&1
+ uiddef=`cat $_tmp | sed 's/\\\://g' | cut -d: -f6 | grep '^[0-9]' | sort -n | grep -v '^[56789]..' | grep -v '^....$' | tail -n 1`
+ rm -f $_tmp
+ fi
+ uiddef=`echo $uiddef + 1 | bc`
+ dscl . -create /users/$username uid $uiddef
+ # home is the local path to the home directory
+ home=/Users/$username
+ echo Creating account for $username...
+ dscl . -create /users/$username
+ dscl . -create /users/$username _writers_tim_passwd $username
+ dscl . -create /users/$username realname $realname
+ dscl . -create /users/$username _writers_passwd $username
+ dscl . -create /users/$username gid $gid
+ dscl . -create /users/$username home $homedir
+ dscl . -create /users/$username name $username
+ dscl . -create /users/$username passwd '*'
+ dscl . -create /users/$username shell /dev/null
else
- # Determine the gid of the daemon group
- gid=`niutil -readprop $ROOTPROP /groups/daemon gid`
- if [ "x`niutil -list $ROOTPROP /users|cut -f2 -d' '|grep $username`" != "x" ]; then
- echo The account $username already exists.
- exit 0
- fi
- # home is the local path to the home directory
- home=/Users/$username
- # defhome is what goes into NetInfo
- defhome="/Network/Servers/MyServer/Users"
- #echo "Determining next available system uid (please be patient)..."
- # Uids over 500 are for system users.
- uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`
- uiddef=`echo $uiddef + 1 |bc`
- echo Creating account for $username...
- niutil -create $ROOTPROP /users/$username
- niutil -createprop $ROOTPROP /users/$username _writers_tim_passwd $username
- niutil -createprop $ROOTPROP /users/$username realname $realname
- niutil -createprop $ROOTPROP /users/$username _writers_passwd $username
- niutil -createprop $ROOTPROP /users/$username uid $uiddef
- #niutil -createprop $ROOTPROP /users/$username home_loc "<home_dir><url>afp://afp.server.com/Users/</url><path>$username</path></home_dir>"
- niutil -createprop $ROOTPROP /users/$username gid $gid
- niutil -createprop $ROOTPROP /users/$username home $homedir
- niutil -createprop $ROOTPROP /users/$username name $username
- niutil -createprop $ROOTPROP /users/$username passwd '*'
- niutil -createprop $ROOTPROP /users/$username shell /dev/null
+ # Determine the gid of the daemon group
+ gid=`niutil -readprop $ROOTPROP /groups/daemon gid`
+ if [ "x`niutil -list $ROOTPROP /users|cut -f2 -d' '|grep $username`" != "x" ]; then
+ echo The account $username already exists.
+ exit 0
+ fi
+ # home is the local path to the home directory
+ home=/Users/$username
+ # defhome is what goes into NetInfo
+ defhome="/Network/Servers/MyServer/Users"
+ #echo "Determining next available system uid (please be patient)..."
+ # Uids over 500 are for system users.
+ uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`
+ uiddef=`echo $uiddef + 1 |bc`
+ echo Creating account for $username...
+ niutil -create $ROOTPROP /users/$username
+ niutil -createprop $ROOTPROP /users/$username _writers_tim_passwd $username
+ niutil -createprop $ROOTPROP /users/$username realname $realname
+ niutil -createprop $ROOTPROP /users/$username _writers_passwd $username
+ niutil -createprop $ROOTPROP /users/$username uid $uiddef
+ #niutil -createprop $ROOTPROP /users/$username home_loc "<home_dir><url>afp://afp.server.com/Users/</url><path>$username</path></home_dir>"
+ niutil -createprop $ROOTPROP /users/$username gid $gid
+ niutil -createprop $ROOTPROP /users/$username home $homedir
+ niutil -createprop $ROOTPROP /users/$username name $username
+ niutil -createprop $ROOTPROP /users/$username passwd '*'
+ niutil -createprop $ROOTPROP /users/$username shell /dev/null
fi
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/package.sh
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/package.sh 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/package.sh 2008-01-08 01:50:28 UTC (rev 13065)
@@ -1,6 +1,7 @@
#!/bin/sh
# $Id$
# Copyright 2004-2005 Nick Mathewson.
+# Copyright 2005-2008 Andrew Lewman
# See LICENSE in Tor distribution for licensing information.
# This script builds a Macintosh OS X metapackage containing 4 packages:
@@ -8,6 +9,7 @@
# - One for Privoxy.
# - One for a tor-specific privoxy configuration script.
# - One for Startup scripts for Tor.
+# - One for Torbutton, an extension for FireFox
#
# This script expects to be run from the toplevel makefile, with VERSION
# set to the latest Tor version, and Tor already built.
@@ -20,6 +22,11 @@
# privoxy lives somewhere else.
PRIVOXY_PKG_ZIP=~/tmp/privoxyosx_setup_3.0.6.zip
+# Where have we put the xpi and license for Torbutton? Edit this if your
+# torbutton and torbutton license live somewhere else.
+TORBUTTON_PATH=~/tmp/torbutton-1.0.4.01-fx+tb.xpi
+TORBUTTON_LIC_PATH=~/tmp/LICENSE
+
###
# Helpful info on OS X packaging:
# http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/index.html
@@ -66,11 +73,13 @@
torstartup_packageroot \
privoxyconf_packageroot \
torbundle_resources \
+ torbutton_packageroot \
output; do
mkdir $BUILD_DIR/$subdir
done
### Make Tor package.
+
make install DESTDIR=$BUILD_DIR/tor_packageroot
#mv $BUILD_DIR/tor_packageroot/Library/Tor/torrc.sample $BUILD_DIR/tor_packageroot/Library/Tor/torrc
cp contrib/osx/ReadMe.rtf $BUILD_DIR/tor_resources
@@ -139,17 +148,32 @@
### Make Startup Script package
- mkdir -p $BUILD_DIR/torstartup_packageroot/Library/StartupItems/Tor
- cp contrib/osx/Tor contrib/osx/StartupParameters.plist \
+mkdir -p $BUILD_DIR/torstartup_packageroot/Library/StartupItems/Tor
+cp contrib/osx/Tor contrib/osx/StartupParameters.plist \
$BUILD_DIR/torstartup_packageroot/Library/StartupItems/Tor
- find $BUILD_DIR/torstartup_packageroot -print0 | sudo xargs -0 chown root:wheel
- $PACKAGEMAKER -build \
- -p $BUILD_DIR/output/torstartup.pkg \
- -f $BUILD_DIR/torstartup_packageroot \
- -i contrib/osx/TorStartupInfo.plist \
- -d contrib/osx/TorStartupDesc.plist
+find $BUILD_DIR/torstartup_packageroot -print0 | sudo xargs -0 chown root:wheel
+$PACKAGEMAKER -build \
+ -p $BUILD_DIR/output/torstartup.pkg \
+ -f $BUILD_DIR/torstartup_packageroot \
+ -i contrib/osx/TorStartupInfo.plist \
+ -d contrib/osx/TorStartupDesc.plist
+
+### Make Torbutton Installation package
+
+mkdir -p $BUILD_DIR/torbutton_packageroot/Library/Torbutton
+cp $TORBUTTON_PATH $BUILD_DIR/torbutton_packageroot/Library/Torbutton/
+cp $TORBUTTON_LIC_PATH $BUILD_DIR/torbutton_packageroot/Library/Torbutton/Torbutton-LICENSE.txt
+
+find $BUILD_DIR/torbutton_packageroot -print0 | sudo xargs -0 chown root:wheel
+
+$PACKAGEMAKER -build \
+ -p $BUILD_DIR/output/torbutton.pkg \
+ -f $BUILD_DIR/torbutton_packageroot \
+ -i contrib/osx/TorbuttonInfo.plist \
+ -d contrib/osx/TorbuttonDesc.plist
+
### Assemble the metapackage. Packagemaker won't buld metapackages from
# the command line, so we need to do it by hand.
@@ -175,6 +199,7 @@
cp $PRIVOXY_RESDIR/ReadMe.txt $BUILD_DIR/output/Privoxy\ ReadMe.txt
cp contrib/osx/ReadMe.rtf $BUILD_DIR/output/Tor\ ReadMe.rtf
cp LICENSE $BUILD_DIR/output/Tor\ License.txt
+cp $TORBUTTON_LIC_PATH $BUILD_DIR/output/Torbutton_LICENSE.txt
### Package it all into a DMG
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/package_list.txt
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/package_list.txt 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/package_list.txt 2008-01-08 01:50:28 UTC (rev 13065)
@@ -3,3 +3,4 @@
torstartup
privoxyconf
Vidalia
+torbutton
Modified: tor/branches/tor-0_1_2-patches/contrib/osx/uninstall_tor_bundle.sh
===================================================================
--- tor/branches/tor-0_1_2-patches/contrib/osx/uninstall_tor_bundle.sh 2008-01-07 20:58:13 UTC (rev 13064)
+++ tor/branches/tor-0_1_2-patches/contrib/osx/uninstall_tor_bundle.sh 2008-01-08 01:50:28 UTC (rev 13065)
@@ -33,11 +33,9 @@
## (ie "Tor", "torstartup", ...) the list should be new-line-delimited.
PACKAGE_LIST_SRC=./package_list.txt
-
### this is the name of the user created in the install process of Tor
TOR_USER=_tor
-
### these should be constant across all osX installs (so leave them be)
STARTUP_ITEMS_DIR=/Library/StartupItems
PKG_RCPT_BASE_DIR=/Library/Receipts
@@ -45,7 +43,6 @@
INFO_INTERMEDIATE_DIR=$BOM_INTERMEDIATE_DIR/English.lproj
TEMP_BOM_CONTENTS=/tmp/tor_uninst_scratch
-
### make sure the script is being run as root, barf if not
if [ "`whoami`" != "root" ]; then
echo "Must be root to run the uninstall script."
@@ -134,11 +131,10 @@
niutil -destroy . /users/$TOR_USER
fi
-
## clean up
echo ". Cleaning up"
rm -rf $TEMP_BOM_CONTENTS
-rm -rf /Library/Privoxy/ /Library/StartupItems/Privoxy/ /Library/Tor/ /Library/StartupItems/Tor/
+rm -rf /Library/Privoxy/ /Library/StartupItems/Privoxy/ /Library/Tor/ /Library/StartupItems/Tor/ /Library/Torbutton/
echo ". Finished"