source: live-build/trunk/fuentes/functions/defaults.sh @ 900

Last change on this file since 900 was 900, checked in by kbut, 4 years ago

add original source

  • Property svn:executable set to *
File size: 32.6 KB
Line 
1#!/bin/sh
2
3## live-build(7) - System Build Scripts
4## Copyright (C) 2006-2012 Daniel Baumann <daniel@debian.org>
5##
6## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
7## This is free software, and you are welcome to redistribute it
8## under certain conditions; see COPYING for details.
9
10
11Set_defaults ()
12{
13        ## config/common
14
15        if [ -e local/live-build ]
16        then
17                LIVE_BUILD="${LIVE_BUILD:-${PWD}/local/live-build}"
18                PATH="${PWD}/local/live-build/scripts/build:${PATH}"
19                export LIVE_BUILD PATH
20        fi
21
22        # Setting system type
23        LB_SYSTEM="${LB_SYSTEM:-live}"
24
25        # Setting mode (currently: debian, emdebian, progress, ubuntu and kubuntu)
26        if [ -x /usr/bin/lsb_release ]
27        then
28                _DISTRIBUTOR="$(lsb_release -is | tr [A-Z] [a-z])"
29
30                case "${_DISTRIBUTOR}" in
31                        debian|progress|ubuntu)
32                                LB_MODE="${LB_MODE:-${_DISTRIBUTOR}}"
33                                ;;
34
35                        *)
36                                LB_MODE="${LB_MODE:-debian}"
37                                ;;
38                esac
39        else
40                if [ -e /etc/progress_version ]
41                then
42                        LB_MODE="${LB_MODE:-progress}"
43                elif [ -e /etc/ubuntu_version ]
44                then
45                        LB_MODE="${LB_MODE:-ubuntu}"
46                else
47                        LB_MODE="${LB_MODE:-debian}"
48                fi
49        fi
50
51        # Setting distribution name
52        case "${LB_MODE}" in
53                progress)
54                        LB_DISTRIBUTION="${LB_DISTRIBUTION:-artax}"
55                        LB_DERIVATIVE="true"
56                        ;;
57
58                ubuntu|kubuntu)
59                        LB_DISTRIBUTION="${LB_DISTRIBUTION:-precise}"
60                        LB_DERIVATIVE="false"
61                        ;;
62
63                *)
64                        LB_DISTRIBUTION="${LB_DISTRIBUTION:-wheezy}"
65                        LB_DERIVATIVE="false"
66                        ;;
67        esac
68
69        case "${LB_MODE}" in
70                progress)
71                        case "${LB_DISTRIBUTION}" in
72                                artax)
73                                        LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-squeeze}"
74                                        LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
75                                        ;;
76
77
78                                artax-backports)
79                                        LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-squeeze}"
80                                        LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
81                                        ;;
82
83                                baureo)
84                                        LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-wheezy}"
85                                        LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
86                                        ;;
87
88                                charon)
89                                        LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-sid}"
90                                        LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
91                                        ;;
92                        esac
93
94                        LB_BACKPORTS="${LB_BACKPORTS:-true}"
95                        ;;
96
97                *)
98                        LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-${LB_DISTRIBUTION}}"
99                        LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
100
101                        LB_BACKPORTS="${LB_BACKPORTS:-false}"
102                        ;;
103        esac
104
105        # Setting package manager
106        LB_APT="${LB_APT:-apt}"
107
108        # Setting apt ftp proxy
109        LB_APT_FTP_PROXY="${LB_APT_FTP_PROXY}"
110
111        # Setting apt http proxy
112        LB_APT_HTTP_PROXY="${LB_APT_HTTP_PROXY}"
113
114        # Setting apt pipeline
115        # LB_APT_PIPELINE
116
117        APT_OPTIONS="${APT_OPTIONS:---yes}"
118        APTITUDE_OPTIONS="${APTITUDE_OPTIONS:---assume-yes}"
119
120        BZIP2_OPTIONS="${BZIP2_OPTIONS:--6}"
121
122        GZIP_OPTIONS="${GZIP_OPTIONS:--6}"
123
124        if gzip --help | grep -qs "\-\-rsyncable"
125        then
126                GZIP_OPTIONS="$(echo ${GZIP_OPTIONS} | sed -e 's|--rsyncable||') --rsyncable"
127        fi
128
129        LZIP_OPTIONS="${LZIP_OPTIONS:--6}"
130
131        LZMA_OPTIONS="${LZMA_OPTIONS:--6}"
132
133        XZ_OPTIONS="${XZ_OPTIONS:--6}"
134
135        # Setting apt recommends
136        case "${LB_MODE}" in
137                emdebian|progress)
138                        LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS:-false}"
139                        ;;
140
141                *)
142                        LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS:-true}"
143                        ;;
144        esac
145
146        # Setting apt secure
147        LB_APT_SECURE="${LB_APT_SECURE:-true}"
148
149        # Setting apt source
150        case "${LB_MODE}" in
151                progress)
152                        LB_APT_SOURCE_ARCHIVES="${LB_APT_SOURCE_ARCHIVES:-false}"
153                        ;;
154
155                *)
156                        LB_APT_SOURCE_ARCHIVES="${LB_APT_SOURCE_ARCHIVES:-true}"
157                        ;;
158        esac
159
160        # Setting bootstrap program
161        if [ -z "${LB_BOOTSTRAP}" ] || ( [ ! -x "$(which ${LB_BOOTSTRAP} 2>/dev/null)" ] && [ "${LB_BOOTSTRAP}" != "copy" ] )
162        then
163                if [ -x "/usr/sbin/debootstrap" ]
164                then
165                        LB_BOOTSTRAP="debootstrap"
166                elif [ -x "/usr/bin/cdebootstrap" ]
167                then
168                        LB_BOOTSTRAP="cdebootstrap"
169                else
170                        Echo_error "Cannot find /usr/sbin/debootstrap or /usr/bin/cdebootstrap. Please install debootstrap or cdebootstrap, or specify an alternative bootstrapping utility."
171                        exit 1
172                fi
173        fi
174
175        # Setting cache option
176        LB_CACHE="${LB_CACHE:-true}"
177        LB_CACHE_INDICES="${LB_CACHE_INDICES:-false}"
178        LB_CACHE_PACKAGES="${LB_CACHE_PACKAGES:-true}"
179        LB_CACHE_STAGES="${LB_CACHE_STAGES:-bootstrap}"
180
181        # Setting debconf frontend
182        LB_DEBCONF_FRONTEND="${LB_DEBCONF_FRONTEND:-noninteractive}"
183        LB_DEBCONF_NOWARNINGS="${LB_DEBCONF_NOWARNINGS:-yes}"
184        LB_DEBCONF_PRIORITY="${LB_DEBCONF_PRIORITY:-critical}"
185
186        case "${LB_DEBCONF_NOWARNINGS}" in
187                true)
188                        LB_DEBCONF_NOWARNINGS="yes"
189                        ;;
190
191                false)
192                        LB_DEBCONF_NOWARNINGS="no"
193                        ;;
194        esac
195
196        # Setting initramfs hook
197        case "${LB_INITRAMFS}" in
198                auto)
199                        case "${LB_MODE}" in
200                                ubuntu|kubuntu)
201                                        LB_INITRAMFS="casper"
202                                        ;;
203
204                                *)
205                                        LB_INITRAMFS="live-boot"
206                                        ;;
207                        esac
208                        ;;
209
210                *)
211                        case "${LB_SYSTEM}" in
212                                live)
213                                        LB_INITRAMFS="${LB_INITRAMFS:-auto}"
214                                        ;;
215
216                                normal)
217                                        LB_INITRAMFS="${LB_INITRAMFS:-none}"
218                                        ;;
219                        esac
220                        ;;
221        esac
222
223        LB_INITRAMFS_COMPRESSION="${LB_INITRAMFS_COMPRESSION:-gzip}"
224
225        # Setting initsystem
226        case "${LB_MODE}" in
227                ubuntu|kubuntu)
228                        case "${LB_INITRAMFS}" in
229                                live-boot)
230                                        LB_INITSYSTEM="${LB_INITSYSTEM:-upstart}"
231                                        ;;
232                        esac
233                        ;;
234
235                *)
236                        case "${LB_SYSTEM}" in
237                                live)
238                                        LB_INITSYSTEM="${LB_INITSYSTEM:-sysvinit}"
239                                        ;;
240
241                                normal)
242                                        LB_INITSYSTEM="${LB_INITSYSTEM:-none}"
243                                        ;;
244                        esac
245                        ;;
246        esac
247
248        # Setting fdisk
249        if [ -z "${LB_FDISK}" ] || [ ! -x "${LB_FDISK}" ]
250        then
251                # Workaround for gnu-fdisk divertion
252                # (gnu-fdisk is buggy, #445304).
253                if [ -x /sbin/fdisk.distrib ]
254                then
255                        LB_FDISK="fdisk.distrib"
256                elif [ -x /sbin/fdisk ]
257                then
258                        LB_FDISK="fdisk"
259                else
260                        Echo_error "Can't process file /sbin/fdisk"
261                fi
262        fi
263
264        # Setting losetup
265        if [ -z "${LB_LOSETUP}" ] || [ "${LB_LOSETUP}" != "/sbin/losetup.orig" ]
266        then
267                # Workaround for loop-aes-utils divertion
268                # (loop-aes-utils' losetup lacks features).
269                if [ -x /sbin/losetup.orig ]
270                then
271                        LB_LOSETUP="losetup.orig"
272                elif [ -x /sbin/losetup ]
273                then
274                        LB_LOSETUP="losetup"
275                else
276                        Echo_error "Can't process file /sbin/losetup"
277                fi
278        fi
279
280        if [ "$(id -u)" = "0" ]
281        then
282                # If we are root, disable root command
283                LB_ROOT_COMMAND=""
284        else
285                if [ -x /usr/bin/sudo ]
286                then
287                        # FIXME: this is false until considered safe
288                        #LB_ROOT_COMMAND="sudo"
289                        LB_ROOT_COMMAND=""
290                fi
291        fi
292
293        if [ "${LB_ARCHITECTURE}" = "i386" ] && [ "$(uname -m)" = "x86_64" ]
294        then
295                _LINUX32="linux32"
296        else
297                _LINUX32=""
298        fi
299
300        # Setting tasksel
301        case "${LB_PARENT_DISTRIBUTION}" in
302                squeeze)
303                        LB_TASKSEL="${LB_TASKSEL:-tasksel}"
304                        ;;
305
306                *)
307                        LB_TASKSEL="${LB_TASKSEL:-apt}"
308                        ;;
309        esac
310
311        # Setting root directory
312        case "${LB_MODE}" in
313                debian)
314                        LB_ROOT="${LB_ROOT:-debian-live}"
315                        ;;
316
317                progress)
318                        LB_ROOT="${LB_ROOT:-progress-linux}"
319                        ;;
320
321                *)
322                        LB_ROOT="${LB_ROOT:-${LB_MODE}-live}"
323                        ;;
324        esac
325
326        # Setting includes
327        if [ -n "${LIVE_BUID}" ]
328        then
329                LB_INCLUDES="${LB_INCLUDES:-${LIVE_BUILD}/includes}"
330        else
331                LB_INCLUDES="${LB_INCLUDES:-/usr/share/live/build/includes}"
332        fi
333
334        # Setting templates
335        if [ -n "${LIVE_BUID}" ]
336        then
337                LB_TEMPLATES="${LB_TEMPLATES:-${LIVE_BUILD}/templates}"
338        else
339                LB_TEMPLATES="${LB_TEMPLATES:-/usr/share/live/build/templates}"
340        fi
341
342        # Setting live build options
343        _BREAKPOINTS="${_BREAKPOINTS:-false}"
344        _COLOR="${_COLOR:-false}"
345        _DEBUG="${_DEBUG:-false}"
346        _FORCE="${_FORCE:-false}"
347        _QUIET="${_QUIET:-false}"
348        _VERBOSE="${_VERBOSE:-false}"
349
350        ## config/bootstrap
351
352        # Setting architecture value
353        if [ -z "${LB_ARCHITECTURES}" ]
354        then
355                if [ -x "/usr/bin/dpkg" ]
356                then
357                        LB_ARCHITECTURES="$(dpkg --print-architecture)"
358                else
359                        case "$(uname -m)" in
360                                sparc|powerpc)
361                                        LB_ARCHITECTURES="$(uname -m)"
362                                        ;;
363                                x86_64)
364                                        LB_ARCHITECTURES="amd64"
365                                        ;;
366                                *)
367                                        if [ -e /lib64 ]
368                                        then
369                                                LB_ARCHITECTURES="amd64"
370                                        else
371                                                LB_ARCHITECTURES="i386"
372                                        fi
373
374                                        Echo_warning "Can't determine architecture, assuming ${LB_ARCHITECTURES}"
375                                        ;;
376                        esac
377                fi
378        fi
379
380        # Include packages on base
381        case "${LB_MODE}" in
382                ubuntu|kubuntu)
383                        LB_BOOTSTRAP_INCLUDE="${LB_BOOTSTRAP_INCLUDE:-gnupg}"
384                        ;;
385
386        esac
387
388        # Exclude packages on base
389        # LB_BOOTSTRAP_EXCLUDE
390
391        # Setting flavour value
392        case "${LB_BOOTSTRAP}" in
393                cdebootstrap)
394                        LB_BOOTSTRAP_FLAVOUR="${LB_BOOTSTRAP_FLAVOUR:-standard}"
395                        ;;
396        esac
397
398        # Setting bootstrap keyring
399        # LB_BOOTSTRAP_KEYRING
400
401        # Setting mirror to fetch packages from
402        case "${LB_MODE}" in
403                debian)
404                        LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP:-http://ftp.debian.org/debian/}"
405                        LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP:-${LB_MIRROR_BOOTSTRAP}}"
406                        ;;
407
408                emdebian)
409                        LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP:-http://www.emdebian.org/grip/}"
410                        LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP:-${LB_MIRROR_BOOTSTRAP}}"
411                        ;;
412
413                progress)
414                        LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP:-http://ftp.debian.org/debian/}"
415                        LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP:-http://cdn.archive.progress-linux.org/progress/}"
416                        ;;
417
418                ubuntu|kubuntu)
419                        case "${LB_ARCHITECTURES}" in
420                                amd64|i386)
421                                        LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP:-http://archive.ubuntu.com/ubuntu/}"
422                                        ;;
423
424                                *)
425                                        LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP:-http://ports.ubuntu.com/ubuntu-ports/}"
426                                        ;;
427                        esac
428
429                        LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP:-${LB_MIRROR_BOOTSTRAP}}"
430                        ;;
431        esac
432
433        LB_PARENT_MIRROR_CHROOT="${LB_PARENT_MIRROR_CHROOT:-${LB_PARENT_MIRROR_BOOTSTRAP}}"
434        LB_MIRROR_CHROOT="${LB_MIRROR_CHROOT:-${LB_MIRROR_BOOTSTRAP}}"
435
436        # Setting security mirror to fetch packages from
437        case "${LB_MODE}" in
438                debian)
439                        LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY:-http://security.debian.org/}"
440                        LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY:-${LB_MIRROR_CHROOT_SECURITY}}"
441                        ;;
442
443                emdebian)
444                        LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY:-none}"
445                        LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY:-${LB_MIRROR_CHROOT_SECURITY}}"
446                        ;;
447
448                progress)
449                        LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY:-http://security.debian.org/}"
450                        LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY:-${LB_MIRROR_CHROOT}}"
451                        ;;
452
453                ubuntu|kubuntu)
454                        case "${LB_ARCHITECTURES}" in
455                                amd64|i386)
456                                        LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY:-http://security.ubuntu.com/ubuntu/}"
457                                        ;;
458
459                                *)
460                                        LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY:-http://ports.ubuntu.com/ubuntu-ports/}"
461                                        ;;
462                        esac
463
464                        LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY:-${LB_MIRROR_CHROOT_SECURITY}}"
465                        ;;
466        esac
467
468        # Setting volatile mirror to fetch packages from
469        case "${LB_MODE}" in
470                debian|progress)
471                        LB_PARENT_MIRROR_CHROOT_VOLATILE="${LB_PARENT_MIRROR_CHROOT_VOLATILE:-${LB_PARENT_MIRROR_CHROOT}}"
472                        LB_MIRROR_CHROOT_VOLATILE="${LB_MIRROR_CHROOT_VOLATILE:-${LB_MIRROR_CHROOT}}"
473                        ;;
474
475                ubuntu|kubuntu)
476                        case "${LB_ARCHITECTURES}" in
477                                amd64|i386)
478                                        LB_MIRROR_CHROOT_VOLATILE="${LB_MIRROR_CHROOT_VOLATILE:-http://archive.ubuntu.com/ubuntu/}"
479                                        ;;
480
481                                *)
482                                        LB_MIRROR_CHROOT_VOLATILE="${LB_MIRROR_CHROOT_VOLATILE:-http://ports.ubuntu.com/ubuntu-ports/}"
483                                        ;;
484                        esac
485
486                        LB_PARENT_MIRROR_CHROOT_VOLATILE="${LB_PARENT_MIRROR_CHROOT_VOLATILE:-${LB_PARENT_MIRROR_CHROOT}}"
487                        ;;
488
489                *)
490                        LB_PARENT_MIRROR_CHROOT_VOLATILE="${LB_PARENT_MIRROR_CHROOT_VOLATILE:-none}"
491                        LB_MIRROR_CHROOT_VOLATILE="${LB_MIRROR_CHROOT_VOLATILE:-none}"
492                        ;;
493        esac
494
495        # Setting backports mirror to fetch packages from
496        case "${LB_MODE}" in
497                debian)
498                        LB_MIRROR_CHROOT_BACKPORTS="${LB_MIRROR_CHROOT_BACKPORTS:-http://backports.debian.org/debian-backports/}"
499                        LB_PARENT_MIRROR_CHROOT_BACKPORTS="${LB_PARENT_MIRROR_CHROOT_BACKPORTS:-${LB_MIRROR_CHROOT_BACKPORTS}}"
500                        ;;
501
502                progress)
503                        LB_MIRROR_CHROOT_BACKPORTS="${LB_MIRROR_CHROOT_BACKPORTS:-${LB_MIRROR_CHROOT}}"
504                        ;;
505
506                *)
507                        LB_PARENT_MIRROR_CHROOT_BACKPORTS="${LB_PARENT_MIRROR_CHROOT_BACKPORTS:-none}"
508                        LB_MIRROR_CHROOT_BACKPORTS="${LB_MIRROR_CHROOT_BACKPORTS:-none}"
509                        ;;
510        esac
511
512        # Setting mirror which ends up in the image
513        case "${LB_MODE}" in
514                debian)
515                        LB_MIRROR_BINARY="${LB_MIRROR_BINARY:-http://cdn.debian.net/debian/}"
516                        LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY:-${LB_MIRROR_BINARY}}"
517                        ;;
518
519                progress)
520                        LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY:-http://ftp.debian.org/debian/}"
521                        LB_MIRROR_BINARY="${LB_MIRROR_BINARY:-${LB_MIRROR_CHROOT}}"
522                        ;;
523
524                emdebian)
525                        LB_MIRROR_BINARY="${LB_MIRROR_BINARY:-http://www.emdebian.org/grip/}"
526                        LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY:-${LB_MIRROR_BINARY}}"
527                        ;;
528
529                ubuntu|kubuntu)
530                        case "${LB_ARCHITECTURES}" in
531                                amd64|i386)
532                                        LB_MIRROR_BINARY="${LB_MIRROR_BINARY:-http://archive.ubuntu.com/ubuntu/}"
533                                ;;
534
535                                *)
536                                        LB_MIRROR_BINARY="${LB_MIRROR_BINARY:-http://ports.ubuntu.com/ubuntu-ports/}"
537                                        ;;
538                        esac
539
540                        LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY:-${LB_MIRROR_BINARY}}"
541                        ;;
542        esac
543
544        # Setting security mirror which ends up in the image
545        case "${LB_MODE}" in
546                debian)
547                        LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY:-http://security.debian.org/}"
548                        LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-${LB_MIRROR_BINARY_SECURITY}}"
549                        ;;
550
551                emdebian)
552                        LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY:-none}"
553                        LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-${LB_MIRROR_BINARY_SECURITY}}"
554                        ;;
555
556                progress)
557                        LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-http://security.debian.org/}"
558                        LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY:-${LB_MIRROR_CHROOT}}"
559                        ;;
560
561                ubuntu|kubuntu)
562                        case "${LB_ARCHITECTURES}" in
563                                amd64|i386)
564                                        LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY:-http://security.ubuntu.com/ubuntu/}"
565                                        ;;
566
567                                *)
568                                        LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY:-http://ports.ubuntu.com/ubuntu-ports/}"
569                                        ;;
570                        esac
571
572                        LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY:-${LB_MIRROR_BINARY_SECURITY}}"
573                        ;;
574        esac
575
576        # Setting volatile mirror which ends up in the image
577        case "${LB_MODE}" in
578                debian)
579                        LB_MIRROR_BINARY_VOLATILE="${LB_MIRROR_BINARY_VOLATILE:-${LB_MIRROR_BINARY}}"
580                        LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-${LB_PARENT_MIRROR_BINARY}}"
581                        ;;
582
583                progress)
584                        LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-${LB_PARENT_MIRROR_BINARY}}"
585                        LB_MIRROR_BINARY_VOLATILE="${LB_MIRROR_BINARY_VOLATILE:-${LB_MIRROR_BINARY}}"
586                        ;;
587
588                ubuntu|kubuntu)
589                        case "${LB_ARCHITECTURES}" in
590                                amd64|i386)
591                                        LB_MIRROR_BINARY_VOLATILE="${LB_MIRROR_BINARY_VOLATILE:-http://archive.ubuntu.com/ubuntu/}"
592                                        ;;
593
594                                *)
595                                        LB_MIRROR_BINARY_VOLATILE="${LB_MIRROR_BINARY_VOLATILE:-http://ports.ubuntu.com/ubuntu-ports/}"
596                                        ;;
597                        esac
598
599                        LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-${LB_PARENT_MIRROR_BINARY}}"
600                        ;;
601
602                *)
603                        LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE:-none}"
604                        ;;
605        esac
606
607        # Setting backports mirror which ends up in the image
608        case "${LB_MODE}" in
609                debian)
610                        LB_MIRROR_BINARY_BACKPORTS="${LB_MIRROR_BINARY_BACKPORTS:-http://backports.debian.org/debian-backports/}"
611                        LB_PARENT_MIRROR_BINARY_BACKPORTS="${LB_PARENT_MIRROR_BINARY_BACKPORTS:-${LB_MIRROR_BINARY_BACKPORTS}}"
612                        ;;
613
614                progress)
615                        LB_MIRROR_BINARY_BACKPORTS="${LB_MIRROR_BINARY_BACKPORTS:-${LB_MIRROR_BINARY}}"
616                        ;;
617
618                *)
619                        LB_PARENT_MIRROR_BINARY_BACKPORTS="${LB_PARENT_MIRROR_BINARY_BACKPORTS:-none}"
620                        LB_MIRROR_BINARY_BACKPORTS="${LB_MIRROR_BINARY_BACKPORTS:-none}"
621                        ;;
622        esac
623
624        case "${LB_MODE}" in
625                progress)
626                        LB_PARENT_MIRROR_DEBIAN_INSTALLER="${LB_PARENT_MIRROR_DEBIAN_INSTALLER:-${LB_MIRROR_CHROOT}}"
627                        LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER:-${LB_MIRROR_CHROOT}}"
628                        ;;
629
630                *)
631                        LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER:-${LB_MIRROR_CHROOT}}"
632                        LB_PARENT_MIRROR_DEBIAN_INSTALLER="${LB_PARENT_MIRROR_DEBIAN_INSTALLER:-${LB_PARENT_MIRROR_CHROOT}}"
633                        ;;
634        esac
635
636        # Setting archive areas value
637        case "${LB_MODE}" in
638                progress)
639                        LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-main contrib non-free}"
640                        LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-${LB_ARCHIVE_AREAS}}"
641                        ;;
642
643                ubuntu|kubuntu)
644                        LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-main restricted}"
645                        LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-${LB_ARCHIVE_AREAS}}"
646                        ;;
647
648                *)
649                        LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS:-main}"
650                        LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS:-${LB_ARCHIVE_AREAS}}"
651                        ;;
652        esac
653
654        ## config/chroot
655
656        # Setting chroot filesystem
657        LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM:-squashfs}"
658
659        # Setting whether to expose root filesystem as read only
660        LB_EXPOSED_ROOT="${LB_EXPOSED_ROOT:-false}"
661
662        # Setting union filesystem
663        LB_UNION_FILESYSTEM="${LB_UNION_FILESYSTEM:-aufs}"
664
665        # Setting distribution hooks
666        case "${LB_MODE}" in
667                *)
668                        LB_CHROOT_HOOKS="${LB_CHROOT_HOOKS:-update-apt-file-cache \
669                                update-apt-xapian-index \
670                                update-mlocate-database \
671                                remove-dbus-machine-id \
672                                remove-openssh-server-host-keys \
673                                remove-python-py \
674                                remove-udev-persistent-rules}"
675                        ;;
676
677                kubuntu)
678                        LB_CHROOT_HOOKS="${LB_CHROOT_HOOKS:-update-apt-file-cache \
679                                update-apt-xapian-index \
680                                update-mlocate-database \
681                                remove-dbus-machine-id \
682                                remove-gnome-icon-cache \
683                                remove-openssh-server-host-keys \
684                                remove-python-py \
685                                remove-udev-persistent-rules}"
686                        ;;
687        esac
688
689        # Setting interactive shell/X11/Xnest
690        LB_INTERACTIVE="${LB_INTERACTIVE:-false}"
691
692        # Setting keyring packages
693        case "${LB_MODE}" in
694                ubuntu|kubuntu)
695                        LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES:-ubuntu-keyring}"
696                        ;;
697
698                *)
699                        LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES:-debian-archive-keyring}"
700                        ;;
701        esac
702
703        # Setting linux flavour string
704        case "${LB_ARCHITECTURES}" in
705                arm64)
706                        # Assume we'll have a generic kernel for arm64 some day:
707                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-generic}"
708                        ;;
709                armel)
710                        case "${LB_MODE}" in
711                                ubuntu|kubuntu)
712                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-omap}"
713                                        ;;
714                                *)
715                                        # armel will have special images: one rootfs image and many additional kernel images.
716                                        # therefore we default to all available armel flavours
717                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-iop32x ixp4xx kirkwood orion5x versatile}"
718                                        ;;
719                        esac
720                        ;;
721
722                armhf)
723                        # armhf will have special images: one rootfs image and many additional kernel images.
724                        # therefore we default to all available armel flavours
725                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-mx5 omap}"
726                        ;;
727
728                amd64)
729                        case "${LB_MODE}" in
730                                ubuntu|kubuntu)
731                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-generic}"
732                                        ;;
733
734                                *)
735                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-amd64}"
736                                        ;;
737                        esac
738                        ;;
739
740                i386)
741                        case "${LB_MODE}" in
742                                progress)
743                                        case "${LB_DISTRIBUTION}" in
744                                                artax)
745                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-686}"
746                                                        ;;
747
748                                                *)
749                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-686-pae}"
750                                                        ;;
751                                        esac
752                                        ;;
753
754                                ubuntu|kubuntu)
755                                        case "${LB_DISTRIBUTION}" in
756                                                precise)
757                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-generic-pae}"
758                                                        ;;
759                                                *)
760                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-generic}"
761                                                        ;;
762                                        esac
763                                        ;;
764
765                                *)
766                                        case "${LIST}" in
767                                                stripped|minimal)
768                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-486}"
769                                                        ;;
770
771                                                *)
772                                                        case "${LB_PARENT_DISTRIBUTION}" in
773                                                                squeeze)
774                                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-486 686}"
775                                                                        ;;
776
777                                                                *)
778                                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-486 686-pae}"
779                                                                        ;;
780                                                        esac
781                                                        ;;
782                                        esac
783                                        ;;
784                        esac
785                        ;;
786
787                ia64)
788                        case "${LB_MODE}" in
789                                progress)
790                                        Echo_error "Architecture ${LB_ARCHITECTURES} not supported in the ${LB_MODE} mode."
791                                        exit 1
792                                        ;;
793
794                                *)
795                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-itanium}"
796                                        ;;
797                        esac
798                        ;;
799
800                powerpc)
801                        case "${LB_MODE}" in
802                                progress)
803                                        Echo_error "Architecture ${LB_ARCHITECTURES} not supported in the ${LB_MODE} mode."
804                                        exit 1
805                                        ;;
806
807                                ubuntu|kubuntu)
808                                        case "${LIST}" in
809                                                stripped|minimal)
810                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc-smp}"
811                                                        ;;
812
813                                                *)
814                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc-smp powerpc64-smp}"
815                                                        ;;
816                                        esac
817                                        ;;
818
819                                *)
820                                        case "${LIST}" in
821                                                stripped|minimal)
822                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc}"
823                                                        ;;
824
825                                                *)
826                                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-powerpc powerpc64}"
827                                                        ;;
828                                        esac
829                                        ;;
830                        esac
831                        ;;
832
833                ppc64el)
834                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-generic}"
835                        ;;
836
837                s390x)
838                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-generic}"
839                        ;;
840
841                s390)
842                        case "${LB_MODE}" in
843                                progress|ubuntu|kubuntu)
844                                        Echo_error "Architecture ${LB_ARCHITECTURES} not supported in the ${LB_MODE} mode."
845                                        exit 1
846                                        ;;
847
848                                *)
849                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-s390}"
850                                        ;;
851                        esac
852                        ;;
853
854                sparc)
855                        case "${LB_MODE}" in
856                                progress)
857                                        Echo_error "Architecture ${LB_ARCHITECTURES} not supported in the ${LB_MODE} mode."
858                                        exit 1
859                                        ;;
860
861                                *)
862                                        LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-sparc64}"
863                                        ;;
864                        esac
865                        ;;
866
867                *)
868                        Echo_error "Architecture(s) ${LB_ARCHITECTURES} not yet supported (FIXME)"
869                        exit 1
870                        ;;
871        esac
872
873        # Set linux packages
874        case "${LB_MODE}" in
875                ubuntu|kubuntu)
876                        LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES:-linux}"
877                        ;;
878
879                *)
880                        case "${LB_PARENT_DISTRIBUTION}" in
881                                squeeze)
882                                        LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES:-linux-image-2.6}"
883                                        ;;
884
885                                *)
886                                        LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES:-linux-image}"
887                                        ;;
888                        esac
889                        ;;
890        esac
891
892        # Setting security updates option
893        case "${LB_PARENT_DISTRIBUTION}" in
894                jessie|sid)
895                        LB_SECURITY="${LB_SECURITY:-false}"
896                        ;;
897
898                *)
899                        LB_SECURITY="${LB_SECURITY:-true}"
900                        ;;
901        esac
902
903        # Setting volatile updates option
904        case "${LB_PARENT_DISTRIBUTION}" in
905                wheezy|jessie|sid)
906                        LB_VOLATILE="${LB_VOLATILE:-false}"
907                        ;;
908
909                *)
910                        LB_VOLATILE="${LB_VOLATILE:-true}"
911                        ;;
912        esac
913
914        ## config/binary
915
916        # Setting image filesystem
917        case "${LB_ARCHITECTURES}" in
918                sparc)
919                        LB_BINARY_FILESYSTEM="${LB_BINARY_FILESYSTEM:-ext4}"
920                        ;;
921
922                *)
923                        LB_BINARY_FILESYSTEM="${LB_BINARY_FILESYSTEM:-fat16}"
924                        ;;
925        esac
926
927        # Setting image type
928        case "${LB_ARCHITECTURES}" in
929                amd64|i386)
930                        LB_BINARY_IMAGES="${LB_BINARY_IMAGES:-iso-hybrid}"
931                        ;;
932
933                *)
934                        LB_BINARY_IMAGES="${LB_BINARY_IMAGES:-iso}"
935                        ;;
936        esac
937
938        # Setting apt indices
939        case "${LB_MODE}" in
940                progress)
941                        LB_APT_INDICES="${LB_APT_INDICES:-none}"
942                        ;;
943
944                *)
945                        LB_APT_INDICES="${LB_APT_INDICES:-true}"
946                        ;;
947        esac
948
949        # Setting bootloader
950        if [ -z "${LB_BOOTLOADER}" ]
951        then
952                case "${LB_ARCHITECTURES}" in
953                        amd64|i386)
954                                LB_BOOTLOADER="syslinux"
955                                ;;
956
957                        powerpc)
958                                LB_BOOTLOADER="yaboot"
959                                ;;
960
961                        sparc)
962                                LB_BOOTLOADER="silo"
963                                ;;
964                esac
965        fi
966
967        # Setting checksums
968        LB_CHECKSUMS="${LB_CHECKSUMS:-sha256}"
969
970        # Setting compression
971        case "${LB_MODE}" in
972                progress)
973                        LB_COMPRESSION="${LB_COMPRESSION:-none}"
974                        ;;
975
976                *)
977                        case "${LB_PARENT_DISTRIBUTION}" in
978                                squeeze)
979                                        LB_COMPRESSION="${LB_COMPRESSION:-gzip}"
980                                        ;;
981
982                                *)
983                                        LB_COMPRESSION="${LB_COMPRESSION:-xz}"
984                                        ;;
985                        esac
986                        ;;
987        esac
988
989        # Setting zsync
990        LB_ZSYNC="${LB_ZSYNC:-true}"
991
992        # Setting chroot option
993        LB_BUILD_WITH_CHROOT="${LB_BUILD_WITH_CHROOT:-true}"
994
995        LB_BUILD_WITH_TMPFS="${LB_BUILD_WITH_TMPFS:-false}"
996
997        # Setting debian-installer option
998        case "${LB_MODE}" in
999                progress)
1000                        LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER:-live}"
1001                        ;;
1002
1003                *)
1004                        LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER:-false}"
1005                        ;;
1006        esac
1007
1008        LB_DEBIAN_INSTALLER_DISTRIBUTION="${LB_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_DISTRIBUTION}}"
1009
1010        # Setting debian-installer-gui
1011        case "${LB_MODE}" in
1012                debian|progress)
1013                        LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI:-true}"
1014                        ;;
1015
1016                *)
1017                        LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI:-false}"
1018                        ;;
1019        esac
1020
1021        # Setting debian-installer preseed filename
1022        if [ -z "${LB_DEBIAN_INSTALLER_PRESEEDFILE}" ]
1023        then
1024                if Find_files config/binary_debian-installer/preseed.cfg
1025                then
1026                        LB_DEBIAN_INSTALLER_PRESEEDFILE="/preseed.cfg"
1027                fi
1028
1029                if Find_files config/binary_debian-installer/*.cfg && [ ! -e config/binary_debian-installer/preseed.cfg ]
1030                then
1031                        Echo_warning "You have placed some preseeding files into config/binary_debian-installer but you didn't specify the default preseeding file through LB_DEBIAN_INSTALLER_PRESEEDFILE. This means that debian-installer will not take up a preseeding file by default."
1032                fi
1033        fi
1034
1035        # Setting boot parameters
1036        LB_BOOTAPPEND_FAILSAFE="${LB_BOOTAPPEND_FAILSAFE:-memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal}"
1037
1038        # LB_BOOTAPPEND_LIVE
1039        if [ -n "${LB_DEBIAN_INSTALLER_PRESEEDFILE}" ]
1040        then
1041                case "${LB_BINARY_IMAGES}" in
1042                        iso*)
1043                                _LB_BOOTAPPEND_PRESEED="file=/cdrom/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
1044                                ;;
1045
1046                        hdd*)
1047                                case "${LB_MODE}" in
1048                                        ubuntu|kubuntu)
1049                                                if [ "${LB_DEBIAN_INSTALLER}" = "live" ]
1050                                                then
1051                                                        _LB_BOOTAPPEND_PRESEED="file=/cdrom/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
1052                                                else
1053                                                        _LB_BOOTAPPEND_PRESEED="file=/hd-media/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
1054                                                fi
1055                                                ;;
1056
1057                                        *)
1058                                                _LB_BOOTAPPEND_PRESEED="file=/hd-media/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
1059                                                ;;
1060                                esac
1061                                ;;
1062
1063                        netboot)
1064                                case "${LB_DEBIAN_INSTALLER_PRESEEDFILE}" in
1065                                        *://*)
1066                                                _LB_BOOTAPPEND_PRESEED="file=${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
1067                                                ;;
1068
1069                                        *)
1070                                                _LB_BOOTAPPEND_PRESEED="file=/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
1071                                                ;;
1072                                esac
1073                                ;;
1074                esac
1075        fi
1076
1077        if [ -n ${_LB_BOOTAPPEND_PRESEED} ]
1078        then
1079                LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL} ${_LB_BOOTAPPEND_PRESEED}"
1080        fi
1081
1082        LB_BOOTAPPEND_INSTALL="$(echo ${LB_BOOTAPPEND_INSTALL} | sed -e 's/[ \t]*$//')"
1083
1084        # Setting grub splash
1085        # LB_GRUB_SPLASH
1086
1087        # Setting iso author
1088        case "${LB_MODE}" in
1089                debian)
1090                        LB_ISO_APPLICATION="${LB_ISO_APPLICATION:-Debian Live}"
1091                        ;;
1092
1093                emdebian)
1094                        LB_ISO_APPLICATION="${LB_ISO_APPLICATION:-Emdebian Live}"
1095                        ;;
1096
1097                progress)
1098                        LB_ISO_APPLICATION="${LB_ISO_APPLICATION:-Progress Linux}"
1099                        ;;
1100
1101                ubuntu)
1102                        LB_ISO_APPLICATION="${LB_ISO_APPLICATION:-Ubuntu Live}"
1103                        ;;
1104
1105                kubuntu)
1106                        LB_ISO_APPLICATION="${LB_ISO_APPLICATION:-Kubuntu Live}"
1107                        ;;
1108        esac
1109
1110        # Set iso preparer
1111        LB_ISO_PREPARER="${LB_ISO_PREPARER:-live-build \$VERSION; http://packages.qa.debian.org/live-build}"
1112
1113        # Set iso publisher
1114        case "${LB_MODE}" in
1115                progress)
1116                        LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER:-Progress Linux; http://www.progress-linux.org/; progress-project@lists.progress-linux.org}"
1117                        ;;
1118
1119                *)
1120                        LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER:-Debian Live project; http://live.debian.net/; debian-live@lists.debian.org}"
1121                        ;;
1122        esac
1123
1124        # Setting hdd options
1125        case "${LB_MODE}" in
1126                debian)
1127                        LB_HDD_LABEL="${LB_HDD_LABEL:-DEBIAN_LIVE}"
1128                        ;;
1129
1130                emdebian)
1131                        LB_HDD_LABEL="${LB_HDD_LABEL:-EMDEBIAN_LIVE}"
1132                        ;;
1133
1134                progress)
1135                        LB_HDD_LABEL="${LB_HDD_LABEL:-PROGRESS_$(echo ${LB_DISTRIBUTION} | tr [a-z] [A-Z])}"
1136                        ;;
1137
1138                ubuntu)
1139                        LB_HDD_LABEL="${LB_HDD_LABEL:-UBUNTU}"
1140                        ;;
1141
1142                kubuntu)
1143                        LB_HDD_LABEL="${LB_HDD_LABEL:-KUBUNTU}"
1144                        ;;
1145        esac
1146
1147        # Setting hdd size
1148        LB_HDD_SIZE="${LB_HDD_SIZE:-10000}"
1149
1150        # Setting iso volume
1151        case "${LB_MODE}" in
1152                debian)
1153                        LB_ISO_VOLUME="${LB_ISO_VOLUME:-Debian ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)}"
1154                        ;;
1155
1156                emdebian)
1157                        LB_ISO_VOLUME="${LB_ISO_VOLUME:-Emdebian ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)}"
1158                        ;;
1159
1160                progress)
1161                        LB_ISO_VOLUME="${LB_ISO_VOLUME:-Progress ${LB_DISTRIBUTION}}"
1162                        ;;
1163
1164                ubuntu)
1165                        LB_ISO_VOLUME="${LB_ISO_VOLUME:-Ubuntu ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)}"
1166                        ;;
1167
1168                kubuntu)
1169                        LB_ISO_VOLUME="${LB_ISO_VOLUME:-Ubuntu ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)}"
1170                        ;;
1171        esac
1172
1173        # Setting memtest option
1174        LB_MEMTEST="${LB_MEMTEST:-memtest86+}"
1175
1176        # Setting win32-loader option
1177        case "${LB_MODE}" in
1178                progress|ubuntu|kubuntu)
1179
1180                        ;;
1181
1182                *)
1183                        case "${LB_ARCHITECTURES}" in
1184                                amd64|i386)
1185                                        if [ "${LB_DEBIAN_INSTALLER}" != "false" ]
1186                                        then
1187                                                LB_WIN32_LOADER="${LB_WIN32_LOADER:-true}"
1188                                        else
1189                                                LB_WIN32_LOADER="${LB_WIN32_LOADER:-false}"
1190                                        fi
1191                                        ;;
1192
1193                                *)
1194                                        LB_WIN32_LOADER="${LB_WIN32_LOADER:-false}"
1195                                        ;;
1196                        esac
1197                        ;;
1198        esac
1199
1200        # Setting netboot filesystem
1201        LB_NET_ROOT_FILESYSTEM="${LB_NET_ROOT_FILESYSTEM:-nfs}"
1202
1203        # Setting netboot server path
1204        case "${LB_MODE}" in
1205                progress)
1206                        LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH:-/srv/progress-linux}"
1207                        ;;
1208
1209                *)
1210                        LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH:-/srv/${LB_MODE}-live}"
1211                        ;;
1212        esac
1213
1214        # Setting netboot server address
1215        LB_NET_ROOT_SERVER="${LB_NET_ROOT_SERVER:-192.168.1.1}"
1216
1217        # Setting net cow filesystem
1218        LB_NET_COW_FILESYSTEM="${LB_NET_COW_FILESYSTEM:-nfs}"
1219
1220        # Setting net tarball
1221        LB_NET_TARBALL="${LB_NET_TARBALL:-true}"
1222
1223        # Setting syslinux theme package
1224        case "${LB_MODE}" in
1225                progress)
1226                        LB_SYSLINUX_THEME="${LB_SYSLINUX_THEME:-progress-standard}"
1227                        ;;
1228
1229                ubuntu)
1230                        LB_SYSLINUX_THEME="${LB_SYSLINUX_THEME:-ubuntu-oneiric}"
1231                        ;;
1232
1233                *)
1234                        LB_SYSLINUX_THEME="${LB_SYSLINUX_THEME:-live-build}"
1235                        ;;
1236        esac
1237
1238        # Setting firmware option
1239        case "${LB_MODE}" in
1240                ubuntu)
1241                        LB_FIRMWARE_CHROOT="${LB_FIRMWARE_CHROOT:-false}"
1242                        LB_FIRMWARE_BINARY="${LB_FIRMWARE_BINARY:-false}"
1243                        ;;
1244
1245                *)
1246                        LB_FIRMWARE_CHROOT="${LB_FIRMWARE_CHROOT:-true}"
1247                        LB_FIRMWARE_BINARY="${LB_FIRMWARE_BINARY:-true}"
1248                        ;;
1249        esac
1250
1251        # Setting swap file
1252        LB_SWAP_FILE_SIZE="${LB_SWAP_FILE_SIZE:-512}"
1253
1254        ## config/source
1255
1256        # Setting source option
1257        LB_SOURCE="${LB_SOURCE:-false}"
1258
1259        # Setting image type
1260        LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES:-tar}"
1261
1262        # Setting fakeroot/fakechroot
1263        LB_USE_FAKEROOT="${LB_USE_FAKEROOT:-false}"
1264}
1265
1266Check_defaults ()
1267{
1268        if [ "${LB_CONFIG_VERSION}" ]
1269        then
1270                # We're only checking when we're actually running the checks
1271                # that's why the check for emptyness of the version;
1272                # however, as live-build always declares LB_CONFIG_VERSION
1273                # internally, this is safe assumption (no cases where it's unset,
1274                # except when bootstrapping the functions/defaults etc.).
1275                CURRENT_CONFIG_VERSION="$(echo ${LB_CONFIG_VERSION} | awk -F. '{ print $1 }')"
1276
1277                if [ ${CURRENT_CONFIG_VERSION} -ge 4 ]
1278                then
1279                        Echo_error "This config tree is too new for this version of live-build (${VERSION})."
1280                        Echo_error "Aborting build, please get a new version of live-build."
1281
1282                        exit 1
1283                elif [ ${CURRENT_CONFIG_VERSION} -eq 2 ]
1284                then
1285                        Echo_error "This config tree is too old for this version of live-build (${VERSION})."
1286                        Echo_error "Aborting build, please repopulate the config tree."
1287                        exit 1
1288                elif [ ${CURRENT_CONFIG_VERSION} -lt 1 ]
1289                then
1290                        Echo_warning "This config tree does not specify a format version or has an unknown version number."
1291                        Echo_warning "Continuing build, but it could lead to errors or different results. Please repopulate the config tree."
1292                fi
1293        fi
1294
1295        if [ "${LB_DEBIAN_INSTALLER}" != "false" ]
1296        then
1297                # d-i true, no caching
1298                if ! echo ${LB_CACHE_STAGES} | grep -qs "bootstrap\b" || [ "${LB_CACHE}" != "true" ] || [ "${LB_CACHE_PACKAGES}" != "true" ]
1299                then
1300                        Echo_warning "You have selected values of LB_CACHE, LB_CACHE_PACKAGES, LB_CACHE_STAGES and LB_DEBIAN_INSTALLER which will result in 'bootstrap' packages not being cached. This configuration is potentially unsafe as the bootstrap packages are re-used when integrating the Debian Installer."
1301                fi
1302        fi
1303
1304        if [ "${LB_BOOTLOADER}" = "syslinux" ]
1305        then
1306                # syslinux + fat
1307                case "${LB_BINARY_FILESYSTEM}" in
1308                        fat*|ntfs)
1309                                ;;
1310                        *)
1311                                Echo_warning "You have selected values of LB_BOOTLOADER and LB_BINARY_FILESYSTEM which are incompatible - syslinux only supports FAT and NTFS filesystems."
1312                                ;;
1313                esac
1314        fi
1315
1316        case "${LB_BINARY_IMAGES}" in
1317                hdd*)
1318                        # grub or yaboot + hdd
1319                        case "${LB_BOOTLOADER}" in
1320                                grub|yaboot)
1321                                        Echo_error "You have selected a combination of bootloader and image type that is currently not supported by live-build. Please use either another bootloader or a different image type."
1322                                        exit 1
1323                                        ;;
1324                        esac
1325                        ;;
1326        esac
1327
1328        if [ "$(echo \"${LB_ISO_APPLICATION}\" | wc -c)" -gt 128 ]
1329        then
1330                Echo_warning "You have specified a value of LB_ISO_APPLICATION that is too long; the maximum length is 128 characters."
1331        fi
1332
1333        if [ "$(echo \"${LB_ISO_PREPARER}\" | wc -c)" -gt  128 ]
1334        then
1335                Echo_warning "You have specified a value of LB_ISO_PREPARER that is too long; the maximum length is 128 characters."
1336        fi
1337
1338        if [ "$(echo \"${LB_ISO_PUBLISHER}\" | wc -c)" -gt 128 ]
1339        then
1340                Echo_warning "You have specified a value of LB_ISO_PUBLISHER that is too long; the maximum length is 128 characters."
1341        fi
1342
1343        if [ "$(eval "echo \"${LB_ISO_VOLUME}\"" | wc -c)" -gt 32 ]
1344        then
1345                Echo_warning "You have specified a value of LB_ISO_VOLUME that is too long; the maximum length is 32 characters."
1346        fi
1347
1348        # Architectures to use foreign bootstrap for
1349        LB_BOOTSTRAP_QEMU_ARCHITECTURES="${LB_BOOTSTRAP_QEMU_ARCHITECTURES:-}"
1350
1351        # Packages to exclude for the foreign/ports bootstrapping
1352        LB_BOOTSTRAP_QEMU_EXCLUDE="${LB_PORTS_BOOTSTRAP_EXCLUDE:-}"
1353
1354        # Ports using foreign bootstrap need a working qemu-*-system. This is the location it
1355        LB_BOOTSTRAP_QEMU_STATIC="${LB_BOOTSTRAP_QEMU_STATIC:-}"
1356
1357}
Note: See TracBrowser for help on using the repository browser.