Gentoo Archives: gentoo-commits

From: Yixun Lan <dlan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/xen/files/, app-emulation/xen/
Date: Fri, 09 Oct 2015 03:37:55
Message-Id: 1444361356.0db3b3820b7dc744df8bb969f121b8922a3f6bd0.dlan@gentoo
1 commit: 0db3b3820b7dc744df8bb969f121b8922a3f6bd0
2 Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
3 AuthorDate: Fri Oct 9 03:07:41 2015 +0000
4 Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
5 CommitDate: Fri Oct 9 03:29:16 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0db3b382
7
8 app-emulation/xen: version bump to 4.6.0
9
10 1) try to avoid conditional patch (which is bad)
11 2) clean un-needed patches
12
13 Package-Manager: portage-2.2.22
14
15 app-emulation/xen/Manifest | 1 +
16 .../xen/files/xen-4.3-fix_dotconfig-gcc.patch | 220 ---------------------
17 app-emulation/xen/files/xen-4.4-efi.patch | 36 ----
18 app-emulation/xen/files/xen-4.6-efi.patch | 36 ++++
19 app-emulation/xen/xen-4.6.0.ebuild | 177 +++++++++++++++++
20 5 files changed, 214 insertions(+), 256 deletions(-)
21
22 diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest
23 index 0f7dc98..62bc2ca 100644
24 --- a/app-emulation/xen/Manifest
25 +++ b/app-emulation/xen/Manifest
26 @@ -1,4 +1,5 @@
27 DIST xen-4.2.5-upstream-patches-9.tar.xz 23208 SHA256 2206e9a8aeeed207abbae995c5d2baa14d5f0da4120ae44f2de733ecf7ea5af1 SHA512 8a2edaba48002449a521edf2ae078ffe1b3db4f491a85b063886a147a0be3ec7fdb819ce84c90cdae80ed34c10ab2d637506700be10052a67be6ef128fa40fb1 WHIRLPOOL 037820e0fad60d1f7ed054efa797585c992d08f1ffd533705c515ad289f8cdddc72b97f2a3d75ebd683c6bb6988d7285452b4f3cebbe9a879f701156e387ff3b
28 DIST xen-4.2.5.tar.gz 15671925 SHA256 3cf440866315e8085050eb0586f0447b6b47a08dbed6a72226bf5ed5d89ec567 SHA512 42c0fc241952fc55fc44480fb6752b004b54ae40e946159ec047adf229b65cbfbd810271d01b064ad8fdbddb73c640dcdcb6bc19f91e8968829889c129920dac WHIRLPOOL 762a91c0111892b33e6bd3e7f7714709b04697ad7c2b0919fef6cc9570a343a77fd5a2b82833e75dac9d12d4e41acdcf0743b0d593595910ddd326f5cd721368
29 DIST xen-4.5.1.tar.gz 18410400 SHA256 668c11d4fca67ac44329e369f810356eacd37b28d28fb96e66aac77f3c5e1371 SHA512 9436243e26bc64bc836a179abdc3a6b1b6fa9d3f2170453092c18be71fa62e18cd4465a9154c0f28a7ac8d69d08361ba1defef240a51197f058c012c3855ba04 WHIRLPOOL 71d8559f86683dd9fb3eb09d3f602de227f281fbd3c8cc258bfdb67c425d9e7c4d21cb0284c123e4263262c1b821fea6d28109861ce60d627f6426d352808d99
30 +DIST xen-4.6.0.tar.gz 19694350 SHA256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909 SHA512 b4b02f306ffea360f539dd8c231b2f58c00c3638fdb665cb659c7291b475b40f1075bc59d49a6144767729e57b8bc40a1cfd9030d61de2b8fa4ac97d43655c2b WHIRLPOOL d3f01183440ca1875b6e850bd116db0c382383433e50c0902d3268e9e36b39d184fc65e925bdb5363ef4ca7a232fee15b4749c89baf789137b8a8248565c75a8
31 DIST xen-security-patches-3.tar.xz 17028 SHA256 fb6301beb9a5c2d1e5d4de8783d8670e382b1bef48ec61e73d2d9be6901d289f SHA512 787fee8f7822577c6de91c4cf4d56d0e73ce46bac5524537ff66a718b6d7eae9d362265515743e8577b2c75f2841baed9837f71467b3b7b91a3111220da5f236 WHIRLPOOL 5c136289e654776bf918fe125fbecba7dac0929b236f7ae8158026a6bd6be12bc786a5ec96cb4022c18a5e7ffde82155deb57eb9639600e4c42c9c209f4a2ed6
32
33 diff --git a/app-emulation/xen/files/xen-4.3-fix_dotconfig-gcc.patch b/app-emulation/xen/files/xen-4.3-fix_dotconfig-gcc.patch
34 deleted file mode 100644
35 index 588be74..0000000
36 --- a/app-emulation/xen/files/xen-4.3-fix_dotconfig-gcc.patch
37 +++ /dev/null
38 @@ -1,220 +0,0 @@
39 -# Fix gcc-4.6
40 -diff -ur xen-4.2.0.orig/extras/mini-os/minios.mk xen-4.2.0/extras/mini-os/minios.mk
41 ---- extras/mini-os/minios.mk 2012-09-17 18:21:17.000000000 +0800
42 -+++ extras/mini-os/minios.mk 2012-12-05 14:01:10.653260260 +0800
43 -@@ -6,7 +6,7 @@
44 -
45 - # Define some default flags.
46 - # NB. '-Wcast-qual' is nasty, so I omitted it.
47 --DEF_CFLAGS += -fno-builtin -Wall -Werror -Wredundant-decls -Wno-format -Wno-redundant-decls
48 -+DEF_CFLAGS += -fno-builtin -Wall -Wredundant-decls -Wno-format -Wno-redundant-decls
49 - DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
50 - DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
51 - DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
52 -diff -ur xen-4.2.0.orig/tools/libxc/Makefile xen-4.2.0/tools/libxc/Makefile
53 ---- tools/libxc/Makefile 2012-09-17 18:21:18.000000000 +0800
54 -+++ tools/libxc/Makefile 2012-12-05 14:01:10.653260260 +0800
55 -@@ -85,7 +85,7 @@
56 -
57 - -include $(XEN_TARGET_ARCH)/Makefile
58 -
59 --CFLAGS += -Werror -Wmissing-prototypes
60 -+CFLAGS += -Wmissing-prototypes
61 - CFLAGS += -I. $(CFLAGS_xeninclude)
62 -
63 - # Needed for posix_fadvise64() in xc_linux.c
64 -# Drop .config
65 -diff -ur xen-4.2.0.orig/Config.mk xen-4.2.0/Config.mk
66 ---- Config.mk 2012-09-17 18:23:12.000000000 +0800
67 -+++ Config.mk 2012-12-05 14:01:10.641260261 +0800
68 -@@ -7,7 +7,6 @@ Drop .config
69 - # fallback for older make
70 - realpath = $(wildcard $(foreach file,$(1),$(shell cd -P $(dir $(file)) && echo "$$PWD/$(notdir $(file))")))
71 -
72 ---include $(XEN_ROOT)/.config
73 -
74 - # A debug build of Xen and tools?
75 - debug ?= n
76 -@@ -24,7 +24,7 @@
77 -
78 - # Tools to run on system hosting the build
79 - HOSTCC = gcc
80 --HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
81 -+HOSTCFLAGS = -Wstrict-prototypes -O2 -fomit-frame-pointer
82 - HOSTCFLAGS += -fno-strict-aliasing
83 -
84 - DISTDIR ?= $(XEN_ROOT)/dist
85 -@@ -156,7 +156,7 @@
86 -
87 - CFLAGS += -std=gnu99
88 -
89 --CFLAGS += -Wall -Wstrict-prototypes
90 -+CFLAGS += -Wstrict-prototypes
91 -
92 - # Clang complains about macros that expand to 'if ( ( foo == bar ) ) ...'
93 - # and is over-zealous with the printf format lint
94 -diff -ur xen-4.2.1.orig/tools/blktap2/drivers/Makefile xen-4.2.1/tools/blktap2/drivers/Makefile
95 ---- tools/blktap2/drivers/Makefile 2012-12-17 23:00:11.000000000 +0800
96 -+++ tools/blktap2/drivers/Makefile 2013-01-30 12:31:43.539941099 +0800
97 -@@ -9,7 +9,7 @@
98 - LOCK_UTIL = lock-util
99 - INST_DIR = $(SBINDIR)
100 -
101 --CFLAGS += -Werror -g
102 -+CFLAGS += -g
103 - CFLAGS += -Wno-unused
104 - CFLAGS += -fno-strict-aliasing
105 - CFLAGS += -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
106 -diff -ur xen-4.2.1.orig/tools/debugger/gdbsx/Rules.mk xen-4.2.1/tools/debugger/gdbsx/Rules.mk
107 ---- tools/debugger/gdbsx/Rules.mk 2012-12-17 23:00:22.000000000 +0800
108 -+++ tools/debugger/gdbsx/Rules.mk 2013-01-30 12:31:43.516941098 +0800
109 -@@ -1,4 +1,4 @@
110 - include $(XEN_ROOT)/tools/Rules.mk
111 -
112 --CFLAGS += -Werror -Wmissing-prototypes
113 -+CFLAGS += -Wmissing-prototypes
114 - # (gcc 4.3x and later) -Wconversion -Wno-sign-conversion
115 -diff -ur xen-4.2.1.orig/tools/libaio/harness/Makefile xen-4.2.1/tools/libaio/harness/Makefile
116 ---- tools/libaio/harness/Makefile 2012-12-17 23:00:35.000000000 +0800
117 -+++ tools/libaio/harness/Makefile 2013-01-30 12:31:43.541941099 +0800
118 -@@ -4,7 +4,7 @@
119 - HARNESS_SRCS:=main.c
120 - # io_queue.c
121 -
122 --CFLAGS=-Wall -Werror -g -O -laio
123 -+CFLAGS=-Wall -g -O -laio
124 - #-lpthread -lrt
125 -
126 - all: $(PROGS)
127 -diff -ur xen-4.2.1.orig/tools/libfsimage/Rules.mk xen-4.2.1/tools/libfsimage/Rules.mk
128 ---- tools/libfsimage/Rules.mk 2012-12-17 23:00:36.000000000 +0800
129 -+++ tools/libfsimage/Rules.mk 2013-01-30 12:31:43.515941097 +0800
130 -@@ -1,7 +1,7 @@
131 - include $(XEN_ROOT)/tools/Rules.mk
132 -
133 - CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
134 --CFLAGS += -Werror -D_GNU_SOURCE
135 -+CFLAGS += -D_GNU_SOURCE
136 - LDFLAGS += -L../common/
137 -
138 - PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
139 -diff -ur xen-4.2.1.orig/tools/libxl/Makefile xen-4.2.1/tools/libxl/Makefile
140 ---- tools/libxl/Makefile 2012-12-17 23:01:08.000000000 +0800
141 -+++ tools/libxl/Makefile 2013-01-30 12:31:43.541941099 +0800
142 -@@ -11,7 +11,7 @@
143 - XLUMAJOR = 1.0
144 - XLUMINOR = 1
145 -
146 --CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
147 -+CFLAGS += -Wno-format-zero-length -Wmissing-declarations \
148 - -Wno-declaration-after-statement -Wformat-nonliteral
149 - CFLAGS += -I. -fPIC
150 -
151 -diff -ur xen-4.2.1.orig/tools/qemu-xen/pc-bios/optionrom/Makefile xen-4.2.1/tools/qemu-xen/pc-bios/optionrom/Makefile
152 ---- tools/qemu-xen/pc-bios/optionrom/Makefile 2012-09-11 02:10:52.000000000 +0800
153 -+++ tools/qemu-xen/pc-bios/optionrom/Makefile 2013-01-30 12:31:43.528941098 +0800
154 -@@ -9,7 +9,7 @@
155 -
156 - .PHONY : all clean build-all
157 -
158 --CFLAGS := -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin
159 -+CFLAGS := -Wall -Wstrict-prototypes -fomit-frame-pointer -fno-builtin
160 - CFLAGS += -I$(SRC_PATH)
161 - CFLAGS += $(call cc-option, $(CFLAGS), -fno-stack-protector)
162 - QEMU_CFLAGS = $(CFLAGS)
163 -diff -ur xen-4.2.1.orig/tools/xenstat/xentop/Makefile xen-4.2.1/tools/xenstat/xentop/Makefile
164 ---- tools/xenstat/xentop/Makefile 2012-12-17 23:01:35.000000000 +0800
165 -+++ tools/xenstat/xentop/Makefile 2013-01-30 12:31:43.535941098 +0800
166 -@@ -18,7 +18,7 @@
167 - all install xentop:
168 - else
169 -
170 --CFLAGS += -DGCC_PRINTF -Wall -Werror $(CFLAGS_libxenstat)
171 -+CFLAGS += -DGCC_PRINTF -Wall $(CFLAGS_libxenstat)
172 - LDLIBS += $(LDLIBS_libxenstat) $(CURSES_LIBS) $(SOCKET_LIBS)
173 - CFLAGS += -DHOST_$(XEN_OS)
174 -
175 -diff -ur xen-4.2.1.orig/xen/arch/arm/Rules.mk xen-4.2.1/xen/arch/arm/Rules.mk
176 ---- xen/arch/arm/Rules.mk 2012-12-17 23:01:37.000000000 +0800
177 -+++ xen/arch/arm/Rules.mk 2013-01-30 12:31:43.498941097 +0800
178 -@@ -9,7 +9,7 @@
179 - HAS_DEVICE_TREE := y
180 -
181 - CFLAGS += -fno-builtin -fno-common -Wredundant-decls
182 --CFLAGS += -iwithprefix include -Werror -Wno-pointer-arith -pipe
183 -+CFLAGS += -iwithprefix include -Wno-pointer-arith -pipe
184 - CFLAGS += -I$(BASEDIR)/include
185 -
186 - # Prevent floating-point variables from creeping into Xen.
187 -diff -ur xen-4.2.1.orig/xen/arch/x86/Rules.mk xen-4.2.1/xen/arch/x86/Rules.mk
188 ---- xen/arch/x86/Rules.mk 2012-12-17 23:01:37.000000000 +0800
189 -+++ xen/arch/x86/Rules.mk 2013-01-30 12:31:43.490941096 +0800
190 -@@ -24,7 +24,7 @@
191 - endif
192 -
193 - CFLAGS += -fno-builtin -fno-common -Wredundant-decls
194 --CFLAGS += -iwithprefix include -Werror -Wno-pointer-arith -pipe
195 -+CFLAGS += -iwithprefix include -Wno-pointer-arith -pipe
196 - CFLAGS += -I$(BASEDIR)/include
197 - CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
198 - CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
199 -diff -ur xen-4.2.1.orig/xen/include/Makefile xen-4.2.1/xen/include/Makefile
200 ---- xen/include/Makefile 2012-12-17 23:01:55.000000000 +0800
201 -+++ xen/include/Makefile 2013-01-30 12:31:43.502941097 +0800
202 -@@ -78,7 +78,7 @@
203 - all: headers.chk
204 -
205 - headers.chk: $(filter-out public/arch-% public/%ctl.h public/xsm/% public/%hvm/save.h, $(wildcard public/*.h public/*/*.h) $(public-y)) Makefile
206 -- for i in $(filter %.h,$^); do $(CC) -ansi -include stdint.h -Wall -W -Werror -S -o /dev/null -xc $$i || exit 1; echo $$i; done >$@.new
207 -+ for i in $(filter %.h,$^); do $(CC) -ansi -include stdint.h -Wall -W -S -o /dev/null -xc $$i || exit 1; echo $$i; done >$@.new
208 - mv $@.new $@
209 -
210 - endif
211 -diff -ur xen-4.2.1.orig/tools/tests/mce-test/tools/Makefile xen-4.2.1/tools/tests/mce-test/tools/Makefile
212 ---- tools/tests/mce-test/tools/Makefile 2012-12-17 23:01:35.000000000 +0800
213 -+++ tools/tests/mce-test/tools/Makefile 2013-01-30 13:01:44.890020152 +0800
214 -@@ -1,7 +1,7 @@
215 - XEN_ROOT=$(CURDIR)/../../../..
216 - include $(XEN_ROOT)/tools/Rules.mk
217 -
218 --CFLAGS += -Werror
219 -+CFLAGS +=
220 - CFLAGS += $(CFLAGS_libxenctrl)
221 - CFLAGS += $(CFLAGS_libxenguest)
222 - CFLAGS += $(CFLAGS_libxenstore)
223 -diff -ur xen-4.2.1.orig/tools/tests/mem-sharing/Makefile xen-4.2.1/tools/tests/mem-sharing/Makefile
224 ---- tools/tests/mem-sharing/Makefile 2012-12-17 23:01:35.000000000 +0800
225 -+++ tools/tests/mem-sharing/Makefile 2013-01-30 13:01:44.890020152 +0800
226 -@@ -1,7 +1,7 @@
227 - XEN_ROOT=$(CURDIR)/../../..
228 - include $(XEN_ROOT)/tools/Rules.mk
229 -
230 --CFLAGS += -Werror
231 -+CFLAGS +=
232 -
233 - CFLAGS += $(CFLAGS_libxenctrl)
234 - CFLAGS += $(CFLAGS_xeninclude)
235 -diff -ur xen-4.2.1.orig/tools/tests/xen-access/Makefile xen-4.2.1/tools/tests/xen-access/Makefile
236 ---- tools/tests/xen-access/Makefile 2012-12-17 23:01:35.000000000 +0800
237 -+++ tools/tests/xen-access/Makefile 2013-01-30 13:01:44.891020152 +0800
238 -@@ -1,7 +1,7 @@
239 - XEN_ROOT=$(CURDIR)/../../..
240 - include $(XEN_ROOT)/tools/Rules.mk
241 -
242 --CFLAGS += -Werror
243 -+CFLAGS +=
244 -
245 - CFLAGS += $(CFLAGS_libxenctrl)
246 - CFLAGS += $(CFLAGS_libxenguest)
247 -diff -ur xen-4.3.0.orig/tools/firmware/Rules.mk xen-4.3.0/tools/firmware/Rules.mk
248 ---- tools/firmware/Rules.mk 2013-07-09 18:46:56.000000000 +0800
249 -+++ ttools/firmware/Rules.mk 2013-07-20 20:28:57.811836505 +0800
250 -@@ -11,8 +11,6 @@
251 - CFLAGS += -DNDEBUG
252 - endif
253 -
254 --CFLAGS += -Werror
255 --
256 - $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
257 -
258 - # Extra CFLAGS suitable for an embedded type of environment.
259
260 diff --git a/app-emulation/xen/files/xen-4.4-efi.patch b/app-emulation/xen/files/xen-4.4-efi.patch
261 deleted file mode 100644
262 index c584d14..0000000
263 --- a/app-emulation/xen/files/xen-4.4-efi.patch
264 +++ /dev/null
265 @@ -1,36 +0,0 @@
266 -diff --git a/xen/Makefile b/xen/Makefile
267 -index 39839a3..d2603f0 100644
268 ---- a/xen/Makefile
269 -+++ b/xen/Makefile
270 -@@ -38,9 +38,15 @@ _install: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
271 - _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
272 - [ -d $(D)/boot ] || $(INSTALL_DIR) $(D)/boot
273 - $(INSTALL_DATA) $(TARGET)$(Z) $(D)/boot/$(T)-$(XEN_FULLVERSION)$(Z)
274 -- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
275 -- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)/boot/$(T)-$(XEN_VERSION)$(Z)
276 -- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)/boot/$(T)$(Z)
277 -+ if [ 'x$(EFI_VENDOR)' == 'x' ]; then \
278 -+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
279 -+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)/boot/$(T)-$(XEN_VERSION)$(Z);\
280 -+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)/boot/$(T)$(Z); \
281 -+ else \
282 -+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
283 -+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)/boot/$(T)-$(XEN_VERSION)$(Z);\
284 -+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)/boot/$(T)$(Z); \
285 -+ fi; \
286 - $(INSTALL_DATA) $(TARGET)-syms $(D)/boot/$(T)-syms-$(XEN_FULLVERSION)
287 - if [ -r $(TARGET).efi -a -n '$(EFI_DIR)' ]; then \
288 - [ -d $(D)$(EFI_DIR) ] || $(INSTALL_DIR) $(D)$(EFI_DIR); \
289 -diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
290 -index d502bdf..a2121b0 100644
291 ---- a/xen/arch/x86/Makefile
292 -+++ b/xen/arch/x86/Makefile
293 -@@ -112,7 +112,7 @@ $(TARGET)-syms: prelink.o xen.lds $(BASEDIR)/common/symbols-dummy.o
294 - $(@D)/.$(@F).1.o -o $@
295 - rm -f $(@D)/.$(@F).[0-9]*
296 -
297 --EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
298 -+EFI_LDFLAGS = -mi386pep $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
299 - EFI_LDFLAGS += --image-base=$(1) --stack=0,0 --heap=0,0 --strip-debug
300 - EFI_LDFLAGS += --section-alignment=0x200000 --file-alignment=0x20
301 - EFI_LDFLAGS += --major-image-version=$(XEN_VERSION)
302
303 diff --git a/app-emulation/xen/files/xen-4.6-efi.patch b/app-emulation/xen/files/xen-4.6-efi.patch
304 new file mode 100644
305 index 0000000..bf888de
306 --- /dev/null
307 +++ b/app-emulation/xen/files/xen-4.6-efi.patch
308 @@ -0,0 +1,36 @@
309 +diff --git a/xen/Makefile b/xen/Makefile
310 +index 4c54e9b..a5cdccd 100644
311 +--- a/xen/Makefile
312 ++++ b/xen/Makefile
313 +@@ -41,9 +41,15 @@ _install: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
314 + _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
315 + [ -d $(D)$(BOOT_DIR) ] || $(INSTALL_DIR) $(D)$(BOOT_DIR)
316 + $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION)$(Z)
317 +- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
318 +- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z)
319 +- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z)
320 ++ if [ 'x$(EFI_VENDOR)' == 'x' ]; then \
321 ++ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
322 ++ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
323 ++ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
324 ++ else \
325 ++ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
326 ++ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
327 ++ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
328 ++ fi;
329 + [ -d "$(D)$(DEBUG_DIR)" ] || $(INSTALL_DIR) $(D)$(DEBUG_DIR)
330 + $(INSTALL_DATA) $(TARGET)-syms $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION)
331 + if [ -r $(TARGET).efi -a -n '$(EFI_DIR)' ]; then \
332 +diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
333 +index 5f24951..4ec0ee2 100644
334 +--- a/xen/arch/x86/Makefile
335 ++++ b/xen/arch/x86/Makefile
336 +@@ -116,7 +116,7 @@ $(TARGET)-syms: prelink.o xen.lds $(BASEDIR)/common/symbols-dummy.o
337 + $(@D)/.$(@F).1.o -o $@
338 + rm -f $(@D)/.$(@F).[0-9]*
339 +
340 +-EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
341 ++EFI_LDFLAGS = -mi386pep $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
342 + EFI_LDFLAGS += --image-base=$(1) --stack=0,0 --heap=0,0 --strip-debug
343 + EFI_LDFLAGS += --section-alignment=0x200000 --file-alignment=0x20
344 + EFI_LDFLAGS += --major-image-version=$(XEN_VERSION)
345
346 diff --git a/app-emulation/xen/xen-4.6.0.ebuild b/app-emulation/xen/xen-4.6.0.ebuild
347 new file mode 100644
348 index 0000000..4deb661
349 --- /dev/null
350 +++ b/app-emulation/xen/xen-4.6.0.ebuild
351 @@ -0,0 +1,177 @@
352 +# Copyright 1999-2015 Gentoo Foundation
353 +# Distributed under the terms of the GNU General Public License v2
354 +# $Id$
355 +
356 +EAPI=5
357 +
358 +PYTHON_COMPAT=( python2_7 )
359 +
360 +MY_PV=${PV/_/-}
361 +MY_P=${PN}-${PV/_/-}
362 +
363 +if [[ $PV == *9999 ]]; then
364 + KEYWORDS=""
365 + EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git"
366 + live_eclass="git-2"
367 +else
368 + KEYWORDS="~amd64 ~arm ~arm64 -x86"
369 + UPSTREAM_VER=
370 + SECURITY_VER=
371 + GENTOO_VER=
372 +
373 + [[ -n ${UPSTREAM_VER} ]] && \
374 + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
375 + [[ -n ${SECURITY_VER} ]] && \
376 + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
377 + [[ -n ${GENTOO_VER} ]] && \
378 + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
379 + SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz
380 + ${UPSTREAM_PATCHSET_URI}
381 + ${SECURITY_PATCHSET_URI}
382 + ${GENTOO_PATCHSET_URI}"
383 +
384 +fi
385 +
386 +inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
387 +
388 +DESCRIPTION="The Xen virtual machine monitor"
389 +HOMEPAGE="http://xen.org/"
390 +LICENSE="GPL-2"
391 +SLOT="0"
392 +IUSE="custom-cflags debug efi flask xsm"
393 +
394 +DEPEND="${PYTHON_DEPS}
395 + efi? ( >=sys-devel/binutils-2.22[multitarget] )
396 + !efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
397 +RDEPEND=""
398 +PDEPEND="~app-emulation/xen-tools-${PV}"
399 +
400 +RESTRICT="test"
401 +
402 +# Approved by QA team in bug #144032
403 +QA_WX_LOAD="boot/xen-syms-${PV}"
404 +
405 +REQUIRED_USE="flask? ( xsm )
406 + arm? ( debug )"
407 +
408 +S="${WORKDIR}/${MY_P}"
409 +
410 +pkg_setup() {
411 + python-any-r1_pkg_setup
412 + if [[ -z ${XEN_TARGET_ARCH} ]]; then
413 + if use x86 && use amd64; then
414 + die "Confusion! Both x86 and amd64 are set in your use flags!"
415 + elif use x86; then
416 + export XEN_TARGET_ARCH="x86_32"
417 + elif use amd64; then
418 + export XEN_TARGET_ARCH="x86_64"
419 + elif use arm; then
420 + export XEN_TARGET_ARCH="arm32"
421 + elif use arm64; then
422 + export XEN_TARGET_ARCH="arm64"
423 + else
424 + die "Unsupported architecture!"
425 + fi
426 + fi
427 +
428 + if use flask ; then
429 + export "XSM_ENABLE=y"
430 + export "FLASK_ENABLE=y"
431 + elif use xsm ; then
432 + export "XSM_ENABLE=y"
433 + fi
434 +}
435 +
436 +src_prepare() {
437 + # Upstream's patchset
438 + if [[ -n ${UPSTREAM_VER} ]]; then
439 + EPATCH_SUFFIX="patch" \
440 + EPATCH_FORCE="yes" \
441 + EPATCH_OPTS="-p1" \
442 + epatch "${WORKDIR}"/patches-upstream
443 + fi
444 +
445 + # Security patchset
446 + if [[ -n ${SECURITY_VER} ]]; then
447 + EPATCH_SUFFIX="patch" \
448 + EPATCH_FORCE="yes" \
449 + EPATCH_OPTS="-p1" \
450 + epatch "${WORKDIR}/patches-security/${PV}"
451 + fi
452 +
453 + # Gentoo's patchset
454 + if [[ -n ${GENTOO_VER} ]]; then
455 + EPATCH_SUFFIX="patch" \
456 + EPATCH_FORCE="yes" \
457 + epatch "${WORKDIR}"/patches-gentoo
458 + fi
459 +
460 + epatch "${FILESDIR}"/${PN}-4.6-efi.patch
461 +
462 + # Drop .config
463 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
464 +
465 + if use efi; then
466 + export EFI_VENDOR="gentoo"
467 + export EFI_MOUNTPOINT="boot"
468 + fi
469 +
470 + # if the user *really* wants to use their own custom-cflags, let them
471 + if use custom-cflags; then
472 + einfo "User wants their own CFLAGS - removing defaults"
473 + # try and remove all the default custom-cflags
474 + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
475 + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
476 + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
477 + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
478 + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
479 + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
480 + -i {} \; || die "failed to re-set custom-cflags"
481 + fi
482 +
483 + # remove -Werror for gcc-4.6's sake
484 + find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \
485 + xargs sed -i 's/ *-Werror */ /'
486 + # not strictly necessary to fix this
487 + sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
488 +
489 + epatch_user
490 +}
491 +
492 +src_configure() {
493 + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
494 +
495 + use debug && myopt="${myopt} debug=y"
496 +
497 + if use custom-cflags; then
498 + filter-flags -fPIE -fstack-protector
499 + replace-flags -O3 -O2
500 + else
501 + unset CFLAGS
502 + fi
503 +}
504 +
505 +src_compile() {
506 + # Send raw LDFLAGS so that --as-needed works
507 + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
508 +}
509 +
510 +src_install() {
511 + local myopt
512 + use debug && myopt="${myopt} debug=y"
513 +
514 + # The 'make install' doesn't 'mkdir -p' the subdirs
515 + if use efi; then
516 + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
517 + fi
518 +
519 + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
520 +}
521 +
522 +pkg_postinst() {
523 + elog "Official Xen Guide and the unoffical wiki page:"
524 + elog " https://wiki.gentoo.org/wiki/Xen"
525 + elog " http://en.gentoo-wiki.com/wiki/Xen/"
526 +
527 + use efi && einfo "The efi executable is installed in boot/efi/gentoo"
528 +}