source: lliurex-maker/trunk/fuentes/new/usr/bin/lliurex-maker @ 2307

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

new version

  • Property svn:executable set to *
File size: 3.5 KB
Line 
1#!/bin/bash
2
3#Define build variables
4
5ARCH="i386"
6FLAVOUR=""
7MIRROR=""
8INTERACTIVE="false"
9ACTION=""
10EXTRA_PPAS=""
11EXTRA_MIRRORS=""
12EXTRAARGS=""
13EXTRAENV=""
14DEFAULTVERSION="1609
15
16# Define extra variables
17
18RED='\033[0;31m'
19GREEN='\033[0;32m'
20NC='\033[0m' # No Color
21
22# This include function addPPA
23# This include function cleanExtraSources
24# This include function addExtraMirror
25source /usr/share/lliurex-maker/libs/lliurexMakerUtils
26
27# Functions
28
29usage(){
30        echo "usage"
31        echo -e "\t $(basename $0) build FLAVOUR EXTRAOPTIONS"
32        echo -e "\t $(basename $0) clean"
33        echo -e ""
34        echo -e "\t * EXTRAOPTIONS:"
35        echo -e "\t    -a ARCH | --arch=ARCH"
36        echo -e "\t    -m MIRROR | --arch=MIRROR"
37        echo -e "\t    -k KERNEL | --kernel=KERNEL"
38        echo -e "\t    -p PPA[:Pining_Number] | --ppa=PPA[:Pining_Number]"
39        echo -e "\t    -e url | --extramirror=url"
40        echo -e "\t    -i | --interactive"
41        echo -e "\t "
42}
43
44showResume(){
45        echo -e "\n\n"
46        echo -e "\t${GREEN}**********    Resume    **********${NC}\n"
47        echo -e "    FLAVOUR : $FLAVOUR "
48        echo -e "    MIRROR : $MIRROR "
49        echo -e "    ARCH : $ARCH "
50        echo -e "    PPA : $EXTRA_PPAS "
51        echo -e "\n\t${GREEN}**********************************${NC}"
52}
53       
54showErrors(){
55        if [ $( cat binary.log | grep "^E:" | tee errores | wc -l ) -gt 0 ];then
56                echo -e "\n\t${RED}*******   Errors   **********${NC}\n"
57                cat errores | sed -e "s%^%    %g"
58                echo -e "\n\t${RED}*****************************${NC}\n"
59        fi     
60}
61
62setEnvironment(){
63
64        if [ ! -e auto ]; then
65                cp -r /usr/share/lliurex-maker/auto .
66        fi
67
68        if [ "$INTERACTIVE" = "true" ]; then
69                EXTRAARGS="--interactive=true "
70        fi
71
72        if [ -n $MIRROR ]; then
73                EXTRAENV="${EXTRAENV}MIRROR=$MIRROR "
74        fi
75        if [ -n $KERNEL ]; then
76                EXTRAENV="${EXTRAENV}KERNEL_PACKAGES=$KERNEL_PACKAGES "
77        fi
78        if [ -z $FLAVOUR ]; then
79                echo -e "Error!"
80                echo -e "\tFlavour is needed"
81                exit 0
82        fi
83        export FLAVOUR
84        export MIRROR
85        export KERNEL_PACKAGES
86        export ARCH
87       
88}
89
90parseArgs(){
91       
92        while [[ $# > 0 ]]; do
93                key="$1"
94                case $key in
95                        build)
96                                ACTION="build"
97                                FLAVOUR="$2"
98                                shift
99                        ;;
100                        clean)
101                                ACTION="clean"
102                        ;;
103                        -a)
104                                ARCH="$2"
105                                shift
106                        ;;
107                        --arch)
108                                ARCH=${key##--arch=}
109                        ;;
110                        -k)
111                                KERNEL_PACKAGES="$2"
112                                shift
113                        ;;
114                        --kernel)
115                                KERNEL_PACKAGES=${key##--kernel=}
116                        ;;
117
118                        -m)
119                                MIRROR="$2"
120                                shift
121                        ;;
122                        --mirror)
123                                MIRROR=${key##--mirror=}
124                        ;;
125                        -i|--interactive)
126                                INTERACTIVE="true"
127                        ;;
128                        -p)
129                                EXTRA_PPAS="${EXTRA_PPAS} $2"
130                                shift
131                        ;;
132                        --ppa)
133                                EXTRA_PPAS="${EXTRA_PPAS} ${key##--ppa=}"
134                        ;;
135                        -e)
136                                EXTRA_MIRRORS="${EXTRA_MIRRORS} $2"
137                                shift
138                        ;;
139                        --extramirror)
140                                EXTRA_MIRRORS="${EXTRA_MIRRORS} ${key##--extramirror=}"
141                        ;;
142
143                esac
144                shift
145        done
146
147}
148
149parseArgs $@
150
151if [ -z $ACTION ]; then
152        usage
153        exit 0
154fi
155
156case $ACTION in
157        clean)
158                lb clean
159                exit 0
160        ;;
161        build)
162        #continue
163        ;;
164esac
165
166
167# Build iso
168
169setEnvironment
170
171if [ "${EXTRA_PPAS}" != "" ]; then
172        EXTRAARGS="${EXTRAARGS} --archives extra-ppas.list"
173fi
174cleanExtraSources
175lb config ${EXTRAARGS}
176
177
178if [ "$ARCH" = "amd64" ]; then
179        cp -r /usr/share/lliurex-maker/uefi/. config/includes.binary
180fi
181
182# Append ppas
183if [ "${EXTRA_PPAS}" != "" ]; then
184        addPPA 
185fi
186
187if [ "${EXTRA_MIRRORS}" != "" ]; then
188        addExtraMirror
189fi
190
191
192lb build
193cerr=$?
194
195showResume
196showErrors
197
198if [ -e "binary.hybrid.iso" ]; then
199        [[ ${ARCH} = "i386" ]] && ARCHLABEL="32bits" || ARCHLABEL="64bits"
200        DATELABEL=`date +%Y%m%d`
201        VERSIONLABEL=`cat config/lliurexversion || echo $DEFAULTVERSION`
202        mv binary.hybrid.iso lliurex-${FLAVOUR}_${ARCHLABEL}_${VERSIONLABEL}_${DATELABEL}.iso
203fi
204
205exit $cerr
Note: See TracBrowser for help on using the repository browser.