mirror of
https://git.freebsd.org/ports.git
synced 2025-05-30 18:06:27 -04:00
Ports using USE_PYTHON=distutils are now flavored. They will automatically get flavors (py27, py34, py35, py36) depending on what versions they support. There is also a USE_PYTHON=flavors for ports that do not use distutils but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if using distutils but flavors are not wanted. A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been added to cope with Python ports that did not have the Python PKGNAMEPREFIX but are flavored. USES=python now also exports a PY_FLAVOR variable that contains the current python flavor. It can be used in dependency lines when the port itself is not python flavored. For example, deskutils/calibre. By default, all the flavors are generated. To only generate flavors for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf. In all the ports with Python dependencies, the *_DEPENDS entries MUST end with the flavor so that the framework knows which to build/use. This is done by appending '@${PY_FLAVOR}' after the origin (or @${FLAVOR} if in a Python module with Python flavors, as the content will be the same). For example: RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} PR: 223071 Reviewed by: portmgr, python Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D12464
146 lines
6.5 KiB
Makefile
146 lines
6.5 KiB
Makefile
# Created by: Alexander Nusov <alexander.nusov@nfvexpress.com>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= nova
|
|
PORTVERSION= 14.0.3
|
|
PORTREVISION= 1
|
|
CATEGORIES= emulators python
|
|
MASTER_SITES= https://fossies.org/linux/misc/openstack/
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
|
|
|
MAINTAINER= alexander.nusov@nfvexpress.com
|
|
COMMENT= OpenStack compute service
|
|
|
|
LICENSE= APACHE20
|
|
|
|
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pbr>=1.6:devel/py-pbr@${FLAVOR}
|
|
|
|
RUN_DEPENDS:= ${BUILD_DEPENDS}
|
|
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}sqlalchemy10>=0:databases/py-sqlalchemy10@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}boto>=2.32.1:devel/py-boto@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}decorator>=3.4.0:devel/py-decorator@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}eventlet>=0:net/py-eventlet@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}Jinja2>=2.8:devel/py-Jinja2@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}keystonemiddleware>=0:devel/py-keystonemiddleware@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}lxml>=2.3:devel/py-lxml@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}routes>=0:www/py-routes@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}cryptography>=0:security/py-cryptography@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}webob>=1.2.3:www/py-webob@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}greenlet>=0.3.2:devel/py-greenlet@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}PasteDeploy>=1.5.0:www/py-pastedeploy@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}Paste>=0:www/py-paste@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}prettytable>=0:devel/py-prettytable@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}sqlalchemy-migrate>=0.9.6:databases/py-sqlalchemy-migrate@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}netaddr>=0:net/py-netaddr@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}netifaces>=0.10.4:net/py-netifaces@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}paramiko>=2.0:security/py-paramiko@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}jsonschema>=0:devel/py-jsonschema@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}python-cinderclient>=0:net/py-python-cinderclient@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}keystoneauth1>=2.10.0:devel/py-keystoneauth1@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}python-neutronclient>=5.1.0:net/py-python-neutronclient@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}python-glanceclient>=0:net/py-python-glanceclient@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}requests>=2.10.0:www/py-requests@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}six>=1.9.0:devel/py-six@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}stevedore>=1.16.0:devel/py-stevedore@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}websockify>=0.8.0:devel/py-websockify@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.cache>=1.5.0:devel/py-oslo.cache@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.concurrency>=3.8.0:devel/py-oslo.concurrency@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.config>=3.14.0:devel/py-oslo.config@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.context>=2.9.0:devel/py-oslo.context@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.log>=1.14.0:devel/py-oslo.log@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.reports>=0.6.0:devel/py-oslo.reports@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.serialization>=1.10.0:devel/py-oslo.serialization@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.utils>=3.16.0:devel/py-oslo.utils@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.db>=0:devel/py-oslo.db@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.rootwrap>=5.0.0:devel/py-oslo.rootwrap@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.messaging>=5.2.0:devel/py-oslo.messaging@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.policy>=1.9.0:devel/py-oslo.policy@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.privsep>=1.9.0:devel/py-oslo.privsep@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.i18n>=2.1.0:devel/py-oslo.i18n@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.service>=1.10.0:devel/py-oslo.service@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}rfc3986>=0.2.2:www/py-rfc3986@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.middleware>=3.0.0:devel/py-oslo.middleware@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}psutil121>=0:sysutils/py-psutil121@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}oslo.versionedobjects>=1.13.0:devel/py-oslo.versionedobjects@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}os-brick>=1.6.1:devel/py-os-brick@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}os-vif>=1.1.0:devel/py-os-vif@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}os-win>=0.2.3:devel/py-os-win@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}castellan>=0.4.0:devel/py-castellan@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}microversion-parse>=0.1.2:devel/py-microversion-parse@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}wsgi_intercept>=0.6.1:devel/py-wsgi_intercept@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}sqlparse>=0:databases/py-sqlparse@${FLAVOR} \
|
|
${PYTHON_PKGNAMEPREFIX}libvirt>=0:devel/py-libvirt@${FLAVOR} \
|
|
e2fsprogs>=0:sysutils/e2fsprogs \
|
|
arping>=0:net/arping
|
|
|
|
EXTRA_PATCHES= ${FILESDIR}/01-firewall-manager.patch:-p1 \
|
|
${FILESDIR}/02-freebsd-l3.patch:-p1 \
|
|
${FILESDIR}/03-nova-conf.patch:-p1 \
|
|
${FILESDIR}/04-xen-phy.patch:-p1 \
|
|
${FILESDIR}/05-online-cpus.patch:-p1 \
|
|
${FILESDIR}/06-freebsd-net.patch:-p1 \
|
|
${FILESDIR}/07-fix-xen-xvd.patch:-p1 \
|
|
${FILESDIR}/08-fix-floating-ips.patch:-p1 \
|
|
${FILESDIR}/09-fix-xen-console.patch:-p1
|
|
|
|
ONLY_FOR_ARCHS= amd64
|
|
|
|
USES= python
|
|
USE_PYTHON= autoplist distutils noegginfo
|
|
|
|
USE_RC_SUBR= nova-api \
|
|
nova-consoleauth \
|
|
nova-conductor \
|
|
nova-scheduler \
|
|
nova-network \
|
|
nova-compute \
|
|
nova-cert \
|
|
nova-cells \
|
|
nova-serialproxy \
|
|
nova-novncproxy
|
|
USERS= nova
|
|
GROUPS= nova
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${OPSYS} != FreeBSD
|
|
IGNORE= only supported on FreeBSD
|
|
.endif
|
|
|
|
.if ${OSVERSION} < 1100055
|
|
IGNORE= only supported on recent FreeBSD 11
|
|
.endif
|
|
|
|
post-extract:
|
|
@(cd ${WRKSRC}/etc/nova; ${MV} logging_sample.conf logging.conf.sample)
|
|
@(cd ${WRKSRC}/etc/nova; for f in *.conf; do ${MV} $${f} $${f}.sample; done)
|
|
|
|
post-patch:
|
|
${CP} ${FILESDIR}/nova.conf.sample \
|
|
${WRKSRC}/etc/nova/nova.conf.sample
|
|
${CP} ${FILESDIR}/nova-compute.conf.sample \
|
|
${WRKSRC}/etc/nova/nova-compute.conf.sample
|
|
${REINPLACE_CMD} -e "s|/etc|${PREFIX}/etc|g" \
|
|
${WRKSRC}/nova/api/openstack/placement/wsgi.py \
|
|
${WRKSRC}/nova/conf/base.py \
|
|
${WRKSRC}/nova/conf/cloudpipe.py \
|
|
${WRKSRC}/nova/conf/network.py \
|
|
${WRKSRC}/nova/conf/remote_debug.py \
|
|
${WRKSRC}/nova/conf/xvp.py \
|
|
${WRKSRC}/nova/hacking/checks.py \
|
|
${WRKSRC}/nova/network/linux_net.py \
|
|
${WRKSRC}/nova/network/manager.py \
|
|
${WRKSRC}/nova/virt/disk/api.py \
|
|
${WRKSRC}/nova/virt/disk/vfs/guestfs.py \
|
|
${WRKSRC}/nova/virt/libvirt/driver.py \
|
|
${WRKSRC}/nova/virt/xenapi/agent.py \
|
|
${WRKSRC}/nova/wsgi/nova-api.py \
|
|
${WRKSRC}/nova/wsgi/nova-metadata.py
|
|
|
|
post-install:
|
|
${MKDIR} ${STAGEDIR}${ETCDIR}
|
|
${CP} -R ${WRKSRC}/etc/nova/ ${STAGEDIR}${ETCDIR}
|
|
|
|
.include <bsd.port.mk>
|