1 # $NetBSD: Makefile,v 1.21 2010/02/10 19:17:45 joerg Exp $
5 DISTNAME= xen-${VERSION}
6 PKGNAME= xentools3-${VERSION}
9 MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/
12 MAINTAINER= bouyer@NetBSD.org
13 HOMEPAGE= http://xen.org/
14 COMMENT= Userland Tools for Xen
16 PKG_DESTDIR_SUPPORT= user-destdir
18 #DEPENDS+= ${PYPKGPREFIX}-twisted-[0-9]*:../../net/py-twisted
19 DEPENDS+= ${PYPKGPREFIX}-readline-[0-9]*:../../devel/py-readline
23 PKG_SYSCONFSUBDIR= xen
25 ONLY_FOR_PLATFORM= Linux-2.[46]*-i386 Linux-2.[46]*-x86_64
26 ONLY_FOR_PLATFORM+= NetBSD-*-i386 NetBSD-*-x86_64
28 CONFLICTS+= libxen-[0-9]*
29 CONFLICTS+= xentools20-[0-9]*
30 CONFLICTS+= xentools30-* xentools33-*
32 WRKSRC= ${WRKDIR}/xen-${VERSION}/tools
33 CHECK_PORTABILITY_SKIP= examples/* xm-test/ramdisk/make-release.sh
35 EGDIR= ${PREFIX}/share/examples/xen
36 MESSAGE_SUBST= EGDIR=${EGDIR}
38 USE_TOOLS+= perl #for pod2man
40 MAKE_ENV+= CONFIG_NetBSD=yes
41 MAKE_ENV+= CONFIG_MBOOTPACK=no
42 MAKE_ENV+= EGDIR=${EGDIR:Q}
43 MAKE_ENV+= MV=${MV:Q} PYTHON=${PYTHONBIN:Q} SED=${SED:Q}
44 .if ${MACHINE_ARCH} == "i386"
45 MAKE_ENV+= XEN_TARGET_ARCH="x86_32" XEN_COMPILE_ARCH="x86_32"
46 .elif ${MACHINE_ARCH} == "x86_64"
47 MAKE_ENV+= XEN_TARGET_ARCH="x86_64" XEN_COMPILE_ARCH="x86_64"
49 MAKE_ENV+= XEN_TARGET_ARCH="unsupported"
52 PYTHON_PATCH_SCRIPTS+= misc/xm
53 PYTHON_PATCH_SCRIPTS+= misc/netfix
54 PYTHON_PATCH_SCRIPTS+= misc/xen-bugtool
55 PYTHON_PATCH_SCRIPTS+= misc/xencons
56 PYTHON_PATCH_SCRIPTS+= misc/xend
57 PYTHON_PATCH_SCRIPTS+= misc/xensymoops
58 PYTHON_PATCH_SCRIPTS+= misc/xen-python-path
59 PYTHON_PATCH_SCRIPTS+= pygrub/src/pygrub
60 PYTHON_PATCH_SCRIPTS+= python/xen/util/*.py
61 PYTHON_PATCH_SCRIPTS+= python/xen/xend/*.py
62 PYTHON_PATCH_SCRIPTS+= python/xen/xm/*.py
63 PYTHON_PATCH_SCRIPTS+= python/xen/util/*.py
64 PYTHON_PATCH_SCRIPTS+= python/*.py
65 PYTHON_PATCH_SCRIPTS+= security/python/xensec_gen/cgi-bin/policy.cgi
66 PYTHON_PATCH_SCRIPTS+= security/python/xensec_gen/*.py
67 PYTHON_PATCH_SCRIPTS+= security/python/*.py
68 PYTHON_PATCH_SCRIPTS+= security/*.py
69 PYTHON_PATCH_SCRIPTS+= xenmon/*.py
70 PYTHON_PATCH_SCRIPTS+= xentrace/xentrace_format
73 SUBST_STAGE.paths= pre-configure
74 SUBST_FILES.paths= ioemu/vl.c
75 SUBST_SED.paths= -e "s|/usr/sbin|${PREFIX}/sbin|g"
76 SUBST_MESSAGE.paths= Fixing hardcoded paths.
78 SUBST_CLASSES+= pathsvar
79 SUBST_STAGE.pathsvar= pre-configure
80 SUBST_FILES.pathsvar= examples/init.d/sysconfig.xendomains \
81 examples/xend-config.sxp \
82 python/xen/xend/server/relocate.py \
83 python/xen/xend/XendOptions.py \
84 security/Makefile security/python/xensec_gen/main.py \
86 SUBST_SED.pathsvar= -e "s|/var/lib|${VARBASE}/run|g"
89 SUBST_STAGE.py= pre-configure
90 SUBST_FILES.py= pygrub/Makefile
91 SUBST_FILES.py+= python/Makefile
92 SUBST_FILES.py+= security/Makefile
93 SUBST_FILES.py+= ../xen/include/public/foreign/Makefile
94 SUBST_SED.py= -e "s,python,${PYTHONBIN},g"
97 SUBST_STAGE.conf= pre-configure
98 SUBST_FILES.conf= python/xen/xend/XendOptions.py
99 SUBST_FILES.conf+= python/xen/xend/osdep.py
100 SUBST_FILES.conf+= python/xen/xm/create.py
101 SUBST_FILES.conf+= python/xen/xm/addlabel.py
102 SUBST_FILES.conf+= python/xen/xm/getlabel.py
103 SUBST_FILES.conf+= python/xen/xm/rmlabel.py
104 SUBST_SED.conf= -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g"
106 SUBST_CLASSES+= prefix
107 SUBST_STAGE.prefix= pre-configure
108 SUBST_FILES.prefix= python/xen/util/auxbin.py
109 SUBST_FILES.prefix+= python/xen/xend/osdep.py
110 SUBST_FILES.prefix+= misc/xen-python-path
111 SUBST_SED.prefix= -e "s,@PREFIX@,${PREFIX},g"
113 .include "../../mk/bsd.prefs.mk"
115 .if ${OPSYS} == "NetBSD"
117 SUBST_STAGE.proc= pre-configure
118 SUBST_FILES.proc= python/xen/xend/XendVnet.py
119 SUBST_FILES.proc+= xenstore/xs_lib.c
120 SUBST_SED.proc= -e "s|/proc|/kern|g"
126 RCD_SCRIPTS= xend xenbackendd xendomains
127 FILES_SUBST+= RCD_INTERPRETER=${PYTHONBIN:Q}
128 FILES_SUBST+= PROCPATH=${PROCPATH:Q}
129 FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q}
131 XEND_SCRIPTS= block vif-bridge vif-ip
133 CONF_FILES= ${EGDIR}/xend-config.sxp \
134 ${PKG_SYSCONFDIR}/xend-config.sxp
135 .for s in ${XEND_SCRIPTS}
136 CONF_FILES_PERMS+= ${EGDIR}/${s} ${PKG_SYSCONFDIR}/scripts/${s} \
137 ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0755
140 OWN_DIRS= ${PKG_SYSCONFDIR}/scripts /var/log/xen
143 .if !exists(/usr/include/xen/xenio.h)
144 ${MKDIR} ${WRKSRC}/libxc/xen
145 ${TEST} -f ${WRKSRC}/libxc/xen/xenio.h || \
146 ${CP} ${FILESDIR}/xenio.h ${WRKSRC}/libxc/xen
147 ${TEST} -f ${WRKSRC}/libxc/xen/xenio3.h || \
148 ${CP} ${FILESDIR}/xenio3.h ${WRKSRC}/libxc/xen
150 ${CP} ${FILESDIR}/NetBSD.mk ${WRKSRC}/../config/
151 pod2man ${WRKSRC}/../docs/man/xend-config.sxp.pod.5 |\
152 sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
153 >${WRKDIR}/xend-config.sxp.5
154 pod2man ${WRKSRC}/../docs/man/xmdomain.cfg.pod.5 |\
155 sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
156 >${WRKDIR}/xmdomain.cfg.5
157 pod2man ${WRKSRC}/../docs/man/xm.pod.1 |\
158 sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \
161 .if ${OPSYS} == "NetBSD"
163 cd ${FILESDIR}; for src in *-nbsd; do \
164 dst="$${src%-nbsd}"; \
165 ${SED} -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g" \
166 -e "s|@PREFIX@|${PREFIX}|g" \
167 $$src > ${WRKSRC}/examples/$$dst; \
169 ${CC} ${CFLAGS} ${LDFLAGS} \
170 -DVBD_SCRIPT=\"${PKG_SYSCONFDIR}/scripts/block\" \
171 -DLOG_FILE=\"${VARBASE}/log/xenbackendd.log\" \
172 -DPID_FILE=\"${VARBASE}/run/xenbackendd.pid\" \
173 -o ${WRKDIR}/xenbackendd.bin ${FILESDIR}/xenbackendd.c \
174 -I${WRKSRC}/libxc -L${WRKSRC}/libxc \
175 -I${WRKSRC}/xenstore -L${WRKSRC}/xenstore \
180 INSTALLATION_DIRS= ${PKGMANDIR}/man1 ${PKGMANDIR}/man5 ${EGDIR}
183 ${INSTALL_PROGRAM} ${WRKDIR}/xenbackendd.bin ${DESTDIR}${PREFIX}/sbin/xenbackendd
184 for f in xend-config.sxp xmexample1 xmexample2 xmexample3 netbsd1; do \
185 ${INSTALL_DATA} ${WRKSRC}/examples/$$f ${DESTDIR}${EGDIR}/$$f; \
187 .for s in ${XEND_SCRIPTS}
188 ${INSTALL_SCRIPT} ${WRKSRC}/examples/${s} ${DESTDIR}${EGDIR}/${s}
190 ${RM} -rf ${DESTDIR}${PREFIX}/lib/xen
191 ${INSTALL_DATA} ${WRKDIR}/xend-config.sxp.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
192 ${INSTALL_DATA} ${WRKDIR}/xmdomain.cfg.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5
193 ${INSTALL_DATA} ${WRKDIR}/xm.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
195 .include "../../lang/python/application.mk"
196 .include "../../lang/python/extension.mk"
197 .include "../../textproc/py-xml/buildlink3.mk"
198 #.include "../../devel/zlib/buildlink3.mk"
199 #.include "../../www/curl/buildlink3.mk"
200 .include "../../devel/py-curses/buildlink3.mk"
201 .include "../../devel/ncurses/buildlink3.mk"
203 .include "../../mk/bsd.pkg.mk"