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

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

wip

  • Property svn:executable set to *
File size: 3.2 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    -p PPA[:Pining_Number] | --ppa=PPA[:Pining_Number]"
38        echo -e "\t    -e url | --extramirror=url"
39        echo -e "\t    -i | --interactive"
40        echo -e "\t "
41}
42
43showResume(){
44        echo -e "\n\n"
45        echo -e "\t${GREEN}**********    Resume    **********${NC}\n"
46        echo -e "    FLAVOUR : $FLAVOUR "
47        echo -e "    MIRROR : $MIRROR "
48        echo -e "    ARCH : $ARCH "
49        echo -e "    PPA : $EXTRA_PPAS "
50        echo -e "\n\t${GREEN}**********************************${NC}"
51}
52       
53showErrors(){
54        if [ $( cat binary.log | grep "^E:" | tee errores | wc -l ) -gt 0 ];then
55                echo -e "\n\t${RED}*******   Errors   **********${NC}\n"
56                cat errores | sed -e "s%^%    %g"
57                echo -e "\n\t${RED}*****************************${NC}\n"
58        fi     
59}
60
61setEnvironment(){
62
63        if [ ! -e auto ]; then
64                cp -r /usr/share/lliurex-maker/auto .
65        fi
66
67        if [ "$INTERACTIVE" = "true" ]; then
68                EXTRAARGS="--interactive=true "
69        fi
70
71        if [ -n $MIRROR ]; then
72                EXTRAENV="${EXTRAENV}MIRROR=$MIRROR "
73        fi
74        if [ -z $FLAVOUR ]; then
75                echo -e "Error!"
76                echo -e "\tFlavour is needed"
77                exit 0
78        fi
79        export FLAVOUR
80        export MIRROR
81        export ARCH
82}
83
84parseArgs(){
85       
86        while [[ $# > 0 ]]; do
87                key="$1"
88                case $key in
89                        build)
90                                ACTION="build"
91                                FLAVOUR="$2"
92                                shift
93                        ;;
94                        clean)
95                                ACTION="clean"
96                        ;;
97                        -a)
98                                ARCH="$2"
99                                shift
100                        ;;
101                        --arch)
102                                ARCH=${key##--arch=}
103                        ;;
104                        -m)
105                                MIRROR="$2"
106                                shift
107                        ;;
108                        --mirror)
109                                MIRROR=${key##--mirror=}
110                        ;;
111                        -i|--interactive)
112                                INTERACTIVE="true"
113                        ;;
114                        -p)
115                                EXTRA_PPAS="${EXTRA_PPAS} $2"
116                                shift
117                        ;;
118                        --ppa)
119                                EXTRA_PPAS="${EXTRA_PPAS} ${key##--ppa=}"
120                        ;;
121                        -e)
122                                EXTRA_MIRRORS="${EXTRA_MIRRORS} $2"
123                                shift
124                        ;;
125                        --extramirror)
126                                EXTRA_MIRRORS="${EXTRA_MIRRORS} ${key##--extramirror=}"
127                        ;;
128
129                esac
130                shift
131        done
132
133}
134
135parseArgs $@
136
137if [ -z $ACTION ]; then
138        usage
139        exit 0
140fi
141
142case $ACTION in
143        clean)
144                lb clean
145                exit 0
146        ;;
147        build)
148        #continue
149        ;;
150esac
151
152
153# Build iso
154
155setEnvironment
156
157if [ "${EXTRA_PPAS}" != "" ]; then
158        EXTRAARGS="${EXTRAARGS} --archives extra-ppas.list"
159fi
160cleanExtraSources
161lb config ${EXTRAARGS}
162
163
164if [ "$ARCH" = "amd64" ]; then
165        cp -r /usr/share/lliurex-maker/uefi/. config/includes.binary
166fi
167
168# Append ppas
169if [ "${EXTRA_PPAS}" != "" ]; then
170        addPPA 
171fi
172
173if [ "${EXTRA_MIRRORS}" != "" ]; then
174        addExtraMirror
175fi
176
177
178lb build
179cerr=$?
180
181showResume
182showErrors
183
184if [ -e "binary.hybrid.iso" ]; then
185        [[ ${ARCH} = "i386" ]] && ARCHLABEL="32bits" || ARCHLABEL="64bits"
186        DATELABEL=`date +%Y%m%d`
187        VERSIONLABEL=`cat config/lliurexversion || echo $DEFAULTVERSION`
188        mv binary.hybrid.iso lliurex-${FLAVOUR}_${ARCHLABEL}_${VERSIONLABEL}_${DATELABEL}.iso
189fi
190
191exit $cerr
Note: See TracBrowser for help on using the repository browser.