From 670a2ef95331c60f32a0831bfe79445340356b0b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 3 Nov 2022 03:10:55 +0000 Subject: gentoo auto-resync : 03:11:2022 - 03:10:55 --- app-admin/Manifest.gz | Bin 32578 -> 32578 bytes app-admin/salt/Manifest | 17 +- .../files/salt-3005.1-importlib-metadata-5.patch | 37 ++++ .../salt/files/salt-3005.1-no-entry-points.patch | 13 ++ app-admin/salt/files/salt-3005.1-tests.patch | 40 ++++ app-admin/salt/salt-3002.9-r1.ebuild | 201 +++++++++++++++++++ app-admin/salt/salt-3002.9.ebuild | 200 ------------------- app-admin/salt/salt-3003.4-r1.ebuild | 205 ------------------- app-admin/salt/salt-3003.5-r1.ebuild | 209 -------------------- app-admin/salt/salt-3003.5-r2.ebuild | 210 ++++++++++++++++++++ app-admin/salt/salt-3004.1-r4.ebuild | 207 ------------------- app-admin/salt/salt-3004.2-r1.ebuild | 209 -------------------- app-admin/salt/salt-3004.2-r2.ebuild | 210 ++++++++++++++++++++ app-admin/salt/salt-3005-r1.ebuild | 206 +++++++++++++++++++ app-admin/salt/salt-3005.1.ebuild | 219 +++++++++++++++++++++ app-admin/salt/salt-3005.ebuild | 205 ------------------- 16 files changed, 1145 insertions(+), 1243 deletions(-) create mode 100644 app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch create mode 100644 app-admin/salt/files/salt-3005.1-no-entry-points.patch create mode 100644 app-admin/salt/files/salt-3005.1-tests.patch create mode 100644 app-admin/salt/salt-3002.9-r1.ebuild delete mode 100644 app-admin/salt/salt-3002.9.ebuild delete mode 100644 app-admin/salt/salt-3003.4-r1.ebuild delete mode 100644 app-admin/salt/salt-3003.5-r1.ebuild create mode 100644 app-admin/salt/salt-3003.5-r2.ebuild delete mode 100644 app-admin/salt/salt-3004.1-r4.ebuild delete mode 100644 app-admin/salt/salt-3004.2-r1.ebuild create mode 100644 app-admin/salt/salt-3004.2-r2.ebuild create mode 100644 app-admin/salt/salt-3005-r1.ebuild create mode 100644 app-admin/salt/salt-3005.1.ebuild delete mode 100644 app-admin/salt/salt-3005.ebuild (limited to 'app-admin') diff --git a/app-admin/Manifest.gz b/app-admin/Manifest.gz index 01da4e44e7d6..337236741ddf 100644 Binary files a/app-admin/Manifest.gz and b/app-admin/Manifest.gz differ diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest index 41a90009c2ac..f66f28655f5e 100644 --- a/app-admin/salt/Manifest +++ b/app-admin/salt/Manifest @@ -26,6 +26,9 @@ AUX salt-3004.2-jinja-3.patch 589 BLAKE2B 249e81ea2760cbe75ff66bfd86cbfaab58ea67 AUX salt-3004.2-pyzmq-23.patch 1605 BLAKE2B b0c3e9722f0ff88b586f7e9f863d246a35bc10789568e1f4c3f9728022032dc8686ba0988a35225d2d01d00198c8a00253ec33331e24d6c3a7100d4a10c576ab SHA512 57a5c5a23ec1fd450e1f24740d6cd1d4b29947de5b5d984b7a55c89791e7b7f0eef44390cd9f959210b6c27fdb325650edeb2a53b3302f925ad182ee4ac8ac1c AUX salt-3005-relax-pyzmq-dep.patch 332 BLAKE2B d22d94b7680fb81e642b83cb7d823137e7e208b43a1720b131401fb957bcb3deb6a0fe5ca87da528cdf60ac219820d259d0b03a905e17142c9cd4d939b4bacf1 SHA512 7c5b963436c3066bf8e8f528acf04ea8ddfa2a5a19adb9486f9888346d55e56fdfcd97a4a04db18d85476cb8ecc8a350343855d765387744706e43e868464f5e AUX salt-3005-tests.patch 4101 BLAKE2B 6a7d7dee4e631a7619bf1b7fa6bd08b93c0bf31342ce72f734bb645206604ffed9ae2ddae9cebe01401cbe100c224e97f18a69ede5f40a041158d1cd8878dc0f SHA512 cbc3b3d625ab8e20aa7b166dd6ddca1728c4bf562cc14d28fa684573c6ee1d42a270b0f029e5d978803a30103e7ad281d516afff66d18bf31308528fae79c00c +AUX salt-3005.1-importlib-metadata-5.patch 1498 BLAKE2B 20ec469e0cd53ffaffaa0f95e868f90d90030a0343705147f90738aea50aecfe0ee6610c53d6d44152ea03d4472daa286a1d1f6fb44b063038cc06f540d372b6 SHA512 22cad969c876a272316677af7436d66d7ae380b4ab2f86192f1e38d32bcb4c2c6efe7639c1f8bfff9bbb7aacdf60fef7c68a2de860e06cd3d80e73feeeb77599 +AUX salt-3005.1-no-entry-points.patch 428 BLAKE2B 1bcf3b070afd01c56985290051a3cb031d5ca83b42631eba5f05d7648eabf13bca44573811b767d739dc9bc6d0a5da6f99de87b57c678df79cc172fa6dd5495f SHA512 ed5712689a6d39da9c6a67f28a48d35bbd271a6a3b898cbb0e0493e1813cc99e64388fb60707e6fee95691e339336c2656278780115b39d285c380ded92fe3cb +AUX salt-3005.1-tests.patch 2367 BLAKE2B 467af423de22b4ddeb80fef3d4682976283116698b7c2551c4710e049d8ad7749a4eb07c541a427ed540fdea6a0e4f4e63d96988bafd92974cc3b1026e27fd03 SHA512 4ba3c36be9de377848880819fc4bacf72978a12e483bea90a4e5e7524d7212b5d554302000f6c628156ec5aafbf48d662dec2764d96253be74fa202c73e7fc67 AUX salt-api.service 166 BLAKE2B 32d28ef4ef3c60942bed3fa3a01d70a9af387705844326cdf9339d7c887238a1e6817d78ffd1cb205a6397a2138c2389ea00bf53be84a17b23bea140279bf42c SHA512 bab6b8380c965bf16e23078ebe6f38d942300829d4c89ddf23b630bd57b4d371f80687d85dd9e0cc1b669f2ca882aecde1bc8d7d82382a02ed20e493d3f04702 AUX salt-master.service 169 BLAKE2B 15e7a4f64cfa75eb8d8576a7d0b61ea0c9937c94fd2130fd6c123a82187f08b5ed533c168a7310fd94d9bd2cecf9d0ba94665c653a971ef61e5e18ffdf087a15 SHA512 87fe27fc0748f4191bd1c6883bb362c95cce8fe1f409e2679b229ddfd9de6c99438859dfa0a47b042977d659029ef56e406f1e8aa01761bff21af4784f9dd5f8 AUX salt-minion.service 162 BLAKE2B 6f7b6b72e26d1651dbcb324b1e0cfef9f4b5a794f40566297c5bc469b351587db4d9805bed124774107efb64e6ed3e25fefa899b42a38064ee6fe26fd990ae58 SHA512 99f0a5c696e38b42b283416736a23e535ccc53095928b205914cf4b69c0df931a6752205985726527f7889b01dfece78466be28448458b15064edd04aca3e5ed @@ -33,15 +36,13 @@ AUX salt-syndic.service 169 BLAKE2B 0d00f20b4663804eaa4b6a1a1b32ed87b04d1f4df6a8 AUX syndic-confd-1 188 BLAKE2B 98f13eb627963d65df26140f348c04eb8c253d444d36ecd1f5ef344ad89901b0a5ed62c64364e90595c2d2ee2766f30802a4a86a2555bbea343ab410292359af SHA512 35fe9bf4732c8a53b47099ffe5f9468d884ec3e2671451a6d52821dde6c70c63176b29ade0d700b99aaf47557f58179f780422843346bd3aa6513d9465ec9f58 AUX syndic-initd-5 558 BLAKE2B 5e1ea25b57f56ad7bfb8be0c845e7da9f99af03c50c31ca2031e604267c680555d0d8a3ef6299ec588770f26dad19d262c8b9403391b60fb17c6811d7946107a SHA512 6e927925cf1e4d0f901bec10499a8ecf1193b99742cfda5f94f70d0ec743902b1b89728cb2e447b8b4879a9417d0d482b813161968dc9c2b2c7944b3af14df14 DIST salt-3002.9.tar.gz 15817470 BLAKE2B 31fb6dbb61a9f0ab22ca761810a934792e9fa9c78628f925e63d3d54d00fa4ea0b4aa806ba3ea92f7397ba3291281bf8989d9a288fb3114c7911cdebfc9acd6a SHA512 f34fd05960a68cba51f34cf8b7c737bd84d00472cec80628f082d16e54cf70705e191ac4b6690bf406a8a11e26c8155e4bdbdec34ede5f0721fd9b5e637a0ed1 -DIST salt-3003.4.tar.gz 16031515 BLAKE2B 34902aba7ab64f4ddbacbad1b776b9b2218caf22fb843879a80bd5c30b6c28f4c22a050bbaf0e9735507a78c887f52bcae7d1833ffeb51a543ec22fda79252e6 SHA512 35419fbb3f9a0f3e87579f740b717d6902cab0d85397b16d1e94d9516bf5f5d269b4f8bca370fd376abd9b7c8a6ad7ef4c8e8a8fdd31655fd17c810989e79693 DIST salt-3003.5.tar.gz 16056545 BLAKE2B ede3f0c63175f093dca07bee1bfb659cc608336ae92f532fc45868bd7eca659498c42e5d44324492744b802ade088adac869277679989550e217c1a135d6566d SHA512 ebda2056b4d6d216a0689b919d00aa78f615c355d21703d1939dbb6b00e9ad9347be4ee5b861282521f2d337bf7bf2fdc85e6942016358088a094d854fb33be9 -DIST salt-3004.1.tar.gz 17685649 BLAKE2B 64950cdc8420228f935d4a21fc20872da9ecf7c51b866ec3c59b46486b84a739b002acc44fa909eed93ce3dc6bedc9804df05d3d9ee5a9a13cd9d041ba70f876 SHA512 9353a8dc2a1c6e272318c6f35059236c5d78b6c8930f715275b701c12fca3be1fe930eb533f3f0c22933ba60967b0980300b922fe486cee9a62e6cdb568bdf91 DIST salt-3004.2.tar.gz 17685127 BLAKE2B a42e31d8a006488b3a6f341f817cde21ff86248d2b548d9914c429c62d7570cdf46cf2b41311cbb08ced7f9518e68156c6df3eb78e55cacfd4d40a4e7a54f52b SHA512 b2fa434f1d25eabac51d65d75bb020943eb71aff113d683e6f436a0f205bd3c7682b1b7acd4d9a62bf37a47eb0561293d263f3174d5e266f0998a1652fcae2ef +DIST salt-3005.1.tar.gz 17914349 BLAKE2B 697c2068bf119e4a19f92a86ce880fec9375c10ba549cdcdd2182cfeaacce31c7bc4c4c91e1a609906b4c5373bb5e3120e0db47ede5b45ee20942d7b2d201e64 SHA512 391f995f0129f3d7104a0eea4fd83b18aa6ecae0fd7a2c77c1154e24b0bcd52cef4b63db12597c85737bb33ddf605e0c23370cef3bf47f9ea85af5b77d74dc50 DIST salt-3005.tar.gz 17894520 BLAKE2B 67e755bdbe772991f620d09f61836f8ccfa2039722c3281ec4cfaa8ef76e34c57e4db861cc652545e37eb965ab765f6b6ba0250407d7d7448aa5d4685ad9492a SHA512 c2019a97a5a98b4810cdace826d5e0a6d2890a984da4b95109c1b9328a2fd11cafd2fb0ef9752adeea1d36f8b2a69b3a4a6a5a092b6a7f050c60ec52da314a18 -EBUILD salt-3002.9.ebuild 6672 BLAKE2B 01d02dd2411a676649d24af08a24d32426c98c1a6f8e3f0ebb96244bd55183e57f3a713fe9e65ea96093f0121374ba8dc933653b625be393c9a67620e06e2d55 SHA512 fbf0cfcde4fcb77614784a251d349a6d79e206fba8e673cc62419d23c8b2672d88a6b8adaa0b3840cb5771fbea3700b6f4bb57d8bbbb417d144f7fc5310f8554 -EBUILD salt-3003.4-r1.ebuild 6933 BLAKE2B c99f429003c7992c9b9271413ce4929c2e4a3fb49d3dae818a37a7e9253165cce99625a4c298cd6065781564eb1b838edc5cfca437dbc7103878131bc5de1671 SHA512 52719d14b8bbdd55c4f4aff007733cf5a889339d6187caeb5c57a5a2bd53b999b910dda0213db50fc5224f0e01f9380ada63c1e8f344530ea60d6f6cbb9498d0 -EBUILD salt-3003.5-r1.ebuild 7019 BLAKE2B 950714a06b7eb3f531c2a00cd8c58283db9750567b3f4f5434123b1bdbc57c19f97de507f8c307f200a92c6659167024aa2dae736ef4b061f7252337d3be54c5 SHA512 9ca17e369d90f7e52b9809debfdb36a6ad8d1049ba5ac585ead0d2281903d23d276af75356ffe3fb791e5c7c3a3f1aa6f26c1f6215274aa2c1136175d72725aa -EBUILD salt-3004.1-r4.ebuild 7044 BLAKE2B fd253f8e588516e95519f0c503993887305952541dcbc3a62577a47909bd8160c6f2f46043843a3c473817f85bb8e2fd4eac6aea50e299a11a12f0ba7eb76084 SHA512 45d34cf7e65102f1f3c70a922b07cd419ad9fea8af9407cd6c2a84308cf9823bb31e7cb39ab0b4bb4b572025bd83a8e2a916353722e16b5bbacdb4d2d225d75a -EBUILD salt-3004.2-r1.ebuild 7129 BLAKE2B f5c1603ac1f19c1c16ece90ad050cfedfeb5c1a881212dc6462923dca712cdb669c129bb98e184f7b7bd0efe032f15cf7aca5d39eb8d2b96dd4ea96a37743816 SHA512 40f618a45a71a64a2ed6688b5b5d6924343cba032cd0faf0485c0666bf28a911e983f8060e99ac7f454624038bc27eb97319c30abe10bae9c3a1bc7346732685 -EBUILD salt-3005.ebuild 6937 BLAKE2B 0808e5711e77e4bdba765530380c1a5fddb7856eb41c83ea80352487809faac7e7174ddb5adfee361adf8e93e6d10139187d97ce983321cf8a2419ce05eea168 SHA512 1017eccc1aa17fa521e91c6db363672672a34c1badf78ca47761381c19dea7f9c7397ffa952bd942d291ebc75b736336189c9da4f8acbb299d49af228b5fdc69 +EBUILD salt-3002.9-r1.ebuild 6725 BLAKE2B 99bffd5da34198db6c5ab0c133e5e7afe9c37e4b372f0c0aff03768de64227ba0ed29cab199afe1cbcf90c1c163fed1e3db252aac18516116e76114a4de5ac71 SHA512 f28040725e2400ca328cc2828445ae65cdb11b55f435f6f7272fccc2a733e3215b193a2cb59285909add059141ebff8d1d4e6fd3b25b605787dd8aa11cf691c7 +EBUILD salt-3003.5-r2.ebuild 7063 BLAKE2B c6761634cf266d1a798f91f6eee4a67edb84690b6e669bb8efa40a507be5dc6bf45bc132d971bac281c896e1996ae1c1912f18adde52f3df5d9ecaf7288b1b0e SHA512 916a81ca285cadd29d8839dfbfaf3d98167867001f6bc3e42acaedf4ecec00d3d09ca94850e9b8685a8c6a46460d37099572b86d049b0752e1e0fb6aa9b32f5f +EBUILD salt-3004.2-r2.ebuild 7173 BLAKE2B 07a32f77d256ea266c1b6f4cbe10caf44e8683fb63ce19858bf1eb82a16e727e08a49f964911974f8b9940faa3403892ee73176de28b731f2d14a90a6d9c18b0 SHA512 9e8de95f8758981e94782b2b6a176dee8353b068a2e90206e6a9b4deab3335e3c8e2b1f70e7ea022c49efe541587a7da99d62d20ea44089d0f6bfd1ddbdea2a8 +EBUILD salt-3005-r1.ebuild 6981 BLAKE2B 25b00014910b7bb67661b64eb94ea261fcdefd6278c1d7454d25654dcaf1c4896c0706726e9df46e740c7a13fddddb0e29604389db9d5ec0fe36288cec891c7d SHA512 1ad93554d0200b5d21d7ac1347dca0bb97aa7ffb622b136b3ccaee5dfaf670232a91189f4dfce0d057ccfb316781d999a960bd660ed6922b424d6db1fddffbee +EBUILD salt-3005.1.ebuild 7215 BLAKE2B 2d171c462997346cd66681febbe27f8f4ee2df432b4fcb44ad62ea756b20667407710aed58236cfa4eddb1c948d1dc120a2814f038afbd9875ad3846dd629ef9 SHA512 b621b21f2f7db4b41a43db7614458b93bb81de6c09108a85250c811d7769c86cd7f42edf061ade6ccba39ce39d893b3d760ededaa4ead6994afbdaa43c0f28a0 MISC metadata.xml 2384 BLAKE2B 8ccb0cbfc8d0944e684f979731884c354655d28fd9029f8d9abae1a313734102952fb817617d54032dd5cafa64925d73ee2a3e8a38ae16d2ff9c1af8c53d514c SHA512 6a4e1b8f2e041ad1a83bf2c85c35ac30ae7db3a20aa868204661c1dde9abdfab1dff1392e2dab8a844472434b325355fea71702229de99f7751e841d063fc0da diff --git a/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch b/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch new file mode 100644 index 000000000000..e4b19d6bfd7f --- /dev/null +++ b/app-admin/salt/files/salt-3005.1-importlib-metadata-5.patch @@ -0,0 +1,37 @@ +commit b676e6338a7c094cb3335d11f851ac0e12222017 +Author: MKLeb +Date: Wed Oct 5 15:49:37 2022 -0400 + + Allow entrypoint compatibility for importlib-metadata>=5.0.0 + +diff --git a/salt/utils/entrypoints.py b/salt/utils/entrypoints.py +index 3effa0b494..ac65ae2df4 100644 +--- a/salt/utils/entrypoints.py ++++ b/salt/utils/entrypoints.py +@@ -38,13 +38,20 @@ def iter_entry_points(group, name=None): + entry_points_listing = [] + entry_points = importlib_metadata.entry_points() + +- for entry_point_group, entry_points_list in entry_points.items(): +- if entry_point_group != group: +- continue +- for entry_point in entry_points_list: +- if name is not None and entry_point.name != name: ++ # pre importlib-metadata 5.0.0 ++ if hasattr(entry_points, "items"): ++ for entry_point_group, entry_points_list in entry_points.items(): ++ if entry_point_group != group: + continue +- entry_points_listing.append(entry_point) ++ for entry_point in entry_points_list: ++ if name is not None and entry_point.name != name: ++ continue ++ entry_points_listing.append(entry_point) ++ # starting with importlib-metadata 5.0.0 ++ for entry_point in entry_points.select(group=group): ++ if name is not None and entry_point.name != name: ++ continue ++ entry_points_listing.append(entry_point) + + return entry_points_listing + diff --git a/app-admin/salt/files/salt-3005.1-no-entry-points.patch b/app-admin/salt/files/salt-3005.1-no-entry-points.patch new file mode 100644 index 000000000000..5d1da8f751e4 --- /dev/null +++ b/app-admin/salt/files/salt-3005.1-no-entry-points.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index bd11ff95f7..3b83f7b6ff 100755 +--- a/setup.py ++++ b/setup.py +@@ -1173,7 +1173,7 @@ class SaltDistribution(distutils.dist.Distribution): + return scripts + + @property +- def _property_entry_points(self): ++ def _property_entry_points_disabled(self): + entrypoints = { + "pyinstaller40": [ + "hook-dirs = salt.utils.pyinstaller:get_hook_dirs", diff --git a/app-admin/salt/files/salt-3005.1-tests.patch b/app-admin/salt/files/salt-3005.1-tests.patch new file mode 100644 index 000000000000..101574bdd303 --- /dev/null +++ b/app-admin/salt/files/salt-3005.1-tests.patch @@ -0,0 +1,40 @@ +diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py +index 8c648f5288..5886813e28 100644 +--- a/tests/unit/utils/test_schema.py ++++ b/tests/unit/utils/test_schema.py +@@ -528,7 +528,7 @@ class ConfigTestCase(TestCase): + jsonschema.validate( + {"personal_access_token": "foo"}, Requirements.serialize() + ) +- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"): ++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"): + self.assertIn( + "'ssh_key_file' is a required property", excinfo.exception.message + ) +@@ -1851,7 +1851,7 @@ class ConfigTestCase(TestCase): + jsonschema.validate( + {"item": {"sides": "4", "color": "blue"}}, TestConf.serialize() + ) +- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"): ++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"): + self.assertIn("'4'", excinfo.exception.message) + self.assertIn("is not of type", excinfo.exception.message) + self.assertIn("'boolean'", excinfo.exception.message) +@@ -1974,7 +1974,7 @@ class ConfigTestCase(TestCase): + + with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo: + jsonschema.validate({"item": ["maybe"]}, TestConf.serialize()) +- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"): ++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"): + self.assertIn("'maybe'", excinfo.exception.message) + self.assertIn("is not one of", excinfo.exception.message) + self.assertIn("'yes'", excinfo.exception.message) +@@ -2036,7 +2036,7 @@ class ConfigTestCase(TestCase): + + with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo: + jsonschema.validate({"item": ["maybe"]}, TestConf.serialize()) +- if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0"): ++ if JSONSCHEMA_VERSION >= _LooseVersion("3.0.0") and JSONSCHEMA_VERSION < _LooseVersion("4.17.0"): + self.assertIn("'maybe'", excinfo.exception.message) + self.assertIn("is not one of", excinfo.exception.message) + self.assertIn("'yes'", excinfo.exception.message) diff --git a/app-admin/salt/salt-3002.9-r1.ebuild b/app-admin/salt/salt-3002.9-r1.ebuild new file mode 100644 index 000000000000..2fa91367775a --- /dev/null +++ b/app-admin/salt/salt-3002.9-r1.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..9} ) + +inherit systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://www.saltstack.com/resources/community/ + https://github.com/saltstack" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako + mongodb neutron nova openssl portage profile redis selinux test raet + +zeromq vim-syntax" + +RDEPEND=" + sys-apps/pciutils + >=dev-python/distro-1.5[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/libnacl[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/markupsafe[${PYTHON_USEDEP}] + >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + dev-python/watchdog[${PYTHON_USEDEP}] + libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] ) + mako? ( dev-python/mako[${PYTHON_USEDEP}] ) + ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) + =dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] + >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] + >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] + ) + cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) + cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] ) + genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) + keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + nova? ( + $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) + ) + neutron? ( + $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) + ) + gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) + vim-syntax? ( app-vim/salt-vim ) + zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + ${RDEPEND} + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] + dev-python/mako[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] + >=dev-python/pytest-salt-factories-0.93.0[${PYTHON_USEDEP}] + dev-python/pytest-tempdir[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}] + net-dns/bind-tools + !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] ) + )" + +DOCS=( README.rst AUTHORS ) + +REQUIRED_USE=" + || ( raet zeromq ) + test? ( cheetah genshi ) +" +RESTRICT="!test? ( test ) x86? ( test )" + +PATCHES=( + "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch" + "${FILESDIR}/salt-3002-dont-realpath-on-tmpdir.patch" + "${FILESDIR}/salt-3002-tests.patch" + "${FILESDIR}/salt-3002.5-tests.patch" + "${FILESDIR}/salt-3002.7-tests.patch" + "${FILESDIR}/salt-3004.2-jinja-3.patch" + "${FILESDIR}/salt-3002.8-tests.patch" + "${FILESDIR}/salt-3002.8-relax-pyzmq-dep.patch" +) + +python_prepare_all() { + # remove tests with external dependencies that may not be available, and + # tests that don't work in sandbox + rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die + rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die + rm tests/unit/states/test_boto_vpc.py || die + rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die + rm salt/utils/virtualbox.py || die + + # tests that require network access + rm tests/unit/{states,modules}/test_zcbuildout.py || die + + sed -i 's:log.trace(:log.debug(:' \ + salt/fileserver/roots.py salt/grains/core.py salt/states/saltmod.py || die + + # make sure pkg_resources doesn't bomb because pycrypto isn't installed + # make sure pkg_resources doesn't bomb because pycrypto isn't installed + find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die + # pycryptodome rather than pycryptodomex + find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die + + distutils-r1_python_prepare_all +} + +python_prepare() { + einfo "Fixing collections.abc warnings for ${EPYTHON}" + local abc + abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die + find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die +} + +python_install_all() { + local svc + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for svc in minion master syndic api; do + newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} + newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} + systemd_dounit "${FILESDIR}"/salt-${svc}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +python_test() { + local tempdir + # testsuite likes lots of files + ulimit -n 3072 || die + + # ${T} is too long a path for the tests to work + tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)" + mkdir "${T}/$(basename "${tempdir}")" + + ( + cleanup() { rm -f "${tempdir}" || die; } + + trap cleanup EXIT + + addwrite "${tempdir}" + ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die + + USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ + TMPDIR="${tempdir}" \ + ${EPYTHON} tests/runtests.py \ + --unit-tests --no-report --verbose \ + || die "testing failed with ${EPYTHON}" + ) +} + +pkg_postinst() { + if use python_targets_python3_8; then + if use nova; then + ewarn "Salt's nova functionality will not work with python3.8 since" + ewarn "dev-python/python-novaclient does not support it yet" + fi + if use neutron; then + ewarn "Salt's neutron functionality will not work with python3.8 since" + ewarn "dev-python/python-neutronclient does not support it yet" + fi + if use libvirt; then + ewarn "Salt's libvirt functionality will not work with python3.8 since" + ewarn "dev-python/libvirt-python does not support it yet" + fi + fi +} diff --git a/app-admin/salt/salt-3002.9.ebuild b/app-admin/salt/salt-3002.9.ebuild deleted file mode 100644 index e3287689891c..000000000000 --- a/app-admin/salt/salt-3002.9.ebuild +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..9} ) - -inherit systemd distutils-r1 - -DESCRIPTION="Salt is a remote execution and configuration manager" -HOMEPAGE="https://www.saltstack.com/resources/community/ - https://github.com/saltstack" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" - EGIT_BRANCH="develop" - SRC_URI="" -else - SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~x86" -fi - -LICENSE="Apache-2.0" -SLOT="0" -IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako - mongodb neutron nova openssl portage profile redis selinux test raet - +zeromq vim-syntax" - -RDEPEND=" - sys-apps/pciutils - >=dev-python/distro-1.5[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/libnacl[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] - >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/markupsafe[${PYTHON_USEDEP}] - >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/toml[${PYTHON_USEDEP}] - dev-python/watchdog[${PYTHON_USEDEP}] - libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] ) - mako? ( dev-python/mako[${PYTHON_USEDEP}] ) - ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - libvirt? ( - $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8) - ) - openssl? ( - dev-libs/openssl:0=[-bindist(-)] - dev-python/pyopenssl[${PYTHON_USEDEP}] - ) - raet? ( - >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] - >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] - >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] - ) - cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) - cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] ) - genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) - mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) - keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) - redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) - selinux? ( sec-policy/selinux-salt ) - nova? ( - $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) - ) - neutron? ( - $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) - ) - gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) - profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) - vim-syntax? ( app-vim/salt-vim ) - zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - ${RDEPEND} - >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] - >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] - dev-python/mako[${PYTHON_USEDEP}] - >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] - >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] - dev-python/pip[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] - >=dev-python/pytest-salt-factories-0.93.0[${PYTHON_USEDEP}] - dev-python/pytest-tempdir[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}] - net-dns/bind-tools - !x86? ( >=dev-python/boto3-1.3.15[${PYTHON_USEDEP}] ) - )" - -DOCS=( README.rst AUTHORS ) - -REQUIRED_USE=" - || ( raet zeromq ) - test? ( cheetah genshi ) -" -RESTRICT="!test? ( test ) x86? ( test )" - -PATCHES=( - "${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch" - "${FILESDIR}/salt-3002-dont-realpath-on-tmpdir.patch" - "${FILESDIR}/salt-3002-tests.patch" - "${FILESDIR}/salt-3002.5-tests.patch" - "${FILESDIR}/salt-3002.7-tests.patch" - "${FILESDIR}/salt-3004.2-jinja-3.patch" - "${FILESDIR}/salt-3002.8-tests.patch" - "${FILESDIR}/salt-3002.8-relax-pyzmq-dep.patch" -) - -python_prepare_all() { - # remove tests with external dependencies that may not be available, and - # tests that don't work in sandbox - rm tests/unit/{test_{zypp_plugins,module_names},utils/test_{extend,cache}}.py || die - rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die - rm tests/unit/states/test_boto_vpc.py || die - rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die - rm salt/utils/virtualbox.py || die - - # tests that require network access - rm tests/unit/{states,modules}/test_zcbuildout.py || die - - sed -i 's:log.trace(:log.debug(:' \ - salt/fileserver/roots.py salt/grains/core.py salt/states/saltmod.py || die - - # make sure pkg_resources doesn't bomb because pycrypto isn't installed - # make sure pkg_resources doesn't bomb because pycrypto isn't installed - find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die - # pycryptodome rather than pycryptodomex - find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die - - distutils-r1_python_prepare_all -} - -python_prepare() { - einfo "Fixing collections.abc warnings for ${EPYTHON}" - local abc - abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die - find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die -} - -python_install_all() { - local svc - USE_SETUPTOOLS=1 distutils-r1_python_install_all - - for svc in minion master syndic api; do - newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} - newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} - systemd_dounit "${FILESDIR}"/salt-${svc}.service - done - - insinto /etc/${PN} - doins -r conf/* -} - -python_test() { - local tempdir - # testsuite likes lots of files - ulimit -n 3072 || die - - # ${T} is too long a path for the tests to work - tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)" - mkdir "${T}/$(basename "${tempdir}")" - - ( - cleanup() { rm -f "${tempdir}" || die; } - - trap cleanup EXIT - - addwrite "${tempdir}" - ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die - - USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ - TMPDIR="${tempdir}" \ - ${EPYTHON} tests/runtests.py \ - --unit-tests --no-report --verbose \ - || die "testing failed with ${EPYTHON}" - ) -} - -pkg_postinst() { - if use python_targets_python3_8; then - if use nova; then - ewarn "Salt's nova functionality will not work with python3.8 since" - ewarn "dev-python/python-novaclient does not support it yet" - fi - if use neutron; then - ewarn "Salt's neutron functionality will not work with python3.8 since" - ewarn "dev-python/python-neutronclient does not support it yet" - fi - if use libvirt; then - ewarn "Salt's libvirt functionality will not work with python3.8 since" - ewarn "dev-python/libvirt-python does not support it yet" - fi - fi -} diff --git a/app-admin/salt/salt-3003.4-r1.ebuild b/app-admin/salt/salt-3003.4-r1.ebuild deleted file mode 100644 index 50ee0911545b..000000000000 --- a/app-admin/salt/salt-3003.4-r1.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..9} ) - -inherit systemd distutils-r1 - -DESCRIPTION="Salt is a remote execution and configuration manager" -HOMEPAGE="https://www.saltstack.com/resources/community/ - https://github.com/saltstack" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" - EGIT_BRANCH="develop" - SRC_URI="" -else - SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~x86" -fi - -LICENSE="Apache-2.0" -SLOT="0" -IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako - mongodb neutron nova openssl portage profile redis selinux test raet - +zeromq vim-syntax" - -RDEPEND=" - sys-apps/pciutils - >=dev-python/distro-1.5[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/libnacl[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] - >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/markupsafe[${PYTHON_USEDEP}] - >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/toml-0.10.2[${PYTHON_USEDEP}] - dev-python/watchdog[${PYTHON_USEDEP}] - libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] ) - mako? ( dev-python/mako[${PYTHON_USEDEP}] ) - ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - libvirt? ( - $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8) - ) - openssl? ( - dev-libs/openssl:0=[-bindist(-)] - dev-python/pyopenssl[${PYTHON_USEDEP}] - ) - raet? ( - >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] - >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] - >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] - ) - cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) - cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] ) - genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) - mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) - keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) - redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) - selinux? ( sec-policy/selinux-salt ) - nova? ( - $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) - ) - neutron? ( - $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) - ) - gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) - profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) - vim-syntax? ( app-vim/salt-vim ) - zeromq? ( >=dev-python/pyzmq-19.1.0[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - ${RDEPEND} - >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] - dev-python/mako[${PYTHON_USEDEP}] - >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] - >=dev-python/moto-1.3.14[${PYTHON_USEDEP}] - dev-python/pip[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - =dev-python/pytest-salt-factories-0.121*[${PYTHON_USEDEP}] - dev-python/pytest-tempdir[${PYTHON_USEDEP}] - dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/libcloud[${PYTHON_USEDEP}] - net-dns/bind-tools - >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}] - !x86? ( >=dev-python/boto3-1.19.63[${PYTHON_USEDEP}] ) - )" - -DOCS=( README.rst AUTHORS ) - -REQUIRED_USE="|| ( raet zeromq ) - test? ( cheetah genshi )" -RESTRICT="!test? ( test ) x86? ( test )" - -PATCHES=( - "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" - "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" - "${FILESDIR}/salt-3002-tests.patch" - "${FILESDIR}/salt-3003.3-tests.patch" - "${FILESDIR}/salt-3003.1-tests.patch" - "${FILESDIR}/salt-3004.1-jinja-3.patch" - "${FILESDIR}/salt-3003.4-tests.patch" - "${FILESDIR}/salt-3003.4-relax-pyzmq-dep.patch" -) - -python_prepare_all() { - # remove tests with external dependencies that may not be available, and - # tests that don't work in sandbox - rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die - rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die - rm tests/unit/states/test_boto_vpc.py || die - rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die - rm tests/pytests/functional/transport/server/test_req_channel.py || die - - # tests that require network access - rm tests/unit/{states,modules}/test_zcbuildout.py || die - rm -r tests/integration/cloud || die - rm -r tests/kitchen/tests/wordpress/tests || die - rm tests/kitchen/test_kitchen.py || die - rm tests/unit/modules/test_network.py || die - - # tests require root access - rm tests/integration/pillar/test_git_pillar.py || die - rm tests/integration/states/test_supervisord.py || die - rm tests/pytests/unit/client/test_ssh.py || die - - # make sure pkg_resources doesn't bomb because pycrypto isn't installed - find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die - # pycryptodome rather than pycryptodomex - find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die - - distutils-r1_python_prepare_all -} - -python_prepare() { - einfo "Fixing collections.abc warnings for ${EPYTHON}" - local abc - abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die - find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die - - # removes contextvars, see bug: https://bugs.gentoo.org/799431 - sed -i '/^contextvars/d' requirements/base.txt || die -} - -python_install_all() { - local svc - USE_SETUPTOOLS=1 distutils-r1_python_install_all - - for svc in minion master syndic api; do - newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} - newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} - systemd_dounit "${FILESDIR}"/salt-${svc}.service - done - - insinto /etc/${PN} - doins -r conf/* -} - -python_test() { - # testsuite likes lots of files - ulimit -n 4096 || die - - # ${T} is too long a path for the tests to work - local TMPDIR - TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" - ( - export TMPDIR - cleanup() { rm -rf "${TMPDIR}" || die; } - - trap cleanup EXIT - - addwrite "${TMPDIR}" - - USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ - "${EPYTHON}" -m pytest -vv \ - || die "testing failed with ${EPYTHON}" - ) -} - -pkg_postinst() { - if use python_targets_python3_8; then - if use nova; then - ewarn "Salt's nova functionality will not work with python3.8 since" - ewarn "dev-python/python-novaclient does not support it yet" - fi - if use neutron; then - ewarn "Salt's neutron functionality will not work with python3.8 since" - ewarn "dev-python/python-neutronclient does not support it yet" - fi - if use libvirt; then - ewarn "Salt's libvirt functionality will not work with python3.8 since" - ewarn "dev-python/libvirt-python does not support it yet" - fi - fi -} diff --git a/app-admin/salt/salt-3003.5-r1.ebuild b/app-admin/salt/salt-3003.5-r1.ebuild deleted file mode 100644 index e46b069a8edb..000000000000 --- a/app-admin/salt/salt-3003.5-r1.ebuild +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..9} ) - -inherit systemd distutils-r1 - -DESCRIPTION="Salt is a remote execution and configuration manager" -HOMEPAGE="https://www.saltstack.com/resources/community/ - https://github.com/saltstack" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" - EGIT_BRANCH="develop" - SRC_URI="" -else - SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~x86" -fi - -LICENSE="Apache-2.0" -SLOT="0" -IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako - mongodb neutron nova openssl portage profile redis selinux test raet - +zeromq vim-syntax" - -RDEPEND=" - sys-apps/pciutils - >=dev-python/distro-1.5[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/libnacl[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] - >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/markupsafe[${PYTHON_USEDEP}] - >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/toml-0.10.2[${PYTHON_USEDEP}] - dev-python/watchdog[${PYTHON_USEDEP}] - libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] ) - mako? ( dev-python/mako[${PYTHON_USEDEP}] ) - ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - libvirt? ( - $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8) - ) - openssl? ( - dev-libs/openssl:0=[-bindist(-)] - dev-python/pyopenssl[${PYTHON_USEDEP}] - ) - raet? ( - >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] - >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] - >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] - ) - cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) - cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] ) - genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) - mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) - keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) - redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) - selinux? ( sec-policy/selinux-salt ) - nova? ( - $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) - ) - neutron? ( - $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) - ) - gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) - profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) - vim-syntax? ( app-vim/salt-vim ) - zeromq? ( >=dev-python/pyzmq-19.1.0[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - ${RDEPEND} - >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] - dev-python/mako[${PYTHON_USEDEP}] - >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] - >=dev-python/moto-1.3.14[${PYTHON_USEDEP}] - dev-python/pip[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - =dev-python/pytest-salt-factories-0.121*[${PYTHON_USEDEP}] - dev-python/pytest-tempdir[${PYTHON_USEDEP}] - dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/libcloud[${PYTHON_USEDEP}] - net-dns/bind-tools - >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}] - !x86? ( >=dev-python/boto3-1.19.63[${PYTHON_USEDEP}] ) - )" - -DOCS=( README.rst AUTHORS ) - -REQUIRED_USE="|| ( raet zeromq ) - test? ( cheetah genshi )" -RESTRICT="!test? ( test ) x86? ( test )" - -# tests currently broken -RESTRICT+=" test" - -PATCHES=( - "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" - "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" - "${FILESDIR}/salt-3002-tests.patch" - "${FILESDIR}/salt-3003.3-tests.patch" - "${FILESDIR}/salt-3003.1-tests.patch" - "${FILESDIR}/salt-3004.2-jinja-3.patch" - "${FILESDIR}/salt-3003.4-tests.patch" - "${FILESDIR}/salt-3003.4-relax-pyzmq-dep.patch" - "${FILESDIR}/salt-3004.2-pyzmq-23.patch" -) - -python_prepare_all() { - # remove tests with external dependencies that may not be available, and - # tests that don't work in sandbox - rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die - rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die - rm tests/unit/states/test_boto_vpc.py || die - rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die - rm tests/pytests/functional/transport/server/test_req_channel.py || die - - # tests that require network access - rm tests/unit/{states,modules}/test_zcbuildout.py || die - rm -r tests/integration/cloud || die - rm -r tests/kitchen/tests/wordpress/tests || die - rm tests/kitchen/test_kitchen.py || die - rm tests/unit/modules/test_network.py || die - - # tests require root access - rm tests/integration/pillar/test_git_pillar.py || die - rm tests/integration/states/test_supervisord.py || die - rm tests/pytests/unit/client/test_ssh.py || die - - # make sure pkg_resources doesn't bomb because pycrypto isn't installed - find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die - # pycryptodome rather than pycryptodomex - find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die - - distutils-r1_python_prepare_all -} - -python_prepare() { - einfo "Fixing collections.abc warnings for ${EPYTHON}" - local abc - abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die - find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die - - # removes contextvars, see bug: https://bugs.gentoo.org/799431 - sed -i '/^contextvars/d' requirements/base.txt || die -} - -python_install_all() { - local svc - USE_SETUPTOOLS=1 distutils-r1_python_install_all - - for svc in minion master syndic api; do - newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} - newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} - systemd_dounit "${FILESDIR}"/salt-${svc}.service - done - - insinto /etc/${PN} - doins -r conf/* -} - -python_test() { - # testsuite likes lots of files - ulimit -n 4096 || die - - # ${T} is too long a path for the tests to work - local TMPDIR - TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" - ( - export TMPDIR - cleanup() { rm -rf "${TMPDIR}" || die; } - - trap cleanup EXIT - - addwrite "${TMPDIR}" - - USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ - "${EPYTHON}" -m pytest -vv \ - || die "testing failed with ${EPYTHON}" - ) -} - -pkg_postinst() { - if use python_targets_python3_8; then - if use nova; then - ewarn "Salt's nova functionality will not work with python3.8 since" - ewarn "dev-python/python-novaclient does not support it yet" - fi - if use neutron; then - ewarn "Salt's neutron functionality will not work with python3.8 since" - ewarn "dev-python/python-neutronclient does not support it yet" - fi - if use libvirt; then - ewarn "Salt's libvirt functionality will not work with python3.8 since" - ewarn "dev-python/libvirt-python does not support it yet" - fi - fi -} diff --git a/app-admin/salt/salt-3003.5-r2.ebuild b/app-admin/salt/salt-3003.5-r2.ebuild new file mode 100644 index 000000000000..3cd254df3aa9 --- /dev/null +++ b/app-admin/salt/salt-3003.5-r2.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..9} ) + +inherit systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://www.saltstack.com/resources/community/ + https://github.com/saltstack" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako + mongodb neutron nova openssl portage profile redis selinux test raet + +zeromq vim-syntax" + +RDEPEND=" + sys-apps/pciutils + >=dev-python/distro-1.5[${PYTHON_USEDEP}] + dev-python/jinja[${PYTHON_USEDEP}] + dev-python/libnacl[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/markupsafe[${PYTHON_USEDEP}] + >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + dev-python/watchdog[${PYTHON_USEDEP}] + libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] ) + mako? ( dev-python/mako[${PYTHON_USEDEP}] ) + ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) + =dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] + >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] + >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] + ) + cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) + cheetah? ( dev-python/cheetah3[${PYTHON_USEDEP}] ) + genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) + keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + nova? ( + $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) + ) + neutron? ( + $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) + ) + gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) + vim-syntax? ( app-vim/salt-vim ) + zeromq? ( >=dev-python/pyzmq-19.1.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + ${RDEPEND} + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/mako[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + >=dev-python/moto-1.3.14[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + =dev-python/pytest-salt-factories-0.121*[${PYTHON_USEDEP}] + dev-python/pytest-tempdir[${PYTHON_USEDEP}] + dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] + dev-python/pytest-subtests[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/libcloud[${PYTHON_USEDEP}] + net-dns/bind-tools + >=dev-python/virtualenv-20.0.20[${PYTHON_USEDEP}] + !x86? ( >=dev-python/boto3-1.19.63[${PYTHON_USEDEP}] ) + )" + +DOCS=( README.rst AUTHORS ) + +REQUIRED_USE="|| ( raet zeromq ) + test? ( cheetah genshi )" +RESTRICT="!test? ( test ) x86? ( test )" + +# tests currently broken +RESTRICT+=" test" + +PATCHES=( + "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" + "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" + "${FILESDIR}/salt-3002-tests.patch" + "${FILESDIR}/salt-3003.3-tests.patch" + "${FILESDIR}/salt-3003.1-tests.patch" + "${FILESDIR}/salt-3004.2-jinja-3.patch" + "${FILESDIR}/salt-3003.4-tests.patch" + "${FILESDIR}/salt-3003.4-relax-pyzmq-dep.patch" + "${FILESDIR}/salt-3004.2-pyzmq-23.patch" +) + +python_prepare_all() { + # remove tests with external dependencies that may not be available, and + # tests that don't work in sandbox + rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die + rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die + rm tests/unit/states/test_boto_vpc.py || die + rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die + rm tests/pytests/functional/transport/server/test_req_channel.py || die + + # tests that require network access + rm tests/unit/{states,modules}/test_zcbuildout.py || die + rm -r tests/integration/cloud || die + rm -r tests/kitchen/tests/wordpress/tests || die + rm tests/kitchen/test_kitchen.py || die + rm tests/unit/modules/test_network.py || die + + # tests require root access + rm tests/integration/pillar/test_git_pillar.py || die + rm tests/integration/states/test_supervisord.py || die + rm tests/pytests/unit/client/test_ssh.py || die + + # make sure pkg_resources doesn't bomb because pycrypto isn't installed + find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die + # pycryptodome rather than pycryptodomex + find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die + + distutils-r1_python_prepare_all +} + +python_prepare() { + einfo "Fixing collections.abc warnings for ${EPYTHON}" + local abc + abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die + find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die + + # removes contextvars, see bug: https://bugs.gentoo.org/799431 + sed -i '/^contextvars/d' requirements/base.txt || die +} + +python_install_all() { + local svc + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for svc in minion master syndic api; do + newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} + newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} + systemd_dounit "${FILESDIR}"/salt-${svc}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +python_test() { + # testsuite likes lots of files + ulimit -n 4096 || die + + # ${T} is too long a path for the tests to work + local TMPDIR + TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" + ( + export TMPDIR + cleanup() { rm -rf "${TMPDIR}" || die; } + + trap cleanup EXIT + + addwrite "${TMPDIR}" + + USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ + "${EPYTHON}" -m pytest -vv \ + || die "testing failed with ${EPYTHON}" + ) +} + +pkg_postinst() { + if use python_targets_python3_8; then + if use nova; then + ewarn "Salt's nova functionality will not work with python3.8 since" + ewarn "dev-python/python-novaclient does not support it yet" + fi + if use neutron; then + ewarn "Salt's neutron functionality will not work with python3.8 since" + ewarn "dev-python/python-neutronclient does not support it yet" + fi + if use libvirt; then + ewarn "Salt's libvirt functionality will not work with python3.8 since" + ewarn "dev-python/libvirt-python does not support it yet" + fi + fi +} diff --git a/app-admin/salt/salt-3004.1-r4.ebuild b/app-admin/salt/salt-3004.1-r4.ebuild deleted file mode 100644 index 5352a20caf11..000000000000 --- a/app-admin/salt/salt-3004.1-r4.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) - -inherit systemd distutils-r1 - -DESCRIPTION="Salt is a remote execution and configuration manager" -HOMEPAGE="https://www.saltstack.com/resources/community/ - https://github.com/saltstack" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" - EGIT_BRANCH="develop" - SRC_URI="" -else - SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~riscv x86" -fi - -LICENSE="Apache-2.0" -SLOT="0" -IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako - mongodb neutron nova openssl portage profile redis selinux test raet - +zeromq vim-syntax" - -RDEPEND=" - sys-apps/pciutils - >=dev-python/distro-1.5[${PYTHON_USEDEP}] - >=dev-python/jinja-3.0[${PYTHON_USEDEP}] - dev-python/libnacl[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] - >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}] - >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/markupsafe[${PYTHON_USEDEP}] - >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/toml-0.10.2[${PYTHON_USEDEP}] - dev-python/watchdog[${PYTHON_USEDEP}] - libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] ) - mako? ( dev-python/mako[${PYTHON_USEDEP}] ) - ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - libvirt? ( - $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8) - ) - openssl? ( - dev-libs/openssl:0=[-bindist(-)] - dev-python/pyopenssl[${PYTHON_USEDEP}] - ) - raet? ( - >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] - >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] - >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] - ) - cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) - cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] ) - genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) - mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) - keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) - redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) - selinux? ( sec-policy/selinux-salt ) - nova? ( - $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) - ) - neutron? ( - $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) - ) - gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) - profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) - vim-syntax? ( app-vim/salt-vim ) - zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - ${RDEPEND} - >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] - dev-python/mako[${PYTHON_USEDEP}] - >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] - >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] - dev-python/passlib - dev-python/pip[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - >=dev-python/pytest-salt-factories-1.0.0_rc13[${PYTHON_USEDEP}] - dev-python/pytest-tempdir[${PYTHON_USEDEP}] - dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/libcloud[${PYTHON_USEDEP}] - net-dns/bind-tools - >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}] - !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] ) - )" - -DOCS=( README.rst AUTHORS ) - -REQUIRED_USE="|| ( raet zeromq ) - test? ( cheetah genshi )" -RESTRICT="!test? ( test ) x86? ( test )" - -PATCHES=( - "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" - "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" - "${FILESDIR}/salt-3002-tests.patch" - "${FILESDIR}/salt-3003.1-tests.patch" - "${FILESDIR}/salt-3004.1-jinja-3.patch" - "${FILESDIR}/salt-3004.1-tests.patch" - "${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch" - "${FILESDIR}/salt-3004.1-py310.patch" -) - -python_prepare_all() { - # remove tests with external dependencies that may not be available, and - # tests that don't work in sandbox - rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die - rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die - rm tests/unit/states/test_boto_vpc.py || die - rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die - rm tests/pytests/functional/transport/server/test_req_channel.py || die - - # tests that require network access - rm tests/unit/{states,modules}/test_zcbuildout.py || die - rm -r tests/integration/cloud || die - rm -r tests/kitchen/tests/wordpress/tests || die - rm tests/kitchen/test_kitchen.py || die - rm tests/unit/modules/test_network.py || die - rm tests/pytests/functional/modules/test_pip.py || die - rm tests/pytests/unit/client/ssh/test_ssh.py || die - - # tests require root access - rm tests/integration/pillar/test_git_pillar.py || die - rm tests/integration/states/test_supervisord.py || die - - # make sure pkg_resources doesn't bomb because pycrypto isn't installed - find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die - # pycryptodome rather than pycryptodomex - find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die - - distutils-r1_python_prepare_all -} - -python_prepare() { - einfo "Fixing collections.abc warnings for ${EPYTHON}" - local abc - abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die - find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die - - # removes contextvars, see bug: https://bugs.gentoo.org/799431 - sed -i '/^contextvars/d' requirements/base.txt || die -} - -python_install_all() { - local svc - USE_SETUPTOOLS=1 distutils-r1_python_install_all - - for svc in minion master syndic api; do - newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} - newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} - systemd_dounit "${FILESDIR}"/salt-${svc}.service - done - - insinto /etc/${PN} - doins -r conf/* -} - -python_test() { - # testsuite likes lots of files - ulimit -n 4096 || die - - # ${T} is too long a path for the tests to work - local TMPDIR - TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" - ( - export TMPDIR - cleanup() { rm -rf "${TMPDIR}" || die; } - - trap cleanup EXIT - - addwrite "${TMPDIR}" - - USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ - "${EPYTHON}" -m pytest -vv \ - || die "testing failed with ${EPYTHON}" - ) -} - -pkg_postinst() { - if use python_targets_python3_8; then - if use nova; then - ewarn "Salt's nova functionality will not work with python3.8 since" - ewarn "dev-python/python-novaclient does not support it yet" - fi - if use neutron; then - ewarn "Salt's neutron functionality will not work with python3.8 since" - ewarn "dev-python/python-neutronclient does not support it yet" - fi - if use libvirt; then - ewarn "Salt's libvirt functionality will not work with python3.8 since" - ewarn "dev-python/libvirt-python does not support it yet" - fi - fi -} diff --git a/app-admin/salt/salt-3004.2-r1.ebuild b/app-admin/salt/salt-3004.2-r1.ebuild deleted file mode 100644 index c1dde00d1ca1..000000000000 --- a/app-admin/salt/salt-3004.2-r1.ebuild +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) - -inherit systemd distutils-r1 - -DESCRIPTION="Salt is a remote execution and configuration manager" -HOMEPAGE="https://www.saltstack.com/resources/community/ - https://github.com/saltstack" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" - EGIT_BRANCH="develop" - SRC_URI="" -else - SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~riscv x86" -fi - -LICENSE="Apache-2.0" -SLOT="0" -IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako - mongodb neutron nova openssl portage profile redis selinux test raet - +zeromq vim-syntax" - -RDEPEND=" - sys-apps/pciutils - >=dev-python/distro-1.5[${PYTHON_USEDEP}] - >=dev-python/jinja-3.0[${PYTHON_USEDEP}] - dev-python/libnacl[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] - >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}] - >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/markupsafe[${PYTHON_USEDEP}] - >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/toml-0.10.2[${PYTHON_USEDEP}] - dev-python/watchdog[${PYTHON_USEDEP}] - libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] ) - mako? ( dev-python/mako[${PYTHON_USEDEP}] ) - ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - libvirt? ( - $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_8) - ) - openssl? ( - dev-libs/openssl:0=[-bindist(-)] - dev-python/pyopenssl[${PYTHON_USEDEP}] - ) - raet? ( - >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] - >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] - >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] - ) - cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) - cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] ) - genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) - mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) - keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) - redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) - selinux? ( sec-policy/selinux-salt ) - nova? ( - $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) - ) - neutron? ( - $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) - ) - gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) - profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) - vim-syntax? ( app-vim/salt-vim ) - zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - ${RDEPEND} - >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] - dev-python/mako[${PYTHON_USEDEP}] - >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] - >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] - dev-python/passlib - dev-python/pip[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - >=dev-python/pytest-salt-factories-1.0.0_rc13[${PYTHON_USEDEP}] - dev-python/pytest-tempdir[${PYTHON_USEDEP}] - dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/libcloud[${PYTHON_USEDEP}] - net-dns/bind-tools - >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}] - !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] ) - )" - -DOCS=( README.rst AUTHORS ) - -REQUIRED_USE="|| ( raet zeromq ) - test? ( cheetah genshi )" -RESTRICT="!test? ( test ) x86? ( test )" - -PATCHES=( - "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" - "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" - "${FILESDIR}/salt-3002-tests.patch" - "${FILESDIR}/salt-3003.1-tests.patch" - "${FILESDIR}/salt-3004.2-jinja-3.patch" - "${FILESDIR}/salt-3004.1-tests.patch" - "${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch" - "${FILESDIR}/salt-3004.1-py310.patch" - "${FILESDIR}/salt-3004.2-importlib.patch" - "${FILESDIR}/salt-3004.2-pyzmq-23.patch" -) - -python_prepare_all() { - # remove tests with external dependencies that may not be available, and - # tests that don't work in sandbox - rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die - rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die - rm tests/unit/states/test_boto_vpc.py || die - rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die - rm tests/pytests/functional/transport/server/test_req_channel.py || die - - # tests that require network access - rm tests/unit/{states,modules}/test_zcbuildout.py || die - rm -r tests/integration/cloud || die - rm -r tests/kitchen/tests/wordpress/tests || die - rm tests/kitchen/test_kitchen.py || die - rm tests/unit/modules/test_network.py || die - rm tests/pytests/functional/modules/test_pip.py || die - rm tests/pytests/unit/client/ssh/test_ssh.py || die - - # tests require root access - rm tests/integration/pillar/test_git_pillar.py || die - rm tests/integration/states/test_supervisord.py || die - - # make sure pkg_resources doesn't bomb because pycrypto isn't installed - find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die - # pycryptodome rather than pycryptodomex - find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die - - distutils-r1_python_prepare_all -} - -python_prepare() { - einfo "Fixing collections.abc warnings for ${EPYTHON}" - local abc - abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die - find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die - - # removes contextvars, see bug: https://bugs.gentoo.org/799431 - sed -i '/^contextvars/d' requirements/base.txt || die -} - -python_install_all() { - local svc - USE_SETUPTOOLS=1 distutils-r1_python_install_all - - for svc in minion master syndic api; do - newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} - newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} - systemd_dounit "${FILESDIR}"/salt-${svc}.service - done - - insinto /etc/${PN} - doins -r conf/* -} - -python_test() { - # testsuite likes lots of files - ulimit -n 4096 || die - - # ${T} is too long a path for the tests to work - local TMPDIR - TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" - ( - export TMPDIR - cleanup() { rm -rf "${TMPDIR}" || die; } - - trap cleanup EXIT - - addwrite "${TMPDIR}" - - USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ - "${EPYTHON}" -m pytest -vv \ - || die "testing failed with ${EPYTHON}" - ) -} - -pkg_postinst() { - if use python_targets_python3_8; then - if use nova; then - ewarn "Salt's nova functionality will not work with python3.8 since" - ewarn "dev-python/python-novaclient does not support it yet" - fi - if use neutron; then - ewarn "Salt's neutron functionality will not work with python3.8 since" - ewarn "dev-python/python-neutronclient does not support it yet" - fi - if use libvirt; then - ewarn "Salt's libvirt functionality will not work with python3.8 since" - ewarn "dev-python/libvirt-python does not support it yet" - fi - fi -} diff --git a/app-admin/salt/salt-3004.2-r2.ebuild b/app-admin/salt/salt-3004.2-r2.ebuild new file mode 100644 index 000000000000..1e3ce475d192 --- /dev/null +++ b/app-admin/salt/salt-3004.2-r2.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..10} ) + +inherit systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://www.saltstack.com/resources/community/ + https://github.com/saltstack" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="amd64 ~arm ~arm64 ~riscv x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako + mongodb neutron nova openssl portage profile redis selinux test raet + +zeromq vim-syntax" + +RDEPEND=" + sys-apps/pciutils + >=dev-python/distro-1.5[${PYTHON_USEDEP}] + >=dev-python/jinja-3.0[${PYTHON_USEDEP}] + dev-python/libnacl[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/markupsafe[${PYTHON_USEDEP}] + >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + dev-python/watchdog[${PYTHON_USEDEP}] + libcloud? ( >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] ) + mako? ( dev-python/mako[${PYTHON_USEDEP}] ) + ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) + =dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] + >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] + >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] + ) + cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) + cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] ) + genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) + keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + nova? ( + $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_8) + ) + neutron? ( + $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_8) + ) + gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) + vim-syntax? ( app-vim/salt-vim ) + zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + ${RDEPEND} + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/mako[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] + dev-python/passlib + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + >=dev-python/pytest-salt-factories-1.0.0_rc13[${PYTHON_USEDEP}] + dev-python/pytest-tempdir[${PYTHON_USEDEP}] + dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] + dev-python/pytest-subtests[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/libcloud[${PYTHON_USEDEP}] + net-dns/bind-tools + >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}] + !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] ) + )" + +DOCS=( README.rst AUTHORS ) + +REQUIRED_USE="|| ( raet zeromq ) + test? ( cheetah genshi )" +RESTRICT="!test? ( test ) x86? ( test )" + +PATCHES=( + "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" + "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" + "${FILESDIR}/salt-3002-tests.patch" + "${FILESDIR}/salt-3003.1-tests.patch" + "${FILESDIR}/salt-3004.2-jinja-3.patch" + "${FILESDIR}/salt-3004.1-tests.patch" + "${FILESDIR}/salt-3004.1-relax-pyzmq-dep.patch" + "${FILESDIR}/salt-3004.1-py310.patch" + "${FILESDIR}/salt-3004.2-importlib.patch" + "${FILESDIR}/salt-3004.2-pyzmq-23.patch" +) + +python_prepare_all() { + # remove tests with external dependencies that may not be available, and + # tests that don't work in sandbox + rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die + rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die + rm tests/unit/states/test_boto_vpc.py || die + rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die + rm tests/pytests/functional/transport/server/test_req_channel.py || die + + # tests that require network access + rm tests/unit/{states,modules}/test_zcbuildout.py || die + rm -r tests/integration/cloud || die + rm -r tests/kitchen/tests/wordpress/tests || die + rm tests/kitchen/test_kitchen.py || die + rm tests/unit/modules/test_network.py || die + rm tests/pytests/functional/modules/test_pip.py || die + rm tests/pytests/unit/client/ssh/test_ssh.py || die + + # tests require root access + rm tests/integration/pillar/test_git_pillar.py || die + rm tests/integration/states/test_supervisord.py || die + + # make sure pkg_resources doesn't bomb because pycrypto isn't installed + find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die + # pycryptodome rather than pycryptodomex + find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die + + distutils-r1_python_prepare_all +} + +python_prepare() { + einfo "Fixing collections.abc warnings for ${EPYTHON}" + local abc + abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die + find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die + + # removes contextvars, see bug: https://bugs.gentoo.org/799431 + sed -i '/^contextvars/d' requirements/base.txt || die +} + +python_install_all() { + local svc + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for svc in minion master syndic api; do + newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} + newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} + systemd_dounit "${FILESDIR}"/salt-${svc}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +python_test() { + # testsuite likes lots of files + ulimit -n 4096 || die + + # ${T} is too long a path for the tests to work + local TMPDIR + TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" + ( + export TMPDIR + cleanup() { rm -rf "${TMPDIR}" || die; } + + trap cleanup EXIT + + addwrite "${TMPDIR}" + + USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ + "${EPYTHON}" -m pytest -vv \ + || die "testing failed with ${EPYTHON}" + ) +} + +pkg_postinst() { + if use python_targets_python3_8; then + if use nova; then + ewarn "Salt's nova functionality will not work with python3.8 since" + ewarn "dev-python/python-novaclient does not support it yet" + fi + if use neutron; then + ewarn "Salt's neutron functionality will not work with python3.8 since" + ewarn "dev-python/python-neutronclient does not support it yet" + fi + if use libvirt; then + ewarn "Salt's libvirt functionality will not work with python3.8 since" + ewarn "dev-python/libvirt-python does not support it yet" + fi + fi +} diff --git a/app-admin/salt/salt-3005-r1.ebuild b/app-admin/salt/salt-3005-r1.ebuild new file mode 100644 index 000000000000..56568c4de1e6 --- /dev/null +++ b/app-admin/salt/salt-3005-r1.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..10} ) + +inherit systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://www.saltstack.com/resources/community/ + https://github.com/saltstack" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE=" + cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako + mongodb neutron nova openssl portage profile redis selinux test raet + +zeromq vim-syntax +" + +RDEPEND=" + sys-apps/pciutils + >=dev-python/distro-1.5[${PYTHON_USEDEP}] + >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}] + dev-python/libnacl[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}] + >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + dev-python/watchdog[${PYTHON_USEDEP}] + =dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] + ) + mako? ( dev-python/mako[${PYTHON_USEDEP}] ) + ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) + libvirt? ( + dev-python/libvirt-python[${PYTHON_USEDEP}] + ) + openssl? ( + dev-libs/openssl:0=[-bindist(-)] + dev-python/pyopenssl[${PYTHON_USEDEP}] + ) + raet? ( + >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] + >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] + >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] + ) + cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) + cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] ) + genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) + keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + nova? ( + >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] + ) + neutron? ( + >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] + ) + gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) + vim-syntax? ( app-vim/salt-vim ) + zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + ${RDEPEND} + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + dev-python/certifi[${PYTHON_USEDEP}] + dev-python/cherrypy[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/mako[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + >=dev-python/moto-2.0.0[${PYTHON_USEDEP}] + dev-python/passlib + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + >=dev-python/pytest-7.0.1[${PYTHON_USEDEP}] + >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}] + dev-python/pytest-tempdir[${PYTHON_USEDEP}] + dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] + dev-python/pytest-subtests[${PYTHON_USEDEP}] + dev-python/pytest-shell-utilities[${PYTHON_USEDEP}] + dev-python/pytest-skip-markers[${PYTHON_USEDEP}] + dev-python/pytest-system-statistics[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/libcloud[${PYTHON_USEDEP}] + net-dns/bind-tools + >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}] + dev-util/yamllint[${PYTHON_USEDEP}] + !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] ) + ) +" + +DOCS=( README.rst AUTHORS ) + +REQUIRED_USE="|| ( raet zeromq ) + test? ( cheetah genshi )" +RESTRICT="!test? ( test ) x86? ( test )" + +PATCHES=( + "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" + "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" + "${FILESDIR}/salt-3002-tests.patch" + "${FILESDIR}/salt-3003.1-tests.patch" + "${FILESDIR}/salt-3005-relax-pyzmq-dep.patch" + "${FILESDIR}/salt-3005-tests.patch" +) + +python_prepare_all() { + # remove tests with external dependencies that may not be available, and + # tests that don't work in sandbox + rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die + rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die + rm tests/unit/states/test_boto_vpc.py || die + rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die + rm tests/pytests/functional/transport/server/test_req_channel.py || die + rm tests/pytests/functional/utils/test_async_event_publisher.py || die + rm tests/pytests/functional/runners/test_winrepo.py || die + + # tests that require network access + rm tests/unit/{states,modules}/test_zcbuildout.py || die + rm -r tests/integration/cloud || die + rm -r tests/kitchen/tests/wordpress/tests || die + rm tests/kitchen/test_kitchen.py || die + rm tests/unit/modules/test_network.py || die + rm tests/pytests/functional/modules/test_pip.py || die + rm tests/pytests/unit/client/ssh/test_ssh.py || die + rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die + + # tests require root access + rm tests/integration/pillar/test_git_pillar.py || die + rm tests/integration/states/test_supervisord.py || die + + # make sure pkg_resources doesn't bomb because pycrypto isn't installed + find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die + # pycryptodome rather than pycryptodomex + find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die + + distutils-r1_python_prepare_all +} + +python_prepare() { + einfo "Fixing collections.abc warnings for ${EPYTHON}" + local abc + abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die + find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die + + # removes contextvars, see bug: https://bugs.gentoo.org/799431 + sed -i '/^contextvars/d' requirements/base.txt || die +} + +python_install_all() { + local svc + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for svc in minion master syndic api; do + newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} + newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} + systemd_dounit "${FILESDIR}"/salt-${svc}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +python_test() { + # testsuite likes lots of files + ulimit -n 4096 || die + + # ${T} is too long a path for the tests to work + local TMPDIR + TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" + ( + export TMPDIR + cleanup() { rm -rf "${TMPDIR}" || die; } + + trap cleanup EXIT + + addwrite "${TMPDIR}" + + USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ + "${EPYTHON}" -m pytest -vv \ + || die "testing failed with ${EPYTHON}" + ) +} diff --git a/app-admin/salt/salt-3005.1.ebuild b/app-admin/salt/salt-3005.1.ebuild new file mode 100644 index 000000000000..f5eeccf44bb3 --- /dev/null +++ b/app-admin/salt/salt-3005.1.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{8..10} ) + +DISTUTILS_USE_PEP517=setuptools +inherit systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://www.saltstack.com/resources/community/ + https://github.com/saltstack" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" + EGIT_BRANCH="develop" + SRC_URI="" +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE=" + cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako + mongodb neutron nova openssl portage profile redis selinux test raet + +zeromq vim-syntax +" + +RDEPEND=" + sys-apps/pciutils + >=dev-python/distro-1.5[${PYTHON_USEDEP}] + >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}] + dev-python/jmespath[${PYTHON_USEDEP}] + dev-python/libnacl[${PYTHON_USEDEP}] + >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}] + >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}] + >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/tomli[${PYTHON_USEDEP}] + dev-python/watchdog[${PYTHON_USEDEP}] + libcloud? ( + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/aiosignal[${PYTHON_USEDEP}] + dev-python/async-timeout[${PYTHON_USEDEP}] + >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] + ) + mako? ( dev-python/mako[${PYTHON_USEDEP}] ) + ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) + libvirt? ( + dev-python/libvirt-python[${PYTHON_USEDEP}] + ) + openssl? ( + dev-libs/openssl:0=[-bindist(-)] + dev-python/pyopenssl[${PYTHON_USEDEP}] + ) + raet? ( + >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] + >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] + >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] + ) + cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) + cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] ) + genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) + portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) + keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + nova? ( + >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] + ) + neutron? ( + >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] + ) + gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) + profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) + vim-syntax? ( app-vim/salt-vim ) + zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + ${RDEPEND} + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + dev-python/certifi[${PYTHON_USEDEP}] + dev-python/cherrypy[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/mako[${PYTHON_USEDEP}] + >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] + >=dev-python/moto-2.0.0[${PYTHON_USEDEP}] + dev-python/passlib + dev-python/pip[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + >=dev-python/pytest-7.0.1[${PYTHON_USEDEP}] + >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}] + dev-python/pytest-tempdir[${PYTHON_USEDEP}] + dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] + dev-python/pytest-subtests[${PYTHON_USEDEP}] + dev-python/pytest-shell-utilities[${PYTHON_USEDEP}] + dev-python/pytest-skip-markers[${PYTHON_USEDEP}] + dev-python/pytest-system-statistics[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/libcloud[${PYTHON_USEDEP}] + net-dns/bind-tools + >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}] + dev-util/yamllint[${PYTHON_USEDEP}] + !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] ) + ) +" + +DOCS=( README.rst AUTHORS ) + +REQUIRED_USE="|| ( raet zeromq ) + test? ( cheetah genshi )" +RESTRICT="!test? ( test ) x86? ( test )" + +PATCHES=( + "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" + "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" + "${FILESDIR}/salt-3002-tests.patch" + "${FILESDIR}/salt-3003.1-tests.patch" + "${FILESDIR}/salt-3005-relax-pyzmq-dep.patch" + "${FILESDIR}/salt-3005-tests.patch" + "${FILESDIR}/salt-3005.1-no-entry-points.patch" + "${FILESDIR}/salt-3005.1-importlib-metadata-5.patch" + "${FILESDIR}/salt-3005.1-tests.patch" +) + +python_prepare_all() { + # remove tests with external dependencies that may not be available, and + # tests that don't work in sandbox + rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die + rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die + rm tests/unit/states/test_boto_vpc.py || die + rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die + rm tests/pytests/functional/transport/server/test_req_channel.py || die + rm tests/pytests/functional/utils/test_async_event_publisher.py || die + rm tests/pytests/functional/runners/test_winrepo.py || die + + # tests that require network access + rm tests/unit/{states,modules}/test_zcbuildout.py || die + rm -r tests/integration/cloud || die + rm -r tests/kitchen/tests/wordpress/tests || die + rm tests/kitchen/test_kitchen.py || die + rm tests/unit/modules/test_network.py || die + rm tests/pytests/functional/modules/test_pip.py || die + rm tests/pytests/unit/client/ssh/test_ssh.py || die + rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die + + # tests require root access + rm tests/integration/pillar/test_git_pillar.py || die + rm tests/integration/states/test_supervisord.py || die + + # removes contextvars, see bug: https://bugs.gentoo.org/799431 + sed -i '/^contextvars/d' requirements/base.txt || die + + # make sure pkg_resources doesn't bomb because pycrypto isn't installed + find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die + # pycryptodome rather than pycryptodomex + find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die + + distutils-r1_python_prepare_all +} + +python_install_all() { + local svc + USE_SETUPTOOLS=1 distutils-r1_python_install_all + + for svc in minion master syndic api; do + newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} + newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} + systemd_dounit "${FILESDIR}"/salt-${svc}.service + done + + insinto /etc/${PN} + doins -r conf/* +} + +python_test() { + # testsuite likes lots of files + ulimit -n 4096 || die + + local -a disable_tests=( + # doesn't like the distutils warning + batch_retcode + multiple_modules_in_batch + # hangs indefinitely + master_type_disable + # needs root + runas_env_sudo_group + # don't like sandbox + split_multibyte_characters_{shiftjis,unicode} + # doesn't like sandbox env + log_sanitize + ) + local textexpr + testexpr=$(printf 'not %s and ' "${disable_tests[@]}") + + # ${T} is too long a path for the tests to work + local TMPDIR + TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" || die + ( + export TMPDIR + cleanup() { rm -rf "${TMPDIR}" || die; } + + trap cleanup EXIT + + addwrite "${TMPDIR}" + + USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ + "${EPYTHON}" -m pytest -vv -k "${testexpr%and }" \ + || die "testing failed with ${EPYTHON}" + ) +} diff --git a/app-admin/salt/salt-3005.ebuild b/app-admin/salt/salt-3005.ebuild deleted file mode 100644 index 9d6aa316cc1f..000000000000 --- a/app-admin/salt/salt-3005.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) - -inherit systemd distutils-r1 - -DESCRIPTION="Salt is a remote execution and configuration manager" -HOMEPAGE="https://www.saltstack.com/resources/community/ - https://github.com/saltstack" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git" - EGIT_BRANCH="develop" - SRC_URI="" -else - SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -fi - -LICENSE="Apache-2.0" -SLOT="0" -IUSE=" - cheetah cherrypy ldap libcloud libvirt genshi gnupg keyring mako - mongodb neutron nova openssl portage profile redis selinux test raet - +zeromq vim-syntax -" - -RDEPEND=" - sys-apps/pciutils - >=dev-python/distro-1.5[${PYTHON_USEDEP}] - >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}] - dev-python/libnacl[${PYTHON_USEDEP}] - >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}] - >=dev-python/psutil-5.0.0[${PYTHON_USEDEP}] - >=dev-python/pycryptodome-3.9.8[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}] - >=dev-python/requests-1.0.0[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/toml-0.10.2[${PYTHON_USEDEP}] - dev-python/watchdog[${PYTHON_USEDEP}] - libcloud? ( - dev-python/aiohttp[${PYTHON_USEDEP}] - dev-python/aiosignal[${PYTHON_USEDEP}] - dev-python/async-timeout[${PYTHON_USEDEP}] - >=dev-python/libcloud-2.5.0[${PYTHON_USEDEP}] - ) - mako? ( dev-python/mako[${PYTHON_USEDEP}] ) - ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] ) - libvirt? ( - dev-python/libvirt-python[${PYTHON_USEDEP}] - ) - openssl? ( - dev-libs/openssl:0=[-bindist(-)] - dev-python/pyopenssl[${PYTHON_USEDEP}] - ) - raet? ( - >=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}] - >=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}] - >=dev-python/raet-0.6.0[${PYTHON_USEDEP}] - ) - cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] ) - cheetah? ( >=dev-python/cheetah3-3.2.2[${PYTHON_USEDEP}] ) - genshi? ( dev-python/genshi[${PYTHON_USEDEP}] ) - mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) - portage? ( sys-apps/portage[${PYTHON_USEDEP}] ) - keyring? ( dev-python/keyring[${PYTHON_USEDEP}] ) - redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) - selinux? ( sec-policy/selinux-salt ) - nova? ( - >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] - ) - neutron? ( - >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] - ) - gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] ) - profile? ( dev-python/yappi[${PYTHON_USEDEP}] ) - vim-syntax? ( app-vim/salt-vim ) - zeromq? ( >=dev-python/pyzmq-19.0.0[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - ${RDEPEND} - >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/cherrypy[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] - dev-python/mako[${PYTHON_USEDEP}] - >=dev-python/mock-2.0.0[${PYTHON_USEDEP}] - >=dev-python/moto-2.0.0[${PYTHON_USEDEP}] - dev-python/passlib - dev-python/pip[${PYTHON_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - >=dev-python/pytest-7.0.1[${PYTHON_USEDEP}] - >=dev-python/pytest-salt-factories-1.0.0_rc17[${PYTHON_USEDEP}] - dev-python/pytest-tempdir[${PYTHON_USEDEP}] - dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/pytest-shell-utilities[${PYTHON_USEDEP}] - dev-python/pytest-skip-markers[${PYTHON_USEDEP}] - dev-python/pytest-system-statistics[${PYTHON_USEDEP}] - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/libcloud[${PYTHON_USEDEP}] - net-dns/bind-tools - >=dev-python/virtualenv-20.3.0[${PYTHON_USEDEP}] - dev-util/yamllint[${PYTHON_USEDEP}] - !x86? ( >=dev-python/boto3-1.17.67[${PYTHON_USEDEP}] ) - ) -" - -DOCS=( README.rst AUTHORS ) - -REQUIRED_USE="|| ( raet zeromq ) - test? ( cheetah genshi )" -RESTRICT="!test? ( test ) x86? ( test )" - -PATCHES=( - "${FILESDIR}/salt-3003-skip-tests-that-oom-machine.patch" - "${FILESDIR}/salt-3003-gentoolkit-revdep.patch" - "${FILESDIR}/salt-3002-tests.patch" - "${FILESDIR}/salt-3003.1-tests.patch" - "${FILESDIR}/salt-3005-relax-pyzmq-dep.patch" - "${FILESDIR}/salt-3005-tests.patch" -) - -python_prepare_all() { - # remove tests with external dependencies that may not be available, and - # tests that don't work in sandbox - rm tests/unit/{test_{zypp_plugins,module_names},utils/test_extend}.py || die - rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die - rm tests/unit/states/test_boto_vpc.py || die - rm tests/support/gitfs.py tests/unit/runners/test_git_pillar.py || die - rm tests/pytests/functional/transport/server/test_req_channel.py || die - rm tests/pytests/functional/utils/test_async_event_publisher.py || die - rm tests/pytests/functional/runners/test_winrepo.py || die - - # tests that require network access - rm tests/unit/{states,modules}/test_zcbuildout.py || die - rm -r tests/integration/cloud || die - rm -r tests/kitchen/tests/wordpress/tests || die - rm tests/kitchen/test_kitchen.py || die - rm tests/unit/modules/test_network.py || die - rm tests/pytests/functional/modules/test_pip.py || die - rm tests/pytests/unit/client/ssh/test_ssh.py || die - rm -r tests/pytests/{integration,functional}/netapi tests/integration/netapi || die - - # tests require root access - rm tests/integration/pillar/test_git_pillar.py || die - rm tests/integration/states/test_supervisord.py || die - - # make sure pkg_resources doesn't bomb because pycrypto isn't installed - find "${S}" -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d ; /pycryptodomex/ d' -i || die - # pycryptodome rather than pycryptodomex - find "${S}" -name '*.py' -print0 | xargs -0 -- sed -i -e 's:Cryptodome:Crypto:g' -- || die - - distutils-r1_python_prepare_all -} - -python_prepare() { - einfo "Fixing collections.abc warnings for ${EPYTHON}" - local abc - abc="$("${EPYTHON}" -c 'import collections.abc; print("|".join((c for c in dir(collections.abc) if not c.startswith("_"))))')" || die - find -name '*.py' -type f -print0 | xargs -0 sed -r -e "s:collections\\.(${abc}):collections.abc.\\1:g" -i || die - - # removes contextvars, see bug: https://bugs.gentoo.org/799431 - sed -i '/^contextvars/d' requirements/base.txt || die -} - -python_install_all() { - local svc - USE_SETUPTOOLS=1 distutils-r1_python_install_all - - for svc in minion master syndic api; do - newinitd "${FILESDIR}"/${svc}-initd-5 salt-${svc} - newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc} - systemd_dounit "${FILESDIR}"/salt-${svc}.service - done - - insinto /etc/${PN} - doins -r conf/* -} - -python_test() { - # testsuite likes lots of files - ulimit -n 4096 || die - - # ${T} is too long a path for the tests to work - local TMPDIR - TMPDIR="$(mktemp --directory --tmpdir=/tmp ${PN}-XXXX)" - ( - export TMPDIR - cleanup() { rm -rf "${TMPDIR}" || die; } - - trap cleanup EXIT - - addwrite "${TMPDIR}" - - USE_SETUPTOOLS=1 NO_INTERNET=1 SHELL="/bin/bash" \ - "${EPYTHON}" -m pytest -vv \ - || die "testing failed with ${EPYTHON}" - ) -} -- cgit v1.2.3