[arch-commits] Commit in refind-efi/trunk (3 files)

Tobias Powalowski tpowa at nymeria.archlinux.org
Wed May 28 16:24:39 UTC 2014


    Date: Wednesday, May 28, 2014 @ 18:24:39
  Author: tpowa
Revision: 213699

upgpkg: refind-efi 0.8.1-1

bump to latest version

Modified:
  refind-efi/trunk/PKGBUILD
  refind-efi/trunk/refind-efi.install
  refind-efi/trunk/refind_linux.conf

--------------------+
 PKGBUILD           |  216 +++++++++++++++++++++++++++++++++++++--------------
 refind-efi.install |    2 
 refind_linux.conf  |    4 
 3 files changed, 162 insertions(+), 60 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-05-28 16:23:07 UTC (rev 213698)
+++ PKGBUILD	2014-05-28 16:24:39 UTC (rev 213699)
@@ -2,35 +2,24 @@
 # Maintainer: Tobias Powalowski <tpowa at archlinux.org>
 # Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
 
-#######
-# _TIANOCORE_SVN_URL="https://svn.code.sf.net/p/edk2/code/branches/UDK2014"
-# _TIANO_DIR_="tianocore-udk-2014-svn"
-# _TIANO_SVN_REV_="15322"
+_USE_GNU_EFI="1"
 
-# BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg
-
-_TIANOCORE_SVN_URL="https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1"
-_TIANO_DIR_="tianocore-udk-2010-svn"
-_TIANO_SVN_REV_="14641"
 #######
+[[ "${CARCH}" == "x86_64" ]] && _TIANO_ARCH="X64"
+[[ "${CARCH}" == "i686" ]] && _TIANO_ARCH="IA32"
 
+[[ "${CARCH}" == "x86_64" ]] && _TIANO_S_ARCH="x64"
+[[ "${CARCH}" == "i686" ]] && _TIANO_S_ARCH="ia32"
 #######
-_TIANOCORE_PKG="Mde"
-_TIANOCORE_TARGET="RELEASE"
-_UDK_TARGET="${_TIANOCORE_PKG}Pkg/${_TIANOCORE_PKG}Pkg.dsc"
-# _COMPILER="GCC48"
-_COMPILER="GCC47"
-#######
 
 pkgname="refind-efi"
-pkgver="0.7.9"
+pkgver="0.8.1"
 pkgrel="1"
-pkgdesc="Rod Smith's fork of rEFIt UEFI Boot Manager - built with Tianocore UDK libs"
+pkgdesc="Rod Smith's fork of rEFIt UEFI Boot Manager"
 url="http://www.rodsbooks.com/refind/index.html"
 arch=('x86_64' 'i686')
 license=('GPL3' 'custom')
 
-makedepends=('subversion' 'python2')
 depends=('bash' 'dosfstools' 'efibootmgr')
 optdepends=('mactel-boot: For bless command in Apple Mac systems'
             'imagemagick: For refind-mkfont script')
@@ -42,25 +31,36 @@
 source=("http://downloads.sourceforge.net/refind/refind-src-${pkgver}.zip"
         'refind_linux.conf')
 
-for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do
-	source+=("${_TIANO_DIR_}_${_DIR_}::svn+${_TIANOCORE_SVN_URL}/${_DIR_}#revision=${_TIANO_SVN_REV_}")
-done
+if [[ "${_USE_GNU_EFI}" == "1" ]]; then
+	
+	pkgdesc="${pkgdesc} - Built with GNU-EFI libs"
+	makedepends=('gnu-efi-libs')
+	
+else
+	
+	pkgdesc="${pkgdesc} - Built with Tianocore UDK libs"
+	makedepends+=('subversion' 'python2')
+	
+	_TIANOCORE_SVN_URL="https://svn.code.sf.net/p/edk2/code/branches/UDK2014"
+	_TIANO_DIR_="tianocore-udk-2014-svn"
+	_TIANO_SVN_REV_="15322"
+	
+	_TIANOCORE_PKG="Mde"
+	_TIANOCORE_TARGET="RELEASE"
+	_UDK_TARGET="${_TIANOCORE_PKG}Pkg/${_TIANOCORE_PKG}Pkg.dsc"
+	_COMPILER="GCC48"
+	
+	## BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg
+	for _DIR_ in BaseTools MdePkg MdeModulePkg IntelFrameworkPkg IntelFrameworkModulePkg ; do
+		source+=("${_TIANO_DIR_}_${_DIR_}::svn+${_TIANOCORE_SVN_URL}/${_DIR_}#revision=${_TIANO_SVN_REV_}")
+	done
+	
+fi
 
-md5sums=('2792c9430d4e575eb19e62b548a7a2e6'
-         'a83e45b10d5efbca1c93a63851728712'
-         'SKIP'
-         'SKIP'
-         'SKIP'
-         'SKIP'
-         'SKIP')
+md5sums=('9bb5181bab8700a32a6ab835a131e5c5'
+         '12ce3e22a216e7b25c253478a34713b4')
 
-[[ "${CARCH}" == "x86_64" ]] && _TIANO_ARCH="X64"
-[[ "${CARCH}" == "i686" ]] && _TIANO_ARCH="IA32"
-
-[[ "${CARCH}" == "x86_64" ]] && _TIANO_S_ARCH="x64"
-[[ "${CARCH}" == "i686" ]] && _TIANO_S_ARCH="ia32"
-
-_setup_env_vars() {
+_setup_tianocore_env_vars() {
 	
 	msg "Setup UDK PATH ENV variables"
 	export _UDK_DIR="${srcdir}/${_TIANO_DIR_}_build"
@@ -96,7 +96,7 @@
 	sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Source/C/Makefiles/header.makefile" || true
 	sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
 	
-	msg "Fix GenFw: ERROR 3000: Invalid, refind_x64.dll bad symbol definition"
+	msg "Fix GenFw: ERROR 3000: Invalid, bad symbol definition"
 	## http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg03625.html
 	sed -e 's|_OBJCOPY_FLAGS      =|_OBJCOPY_FLAGS      = -R .eh_frame|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
 	
@@ -105,10 +105,13 @@
 	sed 's|--64 | |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
 	sed 's| -m64 -melf_x86_64| -m64|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
 	
-	msg "Remove GCC -g debug option and add -0s -mabi=ms"
-	sed 's|DEFINE GCC_ALL_CC_FLAGS            = -g |DEFINE GCC_ALL_CC_FLAGS            = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
-	sed 's|DEFINE GCC44_ALL_CC_FLAGS            = -g |DEFINE GCC44_ALL_CC_FLAGS            = -Os -mabi=ms |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
+	msg "Remove GCC -g debug option and add -O0 -mabi=ms -maccumulate-outgoing-args"
+	sed 's|DEFINE GCC_ALL_CC_FLAGS            = -g |DEFINE GCC_ALL_CC_FLAGS            = -O0 -mabi=ms -maccumulate-outgoing-args |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
+	sed 's|DEFINE GCC44_ALL_CC_FLAGS            = -g |DEFINE GCC44_ALL_CC_FLAGS            = -O0 -mabi=ms -maccumulate-outgoing-args |g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template" || true
 	
+	# msg "Fix GenFw: ERROR 3000: Invalid, Unsupported section alignment"
+	sed 's|--gc-sections|--gc-sections --build-id=none|g' -i "${EDK_TOOLS_PATH}/Conf/tools_def.template"
+	
 	msg "Fix UDK Target Platform"
 	sed "s|ACTIVE_PLATFORM       = Nt32Pkg/Nt32Pkg.dsc|ACTIVE_PLATFORM       = ${_UDK_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true
 	sed "s|TARGET                = DEBUG|TARGET                = ${_TIANOCORE_TARGET}|g" -i "${EDK_TOOLS_PATH}/Conf/target.template" || true
@@ -126,33 +129,62 @@
 	
 	cd "${srcdir}/refind-${pkgver}/"
 	
-	msg "Fix UDK Path in rEFInd Makefiles"
-	sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
-	sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true
-	sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+	if [[ "${_USE_GNU_EFI}" == "1" ]]; then
+		msg "Enable GNU_EFI_USE_MS_ABI"
+		sed "s|-DEFI_FUNCTION_WRAPPER|-DEFI_FUNCTION_WRAPPER -maccumulate-outgoing-args|g" -i "${srcdir}/refind-${pkgver}/Make.common" || true
+		sed "s|-DEFIX64|-DEFIX64 -maccumulate-outgoing-args|g" -i "${srcdir}/refind-${pkgver}/Make.common" || true
+		sed "s|-m64|-maccumulate-outgoing-args -m64|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.gnuefi" || true
+	else
+		msg "Fix UDK Path in rEFInd Makefiles"
+		sed "s|EDK2BASE = /usr/local/UDK2014/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
+		sed "s|EDK2BASE = /usr/local/UDK2014/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true
+		sed "s|EDK2BASE = /usr/local/UDK2014/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true
+		sed "s|EDK2BASE = /usr/local/UDK2014/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+		sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
+		sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true
+		sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true
+		sed "s|EDK2BASE = /usr/local/UDK2010/MyWorkSpace|EDK2BASE = ${_UDK_DIR}|g" -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+		
+		msg "Fix GenFw: ERROR 3000: Invalid, refind_x64.dll bad symbol definition"
+		sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
+		sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true
+		sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano"
+		sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
 	
-	msg "Fix GenFw: ERROR 3000: Invalid, refind_x64.dll bad symbol definition"
-	sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true
-	sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano"
-	sed -e 's|--strip-unneeded|--strip-unneeded -R .eh_frame|g' -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+		# msg "Fix GenFw: ERROR 3000: Invalid section alignment"
+		sed 's|--gc-sections|--gc-sections --build-id=none|g' -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
+		sed 's|--gc-sections|--gc-sections --build-id=none|g' -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true
+		sed 's|--gc-sections|--gc-sections --build-id=none|g' -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano" || true
+		sed 's|--gc-sections|--gc-sections --build-id=none|g' -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+		# sed -e 's|--gc-sections|--gc-sections -z max-page-size=0x20|g' -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
+		# sed -e 's|--gc-sections|--gc-sections -z max-page-size=0x20|g' -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true
+		# sed -e 's|--gc-sections|--gc-sections -z max-page-size=0x20|g' -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano"
+		# sed -e 's|--gc-sections|--gc-sections -z max-page-size=0x20|g' -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+		# sed -e 's|--strip-unneeded|--section-alignment=0x20 --strip-unneeded|g' -i "${srcdir}/refind-${pkgver}/Make.tiano" || true
+		# sed -e 's|--strip-unneeded|--section-alignment=0x20 --strip-unneeded|g' -i "${srcdir}/refind-${pkgver}/refind/Make.tiano" || true
+		# sed -e 's|--strip-unneeded|--section-alignment=0x20 --strip-unneeded|g' -i "${srcdir}/refind-${pkgver}/filesystems/Make.tiano"
+		# sed -e 's|--strip-unneeded|--section-alignment=0x20 --strip-unneeded|g' -i "${srcdir}/refind-${pkgver}/gptsync/Make.tiano" || true
+	fi
 	
 }
 
 prepare() {
 	
-	_setup_env_vars
+	if [[ "${_USE_GNU_EFI}" != "1" ]]; then
+		_setup_tianocore_env_vars
+		
+		msg "Prepare Tianocore Sources"
+		_prepare_tianocore_sources
+	fi
 	
-	msg "Prepare Tianocore Sources"
-	_prepare_tianocore_sources
-	
 	msg "Prepare rEFInd Sources"
 	_prepare_refind_sources
 	
 }
 
-build() {
+_build_tianocore_sources() {
 	
-	_setup_env_vars
+	_setup_tianocore_env_vars
 	
 	cd "${_UDK_DIR}/"
 	
@@ -171,10 +203,25 @@
 	make -C "${EDK_TOOLS_PATH}"
 	echo
 	
+	msg "Unset all compiler FLAGS"
+	unset CFLAGS
+	unset CPPFLAGS
+	unset CXXFLAGS
+	unset LDFLAGS
+	unset MAKEFLAGS
+	
 	msg "Compile UDK Libraries"
 	"${EDK_TOOLS_PATH}/BinWrappers/PosixLike/build" -p "${_UDK_TARGET}" -a "${_TIANO_ARCH}" -b "${_TIANOCORE_TARGET}" -t "${_COMPILER}"
 	echo
 	
+}
+
+build() {
+	
+	if [[ "${_USE_GNU_EFI}" != "1" ]]; then
+		_build_tianocore_sources
+	fi
+	
 	cd "${srcdir}/refind-${pkgver}/"
 	
 	msg "Unset all compiler FLAGS"
@@ -185,12 +232,67 @@
 	unset MAKEFLAGS
 	
 	msg "Compile rEFInd UEFI application"
-	make tiano
-	echo
+	if [[ "${_USE_GNU_EFI}" == "1" ]]; then
+		make gnuefi
+		echo
+	else
+		make tiano
+		echo
+	fi
 	
+	cd "${srcdir}/refind-${pkgver}/filesystems/"
+	
+	msg "Unset all compiler FLAGS"
+	unset CFLAGS
+	unset CPPFLAGS
+	unset CXXFLAGS
+	unset LDFLAGS
+	unset MAKEFLAGS
+	
 	msg "Compile UEFI FS drivers"
-	make fs
-	echo
+	if [[ "${_USE_GNU_EFI}" == "1" ]]; then
+		make btrfs_gnuefi
+		echo
+		
+		make ext4_gnuefi
+		echo
+		
+		make ext2_gnuefi
+		echo
+		
+		make hfs_gnuefi
+		echo
+		
+		make iso9660_gnuefi
+		echo
+		
+		make reiserfs_gnuefi
+		echo
+		
+		# make xfs_gnuefi
+		# echo
+	else
+		make btrfs
+		echo
+		
+		make ext4
+		echo
+		
+		make ext2
+		echo
+		
+		make hfs
+		echo
+		
+		make iso9660
+		echo
+		
+		make reiserfs
+		echo
+		
+		# make xfs
+		# echo
+	fi
 	
 }
 

Modified: refind-efi.install
===================================================================
--- refind-efi.install	2014-05-28 16:23:07 UTC (rev 213698)
+++ refind-efi.install	2014-05-28 16:24:39 UTC (rev 213699)
@@ -16,7 +16,7 @@
 rEFInd Icons have been installed at /usr/share/refind/icons/
 rEFInd Fonts have been installed at /usr/share/refind/fonts/
 
-HTML Documentation is available at /usr/share/doc/refind/html/
+HTML Documentation is available at /usr/share/refind/docs/html/
 
 More info: https://wiki.archlinux.org/index.php/UEFI_Bootloaders#Using_rEFInd
 

Modified: refind_linux.conf
===================================================================
--- refind_linux.conf	2014-05-28 16:23:07 UTC (rev 213698)
+++ refind_linux.conf	2014-05-28 16:24:39 UTC (rev 213699)
@@ -1,5 +1,5 @@
 ## This file should be present in the same directory as the EFISTUB kernel and initramfs files
 ## More info at http://www.rodsbooks.com/refind/linux.html , http://www.rodsbooks.com/efi-bootloaders/efistub.html
 
-"Boot with defaults"    "root=PARTUUID=XXXXXXXX rootfstype=XXXX ro"
-"Boot to terminal"      "root=PARTUUID=XXXXXXXX rootfstype=XXXX ro systemd.unit=multi-user.target"
+"Boot with defaults"    "root=PARTUUID=XXXXXXXX rootfstype=XXXX rw add_efi_memmap"
+"Boot to terminal"      "root=PARTUUID=XXXXXXXX rootfstype=XXXX rw add_efi_memmap systemd.unit=multi-user.target"




More information about the arch-commits mailing list