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

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

added support to extra mirrors

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