#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
#
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME= swift
COMPONENT_CODENAME= mitaka
COMPONENT_VERSION= 2.7.0
COMPONENT_BE_VERSION= 2016.1
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH= \
sha256:ef71126c2fb5e59617b94179dff710c5362ca7e7bfc63fd906e622c95410256e
COMPONENT_ARCHIVE_URL= https://tarballs.openstack.org/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
COMPONENT_SIG_URL= $(COMPONENT_ARCHIVE_URL).asc
COMPONENT_PROJECT_URL= http://www.openstack.org/
COMPONENT_BUGDB= service/swift
TPNO= 30364
PKG_VARS += COMPONENT_BE_VERSION
include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/setup.py.mk
include $(WS_MAKE_RULES)/ips.mk
ASLR_MODE = $(ASLR_NOT_APPLICABLE)
# Since this is an app, and doesn't provide any public library interfaces, we
# only need to deliver one version. The manifest is parameterized, though.
PYTHON_VERSIONS= 2.7
PKG_MACROS += PYVER=$(PYTHON_VERSIONS)
PKG_MACROS += PYV=$(shell echo $(PYTHON_VERSIONS) | tr -d .)
#
# All of the swift SMF manifests depend on swift-upgrade so copy them
# into the proto directory for pkgdepend(1) to find.
#
COMPONENT_POST_INSTALL_ACTION += \
($(MKDIR) $(PROTO_DIR)/lib/svc/manifest/application/openstack; \
$(CP) \
files/swift-*.xml \
$(PROTO_DIR)/lib/svc/manifest/application/openstack)
COMPONENT_TEST_DIR = $(SOURCE_DIR)
COMPONENT_TEST_CMD = nosetests
COMPONENT_TEST_ENV += SWIFT_TEST_CONFIG_FILE=$(SWIFT_TEST_CONFIG_FILE)
COMPONENT_TEST_ARGS = \
--with-xunit \
--xunit-file=$(BUILD_DIR)/nosetests-$(MACH).xml \
test/unit
# common targets
build: $(BUILD_NO_ARCH)
install: $(INSTALL_NO_ARCH)
test: $(TEST_NO_ARCH)
system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
REQUIRED_PACKAGES += cloud/openstack/openstack-common
REQUIRED_PACKAGES += library/python/eventlet-27
REQUIRED_PACKAGES += library/python/swiftclient-27
REQUIRED_PACKAGES += network/rsync
REQUIRED_PACKAGES += service/memcached
REQUIRED_PACKAGES += system/core-os