public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Gilbert (floppym)" <floppym@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] gentoo-x86 commit in sys-boot/grub: metadata.xml grub-9999.ebuild ChangeLog
Date: Sun, 28 Apr 2013 19:44:09 +0000 (UTC)	[thread overview]
Message-ID: <20130428194410.0B2552171C@flycatcher.gentoo.org> (raw)

floppym     13/04/28 19:44:09

  Modified:             metadata.xml grub-9999.ebuild ChangeLog
  Log:
  Rewrite ebuild around autotools-utils and multibuild eclasses. Add USE=multislot to toggle renaming of binaries and grubdir.
  
  (Portage version: 2.2.0_alpha173/cvs/Linux x86_64, signed Manifest commit with key 0BBEEA1FEA4843A4)

Revision  Changes    Path
1.17                 sys-boot/grub/metadata.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/metadata.xml?rev=1.17&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/metadata.xml?rev=1.17&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/metadata.xml?r1=1.16&r2=1.17

Index: metadata.xml
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-boot/grub/metadata.xml,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- metadata.xml	9 Apr 2013 10:29:44 -0000	1.16
+++ metadata.xml	28 Apr 2013 19:44:09 -0000	1.17
@@ -22,5 +22,9 @@
 	<flag name='libzfs'>
 		Enable support for <pkg>sys-fs/zfs</pkg>
 	</flag>
+	<flag name='multislot'>
+		Allow concurrent installation of <pkg>sys-boot/grub:0</pkg> and
+		<pkg>sys-boot/grub:2</pkg> by renaming all programs and /boot/grub
+	</flag>
 </use>
 </pkgmetadata>



1.89                 sys-boot/grub/grub-9999.ebuild

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/grub-9999.ebuild?rev=1.89&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/grub-9999.ebuild?rev=1.89&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/grub-9999.ebuild?r1=1.88&r2=1.89

Index: grub-9999.ebuild
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-9999.ebuild,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- grub-9999.ebuild	27 Apr 2013 20:58:24 -0000	1.88
+++ grub-9999.ebuild	28 Apr 2013 19:44:09 -0000	1.89
@@ -1,38 +1,48 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-9999.ebuild,v 1.88 2013/04/27 20:58:24 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-9999.ebuild,v 1.89 2013/04/28 19:44:09 floppym Exp $
 
-EAPI=4
+EAPI=5
+AUTOTOOLS_AUTO_DEPEND=yes
 
-if [[ ${PV} == "9999" ]] ; then
-	EBZR_REPO_URI="http://bzr.savannah.gnu.org/r/grub/trunk/grub/"
-	LIVE_ECLASS="bzr"
-	SRC_URI=""
-	DO_AUTORECONF="true"
-else
+inherit autotools-utils eutils flag-o-matic multibuild pax-utils toolchain-funcs
+
+if [[ ${PV} != 9999 ]]; then
 	MY_P=${P/_/\~}
 	if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
 		SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
 	else
 		SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
-		mirror://gentoo/${MY_P}.tar.xz"
+			mirror://gentoo/${MY_P}.tar.xz"
 	fi
 	KEYWORDS="~amd64 ~x86"
 	S=${WORKDIR}/${MY_P}
-	DO_AUTORECONF="true"
+	PATCHES=(
+		"${FILESDIR}/${P}-parallel-make.patch" #424231
+		"${FILESDIR}/${P}-no-gets.patch" #424703
+		"${FILESDIR}/${P}-config-quoting.patch" #426364
+		"${FILESDIR}/${P}-tftp-endian.patch" # 438612
+		"${FILESDIR}/${P}-hardcoded-awk.patch" #424137
+		"${FILESDIR}/${P}-freebsd.patch" #442050
+		"${FILESDIR}/${P}-compression.patch" #424527
+		"${FILESDIR}/${P}-zfs-feature-flag-support-r1.patch" #455358
+		"${FILESDIR}/${P}-20_linux_xen.patch" #463992
+		"${FILESDIR}/${P}-dmraid.patch" #430748
+		"${FILESDIR}/${P}-texinfo.patch"
+	)
+else
+	inherit bzr
+	EBZR_REPO_URI="http://bzr.savannah.gnu.org/r/grub/trunk/grub/"
 fi
 
-inherit eutils flag-o-matic multiprocessing pax-utils toolchain-funcs ${DO_AUTORECONF:+autotools} ${LIVE_ECLASS}
-unset LIVE_ECLASS
-
 DESCRIPTION="GNU GRUB boot loader"
 HOMEPAGE="http://www.gnu.org/software/grub/"
 
 LICENSE="GPL-3"
 SLOT="2"
-IUSE="custom-cflags debug device-mapper doc efiemu mount nls static sdl truetype libzfs"
+IUSE="custom-cflags debug device-mapper doc efiemu mount multislot nls static sdl truetype libzfs"
 
-GRUB_PLATFORMS=(
+GRUB_ALL_PLATFORMS=(
 	# everywhere:
 	emu
 	# mips only:
@@ -44,7 +54,7 @@
 	# amd64, ia64:
 	efi-64
 )
-IUSE+=" ${GRUB_PLATFORMS[@]/#/grub_platforms_}"
+IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
 
 REQUIRED_USE="grub_platforms_qemu? ( truetype )
 	grub_platforms_yeeloong? ( truetype )"
@@ -69,11 +79,13 @@
 	ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
 "
 DEPEND="${RDEPEND}
+	app-misc/pax-utils
 	>=dev-lang/python-2.5.2
 	sys-devel/flex
 	sys-devel/bison
 	sys-apps/help2man
 	sys-apps/texinfo
+	>=sys-devel/autogen-5.10
 	static? (
 		truetype? (
 			app-arch/bzip2[static-libs(+)]
@@ -87,23 +99,18 @@
 		grub_platforms_efi-32? ( sys-boot/efibootmgr )
 		grub_platforms_efi-64? ( sys-boot/efibootmgr )
 	)
+	!multislot? ( !sys-boot/grub:0 )
 "
-if [[ -n ${DO_AUTORECONF} ]] ; then
-	DEPEND+=" >=sys-devel/autogen-5.10"
-fi
-if [[ ${PV} != 9999 ]]; then
-	DEPEND+=" app-arch/xz-utils"
-fi
 
-export STRIP_MASK="*/grub/*/*.{mod,img}"
+STRIP_MASK="*/grub/*/*.{mod,img}"
 
 QA_EXECSTACK="
 	usr/bin/grub*
 	usr/sbin/grub*
 	usr/lib*/grub/*/*.mod
+	usr/lib*/grub/*/*.module
 	usr/lib*/grub/*/kernel.exec
 	usr/lib*/grub/*/kernel.img
-	usr/lib*/grub/*/setjmp.module
 "
 
 QA_WX_LOAD="
@@ -116,110 +123,6 @@
 	usr/lib.*/grub/.*/kernel.img
 "
 
-grub_run_phase() {
-	local phase=$1
-	local platform=$2
-	[[ -z ${phase} || -z ${platform} ]] && die "${FUNCNAME} [phase] [platform]"
-
-	[[ -d "${WORKDIR}/build-${platform}" ]] || \
-		{ mkdir "${WORKDIR}/build-${platform}" || die ; }
-	pushd "${WORKDIR}/build-${platform}" > /dev/null || die
-
-	echo ">>> Running ${phase} for platform \"${platform}\""
-	echo ">>> Working in: \"${WORKDIR}/build-${platform}\""
-
-	grub_${phase} ${platform}
-
-	popd > /dev/null || die
-}
-
-grub_src_configure() {
-	local platform=$1
-	local with_platform=
-	local enable_efiemu="--disable-efiemu"
-
-	[[ -z ${platform} ]] && die "${FUNCNAME} [platform]"
-
-	# Used below for efi cross-building
-	tc-export CC NM OBJCOPY STRIP
-
-	estack_push CTARGET "${CTARGET}"
-	estack_push TARGET_CC "${TARGET_CC}"
-	estack_push TARGET_CFLAGS "${TARGET_CFLAGS}"
-	estack_push TARGET_CPPFLAGS "${TARGET_CPPFLAGS}"
-
-	case ${platform} in
-		efi-32)
-			if [[ ${CHOST} == x86_64* ]]; then
-				CTARGET="${CTARGET:-i386}"
-				TARGET_CC="${TARGET_CC:-${CC}}"
-				export TARGET_CC
-			fi
-			with_platform="--with-platform=efi"
-			;;
-		efi-64)
-			if [[ ${CHOST} == i?86* ]]; then
-				CTARGET="${CTARGET:-x86_64}"
-				TARGET_CC="${TARGET_CC:-${CC}}"
-				TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
-				TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
-				export TARGET_CC TARGET_CFLAGS TARGET_CPPFLAGS
-			fi
-			with_platform="--with-platform=efi"
-			;;
-		guessed) ;;
-		*)
-			with_platform="--with-platform=${platform}"
-			case ${CTARGET:-${CHOST}} in
-				i?86*|x86_64*)
-					enable_efiemu=$(use_enable efiemu)
-					;;
-			esac
-			;;
-	esac
-
-	ECONF_SOURCE="${S}" \
-	econf \
-		--libdir=/usr/lib \
-		--htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
-		--disable-werror \
-		--program-prefix= \
-		--program-transform-name="s,grub,grub2," \
-		--with-grubdir=grub2 \
-		${with_platform} \
-		$(use_enable debug mm-debug) \
-		$(use_enable debug grub-emu-usb) \
-		$(use_enable device-mapper) \
-		${enable_efiemu} \
-		$(use_enable mount grub-mount) \
-		$(use_enable nls) \
-		$(use_enable truetype grub-mkfont) \
-		$(use_enable libzfs) \
-		$(use sdl && use_enable debug grub-emu-sdl)
-
-	estack_pop CTARGET CTARGET || die
-	estack_pop TARGET_CC TARGET_CC || die
-	estack_pop TARGET_CFLAGS TARGET_CFLAGS || die
-	estack_pop TARGET_CPPFLAGS TARGET_CPPFLAGS || die
-}
-
-grub_src_compile() {
-	default_src_compile
-	pax-mark -mpes "${grub_binaries[@]}"
-}
-
-grub_build_docs() {
-	emake -C docs html
-}
-
-grub_src_install() {
-	default_src_install
-}
-
-grub_install_docs() {
-	emake -C docs DESTDIR="${D}" install-html
-}
-
 pkg_pretend() {
 	if [[ ${MERGE_TYPE} != binary ]]; then
 		# Bug 439082
@@ -232,142 +135,107 @@
 }
 
 src_prepare() {
-	if [[ ${PV} != 9999 ]]; then
-		epatch "${FILESDIR}/${P}-parallel-make.patch" #424231
-		epatch "${FILESDIR}/${P}-no-gets.patch" #424703
-		epatch "${FILESDIR}/${P}-config-quoting.patch" #426364
-		epatch "${FILESDIR}/${P}-tftp-endian.patch" # 438612
-		epatch "${FILESDIR}/${P}-hardcoded-awk.patch" #424137
-		epatch "${FILESDIR}/${P}-freebsd.patch" #442050
-		epatch "${FILESDIR}/${P}-compression.patch" #424527
-		epatch "${FILESDIR}/${P}-zfs-feature-flag-support-r1.patch" #455358
-		epatch "${FILESDIR}/${P}-20_linux_xen.patch" #463992
-		epatch "${FILESDIR}/${P}-dmraid.patch" #430748
-		epatch "${FILESDIR}/${P}-texinfo.patch"
-	fi
+	[[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
+	sed -i -e /autoreconf/d autogen.sh || die
+	epatch_user
+	bash autogen.sh || die
+	autopoint() { return 0; }
+	eautoreconf
+}
 
-	# fix texinfo file name, bug 416035
-	sed -i \
-		-e 's/^\* GRUB:/* GRUB2:/' \
-		-e 's/(grub)/(grub2)/' -- \
-		"${S}"/docs/grub.texi
+grub_configure() {
+	local platform
 
-	epatch_user
+	case ${MULTIBUILD_VARIANT} in
+		efi-32)
+			platform=efi
+			if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
+				local CTARGET=${CTARGET:-i386}
+			fi ;;
+		efi-64)
+			platform=efi
+			if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
+				local CTARGET=${CTARGET:-x86_64}
+				local TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
+				local TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
+				export TARGET_CFLAGS TARGET_CPPFLAGS
+			fi ;;
+		guessed) ;;
+		*)	platform=${MULTIBUILD_VARIANT} ;;
+	esac
+
+	local myeconfargs=(
+		--disable-werror
+		--program-prefix=
+		--libdir=/usr/lib
+		--htmldir=/usr/share/doc/${PF}/html
+		$(use_enable debug mm-debug)
+		$(use_enable debug grub-emu-usb)
+		$(use_enable efiemu)
+		$(use_enable mount grub-mount)
+		$(use_enable nls)
+		$(use_enable truetype grub-mkfont)
+		$(use_enable libzfs)
+		$(use sdl && use_enable debug grub-emu-sdl)
+		${platform:+--with-platform=}${platform}
+	)
 
-	# autogen.sh does more than just run autotools
-	if [[ -n ${DO_AUTORECONF} ]] ; then
-		sed -i -e '/^autoreconf/s:^:set +e; e:' autogen.sh || die
-		(
-			autopoint() { :; }
-			. ./autogen.sh
-		) || die
+	if use multislot; then
+		myeconfargs+=(
+			--program-transform-name="s,grub,grub2,"
+			--with-grubdir=grub2
+		)
 	fi
 
-	# install into the right dir for eselect #372735
-	sed -i \
-		-e '/^bashcompletiondir =/s:=.*:= $(datarootdir)/bash-completion:' \
-		util/bash-completion.d/Makefile.in || die
-
-	# get enabled platforms
-	GRUB_ENABLED_PLATFORMS=""
-	local i
-	for i in ${GRUB_PLATFORMS[@]}; do
-		use grub_platforms_${i} && GRUB_ENABLED_PLATFORMS+=" ${i}"
-	done
-	[[ -z ${GRUB_ENABLED_PLATFORMS} ]] && GRUB_ENABLED_PLATFORMS="guessed"
-	einfo "Going to build following platforms: ${GRUB_ENABLED_PLATFORMS}"
+	autotools-utils_src_configure
 }
 
 src_configure() {
-	local i
-
 	use custom-cflags || unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
 	use static && append-ldflags -static
-	use elibc_FreeBSD && append-cppflags "-isystem /usr/include"
 
-	# Sandbox bug 404013.
-	use libzfs && addpredict /etc/dfs:/dev/zfs
+	tc-export CC NM OBJCOPY STRIP
+	export TARGET_CC=${TARGET_CC:-${CC}}
 
-	multijob_init
-	for i in ${GRUB_ENABLED_PLATFORMS}; do
-		multijob_child_init grub_run_phase ${FUNCNAME} ${i}
-	done
-	multijob_finish || die
+	# Portage will take care of cleaning up GRUB_PLATFORMS
+	MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
+	multibuild_parallel_foreach_variant grub_configure
 }
 
 src_compile() {
-	# Used for pax marking in grub_src_compile
-	local grub_binaries=(
-		grub-editenv
-		grub-fstest
-		grub-menulst2cfg
-		grub-mkimage
-		grub-mklayout
-		grub-mkpasswd-pbkdf2
-		grub-mkrelpath
-		grub-script-check
-		grub-bios-setup
-		grub-ofpathname
-		grub-probe
-		grub-sparc64-setup
-	)
-	use mount && grub_binaries+=( grub-mount )
-	use truetype && grub_binaries+=( grub-mkfont )
-
-	local i
-
-	for i in ${GRUB_ENABLED_PLATFORMS}; do
-		grub_run_phase ${FUNCNAME} ${i}
-	done
+	multibuild_foreach_variant autotools-utils_src_compile
 
-	# Just build docs once
-	use doc && grub_run_phase build_docs ${i}
+	use doc && multibuild_for_best_variant \
+		autotools-utils_src_compile -C docs html
 }
 
 src_install() {
-	local i
+	multibuild_foreach_variant autotools-utils_src_install \
+		bashcompletiondir=/usr/share/bash-completion
 
-	for i in ${GRUB_ENABLED_PLATFORMS}; do
-		grub_run_phase ${FUNCNAME} ${i}
-	done
+	use doc && multibuild_for_best_variant run_in_build_dir \
+		emake -C docs DESTDIR="${D}" install-html
 
-	use doc && grub_run_phase install_docs ${i}
-
-	mv "${ED}"usr/share/info/grub{,2}.info || die
+	if use multislot; then
+		mv "${ED}"usr/share/info/grub{,2}.info || die
+	fi
 
-	# can't be in docs array as we use default_src_install in different builddir
-	dodoc AUTHORS ChangeLog NEWS README THANKS TODO
 	insinto /etc/default
 	newins "${FILESDIR}"/grub.default-2 grub
-}
 
-pkg_preinst() {
-	has_version "<sys-boot/grub-2.00-r2:2" && \
-		[[ "$(df -TP /boot | awk 'NR>1{print $2}')" = 'zfs' ]]
-	display_zfs_feature_flag_warning=$?
+	cd "${ED}" || die
+	pax-mark mpes $(scanelf -BF %F usr/{bin,sbin})
 }
 
 pkg_postinst() {
-	# display the link to guide
 	elog "For information on how to configure grub-2 please refer to the guide:"
 	elog "    http://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
-	if ! has_version sys-boot/os-prober; then
-		elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
-	fi
-	if ! has_version dev-libs/libisoburn; then
-		elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
-	fi
-	if has_version sys-boot/grub:0; then
-		ewarn "If you want to keep GRUB Legacy (grub-0.97) installed, please run"
-		ewarn "the following to add sys-boot/grub:0 to your world file."
-		ewarn "emerge --noreplace sys-boot/grub:0"
-	fi
-	if [[ $display_zfs_feature_flag_warning -eq 0 ]]; then
-		zfs_pool=$(df -TP /boot | awk 'NR>1{print $1}')
-		zfs_pool=${zfs_pool%%/*}
-		ewarn "The previous version of sys-boot/grub lacked support for ZFS feature flags."
-		ewarn "Your /boot is on ZFS. Running \"zpool upgrade ${zfs_pool}\" or \"zpool upgrade -a\""
-		ewarn "to upgrade your pool to support feature flags will prevent your system from booting."
-		ewarn "You should use grub2-install to reinstall your boot code. This will avoid problems."
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		if ! has_version sys-boot/os-prober; then
+			elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
+		fi
+		if ! has_version dev-libs/libisoburn; then
+			elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
+		fi
 	fi
 }



1.258                sys-boot/grub/ChangeLog

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/ChangeLog?rev=1.258&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/ChangeLog?rev=1.258&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-boot/grub/ChangeLog?r1=1.257&r2=1.258

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v
retrieving revision 1.257
retrieving revision 1.258
diff -u -r1.257 -r1.258
--- ChangeLog	27 Apr 2013 20:58:24 -0000	1.257
+++ ChangeLog	28 Apr 2013 19:44:09 -0000	1.258
@@ -1,6 +1,10 @@
 # ChangeLog for sys-boot/grub
 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.257 2013/04/27 20:58:24 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.258 2013/04/28 19:44:09 floppym Exp $
+
+  28 Apr 2013; Mike Gilbert <floppym@gentoo.org> grub-9999.ebuild, metadata.xml:
+  Rewrite ebuild around autotools-utils and multibuild eclasses. Add
+  USE=multislot to toggle renaming of binaries and grubdir.
 
   27 Apr 2013; Mike Gilbert <floppym@gentoo.org> grub-9999.ebuild:
   Refresh live ebuild.





                 reply	other threads:[~2013-04-28 19:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130428194410.0B2552171C@flycatcher.gentoo.org \
    --to=floppym@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox