blob: 1b80a2cdedd520d9d6983574e369fa389f6a64a8 (
plain)
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
|
#!/bin/sh
GIT=${GIT-git}
PATCH=${PATCH-patch}
SED=${SED-sed}
repo=
tag=2.32.4
commit=n
usage()
{
cat << EOF
Usage:
$0 [OPTIONS] REPO [TAG]
Fetch archive of TAGged version of glib from local checkout at REPO
Options:
-c, --commit commit snapshot after each change
-h, --help display this help and exit
If TAG is not specified, $tag is used
EOF
}
while [ -n "$1" ]; do
case "$1" in
-c|--commit)
commit=y
;;
-h|--help)
usage
exit
;;
-*)
echo "$0: unrecognized option '$1'" >&2
echo "Try '$0 --help' for more information." >&2
exit 1
;;
*)
# end of options
break
;;
esac
shift
done
repo=$1
[ -z "$2" ] || tag=$2
# Remove previous snapshot
if [ -d glib ]; then
echo "removing previous glib snapshot"
rm -rf glib
fi
# Create new snapshot
echo "creating new snapshot of $repo tag $tag"
(cd "$repo" && $GIT archive --format=tar --prefix=glib/ "$tag") | \
tar -xf - || exit $?
if [ $commit = y ]; then
$GIT add glib
$GIT commit -q \
-m "glib: creating new snapshot of $repo tag $tag" -- glib
fi
# Prune parts we don't want
echo "removing unneeded directories and files"
rm -rf \
glib/debian \
glib/docs \
glib/po \
glib/tests \
glib/glib/tests \
glib/build \
glib/gmodule \
glib/gthread \
glib/gobject \
glib/gio \
glib/glib/pcre \
glib/glib/update-pcre
rm -f \
glib/autogen.sh \
glib/INSTALL.in \
glib/README.commits \
glib/HACKING \
glib/NEWS.pre-1-3 \
glib/README.win32 \
glib/config.h.win32.in \
glib/glib-zip.in \
glib/sanity_check \
glib/glib/glib.stp \
glib/glib/glib_probes.d \
glib/glib/glibconfig.h.win32.in \
glib/msvc_recommended_pragmas.h \
glib/win32-fixup.pl \
glib/glib/libglib-gdb.py.in
find glib -name 'makefile.msc*' | xargs rm -f
find glib -name 'ChangeLog*' | xargs rm -f
find glib -name '*.pc.in' | xargs rm -f
[ $commit = y ] && $GIT commit -q \
-m "glib: removing unneeded directories and files" -- glib
# Apply patches
patches=`grep '^[^#]' glib-patches/patchlist 2>/dev/null`
for p in $patches; do
echo "applying patch glib-patches/$p"
$PATCH -p1 -i glib-patches/$p || exit $?
[ $commit = y ] && $GIT commit -q \
-m "glib: applying patch glib-patches/$p" -- glib
done
echo "snapshot successfully updated"
|