xen: update to 4.10.0

[ci skip]
This commit is contained in:
Jürgen Buchmüller 2018-01-09 15:35:29 +01:00
parent db9e39f831
commit 609674cff0
14 changed files with 177 additions and 441 deletions

View File

@ -459,18 +459,19 @@ libprocessui.so.7 libksysguard-5.8.4_1
libksignalplotter.so.7 libksysguard-5.8.4_1
libksgrd.so.7 libksysguard-5.8.4_1
libprocesscore.so.7 libksysguard-5.8.4_1
libxenctrl.so.4.7 xen-libs-4.7_1
libxenguest.so.4.7 xen-libs-4.7_1
libxlutil.so.4.7 xen-libs-4.7_1
libxenlight.so.4.7 xen-libs-4.7_1
libxenevtchn.so.1 xen-libs-4.7_1
libxengnttab.so.1 xen-libs-4.7_1
libxentoollog.so.1 xen-libs-4.7_1
libxenstore.so.3.0 xen-libs-4.2.2_2
libvhd.so.1.0 xen-libs-4.2.2_2
libxenstat.so.0 xen-libs-4.2.2_2
libblktapctl.so.1.0 xen-libs-4.2.2_2
libfsimage.so.1.0 xen-libs-4.2.2_2
libxenctrl.so.4.10 xen-libs-4.10.0_1
libxenguest.so.4.10 xen-libs-4.10.0_1
libxlutil.so.4.10 xen-libs-4.10.0_1
libxenlight.so.4.10 xen-libs-4.10.0_1
libxenevtchn.so.1 xen-libs-4.10.0_1
libxengnttab.so.1 xen-libs-4.10.0_1
libxendevicemodel.so.1 xen-libs-4.10.0_1
libxenforeignmemory.so.1 xen-libs-4.10.0_1
libxentoolcore.so.1 xen-libs-4.10.0_1
libxenstore.so.3.0 xen-libs-4.10.0_1
libxentoollog.so.1 xen-libs-4.10.0_1
libfsimage.so.1.0 xen-libs-4.10.0_1
libxenstat.so.0 xen-libs-4.10.0_1
libfam.so.0 gamin-0.1.10_1
libgamin-1.so.0 gamin-0.1.10_1
libKF5SyntaxHighlighting.so.5 syntax-highlighting-5.29.0_1

1
srcpkgs/xen-doc Symbolic link
View File

@ -0,0 +1 @@
xen

View File

@ -1,13 +0,0 @@
--- ipxe/src/core/stringextra.c 2011-12-11 03:28:04.000000000 +0100
+++ ipxe/src/core/stringextra.c 2016-10-13 11:29:05.025171208 +0200
@@ -186,7 +186,9 @@
{
char *sbegin, *send;
- sbegin = s ? s : ___strtok;
+ sbegin = s;
+ if (!sbegin)
+ sbegin = ___strtok;
if (!sbegin) {
return NULL;
}

View File

@ -1,10 +0,0 @@
--- ipxe/src/include/nic.h 2016-10-13 11:36:49.397750709 +0200
+++ ipxe/src/include/nic.h 2016-10-13 11:37:55.082691367 +0200
@@ -199,7 +199,6 @@
#undef DRIVER
#define DRIVER(_name_text,_unused2,_unused3,_name,_probe,_disable) \
- static const char _name ## _text[] = _name_text; \
static inline int \
_name ## _probe ( struct nic *nic, void *hwdev ) { \
return _probe ( nic, hwdev ); \

View File

@ -1,11 +0,0 @@
--- ipxe/src/Makefile 2011-12-11 03:28:04.000000000 +0100
+++ ipxe/src/Makefile 2016-10-13 11:41:16.210509858 +0200
@@ -4,7 +4,7 @@
#
CLEANUP :=
-CFLAGS :=
+CFLAGS = -Wno-error=unused-const-variable= -Wno-error=misleading-indentation -Wno-error=shift-negative-value -Wno-error=nonnull-compare
ASFLAGS :=
LDFLAGS :=
MAKEDEPS := Makefile

View File

@ -1,23 +0,0 @@
--- ipxe/src/drivers/net/via-rhine.c 2011-12-11 03:28:04.000000000 +0100
+++ ipxe/src/drivers/net/via-rhine.c 2016-10-13 12:31:46.766898745 +0200
@@ -947,14 +947,14 @@
// if (tp->chip_id == 0x3065)
if( tp->chip_revision < 0x80 && tp->chip_revision >=0x40 )
intr_status |= inb(nic->ioaddr + IntrStatus2) << 16;
- intr_status = (intr_status & ~DEFAULT_INTR);
- if ( action == ENABLE )
- intr_status = intr_status | DEFAULT_INTR;
- outw(intr_status, nic->ioaddr + IntrEnable);
- break;
+ intr_status = (intr_status & ~DEFAULT_INTR);
+ if ( action == ENABLE )
+ intr_status = intr_status | DEFAULT_INTR;
+ outw(intr_status, nic->ioaddr + IntrEnable);
+ break;
case FORCE :
outw(0x0010, nic->ioaddr + 0x84);
- break;
+ break;
}
}

View File

@ -1,31 +0,0 @@
--- ipxe/src/drivers/net/e1000/e1000_phy.c 2011-12-11 03:28:04.000000000 +0100
+++ ipxe/src/drivers/net/e1000/e1000_phy.c 2016-10-13 12:33:50.081735254 +0200
@@ -167,18 +167,18 @@
if (!(phy->ops.read_reg))
goto out;
- ret_val = phy->ops.read_reg(hw, PHY_ID1, &phy_id);
- if (ret_val)
- goto out;
+ ret_val = phy->ops.read_reg(hw, PHY_ID1, &phy_id);
+ if (ret_val)
+ goto out;
- phy->id = (u32)(phy_id << 16);
- usec_delay(20);
- ret_val = phy->ops.read_reg(hw, PHY_ID2, &phy_id);
- if (ret_val)
- goto out;
+ phy->id = (u32)(phy_id << 16);
+ usec_delay(20);
+ ret_val = phy->ops.read_reg(hw, PHY_ID2, &phy_id);
+ if (ret_val)
+ goto out;
- phy->id |= (u32)(phy_id & PHY_REVISION_MASK);
- phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK);
+ phy->id |= (u32)(phy_id & PHY_REVISION_MASK);
+ phy->revision = (u32)(phy_id & ~PHY_REVISION_MASK);
out:
return ret_val;

View File

@ -1,30 +0,0 @@
--- ipxe/src/drivers/net/ath/ath9k/ath9k_eeprom.c 2011-12-11 03:28:04.000000000 +0100
+++ ipxe/src/drivers/net/ath/ath9k/ath9k_eeprom.c 2016-10-13 12:53:49.000372288 +0200
@@ -371,7 +371,7 @@
/* FIXME: array overrun? */
for (i = 0; i < numXpdGains; i++) {
minPwrT4[i] = data_9287[idxL].pwrPdg[i][0];
- maxPwrT4[i] = data_9287[idxL].pwrPdg[i][4];
+ maxPwrT4[i] = data_9287[idxL].pwrPdg[i][0];
ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
data_9287[idxL].pwrPdg[i],
data_9287[idxL].vpdPdg[i],
@@ -381,7 +381,7 @@
} else if (eeprom_4k) {
for (i = 0; i < numXpdGains; i++) {
minPwrT4[i] = data_4k[idxL].pwrPdg[i][0];
- maxPwrT4[i] = data_4k[idxL].pwrPdg[i][4];
+ maxPwrT4[i] = data_4k[idxL].pwrPdg[i][0];
ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
data_4k[idxL].pwrPdg[i],
data_4k[idxL].vpdPdg[i],
@@ -391,7 +391,7 @@
} else {
for (i = 0; i < numXpdGains; i++) {
minPwrT4[i] = data_def[idxL].pwrPdg[i][0];
- maxPwrT4[i] = data_def[idxL].pwrPdg[i][4];
+ maxPwrT4[i] = data_def[idxL].pwrPdg[i][0];
ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i],
data_def[idxL].pwrPdg[i],
data_def[idxL].vpdPdg[i],

View File

@ -0,0 +1,21 @@
--- tools/libacpi/Makefile 2018-05-05 13:28:47.168982453 +0200
+++ tools/libacpi/Makefile2 2018-05-05 13:29:42.122982453 +0200
@@ -43,7 +43,7 @@
$(H_SRC): $(ACPI_BUILD_DIR)/%.h: %.asl iasl
iasl -vs -p $(ACPI_BUILD_DIR)/$*.$(TMP_SUFFIX) -tc $<
- sed -e 's/AmlCode/$*/g' $(ACPI_BUILD_DIR)/$*.hex >$@
+ sed -e 's/AmlCode/$*/g' -e 's/$*_aml_code/$*/g' $(ACPI_BUILD_DIR)/$*.hex >$@
rm -f $(addprefix $(ACPI_BUILD_DIR)/, $*.aml $*.hex)
$(MK_DSDT): mk_dsdt.c
@@ -76,7 +76,7 @@
$(C_SRC): $(ACPI_BUILD_DIR)/%.c: iasl $(ACPI_BUILD_DIR)/%.asl
iasl -vs -p $(ACPI_BUILD_DIR)/$*.$(TMP_SUFFIX) -tc $(ACPI_BUILD_DIR)/$*.asl
- sed -e 's/AmlCode/$*/g' $(ACPI_BUILD_DIR)/$*.hex > $@.$(TMP_SUFFIX)
+ sed -e 's/AmlCode/$*/g' -e 's/$*_aml_code/$*/g' $(ACPI_BUILD_DIR)/$*.hex > $@.$(TMP_SUFFIX)
echo "int $*_len=sizeof($*);" >> $@.$(TMP_SUFFIX)
mv -f $@.$(TMP_SUFFIX) $@
rm -f $(addprefix $(ACPI_BUILD_DIR)/, $*.aml $*.hex)

View File

@ -1,189 +0,0 @@
musl's stdint does not support gcc -m32 so we need to make sure that we
don't use system's stdint.h. We ship a stdind_local.h and make sure that
we use that instead
https://bugs.alpinelinux.org/issues/3308
diff --git a/tools/firmware/Rules.mk b/tools/firmware/Rules.mk
index 26bbddc..efad58c 100644
--- a/tools/firmware/Rules.mk
+++ b/tools/firmware/Rules.mk
@@ -12,6 +12,7 @@ CFLAGS += -DNDEBUG
endif
CFLAGS += -Werror
+CFLAGS += -I$(XEN_ROOT)/tools/firmware
$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
diff --git a/tools/firmware/hvmloader/32bitbios_support.c b/tools/firmware/hvmloader/32bitbios_support.c
index fe770a3..cdab677 100644
--- a/tools/firmware/hvmloader/32bitbios_support.c
+++ b/tools/firmware/hvmloader/32bitbios_support.c
@@ -21,8 +21,8 @@
* Place - Suite 330, Boston, MA 02111-1307 USA.
*/
-#include <inttypes.h>
-#include <elf.h>
+#include <stdint_local.h>
+#include <elf_local.h>
#ifdef __sun__
#include <sys/machelf.h>
#endif
diff --git a/tools/firmware/hvmloader/acpi/acpi2_0.h b/tools/firmware/hvmloader/acpi/acpi2_0.h
index 7b22d80..413c930 100644
--- a/tools/firmware/hvmloader/acpi/acpi2_0.h
+++ b/tools/firmware/hvmloader/acpi/acpi2_0.h
@@ -18,7 +18,7 @@
#ifndef _ACPI_2_0_H_
#define _ACPI_2_0_H_
-#include <stdint.h>
+#include <stdint_local.h>
#include <xen/xen.h>
#include <xen/hvm/ioreq.h>
diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h
index b838cf9..33d48b3 100644
--- a/tools/firmware/hvmloader/config.h
+++ b/tools/firmware/hvmloader/config.h
@@ -1,7 +1,7 @@
#ifndef __HVMLOADER_CONFIG_H__
#define __HVMLOADER_CONFIG_H__
-#include <stdint.h>
+#include <stdint_local.h>
enum virtual_vga { VGA_none, VGA_std, VGA_cirrus, VGA_pt };
extern enum virtual_vga virtual_vga;
diff --git a/tools/firmware/hvmloader/hypercall.h b/tools/firmware/hvmloader/hypercall.h
index 5368c30..c57bc86 100644
--- a/tools/firmware/hvmloader/hypercall.h
+++ b/tools/firmware/hvmloader/hypercall.h
@@ -31,7 +31,7 @@
#ifndef __HVMLOADER_HYPERCALL_H__
#define __HVMLOADER_HYPERCALL_H__
-#include <stdint.h>
+#include <stdint_local.h>
#include <xen/xen.h>
#include "config.h"
diff --git a/tools/firmware/hvmloader/mp_tables.c b/tools/firmware/hvmloader/mp_tables.c
index fd636a0..b3b703e 100644
--- a/tools/firmware/hvmloader/mp_tables.c
+++ b/tools/firmware/hvmloader/mp_tables.c
@@ -28,7 +28,7 @@
* Place - Suite 330, Boston, MA 02111-1307 USA.
*/
-#include <stdint.h>
+#include <stdint_local.h>
#include "config.h"
/* number of non-processor MP table entries */
diff --git a/tools/firmware/hvmloader/option_rom.h b/tools/firmware/hvmloader/option_rom.h
index 0fefe08..66a93bc 100644
--- a/tools/firmware/hvmloader/option_rom.h
+++ b/tools/firmware/hvmloader/option_rom.h
@@ -1,7 +1,7 @@
#ifndef __HVMLOADER_OPTION_ROM_H__
#define __HVMLOADER_OPTION_ROM_H__
-#include <stdint.h>
+#include <stdint_local.h>
struct option_rom_header {
uint8_t signature[2]; /* "\x55\xaa" */
diff --git a/tools/firmware/hvmloader/pir_types.h b/tools/firmware/hvmloader/pir_types.h
index 6e50822..6134b01 100644
--- a/tools/firmware/hvmloader/pir_types.h
+++ b/tools/firmware/hvmloader/pir_types.h
@@ -24,7 +24,7 @@
#ifndef PIR_TYPES_H
#define PIR_TYPES_H
-#include <stdint.h>
+#include <stdint_local.h>
#define NR_PIR_SLOTS 6
diff --git a/tools/firmware/hvmloader/smbios.c b/tools/firmware/hvmloader/smbios.c
index 4d3d692..60d144d 100644
--- a/tools/firmware/hvmloader/smbios.c
+++ b/tools/firmware/hvmloader/smbios.c
@@ -20,7 +20,7 @@
* Authors: Andrew D. Ball <aball@us.ibm.com>
*/
-#include <stdint.h>
+#include <stdint_local.h>
#include <xen/xen.h>
#include <xen/version.h>
#include "smbios_types.h"
diff --git a/tools/firmware/hvmloader/smbios_types.h b/tools/firmware/hvmloader/smbios_types.h
index ff36564..1b61d9a 100644
--- a/tools/firmware/hvmloader/smbios_types.h
+++ b/tools/firmware/hvmloader/smbios_types.h
@@ -26,7 +26,7 @@
#ifndef SMBIOS_TYPES_H
#define SMBIOS_TYPES_H
-#include <stdint.h>
+#include <stdint_local.h>
/* SMBIOS entry point -- must be written to a 16-bit aligned address
between 0xf0000 and 0xfffff.
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 80d822f..671d8cd 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -22,7 +22,7 @@
#include "config.h"
#include "hypercall.h"
#include "ctype.h"
-#include <stdint.h>
+#include <stdint_local.h>
#include <xen/xen.h>
#include <xen/memory.h>
#include <xen/sched.h>
diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index a70e4aa..a8a2628 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -2,7 +2,7 @@
#define __HVMLOADER_UTIL_H__
#include <stdarg.h>
-#include <stdint.h>
+#include <stdint_local.h>
#include <stddef.h>
#include <xen/xen.h>
#include <xen/hvm/hvm_info_table.h>
diff --git a/tools/firmware/rombios/32bit/pmm.c b/tools/firmware/rombios/32bit/pmm.c
index 4a279ca..b90b813 100644
--- a/tools/firmware/rombios/32bit/pmm.c
+++ b/tools/firmware/rombios/32bit/pmm.c
@@ -63,7 +63,7 @@
* }
*/
-#include <stdint.h>
+#include <stdint_local.h>
#include <stddef.h>
#include "config.h"
#include "e820.h"
diff --git a/tools/firmware/rombios/32bit/util.c b/tools/firmware/rombios/32bit/util.c
index a47bb71..777f742 100644
--- a/tools/firmware/rombios/32bit/util.c
+++ b/tools/firmware/rombios/32bit/util.c
@@ -18,7 +18,7 @@
* Place - Suite 330, Boston, MA 02111-1307 USA.
*/
#include <stdarg.h>
-#include <stdint.h>
+#include <stdint_local.h>
#include "rombios_compat.h"
#include "util.h"

View File

@ -1,85 +0,0 @@
--- xen-4.3.1.orig/m4/ptyfuncs.m4
+++ xen-4.3.1/m4/ptyfuncs.m4
@@ -22,7 +22,6 @@
#endif
int main(void) {
openpty(0,0,0,0,0);
- login_tty(0);
}
])],[
break
--- xen-4.3.1.orig/tools/libxl/libxl_bootloader.c
+++ xen-4.3.1/tools/libxl/libxl_bootloader.c
@@ -85,6 +85,21 @@
/*----- synchronous subroutines -----*/
+static int setup_console_tty(int fd)
+{
+ (void) setsid();
+#ifdef TIOCSCTTY
+ if (ioctl(fd, TIOCSCTTY, (char *)NULL) == -1)
+ return (-1);
+#endif
+ (void) dup2(fd, 0);
+ (void) dup2(fd, 1);
+ (void) dup2(fd, 2);
+ if (fd > 2)
+ (void) close(fd);
+ return (0);
+}
+
static int setup_xenconsoled_pty(libxl__egc *egc, libxl__bootloader_state *bl,
char *slave_path, size_t slave_path_len)
{
@@ -548,7 +563,7 @@
if (!pid) {
/* child */
- r = login_tty(libxl__carefd_fd(bl->ptys[0].slave));
+ r = setup_console_tty(libxl__carefd_fd(bl->ptys[0].slave));
if (r) { LOGE(ERROR, "login_tty failed"); exit(-1); }
libxl__exec(gc, -1, -1, -1, bl->args[0], (char **) bl->args, env);
exit(-1);
--- xen-4.3.1.orig/tools/firmware/hvmloader/acpi/acpi2_0.h
+++ xen-4.3.1/tools/firmware/hvmloader/acpi/acpi2_0.h
@@ -366,7 +366,7 @@
/*
* Table Signatures.
*/
-#define ACPI_2_0_RSDP_SIGNATURE ASCII64('R','S','D',' ','P','T','R',' ')
+#define ACPI_2_0_RSDP_SIGNATURE 0x2052545020445352LL /* "RSD PTR " */
#define ACPI_2_0_FACS_SIGNATURE ASCII32('F','A','C','S')
#define ACPI_2_0_FADT_SIGNATURE ASCII32('F','A','C','P')
#define ACPI_2_0_MADT_SIGNATURE ASCII32('A','P','I','C')
--- xen-4.3.1.orig/tools/blktap2/vhd/lib/libvhd-journal.c
+++ xen-4.3.1/tools/blktap2/vhd/lib/libvhd-journal.c
@@ -30,6 +30,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
+#include <sys/stat.h>
#include "atomicio.h"
#include "libvhd-journal.h"
--- xen-4.3.1.orig/tools/blktap2/include/atomicio.h
+++ xen-4.3.1/tools/blktap2/include/atomicio.h
@@ -25,6 +25,8 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include <sys/types.h>
+
/*
* Ensure all of data on socket comes through. f==read || f==vwrite
*/
--- xen-4.3.1.orig/tools/blktap2/drivers/block-remus.c
+++ xen-4.3.1/tools/blktap2/drivers/block-remus.c
@@ -54,7 +54,6 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/param.h>
-#include <sys/sysctl.h>
#include <unistd.h>
#include <sys/stat.h>

View File

@ -0,0 +1,24 @@
From 18c163276f9b1f7f94e17a4f51f37a58b1ee4052 Mon Sep 17 00:00:00 2001
From: John Thomson <git@johnthomson.fastmail.com.au>
Date: Thu, 25 Jan 2018 17:06:56 +1000
Subject: [PATCH] Fix ocaml 4.06.0 build, use unsafe strings
---
tools/ocaml/common.make | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/ocaml/common.make b/tools/ocaml/common.make
index d5478f6..21ac33c 100644
--- tools/ocaml/common.make
+++ tools/ocaml/common.make
@@ -12,8 +12,8 @@ OCAMLFIND ?= ocamlfind
CFLAGS += -fPIC -Werror -I$(shell ocamlc -where)
OCAMLOPTFLAG_G := $(shell $(OCAMLOPT) -h 2>&1 | sed -n 's/^ *\(-g\) .*/\1/p')
-OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F
-OCAMLCFLAGS += -g $(OCAMLINCLUDE) -w F -warn-error F
+OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F -unsafe-string
+OCAMLCFLAGS += -g $(OCAMLINCLUDE) -w F -warn-error F -unsafe-string
VERSION := 4.1

View File

@ -1,10 +0,0 @@
--- a/tools/Makefile.orig
+++ b/tools/Makefile
@@ -202,6 +202,7 @@
--localstatedir=/var \
--disable-kvm \
--disable-docs \
+ --with-coroutine=gthread \
--disable-guest-agent \
--python=$(PYTHON) \
$(IOEMU_CONFIGURE_CROSS); \

View File

@ -1,29 +1,83 @@
# Template file for 'xen'
pkgname=xen
version=4.7.2
version=4.10.0
revision=1
# grep -R IPXE_GIT_TAG src/xen-*/tools/firmware/etherboot
_git_tag_ipxe='827dd1bfee67daa683935ce65316f7e0f057fe1c'
short_desc="The Xen hypervisor utilities"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://xen.org"
license="GPL-2"
distfiles="http://bits.xensource.com/oss-xen/release/$version/xen-$version.tar.gz"
checksum=61494a56d9251e2108080f95b0dc8e3d175f1ba4da34603fc07b91cfebf358d5
distfiles="
https://downloads.xenproject.org/release/xen/${version}/${pkgname}-${version}.tar.gz
http://xenbits.xen.org/xen-extfiles/ipxe-git-${_git_tag_ipxe}.tar.gz"
checksum="
0262a7023f8b12bcacfb0b25e69b2a63291f944f7683d54d8f33d4b2ca556844
36deacb946c59ad1d6600f6e5b89d6a7a8961e65eb000900e184075920120f49"
skip_extraction="ipxe-git-${_git_tag_ipxe}.tar.gz"
patch_args="-Np1"
configure_args="$(vopt_enable stubdom)"
only_for_archs="x86_64 x86_64-musl"
nopie=yes
hostmakedepends="automake wget bison perl pkg-config git"
makedepends="
libaio-devel lzo-devel libressl-devel e2fsprogs-devel zlib-devel gnutls-devel
libbluetooth-devel pciutils-devel libX11-devel libXext-devel SDL-devel MesaLib-devel
ncurses-devel liblzma-devel python-devel yajl-devel libuuid-devel libglib-devel
acpica-utils pixman-devel dev86"
build_options="stubdom"
build_options_default="stubdom"
desc_option_stubdom="Build xen with stubdom"
hostmakedepends="automake wget bison ocaml ocaml-findlib perl pkg-config git
acpica-utils fig2dev ghostscript pandoc python-Markdown"
makedepends="libaio-devel libressl-devel e2fsprogs-devel gnutls-devel
libbluetooth-devel pciutils-devel SDL-devel liblzma-devel python-devel
yajl-devel libglib-devel libnl3-devel pixman-devel netpbm"
depends="xen-hypervisor perl bridge-utils"
if [ "$build_option_stubdom" ]; then
_gmp_version=4.3.2
_grub_version=0.97
_zlib_version=1.2.3
_lwip_version=1.3.0
_polarssl_version=1.1.4
_newlib_version=1.16.0
_libpci_version=2.2.9
_tpmemu_version=0.7.4
_ocaml_version=3.11.0
distfiles+="
http://xenbits.xen.org/xen-extfiles/gmp-${_gmp_version}.tar.bz2
http://xenbits.xen.org/xen-extfiles/grub-${_grub_version}.tar.gz
http://xenbits.xen.org/xen-extfiles/zlib-${_zlib_version}.tar.gz
http://xenbits.xen.org/xen-extfiles/lwip-${_lwip_version}.tar.gz
http://xenbits.xen.org/xen-extfiles/polarssl-${_polarssl_version}-gpl.tgz
http://xenbits.xen.org/xen-extfiles/newlib-${_newlib_version}.tar.gz
http://xenbits.xen.org/xen-extfiles/pciutils-${_libpci_version}.tar.bz2
http://xenbits.xen.org/xen-extfiles/tpm_emulator-${_tpmemu_version}.tar.gz
http://caml.inria.fr/pub/distrib/ocaml-${_ocaml_version%.*}/ocaml-${_ocaml_version}.tar.gz"
checksum+="
936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775
4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b
1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e
772e4d550e07826665ed0528c071dd5404ef7dbe1825a38c8adbc2a00bca948f
2d29fd04a0d0ba29dae6bd29fb418944c08d3916665dcca74afb297ef37584b6
db426394965c48c1d29023e1cc6d965ea6b9a9035d8a849be2750ca4659a3d07
f60ae61cfbd5da1d849d0beaa21f593c38dac9359f0b3ddc612f447408265b24
4e48ea0d83dd9441cc1af04ab18cd6c961b9fa54d5cbf2c2feee038988dea459
ecdd4f8473ab0dee5d3acb5c0a31a4c1dd6aa12179895cf1903dd0f455c43a4f"
skip_extraction+="
gmp-${_gmp_version}.tar.bz2
grub-${_grub_version}.tar.gz
zlib-${_zlib_version}.tar.gz
lwip-${_lwip_version}.tar.gz
polarssl-${_polarssl_version}-gpl.tgz
newlib-${_newlib_version}.tar.gz
pciutils-${_libpci_version}.tar.bz2
tpm_emulator-${_tpmemu_version}.tar.gz
ocaml-${_ocaml_version}.tar.gz"
fi
case "$XBPS_TARGET_MACHINE" in
*-musl) makedepends+=" argp-standalone";;
*) makedepends+=" gcc-multilib";;
x86_64-musl) makedepends+=" argp-standalone dev86";;
x86_64) makedepends+=" gcc-multilib dev86";;
*) makedepends+=" dtc-devel";;
esac
make_dirs="
@ -41,38 +95,61 @@ nostrip_files="
openbios-sparc32
openbios-sparc64
palcode-clipper
s390-ccw.img"
s390-ccw.img
s390-netboot.img"
pycompile_module="xen grub"
pre_configure() {
local i
[ ${XBPS_GCC_VERSION_MAJOR} -lt 6 ] && return 0
sed -i tools/configure -e's;-Werror;-Wno-error;g'
# Copy patches for _ipxe.tar.gz contents
for i in $(seq 1 6); do
cp ${FILESDIR}/gcc6_fix_${i}.patch tools/firmware/etherboot/patches
echo "gcc6_fix_${i}.patch" >> tools/firmware/etherboot/patches/series
done
post_extract() {
local _src="${XBPS_SRCDISTDIR}/${pkgname}-${version}"
msg_normal "Copying etherboot ipxe file ...\n"
cp -v "${_src}/ipxe-git-${_git_tag_ipxe}.tar.gz" \
tools/firmware/etherboot/ipxe.tar.gz
if [ "$build_option_stubdom" ]; then
msg_normal "Copying stubdom files ...\n"
mkdir -p stubdom
cp -pv \
${_src}/grub-${_grub_version}.tar.gz \
${_src}/gmp-${_gmp_version}.tar.bz2 \
${_src}/zlib-${_zlib_version}.tar.gz \
${_src}/lwip-${_lwip_version}.tar.gz \
${_src}/polarssl-${_polarssl_version}-gpl.tgz \
${_src}/newlib-${_newlib_version}.tar.gz \
${_src}/pciutils-${_libpci_version}.tar.bz2 \
${_src}/tpm_emulator-${_tpmemu_version}.tar.gz \
${_src}/ocaml-${_ocaml_version}.tar.gz \
stubdom/
fi
}
pre_configure() {
find \( -name "Makefile*" -o -name "*.mk" -o -name "common.make" \) \
-exec sed -i "{}" -e "s; *-Werror *; ;g" \;
sed -i tools/python/setup.py -e 's;, "-Werror";;g'
}
do_configure() {
rm -f ${XBPS_WRAPPERDIR}/strip
cp ${FILESDIR}/*.h ${wrksrc}/tools/firmware
autoreconf -fi
NOCONFIGURE=1 autoreconf -fi
# Get rid of -Werror
find . -name '*.mk' -o -name 'Make*' | xargs sed -i -e 's/-Werror//g'
unset CC LD AR AS RANLIB CPP CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
./configure ${configure_args}
}
do_build() {
rm -f ${XBPS_WRAPPERDIR}/strip
unset CC LD AR AS RANLIB CPP CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
make ${makejobs} DISTDIR=${wrksrc}/${pkgver}-distdir
mkdir -p ${wrksrc}/distdir-${version}
make ${makejobs} DISTDIR=${wrksrc}/distdir-${version} NO_WERROR=1
}
do_install() {
rm -f ${XBPS_WRAPPERDIR}/strip
unset CC LD AR AS RANLIB CPP CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
make DESTDIR=${DESTDIR} install
make DESTDIR=${DESTDIR} NO_WERROR=1 install install-docs
# Move example config files into correct directory.
vmkdir usr/share/examples/xen
@ -82,7 +159,11 @@ do_install() {
# Remove useless stuff.
rm -rf ${DESTDIR}/etc/init.d ${DESTDIR}/usr/local
rm -f ${DESTDIR}/install.sh ${DESTDIR}/usr/lib64
rm -f ${DESTDIR}/install.sh
if [ -d ${DESTDIR}/usr/lib64/efi ]; then
mv -v ${DESTDIR}/usr/lib64/efi ${DESTDIR}/usr/lib/
fi
rm -rf ${DESTDIR}/usr/lib64
rm -rf ${DESTDIR}/usr/bin/qemu-*-xen
rm -f ${DESTDIR}/boot/xen{,-4,-4.3}.gz
rm -f ${DESTDIR}/usr/sbin/xen-python-path
@ -121,8 +202,10 @@ xen-hypervisor_package() {
nostrip_files="xen-syms-${version}"
pkg_install() {
vmove boot
vmove usr/lib/efi
}
}
xen-devel_package() {
short_desc+=" - development files"
depends="xen-libs>=${version}_${revision}"
@ -132,9 +215,17 @@ xen-devel_package() {
vmove "usr/lib/*.so"
}
}
xen-libs_package() {
short_desc+=" - runtime libraries"
pkg_install() {
vmove "usr/lib/*.so.*"
}
}
xen-doc_package() {
short_desc+=" - documentation"
pkg_install() {
vmove usr/share/doc
}
}