diff options
author | Matt Thode <prometheanfire@gentoo.org> | 2014-10-11 22:25:44 +0000 |
---|---|---|
committer | Matt Thode <prometheanfire@gentoo.org> | 2014-10-11 22:25:44 +0000 |
commit | 295e5fa42a972f272e4a8441d7b8f93a4bac2aec (patch) | |
tree | 5384b9fb12ae81d0b356cc1b23bae85c629bc34c /app-admin/glance | |
parent | add ebuild for doublex—dependence for fig (diff) | |
download | historical-295e5fa42a972f272e4a8441d7b8f93a4bac2aec.tar.gz historical-295e5fa42a972f272e4a8441d7b8f93a4bac2aec.tar.bz2 historical-295e5fa42a972f272e4a8441d7b8f93a4bac2aec.zip |
bup
Package-Manager: portage-2.2.8-r2/cvs/Linux x86_64
Manifest-Sign-Key: 0x2471EB3E40AC5AC3
Diffstat (limited to 'app-admin/glance')
-rw-r--r-- | app-admin/glance/ChangeLog | 9 | ||||
-rw-r--r-- | app-admin/glance/Manifest | 27 | ||||
-rw-r--r-- | app-admin/glance/files/2014.1.2-CVE-2014-5356.patch | 175 | ||||
-rw-r--r-- | app-admin/glance/glance-2014.1.3.ebuild | 141 | ||||
-rw-r--r-- | app-admin/glance/glance-2014.1.9999.ebuild | 8 |
5 files changed, 158 insertions, 202 deletions
diff --git a/app-admin/glance/ChangeLog b/app-admin/glance/ChangeLog index b71c0864c065..2a69f914835c 100644 --- a/app-admin/glance/ChangeLog +++ b/app-admin/glance/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-admin/glance # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/glance/ChangeLog,v 1.48 2014/08/21 20:40:15 prometheanfire Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/glance/ChangeLog,v 1.49 2014/10/11 22:25:23 prometheanfire Exp $ + +*glance-2014.1.3 (11 Oct 2014) + + 11 Oct 2014; Matthew Thode <prometheanfire@gentoo.org> + +glance-2014.1.3.ebuild, -files/2014.1.2-CVE-2014-5356.patch, + glance-2014.1.9999.ebuild: + bup *glance-2014.1.2 (21 Aug 2014) diff --git a/app-admin/glance/Manifest b/app-admin/glance/Manifest index 6d9d908b805a..f290489b4286 100644 --- a/app-admin/glance/Manifest +++ b/app-admin/glance/Manifest @@ -1,31 +1,12 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - -AUX 2014.1.2-CVE-2014-5356.patch 7502 SHA256 9b1c5cb504c9dc6e5fa2cd0855740519f8ff8124b4f959b110fb1dc1cd059274 SHA512 ee9ee0c49fc1b2e6066eaba137fc2ae281bc8ccfa8af5edc094483c28aa5e201d20aee7465a0e6937bd9863c62100f5369f90d2bf1cc9227afd456030ae3e97d WHIRLPOOL 66b0c99e34e44137b200c08881cc5a579c5599916708fd8a8e6fb2836db7abcb4eecbcf5e05a51d65290a02060cbe38c3124d5a79af17977c1e47415731caf5d AUX glance-2013.2-sphinx_mapping.patch 582 SHA256 043c3f7ef413cf3675920880af57943b909ec9f3376f6e86a1ae1d5948d9ad98 SHA512 d012ce5eaed00c3ba7b6219813cee503f68cdb14b8e50eedc731afc63767e1867749d6e4824611e0d024b2fdebfe5a2b3ad53b0ad7b18a39defcc17094da4a0f WHIRLPOOL 659bf94e7740be3ea0d2f130b332e694ebdcca8b90acfb479b8502eec4b867eda999ec2c6cdecc1f3dcbe3e3ddf72798c76bdf16ab4ab561ce61975a451c4585 AUX glance-gbug-474064-grizzly.patch 2377 SHA256 df92ba14455d4379f0c2297f1f087d7f3f08118e6129e45b0e5bf5fd26c7aba1 SHA512 a284b6002c3b4ae39678eb0c492b3adb6311b115761ef43f38427dc08670c0ebfb4011a3879291ee6acdf9480ca135b4cff77f41b7af9fe7a837effafba2c6f0 WHIRLPOOL 8adfcc80adf72b501a7123c29454c446b86c05917cc8a910f799db5c223fc0efb02240f36b842c05c08e8347ae6d6273ddfa088a03f0f65eee0cbfc40176c9c2 AUX glance.confd 25 SHA256 5a53dcf1eece81a06a2dd0856b15f8abe20eb1072361b110f752e396e86a7843 SHA512 13e671d4544e58d7397c1a87eb1048ed4bb9561587fcd63783e377b2d25e810222ca3944e0c8cf13c524e64f94c435b456a0d6f7cacfb148e275377699a11ca9 WHIRLPOOL 862a310fbdd7b68f132c45797210011b607d9b5c8937d60c9f5933a4d625bc985ad0277fea26804681b7e0a674dc9da15fbef40502c4052d6742ef0a94e88f3d AUX glance.initd 651 SHA256 1b2fc0e11d572bfcc121cb995ea7b3cce63ee705a05d2fb34a9f99d655546553 SHA512 c0ed1cac2038dda8882d5ce013b948debf1e5e411a062d8c9cbfdb1e1683c94bfd78a3f3468de63e0cc28930c59c0ff323a3116ce6a74ccf5d8ad1d547805bad WHIRLPOOL b0b25f4e983bf9f46cb9dd5872d14b24dc90e3c383dc458c79d065e0855bbf838afc4a13f0c92db640cd64311e22985d0b92e1ca4d428ce8b1f08ff23b89cecf DIST glance-2014.1.2.tar.gz 2117649 SHA256 497ebaf2736cc1f243eba7b17104d7cde08517c7cf70c021fb59768cb710a3bb SHA512 180ebdf6f4bcde4ae4b342c31ea2854eda1c45ae237245162772cb8cf8d300ba860748ff6fdaa87c0d1da60538f077441baab9f084924e578e0da0359758d80e WHIRLPOOL dac7e02a747260d3027de7bd927209303bf24862511c594116ab4861cae30b08fc5a39d2b77ee5ca61249dd465761de56184b5b0da9bea989395d52ec7aa5c84 +DIST glance-2014.1.3.tar.gz 2124337 SHA256 302a135e96c0a8d040957cabbee58a8fb71e8b3e30054641d825e4003070901c SHA512 8d23f7dbadf4368c4c15389b3d3198b9f6ad74d8831dbc50795e4d306ed2b5c3d9a6d9e324ce1555fa66c5063c0855ac96b99302ebc47c0dab67d88d3a109058 WHIRLPOOL 43771d78c3b58e321fb36c004945a22611ebfcd81c10f390112b10c6198bb9c6d99c0b7a82ddd3c463f286fe7860a76afdf7e3a69c0020508d693ccf04eac11f EBUILD glance-2014.1.2.ebuild 4919 SHA256 f31b2d20bea14911985f43b5a5f0fe928f4bba8e876a44b59d116a100c116935 SHA512 11133e1522cdfd56fcd9f7af35a1270d6f31d07c9a2fc7b698c99ca71aabe551cd675e4247ae3a35d6c1a82f275be02f66d7caea04572338036192b031a5361a WHIRLPOOL 5fdab930a85042eb02b7311db3d01d199990aa5fe8762b9dfbea4390dd29d2f712e78a04aa212bc4afd16888071f8f97e98dee22bdb7f062c84e5b66bd0d8936 -EBUILD glance-2014.1.9999.ebuild 4879 SHA256 c64a9a614498116f3883e1be709321402edf14ac00ced1ccfe2637adb4cb5cfb SHA512 5dba5a90066050f29200ebf484f936ade6b237c539a119ab299d7f7f2c6bf7004ad1ab1a708c19a29809c189d30880fd16e38b4541f2f30f56ae7240a909a71d WHIRLPOOL fbfd8632529ba6c054011e76a52bc149a03237f46935a1acb6c3facdf488b9e9f013dfc7a9cf626c7dc8235946a618960a9ac28d37ecd01e23ca97597cae08fc +EBUILD glance-2014.1.3.ebuild 4976 SHA256 c78810ffe73aaea1f81aba8b1c640d98596a48c464a500dffc3bb28dc5ae54ee SHA512 f43f930ac52dc99119c4ac84996c80d8d614877ee82734539d779c08c250d0a5091a164e0c893b97f50ba14916ce86fa36a98777c2c705051fd544bc767f329f WHIRLPOOL e57009fee8526c1e2f492dc81de666a261ad35882201d4945e60387e9cf6a582bcfe024acb7b07119a2f46b3cae96f599fa9394a054b5ff942901e6d94652c16 +EBUILD glance-2014.1.9999.ebuild 4986 SHA256 8173f54ab9ddaecf68be50998400700f45e4805f9e6e901395184bc2e63e475b SHA512 3b54a1bc0a46f0af680d64f41ce2bdcf743875ad1645c3b2d61c2f94a9bf111e47d578f1f7d7fb87f3f8e834ae708b9731d36b5bbbab310a044658f8b4ff1529 WHIRLPOOL 4b36bcd9b0bd8752af25209fe13628c8e3fb91133777c5b3064f4e5116a9fa69350a01d9a7bf2d4559abc0daacf12a5c7086dad2e4fb856a39b101d0134fe07d EBUILD glance-9999.ebuild 4843 SHA256 cb262eac190bee1adb59ccc125809a3633adbd3448f5a15ee567b3c9a9e0b829 SHA512 e4aa1b6862ded7694eda77bf440ad71e6e6d413a7a7786f1dcd90f0084b8fdcf200486fe50cb49cb78936f0e2242e52b8122c84daa82c142836858e52d8137e7 WHIRLPOOL be80f071732df48b517f40015296c6a921afa665fece31c1efb3a12bb7bf89df20b9d113c10fa470c5ddf25da09d2e97377042ff295cdd7db2bb05e5fc04691f -MISC ChangeLog 9913 SHA256 2e0d28dfc80096c45c19799022dc5b3d3b6270b8869f5de9f172ca90cab4b73f SHA512 ac820aa815e4afb6f3d500bbdc8473685a7edc49e8a5e42614a743194a42d14299589e5cd4a8d2b1958a8dbecbfdb0237f32e16e0136819f8da166050abc9d53 WHIRLPOOL af68076b8d50a1be30cb7cf8b3df656492ec10a3abdc07ec02bd02bf7cba68332ce8a0906931526bd9168256666e453f23d9635c9aa9bb6bc9f3059492987cba +MISC ChangeLog 10102 SHA256 f99d1ca3b13088d395c319120b3a990b7c02bd5e1490e4d78ee7a821e0fd3c8b SHA512 3b0ce7dcbca066762fc5a5e20c3fdd548f2a9d1a75286d1bb732baa92b9205dae9af0924f0d0880ccafd5f05894498a18ac24b3c7e83c804d91a3731ac52c217 WHIRLPOOL c0e7a5054d9fe155ebc73fd42854b28fa212b708ad4468bbd9fa1903440e936ee538a89e3ec337c683cf8aa346a2bfa21f8283f311e642c79417f5cbfc803c93 MISC metadata.xml 607 SHA256 b74d960c096528dbb7c9be6b0da777e10abe32928459f045e7c58b0156e22d95 SHA512 e38e4dd740fe55d73d6d97fd9ffa3aec5466fbb5f8e6484b125560313245ae697a0dcf612fb065125c6737a8254b6218c0703f7de79437bb2799c6c67f386e45 WHIRLPOOL 445bf712fd733fa90c395cc24fd02155bed15b092713d502b54331da9237f397877c2328adbf4049ee64ae163713ce031ebe5048c8826ed1a011d4ebcdbb681d ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2 - -iQIcBAEBCAAGBQJT9lk3AAoJECRx6z5ArFrDhCkP/1dgTXpi4DdTRWPgfwPmuRqI -4FfzFRUDT70LrxfVCCtJPbDXKTUlA0p1gqDaOG58HsZUJTQx+glc7+g7XZXjmzPp -RrrwmgKF5lt0H+01BSsxjZsI7Fm7wX7xAnwLGiP/8Ls+2YcP/SE2Sm5Qi1s0Kfkk -0UQEA/JE9RgI05iL2ZoO2IfeYj9uhISLBK9bwZ9aBJ9DKLl5PxOM+skcqYV4+lLR -rX0pLJd9OSHyC2dJats9cTBG6prXds5JZ102pmZcI+p9Vsljh34Tf3SheS1YrBAI -HtY75IjN2vPrUIw4RVwJx4tZKS8IZKuu4NrqO1yTN5fbq86qdlqytd3pWbDpqckc -A0nE5UOQZ8SISZoRtpraVqJ1VpBKI63AHY0b3gq7wsWdvJNlwA9MPLZ6YvSnFR8y -EloUo7w0l6QZkg2F4JVUfWd/NUJ98Zg6O+sWh1EqwM5boeTAt31mNJNlSIvPlnv6 -M/tsQER3U3fJhI2nRgRk8KaY4/gwg4LCsGcxyXaV0epKBqDfOjgYZv30qRvhohdw -/4J8ynLjqseRAWent5v947G5Jy0XtpksRRTkafxDvxgeNV1Wf1p8pGLsF1yjznKL -1vTRKRBJLbA2dwVP1b4OgOJrl4fsvpjU/fU3A8C2M4m7B6gtzS1plHUE/Eb7UsDP -MGdyZvuNHowK3IrMpS+k -=17P1 ------END PGP SIGNATURE----- diff --git a/app-admin/glance/files/2014.1.2-CVE-2014-5356.patch b/app-admin/glance/files/2014.1.2-CVE-2014-5356.patch deleted file mode 100644 index 1d64ad882381..000000000000 --- a/app-admin/glance/files/2014.1.2-CVE-2014-5356.patch +++ /dev/null @@ -1,175 +0,0 @@ -From 31a4d1852a0c27bac5757c192f300f051229a312 Mon Sep 17 00:00:00 2001 -From: Tom Leaman <thomas.leaman@hp.com> -Date: Fri, 2 May 2014 10:09:20 +0000 -Subject: Enforce image_size_cap on v2 upload - -image_size_cap should be checked and enforced on upload - -Enforcement is in two places: -- on image metadata save -- during image save to backend store - -(cherry picked from commit 92ab00fca6926eaf3f7f92a955a5e07140063718) -Conflicts: - glance/location.py - glance/tests/functional/v2/test_images.py - -Closes-Bug: 1315321 -Change-Id: I45bfb360703617bc394e9e27fe17adf43b09c0e1 -Co-Author: Manuel Desbonnet <manuel.desbonnet@hp.com> - -diff --git a/glance/db/__init__.py b/glance/db/__init__.py -index a6e804c..a59447d 100644 ---- a/glance/db/__init__.py -+++ b/glance/db/__init__.py -@@ -27,6 +27,7 @@ from glance.openstack.common import importutils - - - CONF = cfg.CONF -+CONF.import_opt('image_size_cap', 'glance.common.config') - CONF.import_opt('metadata_encryption_key', 'glance.common.config') - - -@@ -150,6 +151,8 @@ class ImageRepo(object): - - def add(self, image): - image_values = self._format_image_to_db(image) -+ if image_values['size'] > CONF.image_size_cap: -+ raise exception.ImageSizeLimitExceeded - # the updated_at value is not set in the _format_image_to_db - # function since it is specific to image create - image_values['updated_at'] = image.updated_at -@@ -161,6 +164,8 @@ class ImageRepo(object): - - def save(self, image): - image_values = self._format_image_to_db(image) -+ if image_values['size'] > CONF.image_size_cap: -+ raise exception.ImageSizeLimitExceeded - try: - new_values = self.db_api.image_update(self.context, - image.image_id, -diff --git a/glance/store/__init__.py b/glance/store/__init__.py -index 33a67d6..273b7c7 100644 ---- a/glance/store/__init__.py -+++ b/glance/store/__init__.py -@@ -721,7 +721,10 @@ class ImageProxy(glance.domain.proxy.Image): - size = 0 # NOTE(markwash): zero -> unknown size - location, size, checksum, loc_meta = self.store_api.add_to_backend( - self.context, CONF.default_store, -- self.image.image_id, utils.CooperativeReader(data), size) -+ self.image.image_id, -+ utils.LimitingReader(utils.CooperativeReader(data), -+ CONF.image_size_cap), -+ size) - self.image.locations = [{'url': location, 'metadata': loc_meta}] - self.image.size = size - self.image.checksum = checksum -diff --git a/glance/tests/functional/__init__.py b/glance/tests/functional/__init__.py -index 537a42f..2f116f0 100644 ---- a/glance/tests/functional/__init__.py -+++ b/glance/tests/functional/__init__.py -@@ -280,6 +280,7 @@ class ApiServer(Server): - self.pid_file = pid_file or os.path.join(self.test_dir, "api.pid") - self.scrubber_datadir = os.path.join(self.test_dir, "scrubber") - self.log_file = os.path.join(self.test_dir, "api.log") -+ self.image_size_cap = 1099511627776 - self.s3_store_host = "s3.amazonaws.com" - self.s3_store_access_key = "" - self.s3_store_secret_key = "" -@@ -341,6 +342,7 @@ metadata_encryption_key = %(metadata_encryption_key)s - registry_host = 127.0.0.1 - registry_port = %(registry_port)s - log_file = %(log_file)s -+image_size_cap = %(image_size_cap)d - s3_store_host = %(s3_store_host)s - s3_store_access_key = %(s3_store_access_key)s - s3_store_secret_key = %(s3_store_secret_key)s -diff --git a/glance/tests/functional/v2/test_images.py b/glance/tests/functional/v2/test_images.py -index a309e64..4247434 100644 ---- a/glance/tests/functional/v2/test_images.py -+++ b/glance/tests/functional/v2/test_images.py -@@ -451,6 +451,48 @@ class TestImages(functional.FunctionalTest): - - self.stop_servers() - -+ def test_image_size_cap(self): -+ self.api_server.image_size_cap = 128 -+ self.start_servers(**self.__dict__.copy()) -+ # create an image -+ path = self._url('/v2/images') -+ headers = self._headers({'content-type': 'application/json'}) -+ data = jsonutils.dumps({'name': 'image-size-cap-test-image', -+ 'type': 'kernel', 'disk_format': 'aki', -+ 'container_format': 'aki'}) -+ response = requests.post(path, headers=headers, data=data) -+ self.assertEqual(201, response.status_code) -+ -+ image = jsonutils.loads(response.text) -+ image_id = image['id'] -+ -+ #try to populate it with oversized data -+ path = self._url('/v2/images/%s/file' % image_id) -+ headers = self._headers({'Content-Type': 'application/octet-stream'}) -+ -+ class StreamSim(object): -+ # Using a one-shot iterator to force chunked transfer in the PUT -+ # request -+ def __init__(self, size): -+ self.size = size -+ -+ def __iter__(self): -+ yield 'Z' * self.size -+ -+ response = requests.put(path, headers=headers, data=StreamSim( -+ self.api_server.image_size_cap + 1)) -+ self.assertEqual(413, response.status_code) -+ -+ # hashlib.md5('Z'*129).hexdigest() -+ # == '76522d28cb4418f12704dfa7acd6e7ee' -+ # If the image has this checksum, it means that the whole stream was -+ # accepted and written to the store, which should not be the case. -+ path = self._url('/v2/images/{0}'.format(image_id)) -+ headers = self._headers({'content-type': 'application/json'}) -+ response = requests.get(path, headers=headers) -+ image_checksum = jsonutils.loads(response.text).get('checksum') -+ self.assertNotEqual(image_checksum, '76522d28cb4418f12704dfa7acd6e7ee') -+ - def test_permissions(self): - # Create an image that belongs to TENANT1 - path = self._url('/v2/images') -diff --git a/glance/tests/unit/test_store_image.py b/glance/tests/unit/test_store_image.py -index eb8d333..424915b 100644 ---- a/glance/tests/unit/test_store_image.py -+++ b/glance/tests/unit/test_store_image.py -@@ -119,8 +119,10 @@ class TestStoreImage(utils.BaseTestCase): - - self.stubs.Set(unit_test_utils.FakeStoreAPI, 'get_from_backend', - fake_get_from_backend) -- -- self.assertEqual(image1.get_data().fd, 'ZZZ') -+ # This time, image1.get_data() returns the data wrapped in a -+ # LimitingReader|CooperativeReader pipeline, so peeking under -+ # the hood of those objects to get at the underlying string. -+ self.assertEqual(image1.get_data().data.fd, 'ZZZ') - image1.locations.pop(0) - self.assertEqual(len(image1.locations), 1) - image2.delete() -diff --git a/glance/tests/unit/utils.py b/glance/tests/unit/utils.py -index a43dea3..4186787 100644 ---- a/glance/tests/unit/utils.py -+++ b/glance/tests/unit/utils.py -@@ -148,7 +148,10 @@ class FakeStoreAPI(object): - if image_id in location: - raise exception.Duplicate() - if not size: -- size = len(data.fd) -+ # 'data' is a string wrapped in a LimitingReader|CooperativeReader -+ # pipeline, so peek under the hood of those objects to get at the -+ # string itself. -+ size = len(data.data.fd) - if (current_store_size + size) > store_max_size: - raise exception.StorageFull() - if context.user == USER2: --- -cgit v0.10.1 - diff --git a/app-admin/glance/glance-2014.1.3.ebuild b/app-admin/glance/glance-2014.1.3.ebuild new file mode 100644 index 000000000000..77c5d695d119 --- /dev/null +++ b/app-admin/glance/glance-2014.1.3.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/glance/glance-2014.1.3.ebuild,v 1.1 2014/10/11 22:25:23 prometheanfire Exp $ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 user + +DESCRIPTION="Provides services for discovering, registering, and retrieving +virtual machine images with Openstack" +HOMEPAGE="https://launchpad.net/glance" +SRC_URI="http://launchpad.net/${PN}/icehouse/${PV}/+download/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc mysql postgres +sqlite +swift test" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/pbr-0.6.0[${PYTHON_USEDEP}] + <dev-python/pbr-1.0[${PYTHON_USEDEP}] + test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}] + <dev-python/hacking-0.9[${PYTHON_USEDEP}] + >=dev-python/Babel-1.3[${PYTHON_USEDEP}] + >=dev-python/coverage-3.6[${PYTHON_USEDEP}] + >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}] + >=dev-python/mock-1.0[${PYTHON_USEDEP}] + >=dev-python/mox-0.5.3[${PYTHON_USEDEP}] + >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}] + <dev-python/sphinx-1.1.9999[${PYTHON_USEDEP}] + >=dev-python/requests-1.1[${PYTHON_USEDEP}] + >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}] + >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] + >=dev-python/psutil-1.1.1[${PYTHON_USEDEP}] + dev-python/mysql-python[${PYTHON_USEDEP}] + dev-python/psycopg[${PYTHON_USEDEP}] + ~dev-python/pysendfile-2.0.0[${PYTHON_USEDEP}] + dev-python/qpid-python[${PYTHON_USEDEP}] + >=dev-python/pyxattr-0.5.0[${PYTHON_USEDEP}] + dev-python/oslo-sphinx[${PYTHON_USEDEP}] )" + +#note to self, wsgiref is a python builtin, no need to package it +#>=dev-python/wsgiref-0.1.2[${PYTHON_USEDEP}] + +RDEPEND=">=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-0.8.0[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-0.9.5[sqlite,${PYTHON_USEDEP}] + <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + dev-python/mysql-python + >=dev-python/sqlalchemy-0.8.0[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-0.9.5[${PYTHON_USEDEP}] + <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] + ) + postgres? ( + dev-python/psycopg:2 + >=dev-python/sqlalchemy-0.8.0[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-0.9.5[${PYTHON_USEDEP}] + <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] + ) + >=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.13.0[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] + >=dev-python/boto-2.12.0[${PYTHON_USEDEP}] + !~dev-python/boto-2.13.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-migrate-0.9.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/kombu-2.4.8[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}] + >=dev-python/oslo-config-1.2.1[${PYTHON_USEDEP}] + >=dev-python/stevedore-0.14[${PYTHON_USEDEP}] + swift? ( + >=dev-python/python-swiftclient-1.6[${PYTHON_USEDEP}] + ) + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.0.6[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-0.11[${PYTHON_USEDEP}] + >=dev-python/six-1.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-1.3.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-0.2[${PYTHON_USEDEP}]" + +PATCHES=( "${FILESDIR}/${PN}-2013.2-sphinx_mapping.patch" ) + +pkg_setup() { + enewgroup glance + enewuser glance -1 -1 /var/lib/glance glance +} + +python_compile_all() { + use doc && "${PYTHON}" setup.py build_sphinx +} + +python_test() { + # https://bugs.launchpad.net/glance/+bug/1251105 + # https://bugs.launchpad.net/glance/+bug/1242501 + nosetests glance/ || die "tests failed under python2.7" +} + +python_install() { + distutils-r1_python_install + + for svc in api registry scrubber; do + newinitd "${FILESDIR}/glance.initd" glance-${svc} + done + + diropts -m 0750 -o glance -g glance + dodir /var/log/glance /var/lib/glance/images /var/lib/glance/scrubber + keepdir /etc/glance + keepdir /var/log/glance + keepdir /var/lib/glance/images + keepdir /var/lib/glance/scrubber + + insinto /etc/glance + insopts -m 0640 -o glance -g glance + doins "etc/glance-api-paste.ini" + doins "etc/glance-api.conf" + doins "etc/glance-cache.conf" + doins "etc/glance-registry-paste.ini" + doins "etc/glance-registry.conf" + doins "etc/glance-scrubber.conf" + doins "etc/logging.cnf.sample" + doins "etc/policy.json" + doins "etc/schema-image.json" +} + +python_install_all() { + use doc && local HTML_DOCS=( doc/build/html/. ) + distutils-r1_python_install_all +} diff --git a/app-admin/glance/glance-2014.1.9999.ebuild b/app-admin/glance/glance-2014.1.9999.ebuild index acfa5225cc29..801970a61487 100644 --- a/app-admin/glance/glance-2014.1.9999.ebuild +++ b/app-admin/glance/glance-2014.1.9999.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/glance/glance-2014.1.9999.ebuild,v 1.4 2014/07/26 23:15:35 prometheanfire Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/glance/glance-2014.1.9999.ebuild,v 1.5 2014/10/11 22:25:23 prometheanfire Exp $ EAPI=5 PYTHON_COMPAT=( python2_7 ) @@ -30,7 +30,7 @@ DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] >=dev-python/mock-1.0[${PYTHON_USEDEP}] >=dev-python/mox-0.5.3[${PYTHON_USEDEP}] >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}] - <dev-python/sphinx-1.2[${PYTHON_USEDEP}] + <dev-python/sphinx-1.1.9999[${PYTHON_USEDEP}] >=dev-python/requests-1.1[${PYTHON_USEDEP}] >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}] >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] @@ -67,10 +67,12 @@ RDEPEND=">=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] >=dev-python/eventlet-0.13.0[${PYTHON_USEDEP}] >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] >=dev-python/boto-2.12.0[${PYTHON_USEDEP}] !~dev-python/boto-2.13.0[${PYTHON_USEDEP}] >=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-migrate-0.9.2[${PYTHON_USEDEP}] >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] >=dev-python/kombu-2.4.8[${PYTHON_USEDEP}] >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] @@ -90,7 +92,7 @@ RDEPEND=">=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] >=dev-python/oslo-messaging-1.3.0[${PYTHON_USEDEP}] >=dev-python/oslo-vmware-0.2[${PYTHON_USEDEP}]" -PATCHES=( "${FILESDIR}"/${PN}-2013.2-sphinx_mapping.patch ) +PATCHES=( "${FILESDIR}/${PN}-2013.2-sphinx_mapping.patch" ) pkg_setup() { enewgroup glance |