]> git.pld-linux.org Git - packages/uboot.git/blob - uboot.spec
explicitly define target CC
[packages/uboot.git] / uboot.spec
1 Summary:        Das U-Boot -- the Universal Boot Loader
2 Summary(pl.UTF-8):      Das U-Boot - uniwersalny bootloader
3 Name:           uboot
4 Version:        2021.07
5 Release:        1
6 License:        GPL v2
7 Group:          Applications/System
8 Source0:        https://ftp.denx.de/pub/u-boot/u-boot-%{version}.tar.bz2
9 # Source0-md5:  7afbe0ef070dc0e8e970c57a08e3f336
10 Patch0:         rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
11 Patch1:         %{name}-pbp_usb_hang.patch
12 URL:            https://www.denx.de/wiki/U-Boot
13 %ifarch aarch64
14 BuildRequires:  arm-trusted-firmware-armv8
15 %endif
16 BuildRequires:  bison
17 BuildRequires:  dtc
18 BuildRequires:  flex
19 BuildRequires:  openssl-devel
20 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
21
22 %define         common_configs  tools-only
23
24 %ifarch %{arm}
25 %define         arch_configs    rpi_0_w rpi_2
26 %else
27 %ifarch aarch64
28 %define         arch_configs    pinebook-pro-rk3399
29 %endif
30 %endif
31
32 %define         configs %{common_configs} %{?arch_configs}
33
34 %define         rk3399_configs pinebook-pro-rk3399
35
36 %define         imagedir        %{_datadir}/uboot
37
38 %description
39 Das U-Boot (Universal Bootloader, German for "the submarine") is a
40 boot loader for a number of different computer architectures,
41 including PPC, ARM, AVR32, MIPS, x86, 68k, Nios, and MicroBlaze.
42
43 %description -l pl.UTF-8
44 Das U-Boot (Universal Bootloader lub "łódź podwodna" po niemiecku) to
45 bootloader dla wielu różnych architektur komputerów, w tym PPC, ARM,
46 AVR32, MIPS, x86, 68k, Nios i MicroBlaze.
47
48 %package image-pinebook-pro
49 Summary:        U-Boot firmware images for Pinebook Pro
50 Summary(pl.UTF-8):      Obrazy firmware'u U-Boot dla urządzeń Pinebook Pro
51 Group:          Applications/System
52
53 %description image-pinebook-pro
54 U-Boot firmware images for Pinebook Pro.
55
56 %description image-pinebook-pro -l pl.UTF-8
57 Obrazy firmware'u U-Boot dla urządzeń Pinebook Pro.
58
59 %package image-raspberry-pi-2
60 Summary:        U-Boot firmware image for Raspberry Pi 2
61 Summary(pl.UTF-8):      Obrazy firmware'u U-Boot dla urządzeń Raspberry Pi 2
62 Group:          Applications/System
63
64 %description image-raspberry-pi-2
65 U-Boot firmware image for Raspberry Pi 2.
66
67 %description image-raspberry-pi-2 -l pl.UTF-8
68 Obrazy firmware'u U-Boot dla urządzeń Raspberry Pi 2.
69
70 %package image-raspberry-pi-zero
71 Summary:        U-Boot firmware image for Raspberry Pi Zero
72 Summary(pl.UTF-8):      Obrazy firmware'u U-Boot dla urządzeń Raspberry Pi Zero
73 Group:          Applications/System
74
75 %description image-raspberry-pi-zero
76 U-Boot firmware image for Raspberry Pi Zero.
77
78 %description image-raspberry-pi-zero -l pl.UTF-8
79 Obrazy firmware'u U-Boot dla urządzeń Raspberry Pi Zero.
80
81 %package mkimage
82 Summary:        Generate kernel image for U-Boot
83 Summary(pl.UTF-8):      Generowanie obrazu jądra dla U-Boota
84 Group:          Applications/System
85
86 %description mkimage
87 This package contains the mkimage utility, which encapsulates a
88 compressed "uImage" Linux kernel image with header information, CRC32
89 checksum, etc., for use with the U-Boot bootloader.
90
91 mkimage can also be used to create ramdisk images for use with U-Boot,
92 either separated from the Linux kernel image, or combined into one
93 file. mkimage encapsulates the images with a 64 byte header containing
94 information about target architecture, operating system, image type,
95 compression method, entry points, time stamp, CRC32 checksums, etc.
96
97 %description mkimage -l pl.UTF-8
98 Ten pakiet zawiera narzędzie mkimage, łączące skompresowany obraz
99 jądra Linuksa "uImage" w nagłówkiem, sumą kontrolną CRC32 itp. do
100 wykorzystania przez bootloader U-Boot.
101
102 mkimage może być używane także do tworzenia obrazów ramdysków do
103 wykorzystania przez U-Boota - osobnych w stosunku do obrazu jądra lub
104 połączonych w jeden plik. mkimage obudowuje obrazy w 64-bajtowy
105 nagłówek zawierający informacje o architekturze docelowej, systemie
106 operacyjnym, rodzaju obrazu, metodzie kompresji, punktach wejściowych,
107 czasie utworzenia, sumach kontrolnych CRC32 itp.
108
109 %prep
110 %setup -q -n u-boot-%{version}
111 %ifarch %{arm} aarch64
112 %patch0 -p1
113 %endif
114 %ifarch aarch64
115 %patch1 -p1
116 %endif
117
118 %build
119 for config in %configs; do
120         if echo ' %rk3399_configs ' | grep -q " $config "; then
121                 mkdir -p build/$config
122                 cp -p /usr/share/arm-trusted-firmware/rk3399/* build/$config
123         fi
124         %{__make} ${config}_defconfig \
125                 CC="%{__cc}" \
126                 HOSTCC="%{__cc}" \
127                 STRIP=: \
128                 HOSTCFLAGS="%{rpmcflags}" \
129                 HOSTLDFLAGS="%{rpmldflags}" \
130                 V=1 \
131                 O=build/$config
132         %{__make} \
133                 $(test "$config" = "tools-only" && echo tools-only) \
134                 CC="%{__cc}" \
135                 HOSTCC="%{__cc}" \
136                 STRIP=: \
137                 HOSTCFLAGS="%{rpmcflags}" \
138                 HOSTLDFLAGS="%{rpmldflags}" \
139                 V=1 \
140                 O=build/$config
141 done
142
143 %install
144 rm -rf $RPM_BUILD_ROOT
145 install -d $RPM_BUILD_ROOT{%{_bindir},%{imagedir}}
146
147 for config in %configs; do
148         if [ "$config" = "tools-only" ]; then
149                 install build/$config/tools/mkimage $RPM_BUILD_ROOT%{_bindir}
150         elif echo ' %rk3399_configs ' | grep -q " $config "; then
151                 install -d $RPM_BUILD_ROOT%{imagedir}/$config
152                 cp -p build/$config/{idbloader.img,u-boot.itb} $RPM_BUILD_ROOT%{imagedir}/$config
153         else
154                 install -d $RPM_BUILD_ROOT%{imagedir}/$config
155                 cp -p build/$config/u-boot.bin $RPM_BUILD_ROOT%{imagedir}/$config
156         fi
157 done
158
159 %clean
160 rm -rf $RPM_BUILD_ROOT
161
162 %files
163 %defattr(644,root,root,755)
164 %doc MAINTAINERS README
165 %dir %{imagedir}
166
167 %ifarch aarch64
168 %files image-pinebook-pro
169 %defattr(644,root,root,755)
170 %{imagedir}/pinebook-pro-rk3399
171 %endif
172
173 %ifarch %{arm}
174 %files image-raspberry-pi-2
175 %defattr(644,root,root,755)
176 %{imagedir}/rpi_2
177
178 %files image-raspberry-pi-zero
179 %defattr(644,root,root,755)
180 %{imagedir}/rpi_0_w
181 %endif
182
183 %files mkimage
184 %defattr(644,root,root,755)
185 %attr(755,root,root) %{_bindir}/mkimage
This page took 0.084575 seconds and 4 git commands to generate.