annotate gnu/grub/grub.sh @ 1220:4ccc42bf0284

misc: split .sh with .info
author David Demelier <markand@malikania.fr>
date Thu, 30 Sep 2021 09:26:38 +0200
parents 57dc83a39b13
children a47aaf9743a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1115
297b5eef115e vanilla: change shebangs to /bin/sh
David Demelier <markand@malikania.fr>
parents: 1114
diff changeset
1 #!/bin/sh
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2020 David Demelier <markand@malikania.fr>
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
1220
4ccc42bf0284 misc: split .sh with .info
David Demelier <markand@malikania.fr>
parents: 1218
diff changeset
18 . ./grub.info
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 : ${CHOST:=$(uname -m)-linux-musl}
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 : ${CBUILD:=$(uname -m)-linux-musl}
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 : ${CTARGET:=$(uname -m)-linux-musl}
764
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
23 : ${CC:=clang}
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 : ${CFLAGS:=-O2}
764
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
25 : ${CXX:=clang++}
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 : ${CXXFLAGS:=-O2}
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 : ${LDFLAGS:=}
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 : ${LIBS:=}
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 : ${LZMA:=no}
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 : ${NLS:=yes}
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
31
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 if [ "$LZMA" = "yes" ]; then
902
a133976e0783 vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents: 831
diff changeset
33 PKGDEPENDS="xz $PKGDEPENDS"
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 with_lzma="--enable-liblzma"
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 else
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 with_lzma="--disable-liblzma"
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 fi
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 if [ "$NLS" = "yes" ]; then
902
a133976e0783 vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents: 831
diff changeset
40 PKGDEPENDS="gettext $PKGDEPENDS"
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 with_nls="--enable-nls"
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 else
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 with_nls="--disable-nls"
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 fi
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 case $(uname -m) in
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 "x86_64")
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 platforms="efi pc"
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 ;;
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 esac
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 build_grub()
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 {
606
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 582
diff changeset
54 mkdir build && cd build
764
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
55 BUILD_CC="$CC" \
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
56 BUILD_CFLAGS="$CFLAGS" \
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
57 BUILD_CXX="$CXX" \
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
58 BUILD_CXXFLAGS="$CXXFLAGS" \
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 CC="$CC" \
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 CFLAGS="$CFLAGS" \
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 CXX="$CXX" \
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 CXXFLAGS="$CXXFLAGS" \
765
859f76ffb512 vanilla: revert binutils for now
David Demelier <markand@malikania.fr>
parents: 764
diff changeset
63 LDFLAGS="$LDFLAGS" \
859f76ffb512 vanilla: revert binutils for now
David Demelier <markand@malikania.fr>
parents: 764
diff changeset
64 LIBS="$LIBS" \
764
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
65 TARGET_CC="$CC" \
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
66 TARGET_CFLAGS="$CFLAGS" \
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
67 TARGET_CXX="$CXX" \
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
68 TARGET_CXXFLAGS="$CXXFLAGS" \
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 ../configure \
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 --build=$CBUILD \
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 --host=$CHOST \
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 --target=$CTARGET \
1218
57dc83a39b13 misc: switch back to standard FHS
David Demelier <markand@malikania.fr>
parents: 1216
diff changeset
73 --prefix=/usr \
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 516
diff changeset
74 --sbindir=/bin \
173
79b65e5164dd core/grub: fix build on musl
David Demelier <markand@malikania.fr>
parents: 167
diff changeset
75 --disable-werror \
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 $with_lzma \
764
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
77 $with_nls \
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
78 "$@"
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 make
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 make install DESTDIR=$DESTDIR
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
606
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 582
diff changeset
82 cd ..
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 rm -rf build
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 }
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
86 rm -rf $PKGNAME-$PKGVERSION
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
87 tar xvf $PKGNAME-$PKGVERSION.tar.xz
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
88 cd $PKGNAME-$PKGVERSION
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
89
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
90 if [ "$CC" = "clang" ]; then
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
91 patch -p0 < ../patch-clang.patch
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
92 fi
764
fc7a2268d9a6 core/grub: fix build with llvm, but still requires binutils
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
93
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
94 for p in $platforms; do
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
95 case $p in
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
96 efi)
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
97 build_grub --with-platform=$p --disable-efiemu
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
98 ;;
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
99 *)
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
100 build_grub --with-platform=$p
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
101 ;;
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
102 esac
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
103 done
167
d2962e105ee9 core/grub: initial import, closes #1027
David Demelier <markand@malikania.fr>
parents:
diff changeset
104
1216
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
105 cd ..
6710613b88b9 misc: remove build function
David Demelier <markand@malikania.fr>
parents: 1115
diff changeset
106 rm -rf $PKGNAME-$PKGVERSION