-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxorg-pkg-all.sh
executable file
·156 lines (139 loc) · 2.82 KB
/
xorg-pkg-all.sh
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#!/bin/bash
RELEASE=gutsy
# TODO: These lists ought to be wget'ed off of git.debian.org
LIB_PACKAGES="\
libdmx \
libdrm \
libfontenc \
libfs \
libice \
libpciaccess \
libsm \
libx11 \
libxau \
libxaw \
libcomposite \
libxcursor \
libxdamage \
libxdmcp \
libxevie \
libxext \
libxfixes \
libxfont \
libxfontcache \
libxi \
libxinerama \
libxkbfile \
libxkbui \
libxmu \
libxp \
libxpm \
libxprintapputil \
libxprintutil \
libxrandr \
libxrender \
libxres \
libxt \
libxtrap \
libxtst \
libxv \
libxvmc \
libxxf86dga \
libxxf86misc \
libxxf86vm \
mesa \
pixman \
xft \
xtrans"
PROTO_PACKAGES="\
x11proto-bigreqs \
x11proto-composite \
x11proto-core \
x11proto-damage \
x11proto-dmx \
x11proto-evie \
x11proto-fixes \
x11proto-fontcache \
x11proto-fonts \
x11proto-gl \
x11proto-input \
x11proto-kb \
x11proto-print \
x11proto-randr \
x11proto-record \
x11proto-render \
x11proto-resource \
x11proto-scrnsaver \
x11proto-trap \
x11proto-video \
x11proto-xcmisc \
x11proto-xext \
x11proto-xf86bigfont \
x11proto-xf86dga \
x11proto-xf86dri \
x11proto-xf86misc \
x11proto-xf86vidmode \
x11proto-xinerama"
# These packages don't come from X.org upstream
UNKNOWN="\
libxss"
PACKAGES="$PROTO_PACKAGES $LIB_PACKAGES"
DEST="/srv/XorgAutoPackage"
TAG="0ubuntu0bwh"
function auto_xorg_git() {
package=$1
LOGNUM=$(( LOGNUM + 1 ))
./auto-xorg-git -fn \
$DROP_DEBIAN_PATCHES \
$MERGE_STRATEGY \
-p $package \
-a $TAG \
-d $DEBIANREPO \
-r $RELEASE \
-w $DEST \
> $DEST/$package.$LOGNUM.log 2>&1
}
for PKG in $PACKAGES; do
LOGNUM=0
# Merge from debian experimental
DROP_DEBIAN_PATCHES=""
DEBIANREPO="origin/debian-experimental"
MERGE_STRATEGY=""
if auto_xorg_git $PKG ; then
echo "OKAY: $PKG in $DEBIANREPO"
continue
fi
# Merge from debian unstable
DROP_DEBIAN_PATCHES=""
DEBIANREPO="debian-unstable"
MERGE_STRATEGY=""
if auto_xorg_git $PKG ; then
echo "OKAY: $PKG in $DEBIANREPO"
continue
fi
# Try debian experimental, but drop patches
DROP_DEBIAN_PATCHES="-D"
DEBIANREPO="origin/debian-experimental"
MERGE_STRATEGY=""
if auto_xorg_git $PKG ; then
echo "OKAY: $PKG in $DEBIANREPO, dropping Debian patches"
continue
fi
# Try debian unstable, using resolve strategy
DROP_DEBIAN_PATCHES=""
DEBIANREPO="debian-unstable"
MERGE_STRATEGY="-S resolve"
if auto_xorg_git $PKG ; then
echo "OKAY: $PKG in $DEBIANREPO, using merge strategy 'recursive'"
continue
fi
# Try debian unstable, dropping patches
DROP_DEBIAN_PATCHES="-D"
DEBIANREPO="debian-unstable"
MERGE_STRATEGY=""
if auto_xorg_git $PKG ; then
echo "OKAY: $PKG in $DEBIANREPO, dropping Debian patches"
continue
fi
echo "FAIL: $PKG packaging"
done