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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
|
#!/bin/sh
set -e
. /usr/share/debconf/confmodule
file="$1"
log() {
logger -t apt-setup "$@"
}
warning() {
log "warning: $@"
}
# Ask if a mirror should be used if the base system can be installed from CD
if [ -e /cdrom/.disk/base_installable ] || [ "$OVERRIDE_BASE_INSTALLABLE" ]; then
if ! search-path choose-mirror; then
warning "choose-mirror is not available; cannot offer network mirror"
exit 1
fi
# Set default if no value (see Debian mirror generator)
db_get apt-setup/use_mirror
[ "$RET" ] || db_set apt-setup/use_mirror true
# Text is variable for Debian
db_metaget apt-setup/use/netinst_old description
db_subst apt-setup/use_mirror EXPLANATION "$RET"
db_input medium apt-setup/use_mirror || [ $? -eq 30 ]
db_go # or exit 10
db_get apt-setup/use_mirror
if [ "$RET" = false ]; then
exit 1
fi
if db_get cdrom/codename && [ "$RET" ]; then
db_set mirror/codename $RET
fi
if db_get cdrom/suite && [ "$RET" ]; then
db_set mirror/suite $RET
fi
choose-mirror -n # no progress bar
db_capb backup progresscancel
fi
STATE=1
while :; do
case "$STATE" in
1)
db_input low apt-setup/restricted || true
;;
2)
db_input low apt-setup/universe || true
;;
3)
db_input low apt-setup/multiverse || true
;;
4)
db_input low apt-setup/backports || true
;;
*)
break
;;
esac
if db_go; then
STATE=$(($STATE + 1))
else
STATE=$(($STATE - 1))
fi
done
if [ $STATE -eq 0 ]; then
exit 10
fi
dists="main"
alldists="main"
db_get apt-setup/restricted
if [ "$RET" = true ]; then
dists="$dists restricted"
alldists="$alldists restricted"
else
# Remove restricted from any previous cdrom entry if necessary.
for srcfile in $ROOT/etc/apt/sources.list.base \
$ROOT/etc/apt/sources.list.new; do
if [ -e "$srcfile" ]; then
sed -i '/deb cdrom:/s/ restricted//g' "$srcfile"
fi
done
fi
db_get mirror/protocol
protocol="$RET"
db_get mirror/codename
codename="$RET"
db_get mirror/$protocol/hostname
hostname="$RET"
db_get mirror/$protocol/directory
directory="/${RET#/}"
# Awful hack. Source for ports architectures is only available on
# archive.ubuntu.com, not ports.ubuntu.com.
if [ "$hostname" = ports.ubuntu.com ]; then
srchostname=archive.ubuntu.com
srcdirectory=/ubuntu
else
srchostname="$hostname"
srcdirectory="$directory"
fi
case $protocol in
http|https)
db_get mirror/$protocol/proxy
proxy="$RET"
if [ -n "$proxy" ]; then
if ! grep -iq "Acquire::$protocol::Proxy" $ROOT/etc/apt/apt.conf.new; then
echo "Acquire::$protocol::Proxy \"$proxy\";" >> $ROOT/etc/apt/apt.conf.new
fi
fi
;;
esac
db_get apt-setup/proposed
PROPOSED="$RET"
cat >> $file <<EOF
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb $protocol://$hostname$directory $codename $dists
deb-src $protocol://$srchostname$srcdirectory $codename $dists
## Major bug fix updates produced after the final release of the
## distribution.
deb $protocol://$hostname$directory $codename-updates $dists
deb-src $protocol://$srchostname$srcdirectory $codename-updates $dists
EOF
if [ "$PROPOSED" = true ]; then
cat >> $file <<EOF
## Proposed updates undergoing testing.
deb $protocol://$hostname$directory $codename-proposed $dists
deb-src $protocol://$srchostname$srcdirectory $codename-proposed $dists
EOF
fi
# Even if universe isn't enabled, we write example lines for it.
echo >> $file
if db_get apt-setup/universe && [ "$RET" = true ]; then
alldists="$alldists universe"
COMMENT=
else
cat >> $file <<EOF
## Uncomment the following two lines to add software from the 'universe'
## repository.
EOF
COMMENT='# '
fi
cat >> $file <<EOF
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
${COMMENT}deb $protocol://$hostname$directory $codename universe
${COMMENT}deb-src $protocol://$srchostname$srcdirectory $codename universe
${COMMENT}deb $protocol://$hostname$directory $codename-updates universe
${COMMENT}deb-src $protocol://$srchostname$srcdirectory $codename-updates universe
EOF
if [ "$PROPOSED" = true ]; then
cat >> $file <<EOF
${COMMENT}deb $protocol://$hostname$directory $codename-proposed universe
${COMMENT}deb-src $protocol://$srchostname$srcdirectory $codename-proposed universe
EOF
fi
# Multiverse is different, don't write anything unless enabled.
if db_get apt-setup/multiverse && [ "$RET" = true ]; then
alldists="$alldists multiverse"
cat >> $file <<EOF
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb $protocol://$hostname$directory $codename multiverse
deb-src $protocol://$srchostname$srcdirectory $codename multiverse
deb $protocol://$hostname$directory $codename-updates multiverse
deb-src $protocol://$srchostname$srcdirectory $codename-updates multiverse
EOF
if [ "$PROPOSED" = true ]; then
cat >> $file <<EOF
deb $protocol://$hostname$directory $codename-proposed multiverse
deb-src $protocol://$srchostname$srcdirectory $codename-proposed multiverse
EOF
fi
fi
# Even if the backports repository isn't enabled, we write example lines for
# it.
echo >> $file
if db_get apt-setup/backports && [ "$RET" = true ]; then
COMMENT=
else
cat >> $file <<EOF
## Uncomment the following two lines to add software from the 'backports'
## repository.
EOF
COMMENT='# '
fi
cat >> $file <<EOF
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
${COMMENT}deb $protocol://$hostname$directory $codename-backports $alldists
${COMMENT}deb-src $protocol://$srchostname$srcdirectory $codename-backports $alldists
EOF
apt-setup-signed-release archive.ubuntu.com "$file"
exit 0
|