4 ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
5 ## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
8 # vim:set et ts=4 sw=4:
9 # Copyright © 2010 Marc Brockschmidt <he@debian.org>
10 # Copyright © 2010 Andreas Barth <aba@not.so.argh.org>
11 # Copyright © 2010 Philipp Kern <pkern@debian.org>
13 # buildd is free software: you can redistribute it and/or modify it
14 # under the terms of the GNU General Public License as published by
15 # the Free Software Foundation, either version 2 of the License, or
16 # (at your option) any later version.
18 # buildd is distributed in the hope that it will be useful, but
19 # WITHOUT ANY WARRANTY; without even the implied warranty of
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 # General Public License for more details.
23 # You should have received a copy of the GNU General Public License
24 # along with this program. If not, see
25 # <http://www.gnu.org/licenses/>.
27 #####################################################################
32 [ "$CHROOT_PROFILE" = "buildd" ] || exit 0
34 . "$SETUP_DATA_DIR/common-data"
35 . "$SETUP_DATA_DIR/common-functions"
36 . "$SETUP_DATA_DIR/common-config"
38 # The test below tries to determine if a source chroot is being used.
39 # The apt configuration is generated only for non-source chroots.
41 # It originally tested CHROOT_SESSION_PURGE, but while it works for
42 # LVM based chroots, it doesn't for tar based chroots which always
43 # needed to be purged.
45 # Future versions of schroot will implement CHROOT_SESSION_SOURCE for
46 # a more robust way to check for source chroots.
48 # See bug#718127 for more details.
49 if ! echo "$CHROOT_DESCRIPTION" | grep -q '(source chroot)' ; then
50 CHROOT_ALIAS="${CHROOT_ALIAS/#experimental-/sid-experimental-}"
52 +([^-])-kfreebsd-+([^-])-kfreebsd-*-sbuild*)
53 SUITE_BASE=$(echo $CHROOT_ALIAS | cut -f1-2 -d-)
54 SUITE_VARIANT=$(echo $CHROOT_ALIAS | cut -f3 -d-)
56 +([^-])-kfreebsd-kfreebsd-*-sbuild*)
57 SUITE_BASE=$(echo $CHROOT_ALIAS | cut -f1-2 -d-)
58 if [ ${SUITE_BASE} != "sid" ]; then
59 SUITE_VARIANT="proposed-updates"
62 +([^-])-+([^-])-@(kfreebsd|hurd)-*-sbuild*)
63 SUITE_BASE=$(echo $CHROOT_ALIAS | cut -f1 -d-)
64 SUITE_VARIANT=$(echo $CHROOT_ALIAS | cut -f2 -d-)
67 SUITE_BASE=$(echo $CHROOT_ALIAS | cut -f1 -d-)
68 SUITE_VARIANT=$(echo $CHROOT_ALIAS | cut -f2,3 -d-)
70 +([^-])-@(kfreebsd|hurd)-*-sbuild*)
71 SUITE_BASE=$(echo $CHROOT_ALIAS | cut -f1 -d-)
72 if [ ${SUITE_BASE} != "sid" ]; then
73 SUITE_VARIANT="proposed-updates"
77 SUITE_BASE=$(echo $CHROOT_ALIAS | cut -f1 -d-)
78 SUITE_VARIANT=$(echo $CHROOT_ALIAS | cut -f2 -d-)
81 SUITE_BASE=$(echo $CHROOT_ALIAS | cut -f1 -d-)
82 if [ ${SUITE_BASE} != "sid" ]; then
83 SUITE_VARIANT="proposed-updates"
90 if [ "$AUTH_VERBOSITY" = "verbose" ]; then
94 if [ -f /etc/schroot/dsa/default-mirror ]; then
95 debian_mirror=$(cat /etc/schroot/dsa/default-mirror)
96 elif [ -f /etc/schroot/conf.buildd ]; then
97 . /etc/schroot/conf.buildd
100 function domirror() {
101 for SUITE in ${SUITES:-SUITE}; do
102 echo deb $1 | sed -e "s,COMPONENT,${COMPONENT}," -e "s,SUITE,${SUITE}," >> $2
103 echo deb-src $1 | sed -e "s,COMPONENT,${COMPONENT_SRC}," -e "s,SUITE,${SUITE}," >> $2
107 if [ "$1" = "setup-start" ] || [ "$1" = "setup-recover" ]; then
108 if [ -n "${SUITE_BASE}" ] && ( [ -f /etc/schroot/conf.buildd ] || [ -f /etc/schroot/dsa/default-mirror ] ); then
109 APT_LIST="${CHROOT_PATH}/etc/apt/sources.buildd.list"
110 APT_CONF="${CHROOT_PATH}/etc/apt/apt.conf.d/99buildd.conf"
112 rm -f "${APT_LIST}" "${APT_CONF}"
114 COMPONENT="main contrib"
115 COMPONENT_SRC="main contrib non-free"
117 if [ "${SUITE_VARIANT}" = 'proposed-updates' ]; then
118 SUITES="${SUITE_BASE} ${SUITE_BASE}-proposed-updates"
119 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} SUITE COMPONENT" ${APT_LIST}
120 domirror "http://ftp.debian.org/debian SUITE COMPONENT" ${APT_LIST}
121 if [ "${debian_incoming}" != 'no' ]; then
122 SUITES="${SUITE_BASE}-proposed-updates"
123 domirror "http://incoming.debian.org/debian-buildd buildd-SUITE COMPONENT" ${APT_LIST}
126 elif [ "${SUITE_VARIANT}" = 'lts' ]; then
127 SUITES="${SUITE_BASE} ${SUITE_BASE}-lts"
128 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} SUITE COMPONENT" ${APT_LIST}
129 domirror "http://ftp.debian.org/debian SUITE COMPONENT" ${APT_LIST}
130 if [ "${debian_incoming}" != 'no' ]; then
131 SUITES="${SUITE_BASE}-lts"
132 domirror "http://incoming.debian.org/debian-buildd buildd-SUITE COMPONENT" ${APT_LIST}
135 elif [ "${SUITE_VARIANT}" = 'security' ]; then
136 SUITES="${SUITE_BASE}"
137 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} ${SUITE_BASE} COMPONENT" ${APT_LIST}
138 domirror "http://ftp.debian.org/debian ${SUITE_BASE} COMPONENT" ${APT_LIST}
139 [ -n "${security_mirror}" ] && domirror "${security_mirror} ${SUITE_BASE}/updates COMPONENT" ${APT_LIST}
140 domirror "https://security-master.debian.org/debian-security ${SUITE_BASE}/updates COMPONENT" ${APT_LIST}
141 domirror "https://security-master.debian.org/debian-security-buildd buildd-${SUITE_BASE}/updates COMPONENT" ${APT_LIST}
143 # Temporarily add stretch-proposed-updates for stretch-security chroots as requested
144 # by the security team to handle Thunderbird and Firefox ESR 60.x releases. This should
145 # be removed with the release of the 9.5 point release.
146 if [ ${SUITE_BASE} = "stretch" ] ; then
147 SUITES="${SUITE_BASE}-proposed-updates"
148 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} SUITE COMPONENT" ${APT_LIST}
149 domirror "http://ftp.debian.org/debian SUITE COMPONENT" ${APT_LIST}
152 elif [ "${SUITE_VARIANT%%-sloppy}" = 'backports' ]; then
153 # Hack: for kfreebsd-* the base suite for jessie-backports and jessie-backports-sloppy is jessie-kfreebsd (and not jessie)
154 if echo "${CHROOT_ALIAS}" | grep -q 'kfreebsd-\w\+-sbuild$' ; then
155 SUITES="${SUITE_BASE}-kfreebsd"
157 SUITES="${SUITE_BASE}"
159 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} SUITE COMPONENT" ${APT_LIST}
160 domirror "http://ftp.debian.org/debian SUITE COMPONENT" ${APT_LIST}
161 SUITES="${SUITE_BASE}"
162 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} SUITE-backports COMPONENT" ${APT_LIST}
163 domirror "http://ftp.debian.org/debian SUITE-backports COMPONENT" ${APT_LIST}
164 if [ "${debian_incoming}" != 'no' ]; then
165 domirror "http://incoming.debian.org/debian-buildd buildd-SUITE-backports COMPONENT" ${APT_LIST}
167 if [ "$(echo ${SUITE_VARIANT} | cut -d - -f 2)" = "sloppy" ]; then
168 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} SUITE-backports-sloppy COMPONENT" ${APT_LIST}
169 domirror "http://ftp.debian.org/debian SUITE-backports-sloppy COMPONENT" ${APT_LIST}
170 if [ "${debian_incoming}" != 'no' ]; then
171 domirror "http://incoming.debian.org/debian-buildd buildd-SUITE-backports-sloppy COMPONENT" ${APT_LIST}
175 elif [ "${SUITE_BASE}" = 'sid' ]; then
177 if [ "${SUITE_VARIANT}" = "experimental" ]; then
178 SUITES="unstable experimental"
180 [ -n "${debian_mirror}" ] && domirror "${debian_mirror} SUITE COMPONENT" ${APT_LIST}
181 domirror "http://ftp.debian.org/debian SUITE COMPONENT" ${APT_LIST}
182 if [ "${debian_incoming}" != 'no' ]; then
183 domirror "http://incoming.debian.org/debian-buildd buildd-SUITE COMPONENT" ${APT_LIST}
187 echo "ERROR: cannot adjust sources.list: ${SUITE_BASE}/${SUITE_VARIANT} unknown - exiting"
191 echo 'Acquire::PDiffs "false";' >> ${APT_CONF}
192 echo 'APT::Install-Recommends 0;' >> ${APT_CONF}
193 echo 'Dir::Etc::SourceList "sources.buildd.list";' >> ${APT_CONF}
194 echo 'Acquire::Languages "none";' >> ${APT_CONF}
196 if [ -n "${APT_KEYS}" ]; then
197 for KEY in ${APT_KEYS}; do
198 if [ -f /usr/share/buildd/${KEY}.asc ]; then
199 chroot ${CHROOT_PATH} apt-key add - < /usr/share/buildd/${KEY}.asc >&2
201 echo W: should add apt key ${KEY} but not found >&2
206 if [ -n "$SUITE_VARIANT" ]; then
207 SOURCES_FILE_NAME="${SUITE_BASE}-${SUITE_VARIANT}.sources"
208 SOURCES_FILE_PATH="/etc/schroot/buildd.d/${SOURCES_FILE_NAME}"
209 APT_LIST_AUTO="${CHROOT_PATH}/etc/apt/sources.list.d/auto.list"
211 if [ -f "$SOURCES_FILE_PATH" ]; then
212 cp $VERBOSE ${SOURCES_FILE_PATH} "${CHROOT_PATH}/etc/apt/sources.list.d/${SOURCES_FILE_NAME}.list"
213 elif [ ${SUITE_VARIANT} = 'security' ]; then
215 if [ -n "${security_mirror}" ]; then
216 echo deb ${security_mirror} ${SUITE_BASE}/updates main contrib >> ${APT_LIST_AUTO}
217 echo deb-src ${security_mirror} ${SUITE_BASE}/updates main contrib >> ${APT_LIST_AUTO}
219 echo deb https://security-master.debian.org/debian-security ${SUITE_BASE}/updates main contrib >> ${APT_LIST_AUTO}
220 echo deb-src https://security-master.debian.org/debian-security ${SUITE_BASE}/updates main contrib >> ${APT_LIST_AUTO}
221 echo deb https://security-master.debian.org/debian-security-buildd buildd-${SUITE_BASE}/updates main contrib >> ${APT_LIST_AUTO}
222 echo deb-src https://security-master.debian.org/debian-security-buildd buildd-${SUITE_BASE}/updates main contrib >> ${APT_LIST_AUTO}
223 elif [ ${SUITE_VARIANT%%-sloppy} = 'backports' ]; then
225 if [ -n "${debian_mirror}" ]; then
226 echo deb ${debian_mirror} ${SUITE_BASE}-backports main contrib >> ${APT_LIST_AUTO}
227 echo deb-src ${debian_mirror} ${SUITE_BASE}-backports main contrib non-free >> ${APT_LIST_AUTO}
229 echo deb http://ftp.debian.org/debian ${SUITE_BASE}-backports main contrib >> ${APT_LIST_AUTO}
230 echo deb-src http://ftp.debian.org/debian ${SUITE_BASE}-backports main contrib non-free >> ${APT_LIST_AUTO}
231 echo deb http://incoming.debian.org/debian-buildd buildd-${SUITE_BASE}-backports main contrib >> ${APT_LIST_AUTO}
232 echo deb-src http://incoming.debian.org/debian-buildd buildd-${SUITE_BASE}-backports main contrib non-free >> ${APT_LIST_AUTO}
233 if [ "$(echo ${SUITE_VARIANT} | cut -d - -f 2)" = "sloppy" ]; then
234 if [ -n "${debian_mirror}" ]; then
235 echo deb ${debian_mirror} ${SUITE_BASE}-backports-sloppy main contrib >> ${APT_LIST_AUTO}
236 echo deb-src ${debian_mirror} ${SUITE_BASE}-backports-sloppy main contrib non-free >> ${APT_LIST_AUTO}
238 echo deb http://ftp.debian.org/debian ${SUITE_BASE}-backports-sloppy main contrib >> ${APT_LIST_AUTO}
239 echo deb-src http://ftp.debian.org/debian ${SUITE_BASE}-backports-sloppy main contrib non-free >> ${APT_LIST_AUTO}
240 echo deb http://incoming.debian.org/debian-buildd buildd-${SUITE_BASE}-backports-sloppy main contrib >> ${APT_LIST_AUTO}
241 echo deb-src http://incoming.debian.org/debian-buildd buildd-${SUITE_BASE}-backports-sloppy main contrib non-free >> ${APT_LIST_AUTO}
243 elif [ ${SUITE_VARIANT} = 'experimental' ]; then
245 if [ -n "${debian_mirror}" ]; then
246 echo deb ${debian_mirror} experimental main contrib >> ${APT_LIST_AUTO}
247 echo deb-src ${debian_mirror} experimental main contrib non-free >> ${APT_LIST_AUTO}
249 echo deb http://ftp.debian.org/debian experimental main contrib >> ${APT_LIST_AUTO}
250 echo deb-src http://ftp.debian.org/debian experimental main contrib non-free >> ${APT_LIST_AUTO}
251 echo deb http://incoming.debian.org/debian-buildd buildd-experimental main contrib >> ${APT_LIST_AUTO}
252 echo deb-src http://incoming.debian.org/debian-buildd buildd-experimental main contrib non-free >> ${APT_LIST_AUTO}
256 elif [ "$1" = "setup-stop" ]; then
257 if [ -n "${SUITE_BASE}" ] && ( [ -f /etc/schroot/conf.buildd ] || [ -f /etc/schroot/dsa/default-mirror ] ); then
258 APT_LIST="${CHROOT_PATH}/etc/apt/sources.buildd.list"
259 APT_CONF="${CHROOT_PATH}/etc/apt/apt.conf.d/99buildd.conf"
260 rm -f "${APT_LIST}" "${APT_CONF}"
262 if [ -n "$SUITE_VARIANT" ]; then
263 SOURCES_FILE_NAME="${SUITE_BASE}-${SUITE_VARIANT}.sources"
264 SOURCES_FILE_PATH="/etc/schroot/buildd.d/${SOURCES_FILE_NAME}"
266 if [ -f "$SOURCES_FILE_PATH" ]; then
267 rm -f $VERBOSE "${CHROOT_PATH}/etc/apt/sources.list.d/${SOURCES_FILE_NAME}.list"
268 elif [ ${SUITE_VARIANT} = 'security' ] || [ ${SUITE_VARIANT} = 'backports' ] || [ ${SUITE_VARIANT} = 'experimental' ] ; then
269 rm -f $VERBOSE "${CHROOT_PATH}/etc/apt/sources.list.d/auto.list"