forked from php/php-gtk-src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
makedist
executable file
·113 lines (93 loc) · 2.66 KB
/
makedist
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
#!/bin/sh
#
# Distribution generator for CVS based packages.
# To work, this script needs a consistent tagging of all releases.
# Each release of a package should have a tag of the form
#
# <package>_<version>
#
# where <package> is the package name and the CVS module
# and <version> s the version number with underscores instead of dots.
#
# For example: cvs tag php_3_0a1
#
# The distribution ends up in a .tar.gz file that contains the distribution
# in a directory called <package>-<version>. The distribution contains all
# directories from the CVS module except the one called "nodist", but only
# the files INSTALL, README and config* are included.
#
# Since you can no longer set the CVS password via an env variable, you
# need to have previously done a cvs login for the server and user id
# this script uses so it will have an entry in your ~/.cvspasswd file.
#
# Usage: makedist <package> <version>
#
# Written by Stig Bakken <ssb@guardian.no> 1997-05-28.
# Modified by Andrei Zmievski <andrei@php.net> 2001-03-01
#
# $Id$
#
if test "$#" != "2"; then
echo "Usage: makedist <package> <version>" >&2
exit 1
fi
PKG=$1 ; shift
VER=$1 ; shift
PHPROOT=:pserver:cvsread@cvs.php.net:/repository
PHPGTKMOD=php-gtk
if echo '\c' | grep -s c >/dev/null 2>&1
then
ECHO_N="echo -n"
ECHO_C=""
else
ECHO_N="echo"
ECHO_C='\c'
fi
MY_OLDPWD=`pwd`
# the destination .tar.gz file
ARCHIVE=$MY_OLDPWD/$PKG-$VER.tar
# temporary directory used to check out files from CVS
DIR=$PKG-$VER
DIRBUILD=$PKG-$VER-build
DIRPATH=$MY_OLDPWD/$DIR
if test -d "$DIRPATH"; then
echo "The directory $DIR"
echo "already exists, rename or remove it and run makedist again."
exit 1
fi
# version part of the CVS release tag
CVSVER=`echo $VER | sed -e 's/[\.\-]/_/g'`
CVSPKG=`echo $PKG | sed -e 's/[^a-zA-Z_]/_/g'`
# CVS release tag
CVSTAG=${CVSPKG}_$CVSVER
if test ! -d $DIRPATH; then
mkdir -p $DIRPATH || exit 2
fi
# Export PHP-GTK
$ECHO_N "makedist: exporting tag '$CVSTAG' from '$PHPGTKMOD'...$ECHO_C"
cvs -z 9 -d $PHPROOT -Q export -d $DIR -r $CVSTAG $PHPGTKMOD || exit 4
echo ""
cp -r $DIR $DIRBUILD
cd $DIRBUILD || exit 3
./buildconf
./configure
make gen-sources
for x in `find ext -name gen\*.\[ch\]`; do
extpath=`dirname $x`
echo "Copying $x to dist dir"
cp $x $DIRPATH/$extpath
done
cd $MY_OLDPWD
rm -rf $DIRBUILD
cd $DIR || exit 3
# remove CVS stuff...
find . \( -name CVS -o -name makedist -o -name cvsclean -o -name .cvsignore \) -exec rm -rf {} \;
cd $MY_OLDPWD
$ECHO_N "makedist: making gzipped tar archive...$ECHO_C"
tar cf $ARCHIVE $PKG-$VER || exit 4
gzip -9 $ARCHIVE || exit 5
echo ""
$ECHO_N "makedist: cleaning up...$ECHO_C"
rm -rf $DIRPATH || exit 6
echo ""
exit 0