summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysutils/xenkernel41/DESCR10
-rw-r--r--sysutils/xenkernel41/Makefile50
-rw-r--r--sysutils/xenkernel41/PLIST3
-rw-r--r--sysutils/xenkernel41/distinfo6
-rw-r--r--sysutils/xenkernel41/patches/patch-aa14
5 files changed, 83 insertions, 0 deletions
diff --git a/sysutils/xenkernel41/DESCR b/sysutils/xenkernel41/DESCR
new file mode 100644
index 00000000000..db6df31f21a
--- /dev/null
+++ b/sysutils/xenkernel41/DESCR
@@ -0,0 +1,10 @@
+Xen is a virtual machine monitor which supports running multiple
+guests operating systems on a single machine. Guest OSes (also called "domains")
+require a modified kernel which supports Xen hypercalls in replacement
+to access to the physical hardware. At boot, the xen kernel is loaded
+along with the guest kernel for the first domain (called domain0).
+domain0 has privileges to access the physical hardware (PCI
+and ISA devices), administrate other domains and provide virtual
+devices (disks and network) to other domains.
+
+This package contains the Xen4 kernel itself.
diff --git a/sysutils/xenkernel41/Makefile b/sysutils/xenkernel41/Makefile
new file mode 100644
index 00000000000..02a33b28b05
--- /dev/null
+++ b/sysutils/xenkernel41/Makefile
@@ -0,0 +1,50 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $
+#
+
+VERSION= 4.1.0
+DISTNAME= xen-${VERSION}
+PKGNAME= xenkernel41-${VERSION}
+#PKGREVISION= 1
+CATEGORIES= sysutils
+MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/
+EXTRACT_SUFX= .tar.gz
+
+MAINTAINER= cegger@NetBSD.org
+HOMEPAGE= http://xen.org/
+COMMENT= Xen 4.1.0 Kernel
+
+LICENSE= gnu-gpl-v2
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+ONLY_FOR_PLATFORM= Linux-2.6*-i386 Linux-2.6*-x86_64
+ONLY_FOR_PLATFORM+= NetBSD-[5-9].99.*-x86_64 NetBSD-[5-9].99.*-i386
+
+WRKSRC= ${WRKDIR}/xen-${VERSION}
+
+NO_CONFIGURE= yes
+USE_TOOLS+= gmake
+
+PYTHON_FOR_BUILD_ONLY= # empty
+PY_PATCHPLIST= NO
+
+# XXX Why does this not work?
+# See work/xen-4.1.0/Config.mk:41 why PYTHON must be set and what for
+MAKE_ENV+= PYTHON=${PYTHONBIN:Q}
+MAKE_ENV+= OCAML_TOOLS=no
+
+INSTALLATION_DIRS= xen41-kernel
+
+do-build:
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} debug=n xen
+ ${CP} ${WRKSRC}/dist/install/boot/xen.gz ${WRKDIR}/xen.gz
+ cd ${WRKSRC} && ${MAKE_PROGRAM} clean
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} debug=y xen
+ ${CP} ${WRKSRC}/dist/install/boot/xen.gz ${WRKDIR}/xen-debug.gz
+
+do-install:
+ ${INSTALL_DATA} ${WRKDIR}/xen.gz ${DESTDIR}${PREFIX}/${INSTALLATION_DIRS}/xen.gz
+ ${INSTALL_DATA} ${WRKDIR}/xen-debug.gz ${DESTDIR}${PREFIX}/${INSTALLATION_DIRS}/xen-debug.gz
+
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/xenkernel41/PLIST b/sysutils/xenkernel41/PLIST
new file mode 100644
index 00000000000..886fa82240d
--- /dev/null
+++ b/sysutils/xenkernel41/PLIST
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $
+xen41-kernel/xen-debug.gz
+xen41-kernel/xen.gz
diff --git a/sysutils/xenkernel41/distinfo b/sysutils/xenkernel41/distinfo
new file mode 100644
index 00000000000..a1650c68083
--- /dev/null
+++ b/sysutils/xenkernel41/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $
+
+SHA1 (xen-4.1.0.tar.gz) = 4295e67524746ce155ff991db5fd2a611be27f67
+RMD160 (xen-4.1.0.tar.gz) = e9ef987b24503d6c993bccfd203be5af9f104f48
+Size (xen-4.1.0.tar.gz) = 10348539 bytes
+SHA1 (patch-aa) = a93592a78fd7050aee9d522e22cec182d75bbbfa
diff --git a/sysutils/xenkernel41/patches/patch-aa b/sysutils/xenkernel41/patches/patch-aa
new file mode 100644
index 00000000000..4b83c5510cd
--- /dev/null
+++ b/sysutils/xenkernel41/patches/patch-aa
@@ -0,0 +1,14 @@
+$NetBSD: patch-aa,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $
+
+--- xen/arch/x86/boot/build32.mk.orig 2011-03-25 10:42:58.000000000 +0000
++++ xen/arch/x86/boot/build32.mk
+@@ -10,7 +10,8 @@ CFLAGS += -Werror -fno-builtin -msoft-fl
+ # NB. awk invocation is a portable alternative to 'head -n -1'
+ %.S: %.bin
+ (od -v -t x $< | awk 'NR > 1 {print s} {s=$$0}' | \
+- sed 's/ /,0x/g' | sed 's/^[0-9]*,/ .long /') >$@
++ sed 's/ */, 0x/g' | sed 's/, 0x$$//' | \
++ sed 's/^[0-9]*,/ .long /') >$@
+
+ %.bin: %.lnk
+ $(OBJCOPY) -O binary $< $@