20 # |
20 # |
21 |
21 |
22 # |
22 # |
23 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. |
23 # Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. |
24 # |
24 # |
|
25 |
25 include ../../../make-rules/shared-macros.mk |
26 include ../../../make-rules/shared-macros.mk |
26 |
27 |
27 COMPONENT_NAME= nova |
28 COMPONENT_NAME= nova |
28 COMPONENT_CODENAME= havana |
29 COMPONENT_CODENAME= juno |
29 COMPONENT_VERSION= 2013.2.3 |
30 COMPONENT_VERSION= 2014.2.2 |
|
31 COMPONENT_BE_VERSION= 2014.2 |
30 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
32 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
31 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
33 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
32 COMPONENT_ARCHIVE_HASH= \ |
34 COMPONENT_ARCHIVE_HASH= \ |
33 sha256:02902cb65b5adb0419c69cdb03ea2a0cfdfe8f7df342be44f3760d66cdecb61e |
35 sha256:18dfd433aa043389318f28890578dcbe3c0606a38360f39ec8df8670150f89d7 |
34 COMPONENT_ARCHIVE_URL= http://launchpad.net/$(COMPONENT_NAME)/$(COMPONENT_CODENAME)/$(COMPONENT_VERSION)/+download/$(COMPONENT_ARCHIVE) |
36 COMPONENT_ARCHIVE_URL= http://launchpad.net/$(COMPONENT_NAME)/$(COMPONENT_CODENAME)/$(COMPONENT_VERSION)/+download/$(COMPONENT_ARCHIVE) |
35 COMPONENT_PROJECT_URL= http://www.openstack.org/ |
37 COMPONENT_PROJECT_URL= http://www.openstack.org/ |
36 COMPONENT_BUGDB= service/nova |
38 COMPONENT_BUGDB= service/nova |
37 IPS_COMPONENT_VERSION= 0.$(COMPONENT_VERSION) |
39 IPS_COMPONENT_VERSION= 0.$(COMPONENT_VERSION) |
38 |
40 |
39 include $(WS_TOP)/make-rules/prep.mk |
41 TPNO= 21825 |
40 include $(WS_TOP)/make-rules/setup.py.mk |
42 |
41 include $(WS_TOP)/make-rules/ips.mk |
43 include $(WS_MAKE_RULES)/prep.mk |
|
44 include $(WS_MAKE_RULES)/setup.py.mk |
|
45 include $(WS_MAKE_RULES)/ips.mk |
42 |
46 |
43 ASLR_MODE = $(ASLR_NOT_APPLICABLE) |
47 ASLR_MODE = $(ASLR_NOT_APPLICABLE) |
44 |
48 |
45 # Since this is an app, and doesn't provide any public library interfaces, we |
49 # Since this is an app, and doesn't provide any public library interfaces, we |
46 # only need to deliver one version. The manifest is parameterized, though. |
50 # only need to deliver one version. The manifest is parameterized, though. |
47 PYTHON_VERSIONS= 2.6 |
51 PYTHON_VERSIONS= 2.6 |
48 |
52 |
|
53 PKG_MACROS += COMPONENT_BE_VERSION=$(COMPONENT_BE_VERSION) |
49 PKG_MACROS += PYVER=$(PYTHON_VERSIONS) |
54 PKG_MACROS += PYVER=$(PYTHON_VERSIONS) |
|
55 PKG_MACROS += PYV=$(shell echo $(PYTHON_VERSIONS) | tr -d .) |
50 |
56 |
|
57 # |
51 # Replace the standard nova/virt/libvirt/__init__.py with an empty file. |
58 # Replace the standard nova/virt/libvirt/__init__.py with an empty file. |
|
59 # |
|
60 # All of the nova SMF manifests depend on nova-upgrade so copy it into |
|
61 # the proto directory for pkgdepend(1) to find. |
|
62 # |
52 COMPONENT_POST_INSTALL_ACTION += \ |
63 COMPONENT_POST_INSTALL_ACTION += \ |
53 ($(CP) /dev/null $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/libvirt/__init__.py; \ |
64 ($(CP) /dev/null $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/libvirt/__init__.py; \ |
|
65 $(MKDIR) $(PROTO_DIR)/lib/svc/manifest/application/openstack; \ |
|
66 $(CP) \ |
|
67 files/nova-api-ec2.xml \ |
|
68 files/nova-api-metadata.xml \ |
|
69 files/nova-api-osapi-compute.xml \ |
|
70 files/nova-cert.xml \ |
|
71 files/nova-compute.xml \ |
|
72 files/nova-conductor.xml \ |
|
73 files/nova-consoleauth.xml \ |
|
74 files/nova-novncproxy.xml \ |
|
75 files/nova-objectstore.xml \ |
|
76 files/nova-scheduler.xml \ |
|
77 files/nova-upgrade.xml \ |
|
78 files/zone-vnc-console.xml \ |
|
79 $(PROTO_DIR)/lib/svc/manifest/application/openstack; \ |
|
80 $(CP) \ |
|
81 files/network/solaris_net.py \ |
|
82 $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/network; \ |
54 $(MKDIR) $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/solariszones; \ |
83 $(MKDIR) $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/solariszones; \ |
55 $(CP) files/solariszones/__init__.py $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/solariszones; \ |
84 $(CP) \ |
56 $(CP) files/solariszones/driver.py $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/solariszones; \ |
85 files/solariszones/__init__.py \ |
57 $(CP) files/solariszones/sysconfig.py $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/solariszones); \ |
86 files/solariszones/driver.py \ |
58 $(PYTHON) -m compileall $(PROTO_DIR)/$(PYTHON_VENDOR_PACKAGES) |
87 files/solariszones/sysconfig.py \ |
|
88 $(PROTO_DIR)/usr/lib/python2.6/vendor-packages/nova/virt/solariszones); \ |
|
89 $(PYTHON) -m compileall $(PROTO_DIR)/$(PYTHON_VENDOR_PACKAGES) |
59 |
90 |
60 # common targets |
91 # common targets |
61 build: $(BUILD_NO_ARCH) |
92 build: $(BUILD_NO_ARCH) |
62 |
93 |
63 install: $(INSTALL_NO_ARCH) |
94 install: $(INSTALL_NO_ARCH) |