4 # --enable-burg-emu-usb conflicts with --enable-burg-emu-pci, emu-pci seems experimental
5 # - to build and install the `burg-emu' debugging utility we need to re-run build with --target=emu
6 # - put burg-emu to subpackage if it is fixed
7 # - merge more from grub2.spec
9 # - how to enable themes?
12 %bcond_with burgemu # build burg-emu debugging utility
15 Summary: Brand-new Universal loadeR from Grub
21 Source0: %{name}-%{version}-bzr.tar.gz
22 # Source0-md5: 19b8ec2fe6208788bcf877c5a3b7e91d
23 Source3: burg.sysconfig
24 Source4: burg-custom.cfg
25 Patch0: pld-initrd.patch
26 Patch1: pld-sysconfdir.patch
27 Patch2: %{name}-garbage.patch
28 Patch3: %{name}-shelllib.patch
29 Patch4: %{name}-install.in.patch
30 Patch5: %{name}-lvmdevice.patch
31 Patch6: pld-mkconfigdir.patch
33 Patch7: %{name}-mkconfig-diagnostics.patch
34 URL: https://launchpad.net/burg
35 BuildRequires: autoconf
36 BuildRequires: automake
39 BuildRequires: help2man
41 BuildRequires: texinfo
42 %ifarch %{ix86} %{x8664}
43 BuildRequires: lzo-devel >= 1.0.2
46 BuildRequires: /usr/lib/libc.so
47 %if "%{pld_release}" == "ac"
48 BuildRequires: libgcc32
50 BuildRequires: gcc-multilib
53 BuildRequires: ncurses-devel
54 BuildRequires: rpm >= 4.4.9-56
55 BuildRequires: rpmbuild(macros) >= 1.213
57 Suggests: cdrkit-mkisofs
61 ExclusiveArch: %{ix86} %{x8664} ppc sparc64
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 %define _sbindir /sbin
65 %define _bindir %{_sbindir}
67 %define _libexecdir %{_libdir}/burg
70 burg is a brand-new boot loader based on GRUB. It uses a new object
71 format which allows it to be built in a wider range of OS, including
72 Linux/Windows/OSX/FreeBSD, etc. It also has a highly configurable menu
73 system which works in both text and graphic mode. Additional features
74 like stream support and multiple input/output device are also planned.
77 %setup -q -n %{name}-%{version}-bzr
89 export CFLAGS="-Os %{?debug:-g}"
92 --enable-grub-emu-usb \
93 --enable-grub-emu-sdl \
94 --enable-grub-emu-pci \
96 BUILD_CFLAGS="$CFLAGS"
98 pkgdatadir=%{_libexecdir} \
99 pkglibdir=%{_libexecdir}
102 rm -rf $RPM_BUILD_ROOT
103 install -d $RPM_BUILD_ROOT{/etc/sysconfig,%{_sysconfdir}/burg.d}
106 pkgdatadir=%{_libexecdir} \
107 pkglibdir=%{_libexecdir} \
108 DESTDIR=$RPM_BUILD_ROOT
110 cp -a docs/grub.cfg $RPM_BUILD_ROOT%{_libexecdir}
111 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/burg
112 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/burg.d/custom.cfg
113 cp -a grub-mkconfig_lib $RPM_BUILD_ROOT/lib/burg-mkconfig_lib
114 %{__rm} $RPM_BUILD_ROOT%{_infodir}/dir
116 # deprecated. we don't need it
117 %{__rm} $RPM_BUILD_ROOT/lib/update-burg_lib
119 # no junk to %{_libdir}/grub (put to -devel?)
120 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/*.h
121 %{__rm} $RPM_BUILD_ROOT%{_libexecdir}/*.mk
123 # core.img - bootable image generated by burg-mkimage(1) via burg-install(1)
124 touch $RPM_BUILD_ROOT%{_libexecdir}/core.img
125 touch $RPM_BUILD_ROOT%{_libexecdir}/device.map
128 rm -rf $RPM_BUILD_ROOT
130 %post -p %{_sbindir}/postshell
131 -/usr/sbin/fix-info-dir -c %{_infodir}
133 %postun -p %{_sbindir}/postshell
134 -/usr/sbin/fix-info-dir -c %{_infodir}
137 %defattr(644,root,root,755)
138 %doc AUTHORS NEWS README THANKS TODO
139 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/burg
140 %attr(755,root,root) %{_sbindir}/burg-adduser
141 %attr(755,root,root) %{_sbindir}/burg-bin2h
142 %attr(755,root,root) %{_sbindir}/burg-deluser
143 %attr(755,root,root) %{_sbindir}/burg-editenv
144 %attr(755,root,root) %{_sbindir}/burg-fstest
145 %attr(755,root,root) %{_sbindir}/burg-install
146 %attr(755,root,root) %{_sbindir}/burg-mkconfig
147 %attr(755,root,root) %{_sbindir}/burg-mkelfimage
148 %attr(755,root,root) %{_sbindir}/burg-mkfont
149 %attr(755,root,root) %{_sbindir}/burg-mkimg
150 %attr(755,root,root) %{_sbindir}/burg-mkisofs
151 %attr(755,root,root) %{_sbindir}/burg-mkmod
152 %attr(755,root,root) %{_sbindir}/burg-mkpasswd-pbkdf2
153 %attr(755,root,root) %{_sbindir}/burg-mkrelpath
154 %attr(755,root,root) %{_sbindir}/burg-mkrescue
155 %attr(755,root,root) %{_sbindir}/burg-objdump
156 %attr(755,root,root) %{_sbindir}/burg-reboot
157 %attr(755,root,root) %{_sbindir}/burg-script-check
158 %attr(755,root,root) %{_sbindir}/burg-set-default
159 %attr(755,root,root) %{_sbindir}/burg-symdb
160 %ifarch %{ix86} %{x8664}
161 %attr(755,root,root) %{_sbindir}/burg-mkimage
162 %{_mandir}/man1/burg-mkimage.1*
164 %attr(755,root,root) %{_sbindir}/burg-probe
165 %attr(755,root,root) %{_sbindir}/burg-mkdevicemap
166 %{_mandir}/man8/burg-probe.8*
167 %{_mandir}/man8/burg-mkdevicemap.8*
169 %{_mandir}/man1/burg-bin2h.1*
170 %{_mandir}/man1/burg-editenv.1*
171 %{_mandir}/man1/burg-fstest.1*
172 %{_mandir}/man1/burg-mkelfimage.1*
173 %{_mandir}/man1/burg-mkfont.1*
174 %{_mandir}/man1/burg-mkimg.1*
175 %{_mandir}/man1/burg-mkisofs.1*
176 %{_mandir}/man1/burg-mkmod.1*
177 %{_mandir}/man1/burg-mkpasswd-pbkdf2.1*
178 %{_mandir}/man1/burg-mkrelpath.1*
179 %{_mandir}/man1/burg-mkrescue.1*
180 %{_mandir}/man1/burg-objdump.1*
181 %{_mandir}/man1/burg-script-check.1*
182 %{_mandir}/man1/burg-symdb.1*
183 %{_mandir}/man8/burg-adduser.8*
184 %{_mandir}/man8/burg-deluser.8*
185 %{_mandir}/man8/burg-install.8*
186 %{_mandir}/man8/burg-mkconfig.8*
187 %{_mandir}/man8/burg-reboot.8*
188 %{_mandir}/man8/burg-set-default.8*
190 %attr(755,root,root) %{_sbindir}/burg-emu
191 %{_mandir}/man8/burg-emu.8*
193 /lib/burg-mkconfig_lib
196 %config(noreplace) %verify(not md5 mtime size) %{_libexecdir}/grub.cfg
199 %ifarch %{ix86} %{x8664} sparc sparc64
200 %{_libexecdir}%{_libdir}.img
201 %{_libexecdir}/cdboot.img
202 %{_libexecdir}/diskboot.img
203 %{_libexecdir}/lnxboot.img
204 %{_libexecdir}/pxeboot.img
207 # generated by grub at runtime
208 %ghost %{_libexecdir}/device.map
209 %ghost %{_libexecdir}/core.img
212 %doc /lib/burg.d/README
213 %attr(755,root,root) /lib/burg.d/00_header
214 %attr(755,root,root) /lib/burg.d/10_linux
215 %attr(755,root,root) /lib/burg.d/30_os-prober
216 %attr(755,root,root) /lib/burg.d/40_custom
218 %dir %attr(750,root,root) %{_sysconfdir}/burg.d
219 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/burg.d/custom.cfg
221 %ifarch %{ix86} %{x8664}
222 %attr(755,root,root) %{_sbindir}/burg-mkdevicemap
223 %attr(755,root,root) %{_sbindir}/burg-probe
224 %attr(755,root,root) %{_sbindir}/burg-setup
225 %{_mandir}/man8/burg-mkdevicemap.8*
226 %{_mandir}/man8/burg-probe.8*
227 %{_mandir}/man8/burg-setup.8*
230 %{_infodir}/burg*.info*