109
# Downloading debian-installer
110
mkdir -p "${DESTDIR}"
104
INITRD_DI="initrd.gz"
105
DESTDIR_DI="${DESTDIR}"
107
VMLINUZ_GI="gtk/vmlinuz"
108
INITRD_GI="gtk/initrd.gz"
109
DESTDIR_GI="${DESTDIR}/gtk"
112
111
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
113
if [ "${LIVE_DISTRIBUTION}" = "etch" ] || [ "${LIVE_DISTRIBUTION}" = "lenny" ]
112
if [ "${LIVE_DISTRIBUTION}" = "etch" ]
115
114
if [ "${LIVE_BINARY_IMAGES}" = "tar" ] || [ "${LIVE_BINARY_IMAGES}" = "usb-hdd" ]
117
if [ "${LIVE_BOOTLOADER}" = "syslinux" ]
119
wget --no-clobber -O "${DESTDIR}"/vmlinuz.di "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/vmlinuz
120
wget --no-clobber -O "${DESTDIR}"/initrddi.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/initrd.gz
122
wget --no-clobber -O "${DESTDIR}"/vmlinuz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/vmlinuz
123
wget --no-clobber -O "${DESTDIR}"/initrd.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/initrd.gz
126
wget --no-clobber -O "${DESTDIR}"/vmlinuz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/vmlinuz
127
wget --no-clobber -O "${DESTDIR}"/initrd.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/initrd.gz
116
VMLINUZ_DI="vmlinuz.di"
117
INITRD_DI="initrddi.gz"
118
DESTDIR_DI="${DESTDIR}"
120
VMLINUZ_GI="vmlinuz.gi"
121
INITRD_GI="initrdgi.gz"
122
DESTDIR_GI="${DESTDIR}"
130
wget --no-clobber -O "${DESTDIR}"/vmlinuz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/vmlinuz
131
wget --no-clobber -O "${DESTDIR}"/initrd.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/initrd.gz
126
# Downloading debian-installer
127
mkdir -p "${DESTDIR_DI}"
128
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/vmlinuz
129
wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/initrd.gz
134
131
# Downloading graphical-installer
135
132
if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ]
137
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
138
if [ "${LIVE_DISTRIBUTION}" = "etch" ] || [ "${LIVE_DISTRIBUTION}" = "lenny" ]
140
if [ "${LIVE_BINARY_IMAGES}" = "tar" ] || [ "${LIVE_BINARY_IMAGES}" = "usb-hdd" ]
142
if [ "${LIVE_BOOTLOADER}" = "syslinux" ]
144
wget --no-clobber -O "${DESTDIR}"/vmlinuz.gi "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/vmlinuz
145
wget --no-clobber -O "${DESTDIR}"/initrdgi.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/initrd.gz
147
mkdir -p "${DESTDIR}"/gtk
149
wget --no-clobber -O "${DESTDIR}"/gtk/vmlinuz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/vmlinuz
150
wget --no-clobber -O "${DESTDIR}"/gtk/initrd.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/initrd.gz
153
mkdir -p "${DESTDIR}"/gtk
155
wget --no-clobber -O "${DESTDIR}"/gtk/vmlinuz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/vmlinuz
156
wget --no-clobber -O "${DESTDIR}"/gtk/initrd.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/initrd.gz
159
mkdir -p "${DESTDIR}"/gtk
161
wget --no-clobber -O "${DESTDIR}"/gtk/vmlinuz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/vmlinuz
162
wget --no-clobber -O "${DESTDIR}"/gtk/initrd.gz "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DESTDIR_INSTALLER}"/gtk/initrd.gz
134
mkdir -p "${DESTDIR_GI}"
135
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/gtk/vmlinuz
136
wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/gtk/initrd.gz
169
mkdir -p binary/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"
170
cd binary/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"
171
wget "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"/Packages.gz
172
gunzip -c Packages.gz > Packages
175
for DISTRIBUTION in frozen stable testing unstable
177
ln -s ${LIVE_DISTRIBUTION} binary/dists/${DISTRIBUTION}
180
DEBS="`awk '/Filename: / { print $2 }' binary/dists/${LIVE_DISTRIBUTION}/main/debian-installer/binary-${LIVE_ARCHITECTURE}/Packages`"
181
UDEBS="`echo ${DEBS} | grep '.*.udeb'`"
187
mkdir -p binary/`dirname ${UDEB}`
188
cd binary/`dirname ${UDEB}`
189
wget "${LIVE_MIRROR_BOOTSTRAP}"/${UDEB}
139
# Downloading additional packages
140
mkdir -p chroot/binary.deb/archives/partial
141
mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp
142
touch chroot/var/lib/dpkg/status
144
case "${LIVE_ARCHITECTURE}" in
146
DI_PACKAGES="linux-image-2.6-amd64 lilo grub"
150
DI_PACKAGES="linux-image-2.6-486 linux-image-2.6-686 lilo grub"
154
DI_PACKAGES="linux-image-2.6-powerpc linux-image-2.6-powerpc64 linux-image-2.6-powerpc-smp linux-image-2.6-prep yaboot" # FIXME bootloader?
158
Chroot "apt-get -o Dir::Cache=/binary.deb --download-only install --yes ${DI_PACKAGES}"
159
mv chroot/binary.deb ./
160
mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status
162
# Including base debian packages
194
163
if [ -d cache/packages_bootstrap ]
196
for FILE in cache/packages_bootstrap/*.deb
165
for FILE in cache/packages_bootstrap/*.deb binary.deb/archives/*.deb
198
SOURCE="`dpkg -f ${FILE} Source`"
167
SOURCE="`dpkg -f ${FILE} Source | awk '{ print $1 }'`"
200
169
if [ -z "${SOURCE}" ]
192
# Generating deb indices
223
193
mkdir -p binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}
196
apt-ftparchive packages pool/main > dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Packages
197
gzip -9 -c dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Packages > dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Packages.gz
198
#apt-ftparchive sources pool/main > dists/${LIVE_DISTRIBUTION}/main/source/Sources
199
#gzip -9 -c dists/${LIVE_DISTRIBUTION}/main/source/Sources > dists/${LIVE_DISTRIBUTION}/main/source/Sources
225
203
cat > binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Release << EOF
226
Archive: ${LIVE_DISTRIBUTION}
230
209
Architecture: ${LIVE_ARCHITECTURE}
233
mkdir -p cache/indices_debian-installer
235
cat > cache/indices_debian-installer/archive << EOF
241
FileListDir "cache/indices_debian-installer";
246
Packages::Compress ". gzip";
247
// Packages::Extension ".deb";
248
// Sources::Extensions ".dsc";
249
// Contents::Compress "gzip";
258
Directory "dists/\$(DIST)/\$(SECTION)/binary-\$(ARCH)/";
259
Packages "dists/\$(DIST)/\$(SECTION)/binary-\$(ARCH)/Packages";
260
InternalPrefix "dists/\$(DIST)/\$(SECTION)/";
261
Contents "dists/\$(DIST)/Contents-\$(ARCH)";
263
// BinCacheDB "cache.\$(DIST).\$(SECTION).\$(ARCH)";
264
// FileList "filelist.\$(DIST).\$(SECTION).\$(ARCH)";
266
// BinOverride "override.\$(DIST).\$(SECTION)";
269
tree "${LIVE_DISTRIBUTION}"
272
Architectures "${LIVE_ARCHITECTURE}";
277
find pool -name "*.deb" | sort > ../cache/indices_debian-installer/filelist
212
#cat > binary/dists/${LIVE_DISTRIBUTION}/main/source/Release << EOF
218
#Architecture: source
224
# Downloading udeb indices
225
wget "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"/Packages.gz
226
gunzip -c Packages.gz > Packages
229
UDEBS="`awk '/Filename: / { print $2 }' Packages`"
235
DOWNLOAD="$DOWNLOAD ${LIVE_MIRROR_BOOTSTRAP}/${UDEB}"
237
echo $DOWNLOAD | xargs wget
240
grep -v "^#" ${LH_BASE:-/usr/share/live-helper}/data/debian-cd/"${LIVE_DISTRIBUTION}"/udeb_exclude > exclude
241
grep -v "^#" ${LH_BASE:-/usr/share/live-helper}/data/debian-cd/"${LIVE_DISTRIBUTION}"/exclude-udebs > exclude
242
grep -v "^#" ${LH_BASE:-/usr/share/live-helper}/data/debian-cd/"${LIVE_DISTRIBUTION}"/exclude-udebs-${LIVE_ARCHITECTURE} >> exclude
244
for EXCLUDE in `cat exclude`
246
rm -f "${EXCLUDE}"_*.udeb
252
if [ -f "`basename ${UDEB}`" ]
254
mkdir -p `dirname ${UDEB}`
255
mv "`basename ${UDEB}`" "`dirname ${UDEB}`"
259
# Creating udeb indices
260
mkdir -p dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"
261
apt-ftparchive packages pool/main > dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"/Packages
262
gzip -9 -c dists/${LIVE_DISTRIBUTION}/main/debian-installer/binary-${LIVE_ARCHITECTURE}/Packages > dists/${LIVE_DISTRIBUTION}/main/debian-installer/binary-${LIVE_ARCHITECTURE}/Packages.gz
264
rm -f Packages* exclude
265
find . | cpio -dmpu "${OLDPWD}"/binary
280
cat > cache/indices_debian-installer/release << EOF
281
APT::FTPArchive::Release::Origin "Debian";
282
APT::FTPArchive::Release::Label "Debian";
283
APT::FTPArchive::Release::Suite "${LIVE_DISTRIBUTION}";
284
APT::FTPArchive::Release::Version "4.0";
285
APT::FTPArchive::Release::Codename "${LIVE_DISTRIBUTION}";
286
APT::FTPArchive::Release::Date "`date -R`";
287
APT::FTPArchive::Release::Architectures "${LIVE_ARCHITECTURE}";
288
APT::FTPArchive::Release::Components "main";
291
apt-ftparchive generate cache/indices_debian-installer/archive
292
apt-ftparchive -c cache/indices_debian-installer/release -o APT::FTPArchive::Release::Description="Last updated: `date -R`" release binary/dists/${LIVE_DISTRIBUTION} > binary/dists/${LIVE_DISTRIBUTION}/Release
271
# Generating release file
273
-o APT::FTPArchive::Release::Origin="Debian" \
274
-o APT::FTPArchive::Release::Label="Debian" \
275
-o APT::FTPArchive::Release::Suite="${LIVE_DISTRIBUTION}" \
276
-o APT::FTPArchive::Release::Version="4.0" \
277
-o APT::FTPArchive::Release::Codename="${LIVE_DISTRIBUTION}" \
278
-o APT::FTPArchive::Release::Date="`date -R`" \
279
-o APT::FTPArchive::Release::Architectures="${LIVE_ARCHITECTURE}" \
280
-o APT::FTPArchive::Release::Components="main" \
281
-o APT::FTPArchive::Release::Description="Last updated: `date -R`" \
282
release binary/dists/${LIVE_DISTRIBUTION} > binary/dists/${LIVE_DISTRIBUTION}/Release
284
# Creating dist symlinks
285
for DISTRIBUTION in frozen stable testing unstable
287
ln -s ${LIVE_DISTRIBUTION} binary/dists/${DISTRIBUTION}
290
ln -s . binary/debian
295
293
mkdir binary/.disk
296
294
echo "main" > binary/.disk/base_components
297
295
touch binary/.disk/base_installable
298
296
echo "not_complete" > binary/.disk/cd_type
299
#echo "Debian GNU/Linux 4.0 r0 \"Etch\" - Official i386 NETINST Binary-1 20070407-11:29" > binary/.disk/info
300
echo "Debian GNU/Linux ${LIVE_DISTRIBUTION} - Unofficial ${LIVE_ARCHITECTURE} NETINST Binary-1 `date +%Y%m%d-%H:%M`" > binary/.disk/info
297
echo "Debian GNU/Linux ${LIVE_DISTRIBUTION} - Unofficial ${LIVE_ARCHITECTURE} LIVE Binary `date +%Y%m%d-%H:%M`" > binary/.disk/info
301
298
touch binary/.disk/mkisofs
299
cat > binary/.disk/udeb_include << EOF
303
307
# Creating stage file
304
308
Create_stagefile .stage/binary_debian-installer