File: build.panther

package info (click to toggle)
python2.3 2.3.5-3sarge2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 43,908 kB
  • ctags: 81,384
  • sloc: ansic: 266,250; python: 246,028; makefile: 4,194; perl: 3,702; lisp: 3,630; sh: 2,576; xml: 1,601; objc: 740; cpp: 106; sed: 2
file content (139 lines) | stat: -rwxr-xr-x 3,898 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/bin/sh -e
#----------------------------------------------------------------------
# Build the MacPython 2.3 extensions for an installation to run
# on the pre-installed 2.3 framework build on OSX 10.3

# TODO:  Parameterize the versions, builddirs, etc...

# Script configs
PYVERSION=2.3
PYVER=2.3
BUILDNUM=3
DOCLEANUP=no

PROGDIR="`dirname \"$0\"`"
case x$PROGDIR in
x|x.) PROGDIR=`pwd` ;;
x/*) ;;
*) echo "Please run with a full pathname"
   exit 1
   ;;
esac

if [ ! -e /usr/bin/python ]; then
	echo "No /usr/bin/python; this script expects to be run on 10.3 only"
	exit 1
fi
vers=`/usr/bin/python -V 2>&1`
if [ "$vers" != "Python 2.3" ]; then
    echo "/usr/bin/python is not version 2.3; this script expects to be run on 10.3 only"
    exit 1
fi

TMPDIR=/tmp/_py
#TMPDIR=/projects/_py

INSTALLROOT=$TMPDIR/install
DMGDIR=$TMPDIR/dmg
RESOURCEDIR=$PROGDIR/resources.panther
DESTDIR=$TMPDIR/dist
PYTHONSRC=$PROGDIR/../../..
PYTHONOSXDIR=$PYTHONSRC/Mac/OSX
WASTEDIR=$PYTHONSRC/../waste

rm -rf $DMGDIR
if [ ! -e $TMPDIR ]; then
	mkdir $TMPDIR
fi
chgrp admin $TMPDIR
mkdir -p $DMGDIR/root


# Ask the user whether s/he has edited Welcome.txt
read -p "Have you updated $RESOURCEDIR/Welcome.txt (Y/n)? " welcome

if [ "$welcome" = "n" -o "$welcome" = "N" ]; then
	echo "Please do so and retry"
	exit
fi

# Make the installation directories
mkdir -p $INSTALLROOT/Applications
mkdir -p $INSTALLROOT/Library/Python/$PYVER

# Make a temporary site-packages symlink
mkdir -p $INSTALLROOT/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/
ln -s $INSTALLROOT/Library/Python/$PYVER $INSTALLROOT/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages

pushd $PYTHONOSXDIR

# Check that the Apple Python 2.3 Makefile fixes have been applied on this
# machine
if python fixapplepython23.py -n; then
    :
else
    echo
    echo The additions installer will also install a fix to Apple-installed 2.3
    echo to make building extensions work in the face of other Pythons.
    echo But this system needs to have that fix to be able to put it in the installer.
    echo
    echo Please run $PYTHONOSXDIR/fixapplepython23.py to install the fix.
    exit
fi

make -f Makefile.panther DIRMODE=775 EXEMODE=775 FILEMODE=664 DESTDIR=$INSTALLROOT

# Remove the temporary symlink
rm -r $INSTALLROOT/System

# Install the Makefile fixes
config=System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/config
(cd / ; tar cf - $config/Makefile $config/PantherPythonFix) | (cd $INSTALLROOT; tar xf -)

# Unfortunately all the ...MODE arguments above still don't do the trick.
# Cop out, and recursively set everything group-writeable.
chmod -R ug+w $INSTALLROOT

popd

# Make the Installer package:

# Finally, build the package...
rm -rf MacPython-Panther.pkg
python $PYTHONSRC/Mac/scripts/buildpkg.py \
    --Title=MacPython-Panther \
    --Version=$PYVERSION-$BUILDNUM \
    --Description="MacPython $PYVERSION tools and additions for Mac OS X 10.3" \
    --NeedsAuthorization="YES" \
    --Relocatable="NO" \
    --InstallOnly="YES" \
    --UseUserMask="NO" \
    $INSTALLROOT \
    $RESOURCEDIR

#    --RootVolumeOnly="YES" \

# ...and then make a disk image containing the package.
mv MacPython-Panther.pkg $DMGDIR/root
cp $RESOURCEDIR/ReadMe.txt $DMGDIR/root/ReadMe.txt
$PROGDIR/makedmg $DMGDIR/root $DMGDIR MacPython-Panther-$PYVERSION-$BUILDNUM

echo Moving $DMGDIR/MacPython-Panther-$PYVERSION-$BUILDNUM to $DESTDIR
if [ ! -e $DESTDIR ]; then
    mkdir $DESTDIR
fi
mv $DMGDIR/MacPython-Panther-$PYVERSION-$BUILDNUM.dmg $DESTDIR


# Cleanup build/install dirs
if [ $DOCLEANUP = yes ]; then
    echo "Cleaning up..."
    rm -rf $INSTALLROOT
    rm -rf $DMGDIR
else
    echo "Cleanup is disabled.  You should remove these dirs when done:"
    echo "          $INSTALLROOT"
    echo "          $DMGDIR"
fi
echo "Your installer can be found in $DESTDIR"