summaryrefslogtreecommitdiff
path: root/sys-boot/elilo
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-04-22 14:25:03 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-04-22 14:25:03 +0100
commit5e8702bcbbed438e6c6cce023e7ef0cc9baa3e02 (patch)
treeb041acef19bb9ae66c228d5c9d34d1e00aeb2b95 /sys-boot/elilo
parent5cfef3c94cd7e82136c69a0322f5ba21f7e64632 (diff)
gentoo resync : 22.04.2018
Diffstat (limited to 'sys-boot/elilo')
-rw-r--r--sys-boot/elilo/Manifest2
-rw-r--r--sys-boot/elilo/elilo-3.16-r2.ebuild88
-rw-r--r--sys-boot/elilo/files/elilo-3.16-gnu-efi-3.0.6-ia64.patch112
3 files changed, 202 insertions, 0 deletions
diff --git a/sys-boot/elilo/Manifest b/sys-boot/elilo/Manifest
index c992abd5fc68..fbcfff01d234 100644
--- a/sys-boot/elilo/Manifest
+++ b/sys-boot/elilo/Manifest
@@ -1,4 +1,5 @@
AUX elilo-3.16-elilo-loop.patch 299 BLAKE2B 5fe27b5b89d18adace762e2691854140437c5d33281d8b4e6573303b9d80913fa59283ae231213dda985dc9751c019db0a070e77284c56ed3871d799897b3c69 SHA512 6480d3e9403bc54b4a923e77df049eeb42929020f222450e32c12d4dcb09b098aa52924be0ebdda95e01ee8d0ced624ec96c3977cc1213b66dc5a8639797bc20
+AUX elilo-3.16-gnu-efi-3.0.6-ia64.patch 3796 BLAKE2B 9008b004b24b390f46d6b05cf9e9ae0627d4ed930b9965d0295e700ea0c7617f2ac3e1da0b583ab931e8a7bffc0bf8452eb19318d7d1d256a5d4781cde4e710e SHA512 c2ec3ba0d2f5ee3447363a44d9d7863eb323095c40f72243241f608437fd9e2b17ee603666a1103f14a0c66cae025e8f9be09c27d8fb57554f480209a02f39e5
AUX elilo.conf.sample 150 BLAKE2B d823113e1fcdaf08398f09b6fe9b4b2284004be2886799a69fd776bfaab194413c51969c65d1d81607c0a46699e84132b88bdd2a82f6f41a65ae6fbb061d9356 SHA512 3f99527724759f5c03a5f244b957bc6d50ca378f2b66cbcb19f73fa721d2fd76119ae90669e4cce045f5bc66a80d46b21e76e8c4895d23b22df23ec69262b0e0
AUX elilo.sh-chkspace.patch 833 BLAKE2B 72d99e45c6deff5262ea02bc8417e77e9e1158e5ef921d142f6ea941fc2c2da1b9f3624bd1e9ca6f9debe63f174d0ee55536bd295706c59dc197227739c03316 SHA512 063131fd53866e717d87a4ca23e5f4143cb166480d89312bbf9f5be9540e29930794657f1eb2709559435abceb415b7775e049a1f8d410ae5007dc967fbf9224
AUX elilo.sh-vmm.patch 2099 BLAKE2B 8bfca9c76e9dc5232e3602013103dc3e26bc29f880287f1204d429878b0e13cc95ff005934bbf06c9f848cd8c7d7a0162e52c827e1ceaa8809d28864e16712ca SHA512 2bbeca88b38790b3821e4ba54c46d194fbb776cf56788634e91da91e028fedb81a38928d0dbbb503cdf1a047c281800aea1d56a2eae47953dbc2203d795862cc
@@ -13,6 +14,7 @@ DIST elilo_3.6-1.diff.gz 14944 BLAKE2B c982bce4610168408c57beaeca70f7c2be130a75e
EBUILD elilo-3.10.ebuild 1881 BLAKE2B c4fc100d3f8cf5a91a577a84aa96f0e015c006cf45bfe8d979c95dec896c11862e2d8280490fa77e7cb2ed3dc078bec6f02a058c8d13bff79529526fb6c0f4c6 SHA512 40c43228a756ed0ffe1b6ee0e7ca1a15dd4eeae4ef11533e7604f1f9bc25a3395048721403abb84bf1bbe97652da0d8b2992e80698e49e0135f8f2e3804f40c6
EBUILD elilo-3.12.ebuild 1875 BLAKE2B e3bf5b05fa281d2ecc388b3b94143f196a780bd4bc9f156055959a9076a71fe4f9b909bf212ce225b1c616883b1c127a24f5e3140d30d2c89e32f42c6f970eec SHA512 e1133533b8727e744457086550771ead877279a919676006562d38e0a6e2949f2d95eb828d1664b3f726d072a83b184ea32632785df92d20b9f5d09cb0914c57
EBUILD elilo-3.16-r1.ebuild 2022 BLAKE2B 2b7e34a158bbb348c1468d1e79bfccf885f8479f0d209a36e1f9fff334d52fb5eadbb98082ad75b44e5cae50bc2909fb710aab42fee9f54a7c9e73be7e7faa9f SHA512 428ff3638702d11ff93a19c6b3aeca9c9dab556773a6b6a6b3632ed240ae64a3c6269e48f1466dbaf58ebc23c2eb340cbd98c50b0f7a5b45c3224a17b7ed4110
+EBUILD elilo-3.16-r2.ebuild 2073 BLAKE2B 36d1aaeb7f0487c73589774c46f7940a0385c18a770cdff502a8dc1d26f2220c7a8dac12e2c999cbde93b2611fe93ec4e29e3a5ee6545ed4acdbd603032269e9 SHA512 cdd0938ec31a04ce2d61a8bc482a9ea2cc4be13bbd194150ea2d86756563b9f807457a393325f2e64b6303e03cfbd757cbd62ed331451e71b5ee2f50bd881bee
EBUILD elilo-3.16.ebuild 2032 BLAKE2B 12c7a08970bcb568944607fb6f9066d6b4bd19dda8a956f0f98480ddae577dab1cba0566b39c4214fd50b618c6df6d797957cafa7f40ccc1d70540dd7d642f3b SHA512 3eefb2956ce6cd1f5322c7ef537fb04fb9518ffb294361c0a449154adf11729ec7999167754cd034cfcbadb16616324c6866f8356e72e73e4aaf52a4e4f77398
EBUILD elilo-3.6_p20060314.ebuild 2290 BLAKE2B b47fe3063eb438f8dcf7ce47b500ecd4fcc8e79bd5f560e052c5662d127fdc640d68cb20e06250b8286285f97fac04331ad52d66e588b3baeaa2790b2464ede1 SHA512 4eb9e60abbec84dbe1a65138feb2ff0411faf54144549a4bff521aa867833cb211457589bc457cac072061714197b77abaf4267e3f21b6af591878114dd1b5ff
MISC metadata.xml 337 BLAKE2B 7c9b3e56e9680252631db0691b3acfc2a2cbfee80c42af709979085124a35bb9d184e58de3ef4f88b2f3e6cc873b4ef2bd285ce3fc2645aaa9ae869c3b729d87 SHA512 13691bef927bf7f8a4a6d0640d38dabb53fdae1d8bd986c5fe73c1643e2bdbaaac50bfe864e2185a584fa6265a3197afc5273b60b70675481cef61706dde8d87
diff --git a/sys-boot/elilo/elilo-3.16-r2.ebuild b/sys-boot/elilo/elilo-3.16-r2.ebuild
new file mode 100644
index 000000000000..840e7f568f8e
--- /dev/null
+++ b/sys-boot/elilo/elilo-3.16-r2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs eutils multilib
+
+DESCRIPTION="Linux boot loader for EFI-based systems such as IA-64"
+HOMEPAGE="https://sourceforge.net/projects/elilo/"
+SRC_URI="mirror://sourceforge/elilo/${P}-all.tar.gz
+ mirror://debian/pool/main/e/elilo/elilo_3.14-3.debian.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE=""
+
+# gnu-efi contains only static libs, so there's no run-time dep on it
+DEPEND=">=sys-boot/gnu-efi-3.0g
+ dev-util/patchutils"
+# dosfstools[compat] to enable 'dosfsck' symlink
+RDEPEND="sys-boot/efibootmgr
+ sys-fs/dosfstools[compat]"
+
+S="${WORKDIR}/${P}-source"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.16-elilo-loop.patch #299665
+ "${FILESDIR}"/${PN}-3.16-gnu-efi-3.0.6-ia64.patch
+)
+
+src_unpack() {
+ unpack ${A} ./${P}-source.tar.gz
+ mv debian "${S}"/ || die
+}
+
+src_prepare() {
+ default
+
+ case $(tc-arch) in
+ ia64) iarch=ia64 ;;
+ x86) iarch=ia32 ;;
+ amd64) iarch=x86_64 ;;
+ *) die "unknown architecture: $(tc-arch)" ;;
+ esac
+
+ # Now Gentooize it.
+ sed -i \
+ -e '1s:/bin/sh:/bin/bash:' \
+ -e "s:##VERSION##:${PV}:" \
+ -e 's:Debian GNU/:Gentoo :g' \
+ -e 's:Debian:Gentoo:g' \
+ -e 's:debian:gentoo:g' \
+ -e "s:dpkg --print-architecture:echo ${iarch}:" \
+ debian/elilo.sh || die
+}
+
+src_compile() {
+ # "prefix" on the next line specifies where to find gcc, as, ld,
+ # etc. It's not the usual meaning of "prefix". By blanking it we
+ # allow PATH to be searched.
+ local libdir="${SYSROOT}${EPREFIX}/usr/$(get_libdir)"
+ emake -j1 \
+ prefix= \
+ AS="$(tc-getAS)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ HOSTARCH=${iarch} \
+ ARCH=${iarch} \
+ EFIINC="${SYSROOT}${EPREFIX}/usr/include/efi" \
+ GNUEFILIB="${libdir}" \
+ EFILIB="${libdir}" \
+ EFICRT0="${libdir}"
+}
+
+src_install() {
+ exeinto /usr/lib/elilo
+ doexe elilo.efi
+
+ newsbin debian/elilo.sh elilo
+ dosbin tools/eliloalt
+
+ insinto /etc
+ newins "${FILESDIR}"/elilo.conf.sample elilo.conf
+
+ dodoc docs/* "${FILESDIR}"/elilo.conf.sample
+ doman debian/*.[0-9]
+}
diff --git a/sys-boot/elilo/files/elilo-3.16-gnu-efi-3.0.6-ia64.patch b/sys-boot/elilo/files/elilo-3.16-gnu-efi-3.0.6-ia64.patch
new file mode 100644
index 000000000000..21f10f316441
--- /dev/null
+++ b/sys-boot/elilo/files/elilo-3.16-gnu-efi-3.0.6-ia64.patch
@@ -0,0 +1,112 @@
+Disambiguate setpjmp()/longjmp()/jmp_buf across elilo copy and gnu-efi-3.0.6.
+
+In order not to chang the behaviour I'm keeping elilo's implementation
+as the jmp_buf passing ABI is slightly different scross the two.
+
+ setjmp.h:25:14: error: conflicting types for 'jmp_buf'
+ typedef long jmp_buf[_JBLEN] __attribute__ ((aligned (16))); /* guarantees 128-bit alignment! */
+ ^~~~~~~
+ In file included from /usr/include/efi/efisetjmp.h:5:0,
+ from /usr/include/efi/efi.h:60,
+ from gzip.c:29:
+ /usr/include/efi/ia64/efisetjmp_arch.h:45:23: note: previous declaration of 'jmp_buf' was here
+ } ALIGN(JMPBUF_ALIGN) jmp_buf;
+ ^~~~~~~
+diff --git a/ia64/gzip.c b/ia64/gzip.c
+index cc0c943..e2d40f6 100644
+--- a/ia64/gzip.c
++++ b/ia64/gzip.c
+@@ -138,3 +138,3 @@ static void error(char *m);
+
+-static jmp_buf jbuf;
++static jmp_buf_ia64_elilo jbuf;
+ static int error_return;
+@@ -598,3 +598,3 @@ load_abort:
+ error_return = ELILO_LOAD_ABORTED;
+- longjmp(jbuf, 1);
++ longjmp_ia64_elilo(jbuf, 1);
+ }
+@@ -606,3 +606,3 @@ error(char *x)
+ /* will eventually exit with error from gunzip() */
+- longjmp(jbuf,1);
++ longjmp_ia64_elilo(jbuf,1);
+ }
+@@ -645,3 +645,3 @@ gunzip_kernel(fops_fd_t fd, kdesc_t *kd)
+
+- if (setjmp(jbuf) == 1) goto error;
++ if (setjmp_ia64_elilo(jbuf) == 1) goto error;
+
+diff --git a/ia64/longjmp.S b/ia64/longjmp.S
+index 23dec86..5341632 100644
+--- a/ia64/longjmp.S
++++ b/ia64/longjmp.S
+@@ -18,5 +18,5 @@
+
+- Note that __sigsetjmp() did NOT flush the register stack. Instead,
+- we do it here since __longjmp() is usually much less frequently
+- invoked than __sigsetjmp(). The only difficulty is that __sigsetjmp()
++ Note that __sigsetjmp_ia64_elilo() did NOT flush the register stack. Instead,
++ we do it here since __longjmp_ia64_elilo() is usually much less frequently
++ invoked than __sigsetjmp(). The only difficulty is that __sigsetjmp_ia64_elilo()
+ didn't (and wouldn't be able to) save ar.rnat either. This is a problem
+@@ -40,8 +40,8 @@
+
+- /* __longjmp(__jmp_buf buf, int val) */
++ /* __longjmp_ia64_elilo(__jmp_buf_ia64_elilo buf, int val) */
+
+ .text
+- .global longjmp
+- .proc longjmp
+-longjmp:
++ .global longjmp_ia64_elilo
++ .proc longjmp_ia64_elilo
++longjmp_ia64_elilo:
+ alloc r8=ar.pfs,2,1,0,0
+@@ -161,2 +161,2 @@ longjmp:
+ br.ret.dptk.few rp
+- .endp longjmp
++ .endp longjmp_ia64_elilo
+diff --git a/ia64/setjmp.S b/ia64/setjmp.S
+index 4c83d03..57f5542 100644
+--- a/ia64/setjmp.S
++++ b/ia64/setjmp.S
+@@ -70,14 +70,14 @@
+ .text
+- .global setjmp
+- .proc setjmp
+-setjmp:
++ .global setjmp_ia64_elilo
++ .proc setjmp_ia64_elilo
++setjmp_ia64_elilo:
+ alloc r8=ar.pfs,2,0,0,0
+ mov in1=1
+- br.cond.sptk.many __sigsetjmp
+- .endp setjmp
++ br.cond.sptk.many __sigsetjmp_ia64_elilo
++ .endp setjmp_ia64_elilo
+
+- /* __sigsetjmp(__jmp_buf buf, int savemask) */
++ /* __sigsetjmp_ia64_elilo(__jmp_buf buf, int savemask) */
+
+- .proc __sigsetjmp
+-__sigsetjmp:
++ .proc __sigsetjmp_ia64_elilo
++__sigsetjmp_ia64_elilo:
+ //.prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(2)
+@@ -173,2 +173,2 @@ __sigsetjmp:
+
+- .endp __sigsetjmp
++ .endp __sigsetjmp_ia64_elilo
+diff --git a/ia64/setjmp.h b/ia64/setjmp.h
+index 91bbfc1..f9e654d 100644
+--- a/ia64/setjmp.h
++++ b/ia64/setjmp.h
+@@ -24,5 +24,5 @@
+ /* the __jmp_buf element type should be __float80 per ABI... */
+-typedef long jmp_buf[_JBLEN] __attribute__ ((aligned (16))); /* guarantees 128-bit alignment! */
++typedef long jmp_buf_ia64_elilo[_JBLEN] __attribute__ ((aligned (16))); /* guarantees 128-bit alignment! */
+
+-extern int setjmp (jmp_buf __env);
+-extern void longjmp (jmp_buf __env, int __val);
++extern int setjmp_ia64_elilo (jmp_buf_ia64_elilo __env);
++extern void longjmp_ia64_elilo (jmp_buf_ia64_elilo __env, int __val);