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