diff options
Diffstat (limited to 'app-crypt/pesign')
-rw-r--r-- | app-crypt/pesign/Manifest | 5 | ||||
-rw-r--r-- | app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch | 73 | ||||
-rw-r--r-- | app-crypt/pesign/files/pesign-0.112-fix-initializer.patch | 13 | ||||
-rw-r--r-- | app-crypt/pesign/metadata.xml | 15 | ||||
-rw-r--r-- | app-crypt/pesign/pesign-0.112.ebuild | 48 |
5 files changed, 154 insertions, 0 deletions
diff --git a/app-crypt/pesign/Manifest b/app-crypt/pesign/Manifest new file mode 100644 index 000000000000..854c41c39c4b --- /dev/null +++ b/app-crypt/pesign/Manifest @@ -0,0 +1,5 @@ +AUX pesign-0.112-fix-cli-opts.patch 2228 BLAKE2B 6037340b1bc0c659ec2be5358d781b29f0fe755a17e7c17f612ef7c8dc514dc5d5ed2c49121463caa269e01a206a160ec725f7545a004fe10ffc35841f23625a SHA512 62d2ec0059ff518b576b6399a217f47b1f361c41292055b8a7326e81cda30190b4a62dad7dd8150855b2025af1ad25458a2cbbfd3ae89ca6c870067224662695 +AUX pesign-0.112-fix-initializer.patch 388 BLAKE2B e5beacd2503dbde5c6e4ba748c4dc5151747028b3448e91fcb2e52f6e2622ba5f84cb29a816c67979dcf7ab40b9f3d2ea10ff31033027c18b68c863ab2eed86e SHA512 1b76c6dfe7ddc76a2051038894b7e2da72c01ebc05a46d4b6ebc05a092a55d699161e04c4df73d1afb7752e6a138ed8c9c28eda55897c82934ca852be42dae84 +DIST pesign-0.112.tar.gz 107632 BLAKE2B 737b75aec7efa9f41dbdb509405dede914cd5aa563572f0d2ede96a321f4a669170c696c7bd93bad1a5c1a6f2c65715b66317544fa6fc55d6b7f85436d778e8a SHA512 9a0cd266f973fbd7bbbd23939d0be3c34dbccd9ab20941bf967ca1b18aa5bf5d2c41cdef0799399e09e7b0fc59a0b34bc660afb6da292eb1c127db2893362018 +EBUILD pesign-0.112.ebuild 1029 BLAKE2B 283075f097aa4a37aca9bd3b153044b9fd543f301774d926754fc6283d8d08c76c2953f790911bda0acf825dd0c543fc92a4e53eaa20d2ae0cb2dce7c4b91d2a SHA512 afaa06b5fb7c416b314d62dfcf98e9677d72c38ad18b9d9b4318d4362c94991b409d7fc5dcabc29111766ddba158309ec5d3ad41194ade0959dac99dc81159d6 +MISC metadata.xml 466 BLAKE2B f7c15efd0e75918931fb23acd033a3273820cd449e397af5dd1195e3de85e9b5b9510ac22fef9bcc3be820cfc2f09f61cb5e4fd8742797aa28d915cb275c098f SHA512 cffb289b804411ba72b52113ac4784e2873c0c0730496eb3b29a35c2d2a8891031f579e70cb7a64f0da685fedbcf3f0787ed2c630664cb6c363ddbd66e0d1364 diff --git a/app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch b/app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch new file mode 100644 index 000000000000..6271a999859a --- /dev/null +++ b/app-crypt/pesign/files/pesign-0.112-fix-cli-opts.patch @@ -0,0 +1,73 @@ +From 5be0515dee24308fd7e270bf2e0fb5e5a7a78f32 Mon Sep 17 00:00:00 2001 +From: Julien Cristau <jcristau@debian.org> +Date: Thu, 9 Jun 2016 14:30:37 +0200 +Subject: [PATCH 2/2] Fix command line parsing + +The gettext translation domain should be passed as .arg, not .descrip, +otherwise popt won't process any of the command line options (it stops +looping over the struct poptOption array when an entry has unset +longName, shortName and arg). + +Signed-off-by: Julien Cristau <jcristau@debian.org> +--- + src/client.c | 2 +- + src/efikeygen.c | 2 +- + src/efisiglist.c | 2 +- + src/pesigcheck.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/client.c b/src/client.c +index 028419f..575c873 100644 +--- a/src/client.c ++++ b/src/client.c +@@ -555,7 +555,7 @@ main(int argc, char *argv[]) + + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + {.longName = "token", + .shortName = 't', + .argInfo = POPT_ARG_STRING|POPT_ARGFLAG_SHOW_DEFAULT, +diff --git a/src/efikeygen.c b/src/efikeygen.c +index 6278849..8a515a5 100644 +--- a/src/efikeygen.c ++++ b/src/efikeygen.c +@@ -486,7 +486,7 @@ int main(int argc, char *argv[]) + poptContext optCon; + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + /* global nss-ish things */ + {.longName = "dbdir", + .shortName = 'd', +diff --git a/src/efisiglist.c b/src/efisiglist.c +index cd3f1ae..40d6a93 100644 +--- a/src/efisiglist.c ++++ b/src/efisiglist.c +@@ -126,7 +126,7 @@ main(int argc, char *argv[]) + + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + {.longName = "infile", + .shortName = 'i', + .argInfo = POPT_ARG_STRING, +diff --git a/src/pesigcheck.c b/src/pesigcheck.c +index 1328fe9..0d49c1a 100644 +--- a/src/pesigcheck.c ++++ b/src/pesigcheck.c +@@ -214,7 +214,7 @@ main(int argc, char *argv[]) + poptContext optCon; + struct poptOption options[] = { + {.argInfo = POPT_ARG_INTL_DOMAIN, +- .descrip = "pesign" }, ++ .arg = "pesign" }, + {.longName = "dbfile", + .shortName = 'D', + .argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_POST, +-- +2.9.2 + diff --git a/app-crypt/pesign/files/pesign-0.112-fix-initializer.patch b/app-crypt/pesign/files/pesign-0.112-fix-initializer.patch new file mode 100644 index 000000000000..b6147fe68e6d --- /dev/null +++ b/app-crypt/pesign/files/pesign-0.112-fix-initializer.patch @@ -0,0 +1,13 @@ +This addresses a -Werror=missing-braces build failure from GCC bug #53119. + +--- a/libdpe/pe_allocspace.c ++++ b/libdpe/pe_allocspace.c +@@ -61,7 +61,7 @@ + struct pe32plus_opt_hdr *opthdr = pe->state.pe32plus_exe.opthdr; + + Pe_Scn *scn = NULL; +- struct section_header shdr = { 0, }, tmp_shdr; ++ struct section_header shdr = { { 0, } }, tmp_shdr; + if (pehdr->sections < 1) + return -1; + diff --git a/app-crypt/pesign/metadata.xml b/app-crypt/pesign/metadata.xml new file mode 100644 index 000000000000..ac456968425e --- /dev/null +++ b/app-crypt/pesign/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>david.michael@coreos.com</email> + <name>David Michael</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">vathpela/pesign</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-crypt/pesign/pesign-0.112.ebuild b/app-crypt/pesign/pesign-0.112.ebuild new file mode 100644 index 000000000000..314dcb7d8cd1 --- /dev/null +++ b/app-crypt/pesign/pesign-0.112.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils toolchain-funcs + +DESCRIPTION="Tools for manipulating signed PE-COFF binaries" +HOMEPAGE="https://github.com/vathpela/pesign" +SRC_URI="https://github.com/vathpela/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="libressl" + +RDEPEND=" + dev-libs/nspr + dev-libs/nss + dev-libs/popt + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + sys-apps/util-linux + sys-libs/efivar +" +DEPEND="${RDEPEND} + sys-apps/help2man + sys-boot/gnu-efi + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.112-fix-cli-opts.patch + "${FILESDIR}"/${PN}-0.112-fix-initializer.patch +) + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${ED}" VERSION="${PVR}" install + einstalldocs + + # remove some files that don't make sense for Gentoo installs + rm -rf "${ED%/}/etc/" "${ED%/}/var/" \ + "${ED%/}/usr/share/doc/${PF}/COPYING" || die +} |