source: lliurex-maker/trunk/fuentes/new/usr/share/lliurex-maker/auto/config @ 2179

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

add feature to append extramirrors from configuration folder

  • Property svn:executable set to *
File size: 4.5 KB
Line 
1#! /bin/sh
2set -e
3
4rm -rf config
5
6echo "Building on $(hostname --fqdn)"
7
8#Sanity checks
9if [ -z $FLAVOUR ]; then
10        echo "\n****************** ERROR ************************************************\n"
11        echo "\tFLAVOUR enviroment variable is not defined. Please indicate this variable"
12        echo "\n*************************************************************************\n"
13        exit 0
14fi
15
16if [ -z $ARCH ]; then
17        echo "\n****************** ERROR ************************************************\n"
18        echo "\tARCH enviroment variable is not defined. Please indicate this variable"
19        echo "\n*************************************************************************\n"
20        exit 0
21fi
22
23
24SUITE=${SUITE:="xenial"}
25
26MIRROR=${MIRROR:="http://lliurex.net/$SUITE"}
27
28MIRRORDEFAULT=${MIRRORDEFAULT:="http://lliurex.net/$SUITE"}
29
30BINARYFORMAT=${BINARYFORMAT:="iso-hybrid"}
31
32ISO_VOLUME="LliureX ${FLAVOUR} $(date +%Y%m%d-%H:%M)"
33
34SYSLINUX_THEME=${SYSLINUX_THEME:="ubuntu-xenial"}
35
36COMPONENTS="main restricted universe multiverse"
37
38BINARY_REMOVE_LINUX=:
39
40MEMTEST=none
41SOURCE='--source false'
42BOOTLOADER=none
43BOOTAPPEND_LIVE=
44LIVE_TASK=
45
46CHROOT_HOOKS=
47BINARY_HOOKS=
48
49OPTS=
50
51mkdir -p config/package-lists
52
53add_package ()
54{
55        local pass="$1"
56        shift
57        local pkg
58
59        for pkg; do
60                echo "$pkg" >> "config/package-lists/livecd-rootfs.list.chroot_$pass"
61        done
62}
63
64add_chroot_hook ()
65{
66        CHROOT_HOOKS="${CHROOT_HOOKS:+$CHROOT_HOOKS }$1"
67}
68
69add_binary_hook ()
70{
71        BINARY_HOOKS="${BINARY_HOOKS:+$BINARY_HOOKS }$1"
72}
73
74case $IMAGEFORMAT in
75        ext2|ext3|ext4)
76                OPTS="${OPTS:+$OPTS }--initramfs none --chroot-filesystem $IMAGEFORMAT"
77                PREINSTALLED=true
78                case $SUBPROJECT in
79                        wubi)
80                                add_package install lupin-support
81                                COMPONENTS='main restricted universe multiverse'
82                                ;;
83                        *)
84                                case $PROJECT in
85                                        ubuntu-cpc)
86                                                ;;
87                                        *)
88                                                add_package live jasper
89                                                ;;
90                                esac
91                                ;;
92                esac
93                ;;
94
95        plain)
96                OPTS="${OPTS:+$OPTS }--initramfs none --chroot-filesystem $IMAGEFORMAT"
97                PREINSTALLED=true
98                ;;
99
100        *)
101                case $PROJECT in
102                        ubuntu-server|ubuntu-touch|ubuntu-pd)
103                                ;;
104                        *)
105                                add_package live lupin-casper
106                                ;;
107                esac
108                ;;
109esac
110
111case $BINARYFORMAT in
112        iso*|usb*)
113                BINARY_IMAGES="$BINARYFORMAT"
114                MEMTEST=memtest86+
115                BOOTLOADER=syslinux
116                OPTS="${OPTS:+$OPTS }--zsync=false"
117                ;;
118esac
119
120add_package live lliurex-meta-live
121
122case $ARCH in
123        amd64)  add_package live linux-signed-generic ;;
124esac
125#               add_chroot_hook remove-gnome-icon-cache
126
127
128add_chroot_hook update-apt-file-cache
129add_chroot_hook update-apt-xapian-index
130add_chroot_hook update-mlocate-database
131add_chroot_hook remove-dbus-machine-id
132add_chroot_hook remove-openssh-server-host-keys
133add_chroot_hook remove-udev-persistent-rules
134add_chroot_hook remove-python-py
135
136lb config noauto \
137    --architecture "$ARCH" \
138        --mode ubuntu \
139        --distribution "$SUITE" \
140        --bootstrap-keyring ubuntu-keyring \
141        --binary-images "$BINARY_IMAGES" \
142        --memtest "$MEMTEST" \
143        $SOURCE \
144        --build-with-chroot false \
145        ${MIRROR:+--parent-mirror-bootstrap $MIRROR} \
146        ${MIRROR:+--parent-mirror-chroot-volatile $MIRROR} \
147        ${MIRROR:+--parent-mirror-chroot-security $MIRROR} \
148        ${MIRROR:+--parent-mirror-binary $MIRRORDEFAULT} \
149        ${MIRROR:+--parent-mirror-binary-security $MIRRORDEFAULT} \
150        ${MIRROR:+--parent-mirror-binary-volatile $MIRRORDEFAULT} \
151        ${MIRROR:+--mirror-bootstrap $MIRROR} \
152        ${MIRROR:+--mirror-chroot-volatile $MIRROR} \
153        ${MIRROR:+--mirror-chroot-security $MIRROR} \
154        ${MIRROR:+--mirror-binary $MIRRORDEFAULT} \
155        ${MIRROR:+--mirror-binary-security $MIRRORDEFAULT} \
156        ${MIRROR:+--mirror-binary-volatile $MIRRORDEFAULT} \
157        ${COMPONENTS:+--parent-archive-areas "$COMPONENTS"} \
158        --apt-source-archives false \
159        ${KERNEL_FLAVOURS:+--linux-flavours "$KERNEL_FLAVOURS"} \
160        --initsystem none \
161        --bootloader "$BOOTLOADER" \
162        --initramfs-compression lzma \
163        --syslinux-theme $SYSLINUX_THEME\
164        --iso-volume "$ISO_VOLUME" \
165        --apt-secure false \
166        --keyring-packages lliurex-keyring \
167        ${BOOTAPPEND_LIVE:+--bootappend-live "$BOOTAPPEND_LIVE"} \
168        $OPTS \
169        "$@"
170
171echo "LB_CHROOT_HOOKS=\"$CHROOT_HOOKS\"" >> config/chroot
172echo "LB_BINARY_HOOKS=\"$BINARY_HOOKS\"" >> config/binary
173echo "BUILDSTAMP=\"$NOW\"" >> config/binary
174
175
176if $BINARY_REMOVE_LINUX; then
177        cat > config/binary_rootfs/excludes << EOF
178boot/vmlinu?-*
179boot/initrd.img-*
180EOF
181fi
182
183rsync -ax --ignore-existing  /usr/share/lliurex-maker/configuration/common/* config/ || true
184rsync -ax --ignore-existing  /usr/share/lliurex-maker/configuration/$FLAVOUR/* config/ || true
185
186if [ -e "config/extramirros" ]; then
187        find config/extramirros -type f -exec cat {} >> config/archives/extra-ppas.list.chroot \;
188fi
Note: See TracBrowser for help on using the repository browser.