Gentoo Archives: gentoo-commits

From: "Mike Gilbert (floppym)" <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-boot/grub: grub-2.02_beta2-r3.ebuild ChangeLog
Date: Wed, 03 Dec 2014 15:24:02
Message-Id: 20141203152357.99A72B76C@oystercatcher.gentoo.org
1 floppym 14/12/03 15:23:57
2
3 Modified: ChangeLog
4 Added: grub-2.02_beta2-r3.ebuild
5 Log:
6 Convert patchset to a tarball. Don't set gfxpayload by default if not booting with efi, bug 528826.
7
8 (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 0BBEEA1FEA4843A4)
9
10 Revision Changes Path
11 1.327 sys-boot/grub/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/ChangeLog?rev=1.327&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/ChangeLog?rev=1.327&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/ChangeLog?r1=1.326&r2=1.327
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v
20 retrieving revision 1.326
21 retrieving revision 1.327
22 diff -u -r1.326 -r1.327
23 --- ChangeLog 22 Oct 2014 21:28:39 -0000 1.326
24 +++ ChangeLog 3 Dec 2014 15:23:57 -0000 1.327
25 @@ -1,6 +1,12 @@
26 # ChangeLog for sys-boot/grub
27 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.326 2014/10/22 21:28:39 axs Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.327 2014/12/03 15:23:57 floppym Exp $
30 +
31 +*grub-2.02_beta2-r3 (03 Dec 2014)
32 +
33 + 03 Dec 2014; Mike Gilbert <floppym@g.o> +grub-2.02_beta2-r3.ebuild:
34 + Convert patchset to a tarball. Don't set gfxpayload by default if not booting
35 + with efi, bug 528826.
36
37 22 Oct 2014; Ian Stakenvicius (_AxS_) <axs@g.o>
38 -files/grub-0.97-force-ld.bfd.patch, grub-0.97-r14.ebuild:
39
40
41
42 1.1 sys-boot/grub/grub-2.02_beta2-r3.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/grub-2.02_beta2-r3.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/grub-2.02_beta2-r3.ebuild?rev=1.1&content-type=text/plain
46
47 Index: grub-2.02_beta2-r3.ebuild
48 ===================================================================
49 # Copyright 1999-2014 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-2.02_beta2-r3.ebuild,v 1.1 2014/12/03 15:23:57 floppym Exp $
52
53 EAPI=5
54
55 AUTOTOOLS_AUTORECONF=1
56 GRUB_AUTOGEN=1
57
58 if [[ -n ${GRUB_AUTOGEN} ]]; then
59 PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} )
60 inherit python-any-r1
61 fi
62
63 inherit autotools-utils bash-completion-r1 eutils flag-o-matic mount-boot multibuild pax-utils toolchain-funcs versionator
64
65 if [[ ${PV} != 9999 ]]; then
66 if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
67 # The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
68 MY_P=${P/_/'~'}
69 SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz
70 http://dev.gentoo.org/~floppym/dist/${P}-gentoo.tar.xz"
71 S=${WORKDIR}/${MY_P}
72 else
73 SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
74 http://dev.gentoo.org/~floppym/dist/${P}.tar.xz"
75 S=${WORKDIR}/${P%_*}
76 fi
77 KEYWORDS="~amd64 ~x86"
78 PATCHES=()
79 else
80 inherit git-r3
81 EGIT_REPO_URI="git://git.sv.gnu.org/grub.git
82 http://git.savannah.gnu.org/r/grub.git"
83 fi
84
85 DEJAVU=dejavu-sans-ttf-2.34
86 UNIFONT=unifont-7.0.01
87 SRC_URI+=" mirror://gnu/unifont/${UNIFONT}/${UNIFONT}.pcf.gz
88 truetype? ( mirror://sourceforge/dejavu/${DEJAVU}.zip )"
89
90 DESCRIPTION="GNU GRUB boot loader"
91 HOMEPAGE="http://www.gnu.org/software/grub/"
92
93 # Includes licenses for dejavu and unifont
94 LICENSE="GPL-3 truetype? ( BitstreamVera GPL-2-with-font-exception )"
95 SLOT="2"
96 IUSE="debug device-mapper doc efiemu mount +multislot nls static sdl test truetype libzfs"
97
98 GRUB_ALL_PLATFORMS=(
99 # everywhere:
100 emu
101 # mips only:
102 qemu-mips loongson
103 # amd64, x86, ppc, ppc64:
104 ieee1275
105 # amd64, x86:
106 coreboot multiboot efi-32 pc qemu xen
107 # amd64, ia64:
108 efi-64
109 )
110 IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
111
112 # os-prober: Used on runtime to detect other OSes
113 # xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
114 RDEPEND="
115 app-arch/xz-utils
116 >=sys-libs/ncurses-5.2-r5
117 debug? (
118 sdl? ( media-libs/libsdl )
119 )
120 device-mapper? ( >=sys-fs/lvm2-2.02.45 )
121 libzfs? ( sys-fs/zfs )
122 mount? ( sys-fs/fuse )
123 truetype? ( media-libs/freetype:2= )
124 ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
125 ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
126 "
127 DEPEND="${RDEPEND}
128 ${PYTHON_DEPS}
129 app-misc/pax-utils
130 sys-devel/flex
131 sys-devel/bison
132 sys-apps/help2man
133 sys-apps/texinfo
134 grub_platforms_coreboot? ( media-libs/freetype:2 )
135 grub_platforms_qemu? ( media-libs/freetype:2 )
136 grub_platforms_ieee1275? ( media-libs/freetype:2 )
137 grub_platforms_loongson? ( media-libs/freetype:2 )
138 grub_platforms_xen? ( app-emulation/xen-tools )
139 static? (
140 app-arch/xz-utils[static-libs(+)]
141 truetype? (
142 app-arch/bzip2[static-libs(+)]
143 media-libs/freetype[static-libs(+)]
144 sys-libs/zlib[static-libs(+)]
145 )
146 )
147 test? (
148 dev-libs/libisoburn
149 app-emulation/qemu
150 )
151 truetype? ( app-arch/unzip )
152 "
153 RDEPEND+="
154 kernel_linux? (
155 grub_platforms_efi-32? ( sys-boot/efibootmgr )
156 grub_platforms_efi-64? ( sys-boot/efibootmgr )
157 )
158 !multislot? ( !sys-boot/grub:0 )
159 nls? ( sys-devel/gettext )
160 "
161
162 STRIP_MASK="*/grub/*/*.{mod,img}"
163 RESTRICT="test"
164
165 QA_EXECSTACK="
166 usr/bin/grub*-emu*
167 usr/lib*/grub/*/*.mod
168 usr/lib*/grub/*/*.module
169 usr/lib*/grub/*/kernel.exec
170 usr/lib*/grub/*/kernel.img
171 "
172
173 QA_WX_LOAD="
174 usr/lib*/grub/*/kernel.exec
175 usr/lib*/grub/*/kernel.img
176 usr/lib*/grub/*/*.image
177 "
178
179 QA_PRESTRIPPED="
180 usr/lib.*/grub/.*/kernel.img
181 "
182
183 pkg_pretend() {
184 if [[ ${MERGE_TYPE} != binary ]]; then
185 # Bug 439082
186 if ! test-flags-CC -fuse-ld=bfd > /dev/null &&
187 $(tc-getLD) --version | grep -q "GNU gold"; then
188 eerror "GRUB does not function correctly when built with the gold linker."
189 eerror "Please select the bfd linker with binutils-config."
190 die "GNU gold detected"
191 fi
192 fi
193 }
194
195 src_unpack() {
196 if [[ ${PV} == 9999 ]]; then
197 git-r3_src_unpack
198 fi
199 default_src_unpack
200 }
201
202 src_prepare() {
203 EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch
204
205 [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
206
207 sed -i -e /autoreconf/d autogen.sh || die
208
209 if use multislot; then
210 # fix texinfo file name, bug 416035
211 sed -i -e 's/^\* GRUB:/* GRUB2:/' -e 's/(grub)/(grub2)/' docs/grub.texi || die
212 fi
213
214 epatch_user
215
216 if [[ -n ${GRUB_AUTOGEN} ]]; then
217 python_setup
218 bash autogen.sh || die
219 fi
220
221 if [[ -n ${AUTOTOOLS_AUTORECONF} ]]; then
222 autopoint() { return 0; }
223 eautoreconf
224 fi
225 }
226
227 setup_fonts() {
228 ln -s "${WORKDIR}/${UNIFONT}.pcf" unifont.pcf || die
229 if use truetype; then
230 ln -s "${WORKDIR}/${DEJAVU}/ttf/DejaVuSans.ttf" DejaVuSans.ttf || die
231 fi
232 }
233
234 grub_configure() {
235 local platform
236
237 case ${MULTIBUILD_VARIANT} in
238 efi-32)
239 platform=efi
240 if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
241 local CTARGET=${CTARGET:-i386}
242 fi ;;
243 efi-64)
244 platform=efi
245 if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
246 local CTARGET=${CTARGET:-x86_64}
247 local TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
248 local TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
249 export TARGET_CFLAGS TARGET_CPPFLAGS
250 fi ;;
251 guessed) ;;
252 *) platform=${MULTIBUILD_VARIANT} ;;
253 esac
254
255 local myeconfargs=(
256 --disable-werror
257 --program-prefix=
258 --libdir="${EPREFIX}"/usr/lib
259 --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
260 $(use_enable debug mm-debug)
261 $(use_enable debug grub-emu-usb)
262 $(use_enable device-mapper)
263 $(use_enable mount grub-mount)
264 $(use_enable nls)
265 $(use_enable truetype grub-mkfont)
266 $(use_enable libzfs)
267 $(use sdl && use_enable debug grub-emu-sdl)
268 ${platform:+--with-platform=}${platform}
269
270 # Let configure detect this where supported
271 $(usex efiemu '' '--disable-efiemu')
272 )
273
274 if use multislot; then
275 myeconfargs+=( --program-transform-name="s,grub,grub2," )
276 fi
277
278 mkdir -p "${BUILD_DIR}" || die
279 run_in_build_dir setup_fonts
280
281 autotools-utils_src_configure
282 }
283
284 src_configure() {
285 # Bug 508758.
286 replace-flags -O3 -O2
287
288 # We don't want to leak flags onto boot code.
289 export HOST_CCASFLAGS=${CCASFLAGS}
290 export HOST_CFLAGS=${CFLAGS}
291 export HOST_CPPFLAGS=${CPPFLAGS}
292 export HOST_LDFLAGS=${LDFLAGS}
293 unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
294
295 use static && HOST_LDFLAGS+=" -static"
296
297 export TARGET_LDFLAGS+=" $(test-flags-CC -fuse-ld=bfd)"
298
299 tc-export CC NM OBJCOPY STRIP
300 export TARGET_CC=${TARGET_CC:-${CC}}
301 tc-export BUILD_CC # Bug 485592
302
303 # Portage will take care of cleaning up GRUB_PLATFORMS
304 MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
305 multibuild_parallel_foreach_variant grub_configure
306 }
307
308 src_compile() {
309 # Sandbox bug 404013.
310 use libzfs && addpredict /etc/dfs:/dev/zfs
311
312 multibuild_foreach_variant autotools-utils_src_compile
313
314 use doc && multibuild_for_best_variant \
315 autotools-utils_src_compile -C docs html
316 }
317
318 src_test() {
319 # The qemu dependency is a bit complex.
320 # You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
321 multibuild_foreach_variant autotools-utils_src_test
322 }
323
324 src_install() {
325 multibuild_foreach_variant autotools-utils_src_install \
326 bashcompletiondir="$(get_bashcompdir)"
327
328 use doc && multibuild_for_best_variant run_in_build_dir \
329 emake -C docs DESTDIR="${D}" install-html
330
331 if use multislot; then
332 mv "${ED%/}"/usr/share/info/grub{,2}.info || die
333 fi
334
335 insinto /etc/default
336 newins "${FILESDIR}"/grub.default-3 grub
337 }
338
339 pkg_postinst() {
340 mount-boot_mount_boot_partition
341
342 if [[ -e "${ROOT%/}/boot/grub2/grub.cfg" ]]; then
343 ewarn "The grub directory has changed from /boot/grub2 to /boot/grub."
344 ewarn "Please run grub2-install and grub2-mkconfig -o /boot/grub/grub.cfg."
345
346 if [[ ! -e "${ROOT%/}/boot/grub/grub.cfg" ]]; then
347 mkdir -p "${ROOT%/}/boot/grub"
348 ln -s ../grub2/grub.cfg "${ROOT%/}/boot/grub/grub.cfg"
349 fi
350 fi
351
352 mount-boot_pkg_postinst
353
354 elog "For information on how to configure GRUB2 please refer to the guide:"
355 elog " http://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
356
357 if has_version 'sys-boot/grub:0'; then
358 elog "A migration guide for GRUB Legacy users is available:"
359 elog " http://www.gentoo.org/doc/en/grub2-migration.xml"
360 fi
361
362 if [[ -z ${REPLACING_VERSIONS} ]]; then
363 if ! has_version sys-boot/os-prober; then
364 elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
365 fi
366 if ! has_version dev-libs/libisoburn; then
367 elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
368 fi
369 fi
370 }