commit: 72d39834f513ed0ec6d4c3030f8bce402e71d236 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> AuthorDate: Mon Dec 7 00:05:59 2015 +0000 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> CommitDate: Mon Dec 7 00:05:59 2015 +0000 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=72d39834
sys-libs/efivar: address bug #567678. Package-Manager: portage-2.2.20.1 RepoMan-Options: --force sys-libs/efivar/Manifest | 5 +++ sys-libs/efivar/efivar-0.21-r99.ebuild | 29 +++++++++++++ sys-libs/efivar/files/0.21-initializer.patch | 42 +++++++++++++++++++ sys-libs/efivar/files/0.21-musl.patch | 62 ++++++++++++++++++++++++++++ sys-libs/efivar/metadata.xml | 11 +++++ 5 files changed, 149 insertions(+) diff --git a/sys-libs/efivar/Manifest b/sys-libs/efivar/Manifest new file mode 100644 index 0000000..373124c --- /dev/null +++ b/sys-libs/efivar/Manifest @@ -0,0 +1,5 @@ +AUX 0.21-initializer.patch 1261 SHA256 ce6792192c9014bd0db4acbf0866f3d6eb1e608225177cbfaf6dd54b7d447bf5 SHA512 e7593fcefead06007a2314217b4be61161261b2be06c631065ede00f48098b924395605faba2ef859be9b6a242d531942460f2b51ea346d1cb93af94ecb23b3c WHIRLPOOL efcec5c85046ba5acff2b8559fad7c05175ed791ea84f47587013e90a3e2c301df507a776097795f0003625fbc40b95d79ecb1a349ee5ee08d5b4a7ad841b452 +AUX 0.21-musl.patch 2108 SHA256 319478e8626271f4fa17fdfeabeca84a08027d1228ac02b60169dd1a3d676deb SHA512 fb0df957015f4b34fa89786780b070df2fe9d7511882cc836d643997d83e303863d2016fb780c3a0f047b84e67093584690ab42fb1772165b2742206402e0f3d WHIRLPOOL fea636b8b89770d7d43267d5e0bb7c46ef1d76a87120a5facb6e2db20c03c9b3f784317f2c6b6d31bb800e40d33c069056c1e895e154faa67cce87b0ff7ff127 +DIST efivar-0.21.tar.bz2 66677 SHA256 04b9b9de9d9a1a013395400438a033daf4a4290f497ec5be04a120e2ac535094 SHA512 851b5e29c2dab213bb81c6ea5c5c211d36fb6846de8aa1086b0657f06917c2f93bf154aa3a4c2dda22103bdf1d67ca877f9771dc3f979c9311ca24e0bc09492a WHIRLPOOL d6cdb2e2f047a22677d046581490ee4e64a2ac0631be8e41bf6250241b2554f62ddf81226fa3970ee80ebb9ec62665ca21f4fec94cc5ebe05414b0c674ad38dd +EBUILD efivar-0.21-r99.ebuild 647 SHA256 d49af5c546ebab7985cc32f39140e1ad77eb9063d9110a934322d4ab9d1ec609 SHA512 68e5d97b57721d33dcc704af49bcaf1a490c6bd021f325c42d9ecd565c3671f84d3d1a59c57cba58b404aa614984de13e3fcccabfd8507a8fb31b0e23025cbf0 WHIRLPOOL 0bff877b33d11c65e3b0076b616ab4a442bf793f4152b8186ab1b318c13f39c350f00caf631f25c3b8e3acb4cf6f27512b1ec4e117e2dae144f14b2d8b68b04d +MISC metadata.xml 312 SHA256 6fb63852fa4f8d21972ff4627c67ad981bc2da2721c0dda9496ee041d32f575c SHA512 5beaf5ae393728ba4158bd61e91aaef58763078cc415d04bb4084682af9701c5a603b7762d70ee0588e343b8939619eba6a7bead4191d19db2280332e0ccefa1 WHIRLPOOL 4ee9322e45927ad75934961fdc0cda76c0e9cbe9f53a038249137b0a979047f5e3607c51b5bac7aa64a2dadcf35b2606e19863f5bc2fe7050d9c3a4b882ada95 diff --git a/sys-libs/efivar/efivar-0.21-r99.ebuild b/sys-libs/efivar/efivar-0.21-r99.ebuild new file mode 100644 index 0000000..2c95f48 --- /dev/null +++ b/sys-libs/efivar/efivar-0.21-r99.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="Tools and library to manipulate EFI variables" +HOMEPAGE="https://github.com/rhinstaller/efivar" +SRC_URI="https://github.com/rhinstaller/${PN}/releases/download/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +RDEPEND="dev-libs/popt" +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${FILESDIR}/0.21-initializer.patch" + epatch "${FILESDIR}/0.21-musl.patch" +} + +src_configure() { + tc-export CC + export libdir="/usr/$(get_libdir)" + unset LIBS # Bug 562004 +} diff --git a/sys-libs/efivar/files/0.21-initializer.patch b/sys-libs/efivar/files/0.21-initializer.patch new file mode 100644 index 0000000..25d0659 --- /dev/null +++ b/sys-libs/efivar/files/0.21-initializer.patch @@ -0,0 +1,42 @@ +From a3606c02fd271d32e364fcc540e34ba1899309f6 Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjo...@redhat.com> +Date: Tue, 14 Jul 2015 09:33:54 -0400 +Subject: [PATCH] Sometimes the compiler doesn't like { 0, } as an + initializer... + +Because it really wants to be { {0, },} or something, and sometimes the +compiler, knowing full well what we're trying to do, likes to complain +about the rigor applied to our technique in doing it. + +memset() the struct ifreq to 0 instead so I don't need to figure out its +internal structure just to zero it out. + +Resolves #28 + +Signed-off-by: Peter Jones <pjo...@redhat.com> +--- + src/linux.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/linux.c b/src/linux.c +index 57f71f3..817b8e6 100644 +--- a/src/linux.c ++++ b/src/linux.c +@@ -847,12 +847,13 @@ ssize_t + __attribute__((__visibility__ ("hidden"))) + make_mac_path(uint8_t *buf, ssize_t size, const char * const ifname) + { +- struct ifreq ifr = { 0, }; ++ struct ifreq ifr; + struct ethtool_drvinfo drvinfo = { 0, }; + int fd, rc; + ssize_t ret = -1, sz, off=0; + char busname[PATH_MAX+1] = ""; + ++ memset(&ifr, 0, sizeof (ifr)); + strncpy(ifr.ifr_name, ifname, IF_NAMESIZE); + drvinfo.cmd = ETHTOOL_GDRVINFO; + ifr.ifr_data = (caddr_t)&drvinfo; +-- +2.4.6 + diff --git a/sys-libs/efivar/files/0.21-musl.patch b/sys-libs/efivar/files/0.21-musl.patch new file mode 100644 index 0000000..2c5d7eb --- /dev/null +++ b/sys-libs/efivar/files/0.21-musl.patch @@ -0,0 +1,62 @@ +From 262acfc7c4fbb4bbc76f4235220336fd41993ca8 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.ja...@posteo.de> +Date: Tue, 14 Jul 2015 05:53:04 -0600 +Subject: [PATCH 1/2] Remove -fshort-wchar from CFLAGS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +-fshort-wchar makes wchar_t 16bit. We are not using wchar_t anywhere, +so we don't need it. Removing it fixes an compilation error with musl +libc: + +In file included from dp-acpi.c:21:0: +/usr/lib/gcc/armv7a-hardfloat-linux-musleabi/4.7.4/include/stddef.h:325:24: error: conflicting types for ‘wchar_t’ +In file included from /usr/include/inttypes.h:12:0, + from dp-acpi.c:20: +/usr/include/bits/alltypes.h:18:18: note: previous declaration of ‘wchar_t’ was here +make[1]: *** [dp-acpi.o] Error 1 +make: *** [src] Error 2 +--- + Make.defaults | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Make.defaults b/Make.defaults +index cc2baa9..7f5ae5e 100644 +--- a/Make.defaults ++++ b/Make.defaults +@@ -13,7 +13,7 @@ clang_cflags = + gcc_cflags = -Wmaybe-uninitialized + cflags := $(CFLAGS) \ + -Werror -Wall -Wsign-compare -Wstrict-aliasing \ +- -std=gnu11 -fshort-wchar -fPIC \ ++ -std=gnu11 -fPIC \ + -fvisibility=hidden \ + -D_GNU_SOURCE -I${TOPDIR}/src/include/efivar/ \ + $(if $(filter $(CC),clang),$(clang_cflags),) \ + +From 841ae2fc8c911dbac595cbd228be6bfed7881cad Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.ja...@posteo.de> +Date: Tue, 14 Jul 2015 05:56:05 -0600 +Subject: [PATCH 2/2] Use the more portable major() instead of gnu_dev_major() + +Do the same for minor() and gnu_dev_minor() +--- + src/linux.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/linux.c b/src/linux.c +index c4d099e..0cbd94a 100644 +--- a/src/linux.c ++++ b/src/linux.c +@@ -129,8 +129,8 @@ get_partition_number(const char *devpath) + return -1; + } + +- maj = gnu_dev_major(statbuf.st_rdev); +- min = gnu_dev_minor(statbuf.st_rdev); ++ maj = major(statbuf.st_rdev); ++ min = minor(statbuf.st_rdev); + + rc = sysfs_readlink(&linkbuf, "/sys/dev/block/%u:%u", maj, min); + if (rc < 0) diff --git a/sys-libs/efivar/metadata.xml b/sys-libs/efivar/metadata.xml new file mode 100644 index 0000000..52ba01d --- /dev/null +++ b/sys-libs/efivar/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>flop...@gentoo.org</email> + <name>Mike Gilbert</name> + </maintainer> + <upstream> + <remote-id type="github">vathpela/efivar</remote-id> + </upstream> +</pkgmetadata>