source: live-build/trunk/fuentes/scripts/build/lb_config @ 900

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

add original source

  • Property svn:executable set to *
File size: 37.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 -e
12
13# Including common functions
14( . "${LIVE_BUILD}/scripts/build.sh" > /dev/null 2>&1 || true ) || . /usr/lib/live/build.sh
15
16# Setting static variables
17PROGRAM="lb config"
18DESCRIPTION="$(Echo 'create configuration for live-build(7)')"
19USAGE="${PROGRAM}   [--apt apt|aptitude]\n\
20\t    [--apt-ftp-proxy URL]\n\
21\t    [--apt-http-proxy URL]\n\
22\t    [--apt-indices true|false|none]\n\
23\t    [--apt-options OPTION|\"OPTIONS\"]\n\
24\t    [--aptitude-options OPTION|\"OPTIONS\"]\n\
25\t    [--apt-pipeline DEPTH]\n\
26\t    [--apt-recommends true|false]\n\
27\t    [--apt-secure true|false]\n\
28\t    [--apt-source-archives true|false]\n\
29\t    [-a|--architectures ARCHITECTURE]\n\
30\t    [-b|--binary-images iso|iso-hybrid|netboot|tar|hdd]\n\
31\t    [--binary-filesystem fat16|fat32|ext2|ext3|ext4|ntfs]\n\
32\t    [--bootappend-install PARAMETER|\"PARAMETERS\"]\n\
33\t    [--bootappend-live PARAMETER|\"PARAMETERS\"]\n\
34\t    [--bootappend-failsafe PARAMETER|\"PARAMETERS\"]\n\
35\t    [--bootloader grub|syslinux|yaboot]\n\
36\t    [--bootstrap cdebootstrap|cdebootstrap-static|debootstrap|copy]\n\
37\t    [-f|--bootstrap-flavour minimal|standard]\n\
38\t    [--bootstrap-keyring PACKAGE]\n\
39\t    [--cache true|false]\n\
40\t    [--cache-indices true|false]\n\
41\t    [--cache-packages true|false]\n\
42\t    [--cache-stages STAGE|\"STAGES\"]\n\
43\t    [--checksums md5|sha1|sha256|none]\n\
44\t    [--compression bzip2|gzip|lzip|xz|none]\n\
45\t    [--config GIT_URL::GIT_BRANCH]\n\
46\t    [--zsync true|false]\n\
47\t    [--build-with-chroot true|false]\n\
48\t    [--chroot-filesystem ext2|ext3|ext4|squashfs|jffs2|none]\n\
49\t    [--clean\n\
50\t    [-c|--conffile FILE]\n\
51\t    [--debconf-frontend dialog|editor|noninteractive|readline]\n\
52\t    [--debconf-nowarnings true|false]\n\
53\t    [--debconf-priority low|medium|high|critical]\n\
54\t    [--debian-installer true|cdrom|netinst|netboot|businesscard|live|false]\n\
55\t    [--debian-installer-distribution daily|CODENAME]\n\
56\t    [--debian-installer-preseedfile FILE|URL]\n\
57\t    [--debian-installer-gui true|false]\n\
58\t    [--debug]\n\
59\t    [-d|--distribution CODENAME]\n\
60\t    [--ext-block-size 1024|2048|4096]\n\
61\t    [--ext-resize-blocks N]\n\
62\t    [--ext-fudge-factor PERCENTAGE]\n\
63\t    [--parent-distribution CODENAME]\n\
64\t    [--parent-debian-installer-distribution CODENAME]\n\
65\t    [--dump]\n\
66\t    [--fdisk fdisk|fdisk.dist]\n\
67\t    [--force]\n\
68\t    [--grub-splash FILE]\n\
69\t    [--gzip-options OPTION|\"OPTIONS\"]\n\
70\t    [--hooks FILE]\n\
71\t    [--ignore-system-defaults]\n\
72\t    [--initramfs auto|none|live-boot|casper]\n\
73\t    [--initramfs-compression bzip2|gzip|lzma]\n\
74\t    [--initsystem sysvinit|runit|systemd|upstart|none]\n\
75\t    [--interactive shell]\n\
76\t    [--isohybrid-options OPTION|\"OPTIONS\"]\n\
77\t    [--hdd-label LABEL]\n\
78\t    [--hdd-size MB]\n\
79\t    [--iso-application NAME]\n\
80\t    [--iso-preparer NAME]\n\
81\t    [--iso-publisher NAME]\n\
82\t    [--iso-volume NAME]\n\
83\t    [--jffs2-eraseblock SIZE]\n\
84\t    [--keyring-packages PACKAGE|\"PACKAGES\"]\n\
85\t    [-k|--linux-flavours FLAVOUR|\"FLAVOURS\"]\n\
86\t    [--linux-packages \"PACKAGES\"]\n\
87\t    [--losetup losetup|losetup.orig]\n\
88\t    [--memtest memtest86+|memtest86|none]\n\
89\t    [-m|--parent-mirror-bootstrap URL]\n\
90\t    [--parent-mirror-chroot URL]\n\
91\t    [--parent-mirror-chroot-security URL]\n\
92\t    [--parent-mirror-chroot-volatile URL]\n\
93\t    [--parent-mirror-chroot-backports URL]\n\
94\t    [--parent-mirror-binary URL]\n\
95\t    [--parent-mirror-binary-security URL]\n\
96\t    [--parent-mirror-binary-volatile URL]\n\
97\t    [--parent-mirror-binary-backports URL]\n\
98\t    [--parent-mirror-debian-installer URL]\n\
99\t    [--mirror-bootstrap URL]\n\
100\t    [--mirror-chroot URL]\n\
101\t    [--mirror-chroot-security URL]\n\
102\t    [--mirror-chroot-volatile URL]\n\
103\t    [--mirror-chroot-backports URL]\n\
104\t    [--mirror-binary URL]\n\
105\t    [--mirror-binary-security URL]\n\
106\t    [--mirror-binary-volatile URL]\n\
107\t    [--mirror-binary-backports URL]\n\
108\t    [--mirror-debian-installer URL]\n\
109\t    [--mode debian|emdebian|ubuntu|kubuntu]\n\
110\t    [--system live|normal]\n\
111\t    [--net-root-filesystem nfs|cfs]\n\
112\t    [--net-root-mountoptions OPTIONS]\n\
113\t    [--net-root-path PATH]\n\
114\t    [--net-root-server IP|HOSTNAME]\n\
115\t    [--net-cow-filesystem nfs|cfs]\n\
116\t    [--net-cow-mountoptions OPTIONS]\n\
117\t    [--net-cow-path PATH]\n\
118\t    [--net-cow-server IP|HOSTNAME]\n\
119\t    [--net-tarball true|false]\n\
120\t    [--quiet]\n\
121\t    [--root-command sudo]\n\
122\t    [--use-fakeroot true|false]\n\
123\t    [--archives ARCHIVE|\"ARCHIVES\"]\n\
124\t    [--archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\
125\t    [--parent-archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\
126\t    [--security true|false]\n\
127\t    [--source true|false]\n\
128\t    [-s|--source-images iso|netboot|tar|hdd]\n\
129\t    [--firmware-binary true|false]\n\
130\t    [--firmware-chroot true|false]\n\
131\t    [--swap-file-path PATH]\n\
132\t    [--swap-file-size MB]\n\
133\t    [--syslinux-theme THEME_SUFFIX]\n\
134\t    [--tasksel apt|aptitude|tasksel]\n\
135\t    [--templates PATH]\n\
136\t    [--volatile true|false]\n\
137\t    [--backports true|false]\n\
138\t    [--exposed-root true|false]\n\
139\t    [--verbose]\n\
140\t    [--win32-loader true|false]\n\
141\t    [--bootstrap-qemu-exclude PACKAGES]\n\
142\t    [--bootstrap-qemu-static PATH]\n\
143\t    [--bootstrap-qemu-arch ARCH]"
144
145
146Local_arguments ()
147{
148        LONG_OPTIONS="apt:,apt-ftp-proxy:,apt-http-proxy:,apt-options:,aptitute-options:,
149                apt-pipeline:,apt-recommends:,apt-secure:,apt-source-archives:,bootstrap:,cache:,cache-indices:,cache-packages:,
150                cache-stages:,debconf-frontend:,debconf-nowarnings:,debconf-priority:,dump,
151                initramfs:,initramfs-compression:,initsystem:,fdisk:,losetup:,mode:,system:,root-command:,use-fakeroot:,tasksel:,
152                templates:,architectures:,bootstrap-flavour:,bootstrap-keyring:,clean,
153                distribution:,parent-distribution:,parent-debian-installer-distribution:,parent-mirror-bootstrap:,parent-mirror-chroot:,parent-mirror-chroot-security:,parent-mirror-chroot-volatile:,parent-mirror-chroot-backports:,parent-mirror-binary:,
154                parent-mirror-binary-security:,parent-mirror-binary-volatile:,parent-mirror-binary-backports:,parent-mirror-debian-installer:,
155                mirror-bootstrap:,mirror-chroot:,mirror-chroot-security:,mirror-chroot-volatile:,mirror-chroot-backports:,mirror-binary:,
156                mirror-binary-security:,mirror-binary-volatile:,mirror-binary-backports:,mirror-debian-installer:,
157                archives:,archive-areas:,parent-archive-areas:,chroot-filesystem:,exposed-root:,
158                gzip-options:,hooks:,interactive:,keyring-packages:,linux-flavours:,linux-packages:,
159                security:,volatile:,backports:,binary-filesystem:,binary-images:,
160                apt-indices:,bootappend-install:,bootappend-live:,bootappend-failsafe:,bootloader:,checksums:,compression:,config:,zsync:,build-with-chroot:,
161                debian-installer:,debian-installer-distribution:,debian-installer-preseedfile:,debian-installer-gui:,
162                grub-splash:,isohybrid-options:,hdd-label:,hdd-size:,iso-application:,iso-preparer:,iso-publisher:,
163                iso-volume:,jffs2-eraseblock:,ext-block-size:,ext-resize-blocks:,ext-fudge-factor:,memtest:,net-root-filesystem:,net-root-mountoptions:,
164                net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:,
165                net-cow-server:,net-tarball:,firmware-binary:,firmware-chroot:,swap-file-path:,swap-file-size:,syslinux-theme:,
166                win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force,
167                help,ignore-system-defaults,quiet,usage,verbose,version,bootstrap-qemu-static:,bootstrap-qemu-arch:,
168                bootstrap-qemu-exclude:"
169        # Remove spaces added by indentation
170        LONG_OPTIONS="$(echo ${LONG_OPTIONS} | tr -d ' ')"
171        ARGUMENTS="$(getopt --longoptions ${LONG_OPTIONS} --name="${PROGRAM}" --options a:f:d:m:l:k:p:b:e:s:c:huv --shell sh -- "${@}")"
172
173        if [ "${?}" != "0" ]
174        then
175                Echo_error "terminating" >&2
176                exit 1
177        fi
178
179        eval set -- "${ARGUMENTS}"
180
181        while true
182        do
183                case "${1}" in
184                        --dump)
185                                # Dump version
186                                if [ -x "$(which dpkg-query 2>/dev/null)" ]
187                                then
188                                        VERSION_DPKG="$(dpkg-query -f='${Version}' --show live-build)"
189                                fi
190
191                                Echo "%s: This is live-build version %s" "${0}" "${VERSION_DPKG:-${VERSION}}"
192
193                                # Dump conffile contents
194                                Print_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
195
196                                # Dump contents of directories that contain text files
197                                for DIRECTORY in config/package-lists config/chroot_apt config/preseed config/binary_rootfs
198                                do
199                                        if Find_files "${DIRECTORY}"
200                                        then
201                                                Echo_file "${DIRECTORY}"/*
202                                        fi
203                                done
204
205                                # Dump directory listings of all directories under config/
206                                for DIRECTORY in $(find config/ -mindepth 1 -maxdepth 1 -type d)
207                                do
208                                        if Find_files "${DIRECTORY}"
209                                        then
210                                                ls -lR "${DIRECTORY}" | while read LINE
211                                                do
212                                                        echo "${DIRECTORY}: ${LINE}"
213                                                done
214                                        fi
215                                done
216
217                                exit 0
218                                ;;
219
220                        --clean)
221                                _CLEAN="true"
222                                shift
223                                ;;
224
225                        # config/common
226                        --apt)
227                                LB_APT="${2}"
228                                shift 2
229                                ;;
230
231                        --apt-ftp-proxy)
232                                LB_APT_FTP_PROXY="${2}"
233                                shift 2
234                                ;;
235
236                        --apt-http-proxy)
237                                LB_APT_HTTP_PROXY="${2}"
238                                shift 2
239                                ;;
240
241                        --apt-indices)
242                                LB_APT_INDICES="${2}"
243                                shift 2
244                                ;;
245
246                        --apt-options)
247                                APT_OPTIONS="${2}"
248                                shift 2
249                                ;;
250
251                        --aptitude-options)
252                                LB_APTITUDE_OPTIONS="${2}"
253                                shift 2
254                                ;;
255
256                        --apt-pipeline)
257                                LB_APT_PIPELINE="${2}"
258                                shift 2
259                                ;;
260
261                        --apt-recommends)
262                                LB_APT_RECOMMENDS="${2}"
263                                shift 2
264                                ;;
265
266                        --apt-secure)
267                                LB_APT_SECURE="${2}"
268                                shift 2
269                                ;;
270
271                        --apt-source-archives)
272                                LB_APT_SOURCE_ARCHIVES="${2}"
273                                shift 2
274                                ;;
275
276                        --bootstrap)
277                                LB_BOOTSTRAP="${2}"
278                                shift 2
279                                ;;
280
281                        --cache)
282                                LB_CACHE="${2}"
283                                shift 2
284                                ;;
285
286                        --cache-indices)
287                                LB_CACHE_INDICES="${2}"
288                                shift 2
289                                ;;
290
291                        --cache-packages)
292                                LB_CACHE_PACKAGES="${2}"
293                                shift 2
294                                ;;
295
296                        --cache-stages)
297                                LB_CACHE_STAGES="${2}"
298                                shift 2
299                                ;;
300
301                        --debconf-frontend)
302                                LB_DEBCONF_FRONTEND="${2}"
303                                shift 2
304                                ;;
305
306                        --debconf-nowarnings)
307                                LB_DEBCONF_NOWARNINGS="${2}"
308                                shift 2
309                                ;;
310
311                        --debconf-priority)
312                                LB_DEBCONF_PRIORITY="${2}"
313                                shift 2
314                                ;;
315
316                        --initramfs)
317                                LB_INITRAMFS="${2}"
318                                shift 2
319                                ;;
320
321                        --initramfs-compression)
322                                LB_INITRAMFS_COMPRESSION="${2}"
323                                shift 2
324                                ;;
325
326                        --initsystem)
327                                LB_INITSYSTEM="${2}"
328                                shift 2
329                                ;;
330
331                        --fdisk)
332                                LB_FDISK="${2}"
333                                shift 2
334                                ;;
335
336                        --losetup)
337                                LB_LOSETUP="${2}"
338                                shift 2
339                                ;;
340
341                        --mode)
342                                LB_MODE="${2}"
343                                shift 2
344                                ;;
345
346                        --system)
347                                LB_SYSTEM="${2}"
348                                shift 2
349                                ;;
350
351                        --root-command)
352                                LB_ROOT_COMMAND="${2}"
353                                shift 2
354                                ;;
355
356                        --use-fakeroot)
357                                LB_USE_FAKEROOT="${2}"
358                                shift 2
359                                ;;
360
361                        --tasksel)
362                                LB_TASKSEL="${2}"
363                                shift 2
364                                ;;
365
366                        --templates)
367                                LB_TEMPLATES="${2}"
368                                shift 2
369                                ;;
370
371                        # config/bootstrap
372                        -a|--architectures)
373                                LB_ARCHITECTURES="${2}"
374                                shift 2
375                                ;;
376
377                        -f|--bootstrap-flavour)
378                                LB_BOOTSTRAP_FLAVOUR="${2}"
379                                shift 2
380                                ;;
381
382                        --bootstrap-keyring)
383                                LB_BOOTSTRAP_KEYRING="${2}"
384                                shift 2
385                                ;;
386
387                        -d|--distribution)
388                                LB_DISTRIBUTION="${2}"
389                                shift 2
390                                ;;
391
392                        --parent-distribution)
393                                LB_PARENT_DISTRIBUTION="${2}"
394                                shift 2
395                                ;;
396
397                        -m|--parent-mirror-bootstrap)
398                                LB_PARENT_MIRROR_BOOTSTRAP="${2}"
399                                shift 2
400                                ;;
401
402                        --parent-mirror-chroot)
403                                LB_PARENT_MIRROR_CHROOT="${2}"
404                                shift 2
405                                ;;
406
407                        --parent-mirror-chroot-security)
408                                LB_PARENT_MIRROR_CHROOT_SECURITY="${2}"
409                                shift 2
410                                ;;
411
412                        --parent-mirror-chroot-volatile)
413                                LB_PARENT_MIRROR_CHROOT_VOLATILE="${2}"
414                                shift 2
415                                ;;
416
417                        --parent-mirror-chroot-backports)
418                                LB_PARENT_MIRROR_CHROOT_BACKPORTS="${2}"
419                                shift 2
420                                ;;
421
422                        --parent-mirror-binary)
423                                LB_PARENT_MIRROR_BINARY="${2}"
424                                shift 2
425                                ;;
426
427                        --parent-mirror-binary-security)
428                                LB_PARENT_MIRROR_BINARY_SECURITY="${2}"
429                                shift 2
430                                ;;
431
432                        --parent-mirror-binary-volatile)
433                                LB_PARENT_MIRROR_BINARY_VOLATILE="${2}"
434                                shift 2
435                                ;;
436
437                        --parent-mirror-binary-backports)
438                                LB_PARENT_MIRROR_BINARY_BACKPORTS="${2}"
439                                shift 2
440                                ;;
441
442                        --parent-mirror-debian-installer)
443                                LB_PARENT_MIRROR_DEBIAN_INSTALLER="${2}"
444                                shift 2
445                                ;;
446
447                        --mirror-bootstrap)
448                                LB_MIRROR_BOOTSTRAP="${2}"
449                                shift 2
450                                ;;
451
452                        --mirror-chroot)
453                                LB_MIRROR_CHROOT="${2}"
454                                shift 2
455                                ;;
456
457                        --mirror-chroot-security)
458                                LB_MIRROR_CHROOT_SECURITY="${2}"
459                                shift 2
460                                ;;
461
462                        --mirror-chroot-volatile)
463                                LB_MIRROR_CHROOT_VOLATILE="${2}"
464                                shift 2
465                                ;;
466
467                        --mirror-chroot-backports)
468                                LB_MIRROR_CHROOT_BACKPORTS="${2}"
469                                shift 2
470                                ;;
471
472                        --mirror-binary)
473                                LB_MIRROR_BINARY="${2}"
474                                shift 2
475                                ;;
476
477                        --mirror-binary-security)
478                                LB_MIRROR_BINARY_SECURITY="${2}"
479                                shift 2
480                                ;;
481
482                        --mirror-binary-volatile)
483                                LB_MIRROR_BINARY_VOLATILE="${2}"
484                                shift 2
485                                ;;
486
487                        --mirror-binary-backports)
488                                LB_MIRROR_BINARY_BACKPORTS="${2}"
489                                shift 2
490                                ;;
491
492                        --mirror-debian-installer)
493                                LB_MIRROR_DEBIAN_INSTALLER="${2}"
494                                shift 2
495                                ;;
496
497                        --archives)
498                                LB_ARCHIVES="${2}"
499                                shift 2
500                                ;;
501
502                        --archive-areas)
503                                LB_ARCHIVE_AREAS="${2}"
504                                shift 2
505                                ;;
506
507                        --parent-archive-areas)
508                                LB_PARENT_ARCHIVE_AREAS="${2}"
509                                shift 2
510                                ;;
511
512                        # config/chroot
513                        --chroot-filesystem)
514                                LB_CHROOT_FILESYSTEM="${2}"
515                                shift 2
516                                ;;
517
518                        --exposed-root)
519                                LB_EXPOSED_ROOT="${2}"
520                                shift 2
521                                ;;
522
523                        --gzip-options)
524                                GZIP_OPTIONS="${2}"
525                                shift 2
526                                ;;
527
528                        --hooks)
529                                LB_HOOKS="${2}"
530                                shift 2
531                                ;;
532
533                        --interactive)
534                                LB_INTERACTIVE="${2}"
535                                shift 2
536                                ;;
537
538                        --keyring-packages)
539                                LB_KEYRING_PACKAGES="${2}"
540                                shift 2
541                                ;;
542
543                        -k|--linux-flavours)
544                                LB_LINUX_FLAVOURS="${2}"
545                                shift 2
546                                ;;
547
548                        --linux-packages)
549                                LB_LINUX_PACKAGES="${2}"
550                                shift 2
551                                ;;
552
553                        --security)
554                                LB_SECURITY="${2}"
555                                shift 2
556                                ;;
557
558                        --volatile)
559                                LB_VOLATILE="${2}"
560                                shift 2
561                                ;;
562
563                        --backports)
564                                LB_BACKPORTS="${2}"
565                                shift 2
566                                ;;
567
568                        # config/binary
569                        --binary-filesystem)
570                                LB_BINARY_FILESYSTEM="${2}"
571                                shift 2
572                                ;;
573
574                        -b|--binary-images)
575                                LB_BINARY_IMAGES="${2}"
576                                shift 2
577                                ;;
578
579                        --bootappend-live)
580                                LB_BOOTAPPEND_LIVE="${2}"
581                                shift 2
582                                ;;
583
584                        --bootappend-install)
585                                LB_BOOTAPPEND_INSTALL="${2}"
586                                shift 2
587                                ;;
588
589                        --bootappend-failsafe)
590                                LB_BOOTAPPEND_FAILSAFE="${2}"
591                                shift 2
592                                ;;
593
594                        --bootloader)
595                                LB_BOOTLOADER="${2}"
596                                shift 2
597                                ;;
598
599                        --checksums)
600                                LB_CHECKSUMS="${2}"
601                                shift 2
602                                ;;
603
604                        --compression)
605                                LB_COMPRESSION="${2}"
606                                shift 2
607                                ;;
608
609                        --config)
610                                _CONFIG="${2}"
611                                shift 2
612                                ;;
613
614                        --zsync)
615                                LB_ZSYNC="${2}"
616                                shift 2
617                                ;;
618
619                        --build-with-chroot)
620                                LB_BUILD_WITH_CHROOT="${2}"
621                                shift 2
622                                ;;
623
624                        --debian-installer)
625                                LB_DEBIAN_INSTALLER="${2}"
626                                shift 2
627                                ;;
628
629                        --debian-installer-distribution)
630                                LB_DEBIAN_INSTALLER_DISTRIBUTION="${2}"
631                                shift 2
632                                ;;
633
634                        --parent-debian-installer-distribution)
635                                LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${2}"
636                                shift 2
637                                ;;
638
639                        --debian-installer-preseedfile)
640                                LB_DEBIAN_INSTALLER_PRESEEDFILE="${2}"
641                                shift 2
642                                ;;
643
644                        --debian-installer-gui)
645                                LB_DEBIAN_INSTALLER_GUI="${2}"
646                                shift 2
647                                ;;
648
649                        --grub-splash)
650                                LB_GRUB_SPLASH="${2}"
651                                shift 2
652                                ;;
653
654                        --isohybrid-options)
655                                LB_ISOHYBRID_OPTIONS="${2}"
656                                shift 2
657                                ;;
658
659                        --hdd-label)
660                                LB_HDD_LABEL="${2}"
661                                shift 2
662                                ;;
663
664                        --hdd-size)
665                                LB_HDD_SIZE="${2}"
666                                shift 2
667                                ;;
668
669                        --iso-application)
670                                LB_ISO_APPLICATION="${2}"
671                                shift 2
672                                ;;
673
674                        --iso-preparer)
675                                LB_ISO_PREPARER="${2}"
676                                shift 2
677                                ;;
678
679                        --iso-publisher)
680                                LB_ISO_PUBLISHER="${2}"
681                                shift 2
682                                ;;
683
684                        --iso-volume)
685                                LB_ISO_VOLUME="${2}"
686                                shift 2
687                                ;;
688
689                        --ext-block-size)
690                                LB_EXT_BLOCKSIZE="${2}"
691                                shift 2
692                                ;;
693
694                        --ext-resize-blocks)
695                                LB_EXT_RESIZEBLOCKS="${2}"
696                                shift 2
697                                ;;
698
699                        --ext-fudge-factor)
700                                LB_EXT_FUDGEFACTOR="${2}"
701                                shift 2
702                                ;;
703
704                        --jffs2-eraseblock)
705                                LB_JFFS2_ERASEBLOCK="${2}"
706                                shift 2
707                                ;;
708
709                        --memtest)
710                                LB_MEMTEST="${2}"
711                                shift 2
712                                ;;
713
714                        --net-root-filesystem)
715                                LB_NET_ROOT_FILESYSTEM="${2}"
716                                shift 2
717                                ;;
718
719                        --net-root-mountoptions)
720                                LB_NET_ROOT_MOUNTOPTIONS="${2}"
721                                shift 2
722                                ;;
723
724                        --net-root-path)
725                                LB_NET_ROOT_PATH="${2}"
726                                shift 2
727                                ;;
728
729                        --net-root-server)
730                                LB_NET_ROOT_SERVER="${2}"
731                                shift 2
732                                ;;
733
734                        --net-cow-filesystem)
735                                LB_NET_COW_FILESYSTEM="${2}"
736                                shift 2
737                                ;;
738
739                        --net-cow-mountoptions)
740                                LB_NET_COW_MOUNTOPTIONS="${2}"
741                                shift 2
742                                ;;
743
744                        --net-cow-path)
745                                LB_NET_COW_PATH="${2}"
746                                shift 2
747                                ;;
748
749                        --net-cow-server)
750                                LB_NET_COW_SERVER="${2}"
751                                shift 2
752                                ;;
753
754                        --net-tarball)
755                                LB_NET_TARBALL="${2}"
756                                shift 2
757                                ;;
758
759                        --firmware-binary)
760                                LB_FIRMWARE_BINARY="${2}"
761                                shift 2
762                                ;;
763
764                        --firmware-chroot)
765                                LB_FIRMWARE_CHROOT="${2}"
766                                shift 2
767                                ;;
768
769                        --swap-file-path)
770                                LB_SWAP_FILE_PATH="${2}"
771                                shift 2
772                                ;;
773
774                        --swap-file-size)
775                                LB_SWAP_FILE_SIZE="${2}"
776                                shift 2
777                                ;;
778
779                        --syslinux-theme)
780                                LB_SYSLINUX_THEME="${2}"
781                                shift 2
782                                ;;
783
784                        --win32-loader)
785                                LB_WIN32_LOADER="${2}"
786                                shift 2
787                                ;;
788
789                        --bootstrap-qemu-arch)
790                                LB_BOOTSTRAP_QEMU_ARCHITECTURES="${2}"
791                                shift 2
792                                ;;
793
794                        --bootstrap-qemu-exclude)
795                                LB_BOOTSTRAP_QEMU_EXCLUDE="${2}"
796                                shift 2
797                                ;;
798
799                        --bootstrap-qemu-static)
800                                LB_BOOTSTRAP_QEMU_STATIC="${2}"
801                                shift 2
802                                ;;
803
804                        # config/source
805                        --source)
806                                LB_SOURCE="${2}"
807                                shift 2
808                                ;;
809
810                        -s|--source-images)
811                                LB_SOURCE_IMAGES="${2}"
812                                shift 2
813                                ;;
814
815                        # other
816                        --breakpoints)
817                                _BREAKPOINTS="true"
818                                shift
819                                ;;
820
821                        -c|--conffile)
822                                _CONFFILE="${2}"
823                                shift 2
824                                ;;
825
826                        --color)
827                                _COLOR="true"
828                                shift
829                                ;;
830
831                        --debug)
832                                _DEBUG="true"
833                                shift
834                                ;;
835
836                        --force)
837                                _FORCE="true"
838                                shift
839                                ;;
840
841                        -h|--help)
842                                Help
843                                shift
844                                ;;
845
846                        --ignore-system-defaults)
847                                shift
848                                ;;
849
850                        --quiet)
851                                _QUIET="true"
852                                shift
853                                ;;
854
855                        -u|--usage)
856                                Usage
857                                shift
858                                ;;
859
860                        --verbose)
861                                _VERBOSE="true"
862                                shift
863                                ;;
864
865                        -v|--version)
866                                echo "${VERSION}"
867                                exit 0
868                                ;;
869
870                        --)
871                                shift
872                                break
873                                ;;
874
875                        *)
876                                Echo_error "internal error %s" "${0}"
877                                exit 1
878                                ;;
879                esac
880        done
881}
882
883Local_arguments "${@}"
884
885if [ -e .git ] && [ -n "${_CONFIG}" ]
886then
887        if [ "${1}" != "noauto" ]
888        then
889                Echo_message "Ignoring --config ${_CONFIG}: ${PWD} is already a git repository"
890        fi
891
892        _CONFIG=""
893fi
894
895if [ -n "${_CONFIG}" ]
896then
897        _GIT_REPOSITORY="$(echo ${_CONFIG} | sed -e 's|::.*$||')"
898
899        Echo_message "Cloning ${_GIT_REPOSITORY}"
900        git clone ${_GIT_REPOSITORY} ./
901
902        if [ "${_GIT_REPOSITORY}" != "${_CONFIG}" ]
903        then
904                _GIT_BRANCH="$(echo ${_CONFIG} | awk -F\:\: '{ print $NF }')"
905
906                Echo_message "Checking out ${_GIT_BRANCH}"
907                git checkout ${_GIT_BRANCH}
908        fi
909
910        if [ -e auto/config ]
911        then
912                _EXTRA_OPTIONS="$(echo ${@} | sed -e "s|--config ${_GIT_REPOSITORY}::${_GIT_BRANCH}||g" -e "s|--config ${_GIT_REPOSITORY}||g")"
913
914                Echo_message "The following extra options specified to lb config are going to be added to auto/config: ${_EXTRA_OPTIONS}"
915                sed -i -e "s|\"\${@}\"|${_EXTRA_OPTIONS} \"\${@}\"|" auto/config
916        fi
917fi
918
919# Read meta config
920if [ "${1}" != "noauto" ] && [ -x auto/config ]
921then
922        Echo_message "Executing auto/config script."
923        ./auto/config "${@}"
924        exit ${?}
925fi
926
927if [ "${1}" = "noauto" ]
928then
929        shift
930fi
931
932# Reading system configuration
933if ! In_list "--ignore-system-defaults" "${@}"
934then
935        Echo_message "Considering defaults defined in %s" "/etc/live/build.conf"
936
937        Read_conffiles /etc/live/build.conf /etc/live/build.d/*
938fi
939
940# Reading existing configuration
941Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
942
943Local_arguments "${@}"
944
945if [ -n "${_CONFFILE}" ]
946then
947        Read_conffiles "${_CONFFILE}"
948fi
949
950# Setting defaults
951Set_defaults
952
953# Checking defaults
954Check_defaults
955
956if [ ! -e config ]
957then
958        Echo_message "Creating config tree for a ${LB_MODE}/${LB_ARCHITECTURES} system"
959else
960        Echo_message "Updating config tree for a ${LB_MODE}/${LB_ARCHITECTURES} system"
961fi
962
963# Creating bootstrap configuration
964mkdir -p config
965mkdir -p config/includes
966mkdir -p config/templates
967
968# Creating live-build configuration
969cat > config/common << EOF
970# config/common - common options for live-build(7)
971
972# LB_CONFIG_VERSION: internal version of the configuration file format
973LB_CONFIG_VERSION="${CONFIG_VERSION}"
974
975# \$LB_APT: set package manager
976# (Default: ${LB_APT})
977LB_APT="${LB_APT}"
978
979# \$LB_APT_FTP_PROXY: set apt/aptitude ftp proxy
980# (Default: autodetected or empty)
981LB_APT_FTP_PROXY="${LB_APT_FTP_PROXY}"
982
983# \$LB_APT_HTTP_PROXY: set apt/aptitude http proxy
984# (Default: autodetected or empty)
985LB_APT_HTTP_PROXY="${LB_APT_HTTP_PROXY}"
986
987# \$LB_APT_PIPELINE: set apt/aptitude pipeline depth
988# (Default: ${LB_APT_PIPELINE})
989LB_APT_PIPELINE="${LB_APT_PIPELINE}"
990
991# \$LB_APT_RECOMMENDS: set apt/aptitude recommends
992# (Default: ${LB_APT_RECOMMENDS})
993LB_APT_RECOMMENDS="${LB_APT_RECOMMENDS}"
994
995# \$LB_APT_SECURE: set apt/aptitude security
996# (Default: ${LB_APT_SECURE})
997LB_APT_SECURE="${LB_APT_SECURE}"
998
999# \$LB_APT_SOURCE_ARCHIVES: set apt/aptitude source entries in sources.list
1000# (Default: ${LB_APT_SOURCE_ARCHIVES})
1001LB_APT_SOURCE_ARCHIVES="${LB_APT_SOURCE_ARCHIVES}"
1002
1003# \$LB_BOOTSTRAP: set bootstrap program
1004# (Default: ${LB_BOOTSTRAP})
1005LB_BOOTSTRAP="${LB_BOOTSTRAP}"
1006
1007# \$LB_CACHE: control cache
1008# (Default: ${LB_CACHE})
1009LB_CACHE="${LB_CACHE}"
1010
1011# \$LB_CACHE_INDICES: control if downloaded package indices should be cached
1012# (Default: ${LB_CACHE_INDICES})
1013LB_CACHE_INDICES="${LB_CACHE_INDICES}"
1014
1015# \$LB_CACHE_PACKAGES: control if downloaded packages files should be cached
1016# (Default: ${LB_CACHE_PACKAGES})
1017LB_CACHE_PACKAGES="${LB_CACHE_PACKAGES}"
1018
1019# \$LB_CACHE_STAGES: control if completed stages should be cached
1020# (Default: ${LB_CACHE_STAGES})
1021LB_CACHE_STAGES="${LB_CACHE_STAGES}"
1022
1023# \$LB_DEBCONF_FRONTEND: set debconf(1) frontend to use
1024# (Default: ${LB_DEBCONF_FRONTEND})
1025LB_DEBCONF_FRONTEND="${LB_DEBCONF_FRONTEND}"
1026
1027# \$LB_DEBCONF_NOWARNINGS: set debconf(1) warnings
1028# (Default: ${LB_DEBCONF_NOWARNINGS})
1029LB_DEBCONF_NOWARNINGS="${LB_DEBCONF_NOWARNINGS}"
1030
1031# \$LB_DEBCONF_PRIORITY: set debconf(1) priority to use
1032# (Default: ${LB_DEBCONF_PRIORITY})
1033LB_DEBCONF_PRIORITY="${LB_DEBCONF_PRIORITY}"
1034
1035# \$LB_INITRAMFS: set initramfs hook
1036# (Default: ${LB_INITRAMFS})
1037LB_INITRAMFS="${LB_INITRAMFS}"
1038
1039# \$LB_INITRAMFS_COMPRESSION: set initramfs compression
1040# (Default: ${LB_INITRAMFS_COMPRESSION})
1041LB_INITRAMFS_COMPRESSION="${LB_INITRAMFS_COMPRESSION}"
1042
1043# \$LB_INITSYSTEM: set init system
1044# (Default: ${LB_INITSYSTEM})
1045LB_INITSYSTEM="${LB_INITSYSTEM}"
1046
1047# \$LB_FDISK: set fdisk program
1048# (Default: autodetected)
1049LB_FDISK="${LB_FDISK}"
1050
1051# \$LB_LOSETUP: set losetup program
1052# (Default: autodetected)
1053LB_LOSETUP="${LB_LOSETUP}"
1054
1055# \$LB_MODE: set distribution mode
1056# (Default: ${LB_MODE})
1057LB_MODE="${LB_MODE}"
1058
1059# \$LB_SYSTEM: set system type
1060# (Default: ${LB_SYSTEM})
1061LB_SYSTEM="${LB_SYSTEM}"
1062
1063# \$LB_ROOT_COMMAND: use sudo or equivalent
1064# (Default: empty)
1065#LB_ROOT_COMMAND="sudo"
1066
1067# \$LB_USE_FAKEROOT: use fakeroot/fakechroot
1068# (Default: ${LB_USE_FAKEROOT})
1069LB_USE_FAKEROOT="${LB_USE_FAKEROOT}"
1070
1071# \$LB_TASKSEL: set tasksel program
1072# (Default: ${LB_TASKSEL})
1073LB_TASKSEL="${LB_TASKSEL}"
1074
1075# \$LB_TEMPLATES: set templates
1076# (Default: ${LB_TEMPLATES})
1077LB_TEMPLATES="${LB_TEMPLATES}"
1078
1079# live-build options
1080
1081# \$_BREAKPOINTS: enable breakpoints
1082# (Default: ${_BREAKPOINTS})
1083#_BREAKPOINTS="${_BREAKPOINTS}"
1084
1085# \$_DEBUG: enable debug
1086# (Default: ${_DEBUG})
1087#_DEBUG="${_DEBUG}"
1088
1089# \$_COLOR: enable color
1090# (Default: ${_COLOR})
1091#_COLOR="${_COLOR}"
1092
1093# \$_FORCE: enable force
1094# (Default: ${_FORCE})
1095#_FORCE="${_FORCE}"
1096
1097# \$_QUIET: enable quiet
1098# (Default: ${_QUIET})
1099_QUIET="${_QUIET}"
1100
1101# \$_VERBOSE: enable verbose
1102# (Default: ${_VERBOSE})
1103#_VERBOSE="${_VERBOSE}"
1104
1105# Internal stuff (FIXME)
1106APT_OPTIONS="${APT_OPTIONS}"
1107APTITUDE_OPTIONS="${APTITUDE_OPTIONS}"
1108GZIP_OPTIONS="${GZIP_OPTIONS}"
1109ISOHYBRID_OPTIONS="${ISOHYBRID_OPTIONS}"
1110EOF
1111
1112# Creating lb_bootstrap_* configuration
1113cat > config/bootstrap << EOF
1114# config/bootstrap - options for live-build(7), bootstrap stage
1115
1116# \$LB_ARCHITECTURES: select chroot architectures
1117# (Default: autodetected)
1118LB_ARCHITECTURES="${LB_ARCHITECTURES}"
1119
1120# \$LB_BOOTSTRAP_INCLUDE: include packages on base
1121# (Default: empty)
1122LB_BOOTSTRAP_INCLUDE="${LB_BOOTSTRAP_INCLUDE}"
1123
1124# \$LB_BOOTSTRAP_EXCLUDE: exclude packages on base
1125# (Default: empty)
1126LB_BOOTSTRAP_EXCLUDE="${LB_BOOTSTRAP_EXCLUDE}"
1127
1128# \$LB_BOOTSTRAP_FLAVOUR: select flavour to use
1129# (Default: empty)
1130LB_BOOTSTRAP_FLAVOUR="${LB_BOOTSTRAP_FLAVOUR}"
1131
1132# \$LB_BOOTSTRAP_KEYRING: set distribution keyring
1133# (Default: empty)
1134LB_BOOTSTRAP_KEYRING="${LB_BOOTSTRAP_KEYRING}"
1135
1136# \$LB_DISTRIBUTION: select distribution to use
1137# (Default: ${LB_DISTRIBUTION})
1138LB_DISTRIBUTION="${LB_DISTRIBUTION}"
1139
1140# \$LB_PARENT_DISTRIBUTION: select parent distribution to use
1141# (Default: ${LB_PARENT_DISTRIBUTION})
1142LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION}"
1143
1144# \$LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION: select parent distribution for debian-installer to use
1145# (Default: ${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION})
1146LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}"
1147
1148# \$LB_PARENT_MIRROR_BOOTSTRAP: set parent mirror to bootstrap from
1149# (Default: ${LB_PARENT_MIRROR_BOOTSTRAP})
1150LB_PARENT_MIRROR_BOOTSTRAP="${LB_PARENT_MIRROR_BOOTSTRAP}"
1151
1152# \$LB_PARENT_MIRROR_CHROOT: set parent mirror to fetch packages from
1153# (Default: ${LB_PARENT_MIRROR_CHROOT})
1154LB_PARENT_MIRROR_CHROOT="${LB_PARENT_MIRROR_CHROOT}"
1155
1156# \$LB_PARENT_MIRROR_CHROOT_SECURITY: set security parent mirror to fetch packages from
1157# (Default: ${LB_PARENT_MIRROR_CHROOT_SECURITY})
1158LB_PARENT_MIRROR_CHROOT_SECURITY="${LB_PARENT_MIRROR_CHROOT_SECURITY}"
1159
1160# \$LB_PARENT_MIRROR_CHROOT_VOLATILE: set volatile parent mirror to fetch packages from
1161# (Default: ${LB_PARENT_MIRROR_CHROOT_VOLATILE})
1162LB_PARENT_MIRROR_CHROOT_VOLATILE="${LB_PARENT_MIRROR_CHROOT_VOLATILE}"
1163
1164# \$LB_PARENT_MIRROR_CHROOT_BACKPORTS: set backports parent mirror to fetch packages from
1165# (Default: ${LB_PARENT_MIRROR_CHROOT_BACKPORTS})
1166LB_PARENT_MIRROR_CHROOT_BACKPORTS="${LB_PARENT_MIRROR_CHROOT_BACKPORTS}"
1167
1168# \$LB_PARENT_MIRROR_BINARY: set parent mirror which ends up in the image
1169# (Default: ${LB_PARENT_MIRROR_BINARY})
1170LB_PARENT_MIRROR_BINARY="${LB_PARENT_MIRROR_BINARY}"
1171
1172# \$LB_PARENT_MIRROR_BINARY_SECURITY: set security parent mirror which ends up in the image
1173# (Default: ${LB_PARENT_MIRROR_BINARY_SECURITY})
1174LB_PARENT_MIRROR_BINARY_SECURITY="${LB_PARENT_MIRROR_BINARY_SECURITY}"
1175
1176# \$LB_PARENT_MIRROR_BINARY_VOLATILE: set volatile parent mirror which ends up in the image
1177# (Default: ${LB_PARENT_MIRROR_BINARY_VOLATILE})
1178LB_PARENT_MIRROR_BINARY_VOLATILE="${LB_PARENT_MIRROR_BINARY_VOLATILE}"
1179
1180# \$LB_PARENT_MIRROR_BINARY_BACKPORTS: set backports parent mirror which ends up in the image
1181# (Default: ${LB_PARENT_MIRROR_BINARY_BACKPORTS})
1182LB_PARENT_MIRROR_BINARY_BACKPORTS="${LB_PARENT_MIRROR_BINARY_BACKPORTS}"
1183
1184# \$LB_PARENT_MIRROR_DEBIAN_INSTALLER: set debian-installer parent mirror
1185# (Default: ${LB_PARENT_MIRROR_BOOTSTRAP})
1186LB_PARENT_MIRROR_DEBIAN_INSTALLER="${LB_PARENT_MIRROR_DEBIAN_INSTALLER}"
1187
1188# \$LB_MIRROR_BOOTSTRAP: set mirror to bootstrap from
1189# (Default: ${LB_MIRROR_BOOTSTRAP})
1190LB_MIRROR_BOOTSTRAP="${LB_MIRROR_BOOTSTRAP}"
1191
1192# \$LB_MIRROR_CHROOT: set mirror to fetch packages from
1193# (Default: ${LB_MIRROR_CHROOT})
1194LB_MIRROR_CHROOT="${LB_MIRROR_CHROOT}"
1195
1196# \$LB_MIRROR_CHROOT_SECURITY: set security mirror to fetch packages from
1197# (Default: ${LB_MIRROR_CHROOT_SECURITY})
1198LB_MIRROR_CHROOT_SECURITY="${LB_MIRROR_CHROOT_SECURITY}"
1199
1200# \$LB_MIRROR_CHROOT_VOLATILE: set volatile mirror to fetch packages from
1201# (Default: ${LB_MIRROR_CHROOT_VOLATILE})
1202LB_MIRROR_CHROOT_VOLATILE="${LB_MIRROR_CHROOT_VOLATILE}"
1203
1204# \$LB_MIRROR_CHROOT_BACKPORTS: set backports mirror to fetch packages from
1205# (Default: ${LB_MIRROR_CHROOT_BACKPORTS})
1206LB_MIRROR_CHROOT_BACKPORTS="${LB_MIRROR_CHROOT_BACKPORTS}"
1207
1208# \$LB_MIRROR_BINARY: set mirror which ends up in the image
1209# (Default: ${LB_MIRROR_BINARY})
1210LB_MIRROR_BINARY="${LB_MIRROR_BINARY}"
1211
1212# \$LB_MIRROR_BINARY_SECURITY: set security mirror which ends up in the image
1213# (Default: ${LB_MIRROR_BINARY_SECURITY})
1214LB_MIRROR_BINARY_SECURITY="${LB_MIRROR_BINARY_SECURITY}"
1215
1216# \$LB_MIRROR_BINARY_VOLATILE: set volatile mirror which ends up in the image
1217# (Default: ${LB_MIRROR_BINARY_VOLATILE})
1218LB_MIRROR_BINARY_VOLATILE="${LB_MIRROR_BINARY_VOLATILE}"
1219
1220# \$LB_MIRROR_BINARY_BACKPORTS: set backports mirror which ends up in the image
1221# (Default: ${LB_MIRROR_BINARY_BACKPORTS})
1222LB_MIRROR_BINARY_BACKPORTS="${LB_MIRROR_BINARY_BACKPORTS}"
1223
1224# \$LB_MIRROR_DEBIAN_INSTALLER: set debian-installer mirror
1225# (Default: ${LB_MIRROR_BOOTSTRAP})
1226LB_MIRROR_DEBIAN_INSTALLER="${LB_MIRROR_DEBIAN_INSTALLER}"
1227
1228# \$LB_ARCHIVES: enable available third-party archives
1229# (Default: empty)
1230LB_ARCHIVES="${LB_ARCHIVES}"
1231
1232# \$LB_ARCHIVE_AREAS: select archive areas to use
1233# (Default: ${LB_ARCHIVE_AREAS})
1234LB_ARCHIVE_AREAS="${LB_ARCHIVE_AREAS}"
1235
1236# \$LB_PARENT_ARCHIVE_AREAS: select archive areas to use
1237# (Default: ${LB_PARENT_ARCHIVE_AREAS})
1238LB_PARENT_ARCHIVE_AREAS="${LB_PARENT_ARCHIVE_AREAS}"
1239
1240# \$LB_BOOTSTRAP_QEMU_ARCHITECTURES: architectures to use foreign bootstrap
1241# (Default: ${LB_BOOTSTRAP_QEMU_ARCHITECTURES})
1242LB_BOOTSTRAP_QEMU_ARCHITECTURES="${LB_BOOTSTRAP_QEMU_ARCHITECTURES}"
1243
1244# \$LB_BOOTSTRAP_QEMU_EXCLUDE: packages to exclude during foreign bootstrap
1245# (Default: ${LB_BOOTSTRAP_QEMU_EXCLUDE})
1246LB_BOOTSTRAP_QEMU_EXCLUDE="${LB_BOOTSTRAP_QEMU_EXCLUDE}"
1247
1248# \$LB_BOOTSTRAP_QEMU_STATIC: static qemu binary for foreign bootstrap
1249# (Default: ${LB_BOOTSTRAP_QEMU_STATIC})
1250LB_BOOTSTRAP_QEMU_STATIC="${LB_BOOTSTRAP_QEMU_STATIC}"
1251EOF
1252
1253# Creating lb_chroot_* configuration
1254mkdir -p config/archives
1255mkdir -p config/chroot_apt
1256mkdir -p config/hooks
1257mkdir -p config/includes.chroot
1258mkdir -p config/packages
1259mkdir -p config/packages.chroot
1260mkdir -p config/package-lists
1261mkdir -p config/preseed
1262
1263cat > config/chroot << EOF
1264# config/chroot - options for live-build(7), chroot stage
1265
1266# \$LB_CHROOT_FILESYSTEM: set chroot filesystem
1267# (Default: ${LB_CHROOT_FILESYSTEM})
1268LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM}"
1269
1270# \$LB_UNION_FILESYSTEM: set union filesystem
1271# (Default: ${LB_UNION_FILESYSTEM})
1272LB_UNION_FILESYSTEM="${LB_UNION_FILESYSTEM}"
1273
1274# \$LB_EXPOSED_ROOT: expose root as read only
1275# (Default: ${LB_EXPOSED_ROOT})
1276LB_EXPOSED_ROOT="${LB_EXPOSED_ROOT}"
1277
1278# \$LB_HOOKS: set hook commands
1279# (Default: empty)
1280LB_HOOKS="${LB_HOOKS}"
1281
1282# \$LB_INTERACTIVE: set interactive build
1283# (Default: ${LB_INTERACTIVE})
1284LB_INTERACTIVE="${LB_INTERACTIVE}"
1285
1286# \$LB_KEYRING_PACKAGES: set keyring packages
1287# (Default: empty)
1288LB_KEYRING_PACKAGES="${LB_KEYRING_PACKAGES}"
1289
1290# \$LB_LINUX_FLAVOURS: set kernel flavour to use
1291# (Default: autodetected)
1292LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS}"
1293
1294# \$LB_LINUX_PACKAGES: set kernel packages to use
1295# (Default: autodetected)
1296LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES}"
1297
1298# \$LB_SECURITY: enable security updates
1299# (Default: ${LB_SECURITY})
1300LB_SECURITY="${LB_SECURITY}"
1301
1302# \$LB_VOLATILE: enable volatile updates
1303# (Default: ${LB_VOLATILE})
1304LB_VOLATILE="${LB_VOLATILE}"
1305
1306# \$LB_BACKPORTS: enable backports updates
1307# (Default: ${LB_BACKPORTS})
1308LB_BACKPORTS="${LB_BACKPORTS}"
1309EOF
1310
1311# Creating lb_binary_* configuration
1312mkdir -p config/binary_debian-installer
1313mkdir -p config/binary_grub
1314mkdir -p config/includes.binary
1315mkdir -p config/includes.binary_debian-installer
1316mkdir -p config/packages.binary
1317mkdir -p config/package-lists
1318mkdir -p config/binary_rootfs
1319mkdir -p config/binary_syslinux
1320
1321cat > config/binary << EOF
1322# config/binary - options for live-build(7), binary stage
1323
1324# \$LB_BINARY_FILESYSTEM: set image filesystem
1325# (Default: ${LB_BINARY_FILESYSTEM})
1326LB_BINARY_FILESYSTEM="${LB_BINARY_FILESYSTEM}"
1327
1328# \$LB_BINARY_IMAGES: set image type
1329# (Default: ${LB_BINARY_IMAGES})
1330LB_BINARY_IMAGES="${LB_BINARY_IMAGES}"
1331
1332# \$LB_APT_INDICES: set apt/aptitude generic indices
1333# (Default: ${LB_APT_INDICES})
1334LB_APT_INDICES="${LB_APT_INDICES}"
1335
1336# \$LB_BOOTAPPEND_LIVE: set boot parameters
1337# (Default: empty)
1338LB_BOOTAPPEND_LIVE="${LB_BOOTAPPEND_LIVE}"
1339
1340# \$LB_BOOTAPPEND_INSTALL: set boot parameters
1341# (Default: empty)
1342LB_BOOTAPPEND_INSTALL="${LB_BOOTAPPEND_INSTALL}"
1343
1344# \$LB_BOOTAPPEND_FAILSAFE: set boot parameters
1345# (Default: empty)
1346LB_BOOTAPPEND_FAILSAFE="${LB_BOOTAPPEND_FAILSAFE}"
1347
1348# \$LB_BOOTLOADER: set bootloader
1349# (Default: ${LB_BOOTLOADER})
1350LB_BOOTLOADER="${LB_BOOTLOADER}"
1351
1352# \$LB_CHECKSUMS: set checksums
1353# (Default: ${LB_CHECKSUMS})
1354LB_CHECKSUMS="${LB_CHECKSUMS}"
1355
1356# \$LB_COMPRESSION: set compression
1357# (Default: ${LB_COMPRESSION})
1358LB_COMPRESSION="${LB_COMPRESSION}"
1359
1360# \$LB_ZSYNC: set zsync
1361# (Default: ${LB_ZSYNC})
1362LB_ZSYNC="${LB_ZSYNC}"
1363
1364# \${LB_BUILD_WITH_CHROOT: control if we build binary images chrooted
1365# (Default: ${LB_BUILD_WITH_CHROOT})
1366# DO NEVER, *NEVER*, *N*E*V*E*R* SET THIS OPTION to false.
1367LB_BUILD_WITH_CHROOT="${LB_BUILD_WITH_CHROOT}"
1368
1369# \$LB_DEBIAN_INSTALLER: set debian-installer
1370# (Default: ${LB_DEBIAN_INSTALLER})
1371LB_DEBIAN_INSTALLER="${LB_DEBIAN_INSTALLER}"
1372
1373# \$LB_DEBIAN_INSTALLER_DISTRIBUTION: set debian-installer suite
1374# (Default: empty)
1375LB_DEBIAN_INSTALLER_DISTRIBUTION="${LB_DEBIAN_INSTALLER_DISTRIBUTION}"
1376
1377# \$LB_DEBIAN_INSTALLER_PRESEEDFILE: set debian-installer preseed filename/url
1378# (Default: ${LB_DEBIAN_INSTALLER_PRESEEDFILE})
1379LB_DEBIAN_INSTALLER_PRESEEDFILE="${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
1380
1381# \$LB_DEBIAN_INSTALLER_GUI: toggle use of GUI debian-installer
1382# (Default: ${LB_DEBIAN_INSTALLER_GUI})
1383LB_DEBIAN_INSTALLER_GUI="${LB_DEBIAN_INSTALLER_GUI}"
1384
1385# \$LB_GRUB_SPLASH: set custom grub splash
1386# (Default: empty)
1387LB_GRUB_SPLASH="${LB_GRUB_SPLASH}"
1388
1389# \$LB_HDD_LABEL: set hdd label
1390# (Default: ${LB_HDD_LABEL})
1391LB_HDD_LABEL="${LB_HDD_LABEL}"
1392
1393# \$LB_HDD_SIZE: set hdd filesystem size
1394# (Default: ${LB_HDD_SIZE})
1395LB_HDD_SIZE="${LB_HDD_SIZE}"
1396
1397# \$LB_ISO_APPLICATION: set iso author
1398# (Default: ${LB_ISO_APPLICATION})
1399LB_ISO_APPLICATION="${LB_ISO_APPLICATION}"
1400
1401# \$LB_ISO_PREPARER: set iso preparer
1402# (Default: ${LB_ISO_PREPARER})
1403LB_ISO_PREPARER="${LB_ISO_PREPARER}"
1404
1405# \$LB_ISO_PUBLISHER: set iso publisher
1406# (Default: ${LB_ISO_PUBLISHER})
1407LB_ISO_PUBLISHER="${LB_ISO_PUBLISHER}"
1408
1409# \$LB_ISO_VOLUME: set iso volume (max 32 chars)
1410# (Default: ${LB_ISO_VOLUME})
1411LB_ISO_VOLUME="${LB_ISO_VOLUME}"
1412
1413# \$LB_EXT_BLOCKSIZE: set EXT block size
1414# (Default: unset)
1415LB_EXT_BLOCKSIZE="${LB_EXT_BLOCKSIZE}"
1416
1417# \$LB_EXT_RESIZEBLOCKS: set EXT resize parameter
1418# (Default: unset)
1419LB_EXT_RESIZEBLOCKS="${LB_EXT_RESIZEBLOCKS}"
1420
1421# \$LB_EXT_FUDGEFACTOR: set extra size of EXT images (in %)
1422# (Default: unset)
1423LB_EXT_FUDGEFACTOR="${LB_EXT_FUDGEFACTOR}"
1424
1425# \$LB_JFFS2_ERASEBLOCK: set jffs2 eraseblock size
1426# (Default: unset)
1427LB_JFFS2_ERASEBLOCK=""
1428
1429# \$LB_MEMTEST: set memtest
1430# (Default: ${LB_MEMTEST})
1431LB_MEMTEST="${LB_MEMTEST}"
1432
1433# \$LB_WIN32_LOADER: set win32-loader
1434# (Default: ${LB_WIN32_LOADER})
1435LB_WIN32_LOADER="${LB_WIN32_LOADER}"
1436
1437# \$LB_NET_ROOT_FILESYSTEM: set netboot filesystem
1438# (Default: ${LB_NET_ROOT_FILESYSTEM})
1439LB_NET_ROOT_FILESYSTEM="${LB_NET_ROOT_FILESYSTEM}"
1440
1441# \$LB_NET_ROOT_MOUNTOPTIONS: set nfsopts
1442# (Default: empty)
1443LB_NET_ROOT_MOUNTOPTIONS="${LB_NET_ROOT_MOUNTOPTIONS}"
1444
1445# \$LB_NET_ROOT_PATH: set netboot server directory
1446# (Default: ${LB_NET_ROOT_PATH})
1447LB_NET_ROOT_PATH="${LB_NET_ROOT_PATH}"
1448
1449# \$LB_NET_ROOT_SERVER: set netboot server address
1450# (Default: ${LB_NET_ROOT_SERVER})
1451LB_NET_ROOT_SERVER="${LB_NET_ROOT_SERVER}"
1452
1453# \$LB_NET_COW_FILESYSTEM: set net client cow filesystem
1454# (Default: ${LB_NET_COW_FILESYSTEM})
1455LB_NET_COW_FILESYSTEM="${LB_NET_COW_FILESYSTEM}"
1456
1457# \$LB_NET_COW_MOUNTOPTIONS: set cow mount options
1458# (Default: empty)
1459LB_NET_COW_MOUNTOPTIONS="${LB_NET_COW_MOUNTOPTIONS}"
1460
1461# \$LB_NET_COW_PATH: set cow directory
1462# (Default: ${LB_NET_COW_PATH})
1463LB_NET_COW_PATH="${LB_NET_COW_PATH}"
1464
1465# \$LB_NET_COW_SERVER: set cow server
1466# (Default: ${LB_NET_COW_SERVER})
1467LB_NET_COW_SERVER="${LB_NET_COW_SERVER}"
1468
1469# \$LB_NET_TARBALL: set net tarball
1470# (Default: ${LB_NET_TARBALL})
1471LB_NET_TARBALL="${LB_NET_TARBALL}"
1472
1473# \$LB_FIRMWARE_BINARY: include firmware packages in debian-installer
1474# (Default: ${LB_FIRMWARE_BINARY})
1475LB_FIRMWARE_BINARY="${LB_FIRMWARE_BINARY}"
1476
1477# \$LB_FIRMWARE_CHROOT: include firmware packages in debian-installer
1478# (Default: ${LB_FIRMWARE_CHROOT})
1479LB_FIRMWARE_CHROOT="${LB_FIRMWARE_CHROOT}"
1480
1481# \$LB_SWAP_FILE_PATH: set swap file path
1482# (Default: ${LB_SWAP_FILE_PATH})
1483LB_SWAP_FILE_PATH="${LB_SWAP_FILE_PATH}"
1484
1485# \$LB_SWAP_FILE_SIZE: set swap file size
1486# (Default: ${LB_SWAP_FILE_SIZE})
1487LB_SWAP_FILE_SIZE="${LB_SWAP_FILE_SIZE}"
1488
1489# \$LB_SYSLINUX_THEME: set syslinux theme package
1490# (Default: ${LB_SYSLINUX_THEME})
1491LB_SYSLINUX_THEME="${LB_SYSLINUX_THEME}"
1492EOF
1493
1494# Creating lb_source_* configuration
1495cat > config/source << EOF
1496# config/source - options for live-build(7), source stage
1497
1498# \$LB_SOURCE: set source option
1499# (Default: ${LB_SOURCE})
1500LB_SOURCE="${LB_SOURCE}"
1501
1502# \$LB_SOURCE_IMAGES: set image type
1503# (Default: ${LB_SOURCE_IMAGES})
1504LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES}"
1505EOF
1506
1507mkdir -p auto
1508mkdir -p local/functions
1509mkdir -p local/scripts
1510
1511if [ "${CONFIG}" = "clone" ] # FIXME
1512then
1513        # Read package selection
1514        echo $(dpkg --get-selections | awk '{ print $1 }') > config/package-lists/local.list.chroot
1515
1516        # Read debconf questions
1517        if [ ! -f /usr/bin/debconf-get-selections ]
1518        then
1519                Echo_warning "Please install 'debconf-utils' in order to use this feature."
1520        else
1521                debconf-get-selections | grep -v deinstall | cut -f1 > config/preseed/local.preseed.chroot
1522        fi
1523fi
1524
1525# Checking defaults again
1526Check_defaults
1527
1528if [ "${_CLEAN}" = "true" ]
1529then
1530        # Remove empty directories in config tree
1531        rmdir --ignore-fail-on-non-empty config/*/ > /dev/null 2>&1 || true
1532        rmdir --ignore-fail-on-non-empty config > /dev/null 2>&1 || true
1533        rmdir --ignore-fail-on-non-empty auto > /dev/null 2>&1 || true
1534        rmdir --ignore-fail-on-non-empty local/functions > /dev/null 2>&1 || true
1535        rmdir --ignore-fail-on-non-empty local/scripts > /dev/null 2>&1 || true
1536        rmdir --ignore-fail-on-non-empty local > /dev/null 2>&1 || true
1537fi
1538
1539# Creating stage file
1540Create_stagefile .build/config
Note: See TracBrowser for help on using the repository browser.