source: live-build/trunk/fuentes/functions/architectures.sh @ 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: 2.4 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
11Check_architectures ()
12{
13        ARCHITECTURES="${@}"
14        VALID="false"
15
16        for ARCHITECTURE in ${ARCHITECTURES}
17        do
18                if [ "$(echo ${LB_ARCHITECTURES} | grep ${ARCHITECTURE})" ]
19                then
20                        VALID="true"
21                        break
22                fi
23        done
24
25        if [ "${ARCHITECTURES}" = "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" ]
26        then
27                VALID="true"
28
29                if [ ! -e "${LB_BOOTSTRAP_QEMU_STATIC}" ]
30                then
31                        Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_ARCHITECTURES} was not found"
32                        VALID="false"
33                fi
34
35                if [ ! -x "${LB_BOOTSTRAP_QEMU_STATIC}" ]
36                then
37                        Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_STATIC} is not executable"
38                        VALID="false"
39                fi
40
41        fi
42
43        if [ "${VALID}" = "false" ]
44        then
45                Echo_warning "skipping %s, foreign architecture(s)." "${0}"
46                exit 0
47        fi
48}
49
50Check_crossarchitectures ()
51{
52        if [ -x /usr/bin/dpkg ]
53        then
54                HOST="$(dpkg --print-architecture)"
55        else
56                HOST="$(uname -m)"
57        fi
58
59        case "${HOST}" in
60                amd64|i386|x86_64)
61                        CROSS="amd64 i386"
62                        ;;
63
64                powerpc|ppc64)
65                        CROSS="powerpc ppc64"
66                        ;;
67
68                *)
69                        CROSS="${HOST}"
70                        ;;
71        esac
72
73        if [ "${LB_ARCHITECTURES}" = "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" ]
74        then
75
76                if [ ! -e "${LB_BOOTSTRAP_QEMU_STATIC}" ]
77                then
78                        Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_ARCHITECTURES} was not found"
79                        exit 0
80                fi
81
82                if [ ! -x "${LB_BOOTSTRAP_QEMU_STATIC}" ]
83                then
84                        Echo_warning "skipping %s, qemu-static binary ${LB_BOOTSTRAP_QEMU_STATIC} is not executable"
85                        exit 0
86                fi
87                return
88        fi
89
90
91        Check_architectures "${CROSS}"
92}
93
94Check_multiarchitectures ()
95{
96        if [ "$(echo ${LB_ARCHITECTURES} | wc -w)" -gt "1" ]
97        then
98                # First, only support multiarch on iso
99                case "${LB_BINARY_IMAGES}" in
100                        iso*)
101                                # Assemble multi-arch
102                                case "${LB_CURRENT_ARCHITECTURE}" in
103                                        amd64)
104                                                DESTDIR="${DESTDIR}.amd"
105                                                DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
106                                                DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
107                                                ;;
108
109                                        i386)
110                                                DESTDIR="${DESTDIR}.386"
111                                                DESTDIR_LIVE="${DESTDIR_LIVE}.386"
112                                                DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
113                                                ;;
114
115                                        powerpc)
116                                                DESTDIR="${DESTDIR}.ppc"
117                                                DESTDIR_LIVE="${DESTDIR_LIVE}.ppc"
118                                                DESTDIR_INSTALL="${DESTDIR_INSTALL}.ppc"
119                                                ;;
120                                esac
121                                ;;
122                esac
123        fi
124}
Note: See TracBrowser for help on using the repository browser.