1 |
%if "%distro_section" == "nonfree" |
2 |
%global build_nonfree 1 |
3 |
%else |
4 |
%global build_nonfree 0 |
5 |
%endif |
6 |
|
7 |
# enable this if you want to debug stage2 |
8 |
%define debug 0 |
9 |
|
10 |
%define theme Default |
11 |
%define kernel_version 3.17.1 |
12 |
%define kernel_release 1.mga5 |
13 |
%define main_kernel_version %{kernel_version}-%{kernel_release} |
14 |
|
15 |
%ifarch x86_64 |
16 |
%define kernels kernel-desktop-%main_kernel_version |
17 |
%else |
18 |
%ifarch %ix86 |
19 |
%define kernels kernel-desktop586-%main_kernel_version |
20 |
%else |
21 |
%define kernels kernel-desktop-%main_kernel_version |
22 |
%endif |
23 |
%endif |
24 |
|
25 |
%global __requires_exclude (libcom32|libgpl|libutil)\\.c32 |
26 |
|
27 |
Summary: DrakX installer images |
28 |
Name: drakx-installer-images |
29 |
Version: 2.11 |
30 |
Release: %mkrel 15 |
31 |
Source0: %{name}-%{version}.tar.xz |
32 |
# (tmb) basic efi boot support for mga4 |
33 |
# will be properly integrated for mga5 |
34 |
%if %{build_nonfree} |
35 |
Source1: mageia5-efiboot-nonfree.tar.xz |
36 |
%else |
37 |
Source1: mageia5-efiboot.tar.xz |
38 |
Source2: mageia5-efiboot-nonfree.tar.xz |
39 |
%endif |
40 |
Patch0: mageia5-efiboot.diff |
41 |
|
42 |
# NO PATCH ALLOWED |
43 |
License: GPL |
44 |
Group: Development/Other |
45 |
Url: https://wiki.mageia.org/en/Stage_One_install |
46 |
BuildRequires: %kernels kernel-firmware |
47 |
%ifarch %ix86 x86_64 |
48 |
BuildRequires: memtest86+ |
49 |
BuildRequires: grub |
50 |
BuildRequires: syslinux >= 6.03-0.pre18.1 |
51 |
%endif |
52 |
BuildRequires: drakx-installer-binaries >= 2.8 |
53 |
BuildRequires: ldetect-lst >= 0.1.324 |
54 |
BuildRequires: mageia-theme-%{theme} |
55 |
BuildRequires: pcmciautils |
56 |
BuildRequires: perl-XML-Parser |
57 |
|
58 |
BuildRequires: cdrkit-genisoimage |
59 |
BuildRequires: mknod-m600 |
60 |
BuildRequires: mtools |
61 |
BuildRequires: dracut >= 34-14.mga5 |
62 |
%if %debug |
63 |
BuildRequires: busybox |
64 |
%endif |
65 |
#Buildrequires: ka-deploy-source-node |
66 |
BuildRequires: dosfstools |
67 |
BuildRequires: rp-pppoe |
68 |
BuildRequires: ppp |
69 |
# Firmwares: |
70 |
BuildRequires: zd1211-firmware |
71 |
BuildRequires: b43-openfwwf |
72 |
# BR for nonfree iso |
73 |
%if %{build_nonfree} |
74 |
BuildRequires: kernel-firmware-nonfree |
75 |
BuildRequires: atmel-firmware |
76 |
BuildRequires: bluez-firmware |
77 |
BuildRequires: ipw2100-firmware |
78 |
BuildRequires: ipw2200-firmware |
79 |
BuildRequires: iwlwifi-3945-ucode |
80 |
BuildRequires: iwlwifi-4965-ucode |
81 |
BuildRequires: iwlwifi-agn-ucode |
82 |
BuildRequires: microcode |
83 |
BuildRequires: ralink-firmware |
84 |
BuildRequires: rtlwifi-firmware |
85 |
BuildRequires: radeon-firmware |
86 |
%endif |
87 |
|
88 |
%description |
89 |
images needed to build %_vendor installer (DrakX) |
90 |
%if %{build_nonfree} |
91 |
The iso also includes nonfree firmware |
92 |
%endif |
93 |
|
94 |
Can be rebuilt with debug support. |
95 |
|
96 |
|
97 |
%if %{build_nonfree} |
98 |
%package nonfree |
99 |
Summary: DrakX installer images with nonfree firmware |
100 |
%description nonfree |
101 |
iso image needed run %_vendor installer (DrakX) |
102 |
with nonfree firmwares. |
103 |
%endif |
104 |
|
105 |
%prep |
106 |
%ifarch x86_64 |
107 |
%setup -q -a 1 |
108 |
%patch0 -p1 |
109 |
%else |
110 |
%setup -q |
111 |
%endif |
112 |
|
113 |
%build |
114 |
%if %debug |
115 |
# Example for building an automatic boot.iso: |
116 |
# export BOOT_AUTOMATIC_METHOD="method:http,ser:192.168.0.10,dir:/mageia/unstable,netw:dhcp" |
117 |
# Same example with workaround for slow VirtualBox (mga#44): |
118 |
# export BOOT_AUTOMATIC_METHOD="method:http,ser:192.168.0.10,dir:/mageia/unstable,netw:dhcp divider=0 " |
119 |
# Same example with skipping "useless" steps and forcing the locale to french: |
120 |
# export BOOT_AUTOMATIC_METHOD="method:http,ser:192.168.0.10,dir:/mageia/unstable,netw:dhcp divider=0 useless_thing_accepted flang=fr keyboard=fr lang=fr " |
121 |
# Same example with using your keyboard mapping with english install: |
122 |
# export BOOT_AUTOMATIC_METHOD="method:http,ser:192.168.0.10,dir:/mageia/unstable,netw:dhcp divider=0 useless_thing_accepted flang=en_US keyboard=fr lang=en_US " |
123 |
# Same example with faster but unsafe install (no fsync): |
124 |
# export BOOT_AUTOMATIC_METHOD="method:http,ser:192.168.0.10,dir:/mageia/unstable,netw:dhcp divider=0 useless_thing_accepted flang=en_US keyboard=fr lang=en_US tune-rpm " |
125 |
# Same example with light speed install (no real install, like rpm --justdb): |
126 |
# export BOOT_AUTOMATIC_METHOD="method:http,ser:192.168.0.10,dir:/mageia/unstable,netw:dhcp divider=0 useless_thing_accepted flang=en_US keyboard=fr lang=en_US tune-rpm justdb " |
127 |
export DEBUGSTAGE1=1 |
128 |
%endif |
129 |
THEME=%_vendor-%{theme} make -C images KERNELS="%{kernels}" |
130 |
|
131 |
%install |
132 |
%if %debug |
133 |
export DEBUGSTAGE1=1 |
134 |
%endif |
135 |
|
136 |
dest=$RPM_BUILD_ROOT%{_libdir}/%name |
137 |
mkdir -p $dest |
138 |
make -C images install ROOTDEST=$dest |
139 |
|
140 |
%if %{build_nonfree} |
141 |
# nuke everything but boot.iso |
142 |
rm -rf $dest/isolinux $dest/install/images/{alternatives,MD5SUM} |
143 |
# rename iso and recreate md5 |
144 |
pushd $dest/install/images/ |
145 |
mv boot.iso boot-nonfree.iso |
146 |
mv all.img all-nonfree.img |
147 |
mv hd_grub.img hd_grub-nonfree.img |
148 |
md5sum *-nonfree.* >MD5SUM-nonfree |
149 |
popd |
150 |
%endif |
151 |
|
152 |
%clean |
153 |
rm -rf $RPM_BUILD_ROOT |
154 |
|
155 |
%if %{build_nonfree} |
156 |
%files nonfree |
157 |
%else |
158 |
%files |
159 |
%endif |
160 |
%{_libdir}/%name |