summaryrefslogtreecommitdiff
path: root/app-admin/salt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-05-14 11:09:11 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-05-14 11:09:11 +0100
commitdeba8115d2c2af26df42966b91ef04ff4dd79cde (patch)
tree9a48f42594e1a9e6b2020d5535a784314434d7a7 /app-admin/salt
parent38423c67c8a23f6a1bc42038193182e2da3116eb (diff)
gentoo resync : 14.05.2020
Diffstat (limited to 'app-admin/salt')
-rw-r--r--app-admin/salt/Manifest25
-rw-r--r--app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch79
-rw-r--r--app-admin/salt/files/salt-2018.3.4-tests.patch76
-rw-r--r--app-admin/salt/files/salt-2019.2.0-newer-deps.patch210
-rw-r--r--app-admin/salt/files/salt-3000.1-tests.patch58
-rw-r--r--app-admin/salt/files/salt-3000.2-py38-abc.patch79
-rw-r--r--app-admin/salt/files/salt-3000.2-py38-logwarn.patch116
-rw-r--r--app-admin/salt/files/salt-3000.2-py38.patch60
-rw-r--r--app-admin/salt/files/salt-3000.2-tests.patch18
-rw-r--r--app-admin/salt/metadata.xml2
-rw-r--r--app-admin/salt/salt-2018.3.4.ebuild147
-rw-r--r--app-admin/salt/salt-2019.2.5.ebuild (renamed from app-admin/salt/salt-2019.2.3.ebuild)45
-rw-r--r--app-admin/salt/salt-3000.2-r4.ebuild (renamed from app-admin/salt/salt-2019.2.0-r1.ebuild)131
-rw-r--r--app-admin/salt/salt-3000.3.ebuild (renamed from app-admin/salt/salt-2019.2.2.ebuild)127
14 files changed, 540 insertions, 633 deletions
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest
index d24d09176a4d..065dbd702e48 100644
--- a/app-admin/salt/Manifest
+++ b/app-admin/salt/Manifest
@@ -5,25 +5,26 @@ AUX master-initd-4 311 BLAKE2B 302e71b0328d47addd1508e1992ee56c719463d4b99af37b6
AUX minion-confd-1 188 BLAKE2B ad20094c30f9aa573397d347f9fb11acafba2f724b6c836d7ec57f10d4182c300a4b0ec572b5f3301174febdfc69c30752c3b0eabdfdf9f4963b03531db23523 SHA512 0051e13351cef8db81dc075a194bb384723f07d5591b5b4d3f3adf4180afaf7beced470ab79ceca9d1ec0dae62dbd72084eb76af009fc78411a011050a94a2ed
AUX minion-initd-4 317 BLAKE2B 4c207bd26a72d5dded38e40f7869f46263272a841b978f138248d016a06e837c3aebebabd15314e3896b404058c3f5dd5e6a1cca48450b07b88b6edef6a8d7d2 SHA512 80790ed1b5f86b713ca6384d60253676b16b10c122810ed07b7119c3860bedfe40102f6b7de86d832f084d84f87bf9405ec282629f981767a534d2a53144845f
AUX salt-2017.7.0-dont-realpath-tmpdir.patch 834 BLAKE2B e70496f3ab18b954e7cacd29dbdee6ccbe0a07f139903360312db247926867a78513cd9022f492ce370eeafcc81bc4db545359036f8f5b0d2d64d3c5bb8aefc0 SHA512 33b69954e8112c0f76654d507df74a4cdd37e8227848f2ce0652b3ecee8b847253ccad33cada0e3dd1471c54c780dcc12d5e546c4ec43868511b95b0c7f71e17
-AUX salt-2018.3.2-skip-zeromq-test-that-hangs.patch 2820 BLAKE2B e531bddf576322f8417e7e362bfed7aa21ce8f1edc1702074f250efc9118c755664bd2976282399b725c1f56362e37fa07064b9e4ac2a72c413a56b13d325cdd SHA512 72cbc1e7c8d59883bcbe8130fdbae6e1ccecfabe74069a7389e63f797609930036c593204ab441cff92933d3d35a24feb7db0dc76804d76608190e93a8bc6ed4
-AUX salt-2018.3.4-tests.patch 2944 BLAKE2B f41c1e53297e1828c840d0ff22a49e2d47b40932615006f1fcebf6732faf0fb79a3149cc0c1be1d6daae60ce6f93e338e7eddd7cb80e076c1fdb68d560928050 SHA512 6ab26d0ae06adeb590b0b4a77fc3d0273f3624a1e8adacbaffe1ec3ae7d1066e7be5116dcde3c4118f7008a940995665777eedf15dd17c42825d08f22a33a741
-AUX salt-2019.2.0-newer-deps.patch 9260 BLAKE2B 02234367c4de7586b72502126fec7392dca96a284058b6c21733d21e5a61e12e81da054454aae20b290b9179fc7790e74ac111c7b1b638b36a935806e367902f SHA512 1e999b302323c4880103f8e68aa4c471c280484c91af0c4ac8ae85270553d178bb79a4a7d33fcc4b3a0ba2a6d95a8199d411b15e35b87f33004821dea4a07360
AUX salt-2019.2.0-skip-tests-that-oom-machine.patch 739 BLAKE2B c0e1b18c528ddcdc19e93061112d2c42aeca96f9091218e7ad6b4eadf11255079cecd6b9b9def576c663b4ba794d151db8fc32336b1c29c3da8e9c18c09582f3 SHA512 0bd8fc2ab73be8ffc9fdda65a60c7306dbfa9f76d874994ba09db7ef71678fca80c8fde5963d22b5bbbe3b933140a56f2173f4c109b47dd9e9c3c9a70062b0e3
AUX salt-2019.2.0-tests.patch 2793 BLAKE2B c609564673db7388a876902deb57f0aec70531ea26536954efdabdd8849eee314e840cc299f6e1fbd6a18740847a9ee8d217426adee38d36ae569f6e2e9c85ae SHA512 eb1d61f5410b36d0749cce5fc7dc08a8950061f7fb3497a122702eba7638ec3e635750b25ad5cacc4839d4828f13785ea122df43e8aff7635d79283be0392f02
AUX salt-2019.2.2-newer-deps.patch 6635 BLAKE2B 377b06231914bbbfc0ca279bb169e0167f5dec0d421e221f7441a237c11d9670e5fd378d294c02fe16bd5989f2cb0db9864eb2270dbe09755475e9e6fcc059de SHA512 24faf550a0de753eb605df8fe658b71972048be781bb77df0c11f3ed7eda6b423897d1f88d84dad3f5d9e8d3db0784cbfe8d1a017c950661de56deb7edb23eaf
AUX salt-2019.2.2-workaround-broken-mock-on-py2.patch 1224 BLAKE2B ea81b3a699220fd0084eb1f259e59d28c75b5bafb9ce0988b987f373265f58d8184a4703c5b2f36fddf7dad5e7be666280c1b4f5c4d6d11ce71c636cbc380b94 SHA512 2078c489080aa0731d0304835fbf9fdfa88bba4fca4fa8d19d708927e1583d3e3a17d49fbb233b6a41d079a921eb2cdf2f7fa9bd606005ca7259548cff7f66ae
+AUX salt-3000.1-tests.patch 2390 BLAKE2B f46b8a4aa2c57307385d6e56b54b54ebeb18bfa298b66804a64c7e64608fb07a8fea8eabeebb8ba1772936cf50541d6bea81eefcf9617ccb8074b534ac0ec1af SHA512 5e3a212995f8f4fae4e3c4c51519fd2e7bfa20b39492485e10788b3cf72ff9344681fdff4a2d6364e7e4b9c9554fd3efffb9d197aad445423950ce72c6455b2b
+AUX salt-3000.2-py38-abc.patch 2641 BLAKE2B 054fae62aee23528beaad9e4c9c8ac72c1f9a208e2b5d2d17af08ef0e810e7b2ba93522c110bf052a4d3d8831aa772eb3ab7fcb378034634a4b46f10af5c5c20 SHA512 b4feaa17cdbbb9cdf4ec7759b9fa201d731680939e199edd2e683ca6dc5b2cf99aa6fa8f87517dfbd5b6af2ccafbdb50cf9744345149131941f1bd107145cf69
+AUX salt-3000.2-py38-logwarn.patch 4875 BLAKE2B f0ced7bad98983296561d223405d512077c0b70de12a8af613d4069842d3cb6167dd0da49c30fc881e985594f755ce0b063df311bbe84ae9cfc37896670aca52 SHA512 94ca1f73cbeb9d3ab93cb1c7afd4abce5318022a267342e4b348066c5508016891a3c05bd0ea867ae868794684bdc1bfd3e7779c4ea2a9cd60626d6513f8ba4e
+AUX salt-3000.2-py38.patch 1739 BLAKE2B 49591845a247f3e9fc092229950518b6ccb10035bc961a6193358a4be5b84b1e3d6fae69a5763b85966b1e115e8cf38378e2e88c66c3e10699ef47587aa3e7d7 SHA512 4a537c0e45c3287ddc71b91637b4b7f1d54e0dd4e524e91f39cabad08dda14ce5d2467c1f87bc81a098c36f0da1312b8e627189e0574d0ccecab064cba19acb9
+AUX salt-3000.2-tests.patch 587 BLAKE2B 5eb647ffd159bc56ce823c80fb384e7cd33e79c46baa3e607a772c6de1e8019c53908a2eb5111dd770b638c8088b76bee6c17f8cea9e17f3f7b8d3ab93568839 SHA512 ef6c1cd995a03d49ac2aaf65b516f0dc1ac9764e32392c67febdfd31d23ca178bb4f29a903b4d67f8792fe0fb903c03596cbfd1c1223e993189de890aa41b0c3
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
AUX salt-syndic.service 169 BLAKE2B 0d00f20b4663804eaa4b6a1a1b32ed87b04d1f4df6a8e8e0b2a0e3d17f71e1bb53f71f6168446aaf3765692cd540217c4cdf5ab8dd9cb7032801aa798d8a9bc3 SHA512 b45509a22a18f573726a868fda1591eaf42ef44220960dda698274ba8ff1db8cdc302605133ab61b188e15017ba15c5f409f3ee64e026b635ac359eea7aad7d0
AUX syndic-confd-1 188 BLAKE2B ad20094c30f9aa573397d347f9fb11acafba2f724b6c836d7ec57f10d4182c300a4b0ec572b5f3301174febdfc69c30752c3b0eabdfdf9f4963b03531db23523 SHA512 0051e13351cef8db81dc075a194bb384723f07d5591b5b4d3f3adf4180afaf7beced470ab79ceca9d1ec0dae62dbd72084eb76af009fc78411a011050a94a2ed
AUX syndic-initd-4 311 BLAKE2B aab3b44f65dedb30ea4eb573872c0253e4d7b438a533f22a4e887c1e6487682efce7f5b75d3bcf366ef706a9fb1578dce537ac5b50324239378cecbd0715ad5d SHA512 69cc10fa7d9f0f4a68d223272c08ee33af242a50eb9bbea919d61f6cb5baf1ce986b07d69fc0e47e2f6dffc0a11100c3bc0d836d2938c46aa364beecb47f07ef
-DIST salt-2018.3.4.tar.gz 14404085 BLAKE2B 932b30b1ba60aefd3a6874a8ebe4cb6c469d82e31f6acdbe8a5641d09e3316796b5403ef803a355cec6255c1aede8bac3b66af179bd1bbaa5418c7076229cef9 SHA512 f17e06fdbf4741f231d9e769be57de4f6079e9283881b4bafa0d23928d7626a1f9c02b9f49c654b29c3e6ee8ed3d3ddf42c21baecef158ad63a97dc87895b21b
-DIST salt-2019.2.0.tar.gz 14952746 BLAKE2B aa3bba4b7d9548a8d333c242fc0265a743f56ff1a259da7c8618d37b3b022e12f09ac594a09f0ceec80fd9d3a6b6b9ec35b33e879b7a124e6612f2ec2a63a01c SHA512 de5a976213d011c230e423a172952effddb87168367958b8657eaaaf8fd2a8bec8471f547b6ff9e896a17064a13d387dbc12e12c605c8a241062e3238bd19eca
-DIST salt-2019.2.2.tar.gz 14420887 BLAKE2B 84e8a0aa72b88a66a1020b695849926669728ee02f8cb51a14853b5e9c2ab692fe65810367e5d53268f7b234c10911f16d063ce665b3761432ab1d9c0aa52d16 SHA512 2bbf9765384f1f6c2336a3f421298c8900cf459e6d1ebc7fb89284014ef8db9f5215a68de2bb06dfa3404983160a0c4c589ffa3dc046611dd5409bd502938677
-DIST salt-2019.2.3.tar.gz 14572686 BLAKE2B 770b815f43ca8651408c1c057377b02c8037e673584c719e0a9b5c56c13c8db2db0e2c8641a17323f2b890d4a69d1508b0090624c7067869d9fa84303c2f8585 SHA512 cd694ca19696a84e3370e39c61da180e508592253713d99dd6dd5342b57c2814fee22e46bade30d7604f5730d9e1a736e59c3a512161f744d3f097f74a2836c5
-EBUILD salt-2018.3.4.ebuild 4666 BLAKE2B 449bc2fdf71f45ac66dc62d03b4353f9fe316267017b47669dc4086af4ecdb975f45054fc75979cb1bf42c56143ece607d61747fc94817456c2484b428f6dfd0 SHA512 7845ef6bb5558b83b1ea26f8206cfad90ecd2be4fdc926634a0126459e2fb4afbdac2a5b0554114bb252b598b6c83402346a90433980461639b3f0a2a7b97cd0
-EBUILD salt-2019.2.0-r1.ebuild 4840 BLAKE2B 86f8e060d7cc1b8ef537bdd4b2419081150ac3809302899ac074d08dc0af4b8e3ca37249bac4c07a7e510de7505fe13ed20632a3f458a0d18c72fc5b63dd9c7f SHA512 4fcdfdda9e31f9f873db96ac2bcba2b5ae6fb841e796a683adc249b4994930149faab8382b411e17348248b403ed116a3ad3343a21271dc17a7f1d41340cb891
-EBUILD salt-2019.2.2.ebuild 4831 BLAKE2B 511dd54c169e63b4a8daf0f94bffb522437f05cbd2b2197b7bae4964a3fcdba6f530adaa09b7e819dcb7fcbd85610d59d1dec9d682e410cac954bffe86716932 SHA512 61515279f77b9be51e4bdc3bd69884a3a6d4d23cd9b9b68f34ff31f214ed25e14f18528298a6d126f0198bc337fac5cf9d4da9fffb7c0d4462a3f1ac7cdad7eb
-EBUILD salt-2019.2.3.ebuild 4831 BLAKE2B 511dd54c169e63b4a8daf0f94bffb522437f05cbd2b2197b7bae4964a3fcdba6f530adaa09b7e819dcb7fcbd85610d59d1dec9d682e410cac954bffe86716932 SHA512 61515279f77b9be51e4bdc3bd69884a3a6d4d23cd9b9b68f34ff31f214ed25e14f18528298a6d126f0198bc337fac5cf9d4da9fffb7c0d4462a3f1ac7cdad7eb
-MISC metadata.xml 2200 BLAKE2B eab8763ef66f507d2c22280d0539ac86b6aacc150936d8f79acf9618ce377b16c5fa50217937ed64bc4e54911e59ad00e56c28e3d7d1bd14e60e6e2b1e9a80a5 SHA512 f2e9292a4e554ccf37205171629a001e740731b2929d20fa68c4e9736939684f072e01526cec30d201aab8d211d45444415acb3268ea5763dbc3fcc933c737cc
+DIST salt-2019.2.5.tar.gz 14574347 BLAKE2B d456dd493e79640260f3ad3c964fdaaa26dd7bdc8d5676bd70f9dd143647c62b63aba2052e7f223041b7dd6859cd923398ad22f9d2d1302b8f18b4c69fe7aafb SHA512 95445dff498bea2bc8e3f32749131302481166c8591f11a5f76a7786c3286cb608049a743bc4878c8fbd4e4d22d4949f243f57f1e53725e7076d39aea5ceea20
+DIST salt-3000.2-py38-misc.patch.gz 6250 BLAKE2B 68fff80a042e6bf208ea2d9692da7a7b1e29572f1ec3c850c14743bbf2821d231f933ec4e6d6eaad12acee0b7666888a37a72872b2b082c92d8db9de988fbbec SHA512 6d4a66323a423e630f7cc73b566ed96c452c8fc3d72c25a2dd86033c4774c1c8e8b8701e1d4ee92994d4148c398d704f419023e26d8b40c8fdd63f9d79d9d52f
+DIST salt-3000.2.tar.gz 15231513 BLAKE2B 2090d0f52f953a42f1685ad190750e9c76ad6e862a3272444fef063a7605f69a6c542f04165a41fb9cdaa126a878cc133d4857faa70edc5eac4bf49bdde937ab SHA512 88e8876ed8cd18e942c2194686cda68f40fa49e69e317ca488bf58e095bcf6cdf8771d93eba7960038941cc5863e13a4eea4dad5256c12da7cd8288a2c61f59d
+DIST salt-3000.3.tar.gz 15237557 BLAKE2B ab51e07f56f9e02c47da58fad95c9482ea70e0685996a78e34382eadb3a9a3dace63ef65d643a9de284ea00c34785eae631d033f32e00e59eb3639514459af33 SHA512 a4697da9a2f7d484b72145e8b83f6d9032369f87e2e7119a9d51f59b989488285406543f79142fc686c41c144f5878eefba37927137581c892c88f03fc3a8208
+EBUILD salt-2019.2.5.ebuild 4834 BLAKE2B 71c3b4a2e248f2ce8f3a6264a2a72b6dc2948d01194ab923128225db64edf2e2cf35bb28f4b0a172c4859e30f4dc10b3165af12f71d895f360d9ab94f1e2b926 SHA512 21b6984da017d69f5f25a322c6b64605ff8f57fc9f818c961a3ca7330930742117d97f8d8185262b75ba91df254eb2ef64192f74f3176433bbad9e9dcf6d4483
+EBUILD salt-3000.2-r4.ebuild 6322 BLAKE2B b87e6b61af4393ec76be147f60d8c20f5977efd90b9e3338deacc937b1f5fc2a62cadf5c15399bf9578174e7edf1d776804a8eb3a65a42f423ce9995a4fca957 SHA512 1476b8452edf8bdd5c17ec96caab5eaa03b7f313bf6c18525ea2d20791f79b19cfdb25f7ab091b294c966cd72f3f6ad7a2580f4376a6088688af86c359af38f2
+EBUILD salt-3000.3.ebuild 6323 BLAKE2B 8b051bae3bb397bb25bcfe341730b5c0670ca011fad15f268d9c9b33a27f9fc1c95cad659e797b1d5bca75ad9fd09d3667d7d2d7e43a1880955a70c4f40559d4 SHA512 76d5b24985a68a6c4f67c937a71c3bcbf89407ec9ceb0f40bc92cc8196d53830a3ac4000457dc2a5b9660d59a7d6fed79d646e521bcc6ddc9bb29b172eca130c
+MISC metadata.xml 2361 BLAKE2B 37b7fc2f2981e2f09ecb22804831dbbeaa03d74436df5fd34d65b241330ab760b3618b3e3f497ae81e91714c1b6a4913b1305e49ef157896ef1c1e1a309cae4f SHA512 703ccabd91e0ecb08190f8349ec3588e4effe3ef295ae4e05b1d077399cc4aa52fee5f6a533ad4d29f0cfeac8221878f63fbd2e5af8604ab37ec00a68c940ef5
diff --git a/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch b/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
deleted file mode 100644
index 7b94fafd447d..000000000000
--- a/app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/tests/unit/transport/test_zeromq.py b/tests/unit/transport/test_zeromq.py
-index ccb337462e..97d2962e5e 100644
---- a/tests/unit/transport/test_zeromq.py
-+++ b/tests/unit/transport/test_zeromq.py
-@@ -45,6 +45,10 @@ ON_SUSE = False
- if 'SuSE' in linux_distribution(full_distribution_name=False):
- ON_SUSE = True
-
-+ON_GENTOO = False
-+if 'Gentoo' in linux_distribution(full_distribution_name=False):
-+ ON_GENTOO = True
-+
-
- class BaseZMQReqCase(TestCase, AdaptedConfigurationTestCaseMixin):
- '''
-@@ -122,63 +126,6 @@ class BaseZMQReqCase(TestCase, AdaptedConfigurationTestCaseMixin):
- return payload, {'fun': 'send_clear'}
-
-
--class ClearReqTestCases(BaseZMQReqCase, ReqChannelMixin):
-- '''
-- Test all of the clear msg stuff
-- '''
-- def setUp(self):
-- self.channel = salt.transport.client.ReqChannel.factory(self.minion_config, crypt='clear')
--
-- def tearDown(self):
-- del self.channel
--
-- @classmethod
-- @tornado.gen.coroutine
-- def _handle_payload(cls, payload):
-- '''
-- TODO: something besides echo
-- '''
-- raise tornado.gen.Return((payload, {'fun': 'send_clear'}))
--
--
--@flaky
--@skipIf(ON_SUSE, 'Skipping until https://github.com/saltstack/salt/issues/32902 gets fixed')
--class AESReqTestCases(BaseZMQReqCase, ReqChannelMixin):
-- def setUp(self):
-- self.channel = salt.transport.client.ReqChannel.factory(self.minion_config)
--
-- def tearDown(self):
-- del self.channel
--
-- @classmethod
-- @tornado.gen.coroutine
-- def _handle_payload(cls, payload):
-- '''
-- TODO: something besides echo
-- '''
-- raise tornado.gen.Return((payload, {'fun': 'send'}))
--
-- # TODO: make failed returns have a specific framing so we can raise the same exception
-- # on encrypted channels
-- #
-- #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-- #
-- # WARNING: This test will fail randomly on any system with > 1 CPU core!!!
-- #
-- #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-- def test_badload(self):
-- '''
-- Test a variety of bad requests, make sure that we get some sort of error
-- '''
-- # TODO: This test should be re-enabled when Jenkins moves to C7.
-- # Once the version of salt-testing is increased to something newer than the September
-- # release of salt-testing, the @flaky decorator should be applied to this test.
-- msgs = ['', [], tuple()]
-- for msg in msgs:
-- with self.assertRaises(salt.exceptions.AuthenticationError):
-- ret = self.channel.send(msg, timeout=5)
--
--
- class BaseZMQPubCase(AsyncTestCase, AdaptedConfigurationTestCaseMixin):
- '''
- Test the req server/client pair
diff --git a/app-admin/salt/files/salt-2018.3.4-tests.patch b/app-admin/salt/files/salt-2018.3.4-tests.patch
deleted file mode 100644
index ac3dbb845348..000000000000
--- a/app-admin/salt/files/salt-2018.3.4-tests.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/tests/unit/grains/test_core.py b/tests/unit/grains/test_core.py
-index 3874b0001c..40304075eb 100644
---- a/tests/unit/grains/test_core.py
-+++ b/tests/unit/grains/test_core.py
-@@ -685,22 +685,6 @@ class CoreGrainsTestCase(TestCase, LoaderModuleMockMixin):
- 'Docker'
- )
-
-- @skipIf(salt.utils.platform.is_windows(), 'System is Windows')
-- def test_xen_virtual(self):
-- '''
-- Test if OS grains are parsed correctly in Ubuntu Xenial Xerus
-- '''
-- with patch.object(os.path, 'isfile', MagicMock(return_value=False)):
-- with patch.dict(core.__salt__, {'cmd.run': MagicMock(return_value='')}), \
-- patch.object(os.path,
-- 'isfile',
-- MagicMock(side_effect=lambda x: True if x == '/sys/bus/xen/drivers/xenconsole' else False)):
-- log.debug('Testing Xen')
-- self.assertEqual(
-- core._virtual({'kernel': 'Linux'}).get('virtual_subtype'),
-- 'Xen PV DomU'
-- )
--
- def _check_ipaddress(self, value, ip_v):
- '''
- check if ip address in a list is valid
-diff --git a/tests/unit/utils/test_asynchronous.py b/tests/unit/utils/test_asynchronous.py
-index 694a7aebfe..9e22c278e9 100644
---- a/tests/unit/utils/test_asynchronous.py
-+++ b/tests/unit/utils/test_asynchronous.py
-@@ -35,19 +35,6 @@ class HelperB(object):
-
-
- class TestSyncWrapper(AsyncTestCase):
-- @tornado.testing.gen_test
-- def test_helpers(self):
-- '''
-- Test that the helper classes do what we expect within a regular asynchronous env
-- '''
-- ha = HelperA()
-- ret = yield ha.sleep()
-- self.assertTrue(ret)
--
-- hb = HelperB()
-- ret = yield hb.sleep()
-- self.assertFalse(ret)
--
- def test_basic_wrap(self):
- '''
- Test that we can wrap an asynchronous caller.
-@@ -55,24 +42,3 @@ class TestSyncWrapper(AsyncTestCase):
- sync = asynchronous.SyncWrapper(HelperA)
- ret = sync.sleep()
- self.assertTrue(ret)
--
-- def test_double(self):
-- '''
-- Test when the asynchronous wrapper object itself creates a wrap of another thing
--
-- This works fine since the second wrap is based on the first's IOLoop so we
-- don't have to worry about complex start/stop mechanics
-- '''
-- sync = asynchronous.SyncWrapper(HelperB)
-- ret = sync.sleep()
-- self.assertFalse(ret)
--
-- def test_double_sameloop(self):
-- '''
-- Test asynchronous wrappers initiated from the same IOLoop, to ensure that
-- we don't wire up both to the same IOLoop (since it causes MANY problems).
-- '''
-- a = asynchronous.SyncWrapper(HelperA)
-- sync = asynchronous.SyncWrapper(HelperB, (a,))
-- ret = sync.sleep()
-- self.assertFalse(ret)
diff --git a/app-admin/salt/files/salt-2019.2.0-newer-deps.patch b/app-admin/salt/files/salt-2019.2.0-newer-deps.patch
deleted file mode 100644
index bdf95e210897..000000000000
--- a/app-admin/salt/files/salt-2019.2.0-newer-deps.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-diff --git a/salt/modules/dockercompose.py b/salt/modules/dockercompose.py
-index 61e937536c..0f37e0d43a 100644
---- a/salt/modules/dockercompose.py
-+++ b/salt/modules/dockercompose.py
-@@ -241,7 +241,7 @@ def __load_docker_compose(path):
- None, None)
- try:
- with salt.utils.files.fopen(file_path, 'r') as fl:
-- loaded = yaml.load(fl)
-+ loaded = yaml.safe_load(fl)
- except EnvironmentError:
- return None, __standardize_result(False,
- 'Could not read {0}'.format(file_path),
-@@ -371,7 +371,7 @@ def __load_compose_definitions(path, definition):
- None, None)
- else:
- try:
-- loaded_definition = yaml.load(definition)
-+ loaded_definition = yaml.safe_load(definition)
- except yaml.YAMLError as yerr:
- msg = 'Could not parse {0} {1}'.format(definition, yerr)
- return None, None, __standardize_result(False, msg,
-diff --git a/salt/serializers/yaml.py b/salt/serializers/yaml.py
-index c95b40e48f..2154e5dcab 100644
---- a/salt/serializers/yaml.py
-+++ b/salt/serializers/yaml.py
-@@ -72,6 +72,7 @@ def serialize(obj, **options):
- '''
-
- options.setdefault('Dumper', Dumper)
-+ options.setdefault('default_flow_style', None)
- try:
- response = yaml.dump(obj, **options)
- if response.endswith('\n...\n'):
-diff --git a/salt/serializers/yamlex.py b/salt/serializers/yamlex.py
-index 2e4ba6fb2b..e42634f580 100644
---- a/salt/serializers/yamlex.py
-+++ b/salt/serializers/yamlex.py
-@@ -182,6 +182,7 @@ def serialize(obj, **options):
- '''
-
- options.setdefault('Dumper', Dumper)
-+ options.setdefault('default_flow_style', None)
- try:
- response = yaml.dump(obj, **options)
- if response.endswith('\n...\n'):
-diff --git a/salt/utils/yamldumper.py b/salt/utils/yamldumper.py
-index 9892c87d23..3692ea324a 100644
---- a/salt/utils/yamldumper.py
-+++ b/salt/utils/yamldumper.py
-@@ -115,6 +115,7 @@ def dump(data, stream=None, **kwargs):
- '''
- if 'allow_unicode' not in kwargs:
- kwargs['allow_unicode'] = True
-+ kwargs.setdefault('default_flow_style', None)
- return yaml.dump(data, stream, **kwargs)
-
-
-@@ -126,4 +127,5 @@ def safe_dump(data, stream=None, **kwargs):
- '''
- if 'allow_unicode' not in kwargs:
- kwargs['allow_unicode'] = True
-+ kwargs.setdefault('default_flow_style', None)
- return yaml.dump(data, stream, Dumper=SafeOrderedDumper, **kwargs)
-diff --git a/tests/integration/utils/test_win_runas.py b/tests/integration/utils/test_win_runas.py
-index 3042a77991..d4057a4d03 100644
---- a/tests/integration/utils/test_win_runas.py
-+++ b/tests/integration/utils/test_win_runas.py
-@@ -539,7 +539,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 1, ret
-
- @with_system_user('test-runas', on_existing='delete', delete=True,
-@@ -560,7 +560,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 1, ret
-
- @with_system_user('test-runas-admin', on_existing='delete', delete=True,
-@@ -581,7 +581,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 0, ret
-
- @with_system_user('test-runas-admin', on_existing='delete', delete=True,
-@@ -602,7 +602,7 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 0, ret
-
- def test_runas_service_system_user(self):
-@@ -621,5 +621,5 @@ class RunAsTest(ModuleCase):
- win32serviceutil.StartService('test service')
- wait_for_service('test service')
- with salt.utils.files.fopen(RUNAS_OUT, 'r') as fp:
-- ret = yaml.load(fp)
-+ ret = yaml.safe_load(fp)
- assert ret['retcode'] == 0, ret
-diff --git a/tests/unit/serializers/test_serializers.py b/tests/unit/serializers/test_serializers.py
-index 3bf42b67d7..ea42d617d7 100644
---- a/tests/unit/serializers/test_serializers.py
-+++ b/tests/unit/serializers/test_serializers.py
-@@ -68,9 +68,24 @@ class TestSerializers(TestCase):
- serialized = yamlex.serialize(data)
- assert serialized == '{foo: bar}', serialized
-
-+ serialized = yamlex.serialize(data, default_flow_style=False)
-+ assert serialized == 'foo: bar', serialized
-+
- deserialized = yamlex.deserialize(serialized)
- assert deserialized == data, deserialized
-
-+ serialized = yaml.serialize(data)
-+ assert serialized == '{foo: bar}', serialized
-+
-+ deserialized = yaml.deserialize(serialized)
-+ assert deserialized == data, deserialized
-+
-+ serialized = yaml.serialize(data, default_flow_style=False)
-+ assert serialized == 'foo: bar', serialized
-+
-+ deserialized = yaml.deserialize(serialized)
-+ assert deserialized == data, deserialized
-+
- @skipIf(not yamlex.available, SKIP_MESSAGE % 'sls')
- def test_serialize_complex_sls(self):
- data = OrderedDict([
-@@ -84,6 +99,12 @@ class TestSerializers(TestCase):
- deserialized = yamlex.deserialize(serialized)
- assert deserialized == data, deserialized
-
-+ serialized = yaml.serialize(data)
-+ assert serialized == '{bar: 2, baz: true, foo: 1}', serialized
-+
-+ deserialized = yaml.deserialize(serialized)
-+ assert deserialized == data, deserialized
-+
- @skipIf(not yaml.available, SKIP_MESSAGE % 'yaml')
- @skipIf(not yamlex.available, SKIP_MESSAGE % 'sls')
- def test_compare_sls_vs_yaml(self):
-diff --git a/tests/unit/utils/test_schema.py b/tests/unit/utils/test_schema.py
-index 677cd0778b..5c2f1fd8fd 100644
---- a/tests/unit/utils/test_schema.py
-+++ b/tests/unit/utils/test_schema.py
-@@ -5,6 +5,7 @@
-
- # Import python libs
- from __future__ import absolute_import, print_function, unicode_literals
-+import sys
- import copy
-
- # Import Salt Testing Libs
-@@ -506,7 +507,7 @@ class ConfigTestCase(TestCase):
- {'personal_access_token': 'foo'},
- Requirements.serialize()
- )
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ self.assertIn("'ssh_key_file' is a required property", excinfo.exception.message)
-
- def test_boolean_config(self):
- item = schema.BooleanItem(title='Hungry', description='Are you hungry?')
-@@ -1730,7 +1731,10 @@ class ConfigTestCase(TestCase):
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': {'sides': '4', 'color': 'blue'}}, TestConf.serialize())
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ if sys.hexversion >= 0x03000000:
-+ self.assertIn("'4' is not of type 'boolean'", excinfo.exception.message)
-+ else:
-+ self.assertIn("u'4' is not of type u'boolean'", excinfo.exception.message)
-
- class TestConf(schema.Schema):
- item = schema.DictItem(
-@@ -1833,7 +1837,10 @@ class ConfigTestCase(TestCase):
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ if sys.hexversion >= 0x03000000:
-+ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
-+ else:
-+ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': 2}, TestConf.serialize())
-@@ -1885,7 +1892,10 @@ class ConfigTestCase(TestCase):
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': ['maybe']}, TestConf.serialize())
-- self.assertIn('is not valid under any of the given schemas', excinfo.exception.message)
-+ if sys.hexversion >= 0x03000000:
-+ self.assertIn("'maybe' is not one of ['yes']", excinfo.exception.message)
-+ else:
-+ self.assertIn("u'maybe' is not one of [u'yes']", excinfo.exception.message)
-
- with self.assertRaises(jsonschema.exceptions.ValidationError) as excinfo:
- jsonschema.validate({'item': 2}, TestConf.serialize())
diff --git a/app-admin/salt/files/salt-3000.1-tests.patch b/app-admin/salt/files/salt-3000.1-tests.patch
new file mode 100644
index 000000000000..12a2e7822b94
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.1-tests.patch
@@ -0,0 +1,58 @@
+diff --git a/tests/unit/fileserver/test_roots.py b/tests/unit/fileserver/test_roots.py
+index e0d939a086..33a9b6dc35 100644
+--- a/tests/unit/fileserver/test_roots.py
++++ b/tests/unit/fileserver/test_roots.py
+@@ -11,7 +11,7 @@ import tempfile
+
+ # Import Salt Testing libs
+ from tests.support.mixins import AdaptedConfigurationTestCaseMixin, LoaderModuleMockMixin
+-from tests.support.unit import TestCase
++from tests.support.unit import TestCase, skipIf
+ from tests.support.mock import patch
+ from tests.support.runtests import RUNTIME_VARS
+
+@@ -165,6 +165,7 @@ class RootsTest(TestCase, AdaptedConfigurationTestCaseMixin, LoaderModuleMockMix
+ self.assertIn('empty_dir', ret)
+ self.assertIn(UNICODE_DIRNAME, ret)
+
++ @skipIf(True, "doesn't like sandbox")
+ def test_symlink_list(self):
+ orig_file_roots = self.opts['file_roots']
+ try:
+diff --git a/tests/unit/modules/test_dockermod.py b/tests/unit/modules/test_dockermod.py
+index 191bfc123f..1956127f0b 100644
+--- a/tests/unit/modules/test_dockermod.py
++++ b/tests/unit/modules/test_dockermod.py
+@@ -793,6 +793,7 @@ class DockerTestCase(TestCase, LoaderModuleMockMixin):
+ },
+ ret)
+
++ @skipIf(True, "Doesn't work with sandbox")
+ def test_call_success(self):
+ '''
+ test module calling inside containers
+diff --git a/tests/unit/states/test_pip_state.py b/tests/unit/states/test_pip_state.py
+index 13c158b309..27e10e6161 100644
+--- a/tests/unit/states/test_pip_state.py
++++ b/tests/unit/states/test_pip_state.py
+@@ -384,6 +384,7 @@ class PipStateUtilsTest(TestCase):
+
+
+ @skipIf(salt.utils.path.which_bin(KNOWN_BINARY_NAMES) is None, 'virtualenv not installed')
++@skipIf(True, "Needs network access")
+ class PipStateInstallationErrorTest(TestCase):
+
+ def test_importable_installation_error(self):
+diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
+index f48fa9d42c..bb57929cfa 100644
+--- a/tests/unit/utils/test_jinja.py
++++ b/tests/unit/utils/test_jinja.py
+@@ -1268,7 +1268,7 @@ class TestCustomExtensions(TestCase):
+ dict(opts=self.local_opts, saltenv='test', salt=self.local_salt))
+ self.assertEqual(rendered, '16777216')
+
+- @flaky
++ @skipIf("True", "Needs network access")
+ def test_http_query(self):
+ '''
+ Test the `http_query` Jinja filter.
diff --git a/app-admin/salt/files/salt-3000.2-py38-abc.patch b/app-admin/salt/files/salt-3000.2-py38-abc.patch
new file mode 100644
index 000000000000..e9f64b664178
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-py38-abc.patch
@@ -0,0 +1,79 @@
+From 11c23a526ae926ca082ee7ad92246e085c51b8e6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Blaisot?= <sebastien@blaisot.org>
+Date: Fri, 17 Jan 2020 17:06:42 +0100
+Subject: [PATCH] Import abstract base classes from collection.abc in python
+ 3.3+
+
+---
+ salt/modules/file.py | 6 +++++-
+ salt/modules/win_file.py | 5 ++++-
+ salt/states/file.py | 6 +++++-
+ salt/utils/dictdiffer.py | 5 ++++-
+ 4 files changed, 18 insertions(+), 4 deletions(-)
+
+diff --git a/salt/modules/file.py b/salt/modules/file.py
+index 771b204d63fe..d1ec5e4c295d 100644
+--- a/salt/modules/file.py
++++ b/salt/modules/file.py
+@@ -29,7 +29,11 @@
+ import glob
+ import hashlib
+ import mmap
+-from collections import Iterable, Mapping, namedtuple
++try:
++ from collections.abc import Iterable, Mapping
++except ImportError:
++ from collections import Iterable, Mapping
++from collections import namedtuple
+ from functools import reduce # pylint: disable=redefined-builtin
+
+ # pylint: disable=import-error,no-name-in-module,redefined-builtin
+diff --git a/salt/modules/win_file.py b/salt/modules/win_file.py
+index 4fd3eebcdd81..5bc983786a98 100644
+--- a/salt/modules/win_file.py
++++ b/salt/modules/win_file.py
+@@ -17,7 +17,10 @@
+ import logging
+ # pylint: disable=W0611
+ import operator # do not remove
+-from collections import Iterable, Mapping # do not remove
++try:
++ from collections.abc import Iterable, Mapping # do not remove
++except ImportError:
++ from collections import Iterable, Mapping # do not remove
+ from functools import reduce # do not remove
+ import datetime # do not remove.
+ import tempfile # do not remove. Used in salt.modules.file.__clean_tmp
+diff --git a/salt/states/file.py b/salt/states/file.py
+index 23c3d3c53955..36231c69cff6 100644
+--- a/salt/states/file.py
++++ b/salt/states/file.py
+@@ -291,7 +291,11 @@ def run():
+ import sys
+ import time
+ import traceback
+-from collections import Iterable, Mapping, defaultdict
++try:
++ from collections.abc import Iterable, Mapping
++except ImportError:
++ from collections import Iterable, Mapping
++from collections import defaultdict
+ from datetime import datetime, date # python3 problem in the making?
+
+ # Import salt libs
+diff --git a/salt/utils/dictdiffer.py b/salt/utils/dictdiffer.py
+index 30e87e885436..da6bd5ed944c 100644
+--- a/salt/utils/dictdiffer.py
++++ b/salt/utils/dictdiffer.py
+@@ -13,7 +13,10 @@
+ '''
+ from __future__ import absolute_import, print_function, unicode_literals
+ import copy
+-from collections import Mapping
++try:
++ from collections.abc import Mapping
++except ImportError:
++ from collections import Mapping
+ from salt.ext import six
+
+
diff --git a/app-admin/salt/files/salt-3000.2-py38-logwarn.patch b/app-admin/salt/files/salt-3000.2-py38-logwarn.patch
new file mode 100644
index 000000000000..e77d2376ce1b
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-py38-logwarn.patch
@@ -0,0 +1,116 @@
+diff --git a/salt/cloud/clouds/ec2.py b/salt/cloud/clouds/ec2.py
+index 68f752cb2d..fa2b96499d 100644
+--- a/salt/cloud/clouds/ec2.py
++++ b/salt/cloud/clouds/ec2.py
+@@ -4901,7 +4901,7 @@ def get_password_data(
+
+ if not HAS_M2 and not HAS_PYCRYPTO:
+ if 'key' in kwargs or 'key_file' in kwargs:
+- log.warn("No crypto library is installed, can not decrypt password")
++ log.warning("No crypto library is installed, can not decrypt password")
+ return ret
+
+ if 'key' not in kwargs:
+diff --git a/salt/modules/gpg.py b/salt/modules/gpg.py
+index 9dd1007c1b..47c82a7141 100644
+--- a/salt/modules/gpg.py
++++ b/salt/modules/gpg.py
+@@ -1083,7 +1083,7 @@ def verify(text=None,
+
+ if trustmodel and trustmodel not in trustmodels:
+ msg = 'Invalid trustmodel defined: {}. Use one of: {}'.format(trustmodel, ', '.join(trustmodels))
+- log.warn(msg)
++ log.warning(msg)
+ return {'res': False, 'message': msg}
+
+ extra_args = []
+diff --git a/salt/modules/network.py b/salt/modules/network.py
+index 38e2bc326e..f3a8a714cd 100644
+--- a/salt/modules/network.py
++++ b/salt/modules/network.py
+@@ -958,7 +958,7 @@ def traceroute(host):
+
+ ret.append(result)
+ if not result:
+- log.warn('Cannot parse traceroute output line: %s', line)
++ log.warning('Cannot parse traceroute output line: %s', line)
+ return ret
+
+
+diff --git a/salt/modules/saltutil.py b/salt/modules/saltutil.py
+index 138a0fcf51..5f026b0f36 100644
+--- a/salt/modules/saltutil.py
++++ b/salt/modules/saltutil.py
+@@ -1096,7 +1096,7 @@ def refresh_pillar(wait=False, timeout=30):
+ tag='/salt/minion/minion_pillar_refresh_complete',
+ wait=timeout)
+ if not event_ret or event_ret['complete'] is False:
+- log.warn("Pillar refresh did not complete within timeout %s", timeout)
++ log.warning("Pillar refresh did not complete within timeout %s", timeout)
+ return ret
+
+
+diff --git a/salt/transport/tcp.py b/salt/transport/tcp.py
+index 12ef24e86f..e83d1c927f 100644
+--- a/salt/transport/tcp.py
++++ b/salt/transport/tcp.py
+@@ -1073,7 +1073,7 @@ class SaltMessageClient(object):
+ self._connecting_future.set_result(True)
+ break
+ except Exception as exc: # pylint: disable=broad-except
+- log.warn('TCP Message Client encountered an exception %r', exc)
++ log.warning('TCP Message Client encountered an exception %r', exc)
+ yield salt.ext.tornado.gen.sleep(1) # TODO: backoff
+ #self._connecting_future.set_exception(e)
+
+diff --git a/salt/utils/process.py b/salt/utils/process.py
+index 9626ac0cb2..18697ccf7c 100644
+--- a/salt/utils/process.py
++++ b/salt/utils/process.py
+@@ -124,7 +124,7 @@ def dup2(file1, file2):
+ try:
+ fno1 = file1.fileno()
+ except io.UnsupportedOperation:
+- log.warn('Unsupported operation on file: %r', file1)
++ log.warning('Unsupported operation on file: %r', file1)
+ return
+ if isinstance(file2, int):
+ fno2 = file2
+@@ -132,7 +132,7 @@ def dup2(file1, file2):
+ try:
+ fno2 = file2.fileno()
+ except io.UnsupportedOperation:
+- log.warn('Unsupported operation on file: %r', file2)
++ log.warning('Unsupported operation on file: %r', file2)
+ return
+ os.dup2(fno1, fno2)
+
+@@ -829,13 +829,13 @@ class SignalHandlingProcess(Process):
+ if child.is_running():
+ child.terminate()
+ except psutil.NoSuchProcess:
+- log.warn(
++ log.warning(
+ 'Unable to kill child of process %d, it does '
+ 'not exist. My pid is %d',
+ self.pid, os.getpid()
+ )
+ except psutil.NoSuchProcess:
+- log.warn(
++ log.warning(
+ 'Unable to kill children of process %d, it does not exist.'
+ 'My pid is %d',
+ self.pid, os.getpid()
+diff --git a/tests/integration/modules/test_state.py b/tests/integration/modules/test_state.py
+index 81b3b677b9..2f3bcaa613 100644
+--- a/tests/integration/modules/test_state.py
++++ b/tests/integration/modules/test_state.py
+@@ -2282,7 +2282,7 @@ class StateModuleTest(ModuleCase, SaltReturnAssertsMixin):
+ try:
+ os.remove(path)
+ except OSError:
+- log.warn("Path not found: %s", path)
++ log.warning("Path not found: %s", path)
+
+ with salt.utils.files.fopen(module_path, 'w') as fp:
+ fp.write('raise ImportError("No module named pip")')
diff --git a/app-admin/salt/files/salt-3000.2-py38.patch b/app-admin/salt/files/salt-3000.2-py38.patch
new file mode 100644
index 000000000000..1c543a085b10
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-py38.patch
@@ -0,0 +1,60 @@
+From 5259ba8ef6e5949815641edc563deab67ba68582 Mon Sep 17 00:00:00 2001
+From: Mathias Fussenegger <f.mathias@zignar.net>
+Date: Fri, 22 Nov 2019 17:05:27 +0100
+Subject: [PATCH] Remove _supported_dists import for python-3.8 support
+
+`_supported_dists` has been removed from platform in Python 3.8:
+
+ https://github.com/python/cpython/commit/8b94b41ab7b12f745dea744e8940631318816935#diff-47c8e5750258a08a6dd9de3e9c3774acL267-L271
+
+This instead inlines all the values that have been there.
+
+Without this change running `salt-ssh` with Python 3.8 run into an
+import error.
+---
+ salt/grains/core.py | 31 +++++++++++++++++++++++++++----
+ 1 file changed, 27 insertions(+), 4 deletions(-)
+
+diff --git a/salt/grains/core.py b/salt/grains/core.py
+index 04c1ae91b5f5..77694abe84f9 100644
+--- a/salt/grains/core.py
++++ b/salt/grains/core.py
+@@ -35,11 +35,34 @@
+ __proxyenabled__ = ['*']
+ __FQDN__ = None
+
+-# Extend the default list of supported distros. This will be used for the
++# Default list of supported distros. This will be used for the
+ # /etc/DISTRO-release checking that is part of linux_distribution()
+-from platform import _supported_dists
+-_supported_dists += ('arch', 'mageia', 'meego', 'vmware', 'bluewhite64',
+- 'slamd64', 'ovs', 'system', 'mint', 'oracle', 'void')
++_supported_dists = (
++ 'SuSE',
++ 'UnitedLinux',
++ 'arch',
++ 'bluewhite64',
++ 'centos',
++ 'debian',
++ 'fedora',
++ 'gentoo',
++ 'mageia',
++ 'mandrake',
++ 'mandriva',
++ 'meego',
++ 'mint',
++ 'oracle',
++ 'ovs',
++ 'redhat',
++ 'rocks',
++ 'slackware',
++ 'slamd64',
++ 'system',
++ 'turbolinux',
++ 'vmware',
++ 'void',
++ 'yellowdog',
++)
+
+ # linux_distribution deprecated in py3.7
+ try:
diff --git a/app-admin/salt/files/salt-3000.2-tests.patch b/app-admin/salt/files/salt-3000.2-tests.patch
new file mode 100644
index 000000000000..a562dee5bf94
--- /dev/null
+++ b/app-admin/salt/files/salt-3000.2-tests.patch
@@ -0,0 +1,18 @@
+--- salt-3000.2.orig/tests/unit/utils/test_verify.py 2020-04-29 16:57:02.775635698 -0700
++++ salt-3000.2/tests/unit/utils/test_verify.py 2020-04-29 16:57:58.042282147 -0700
+@@ -324,6 +324,7 @@
+ self.assertTrue(os.path.exists(path))
+
+
++@skipIf(True, "breaks under sandbox")
+ class TestCleanPath(TestCase):
+ '''
+ salt.utils.clean_path works as expected
+@@ -366,6 +367,7 @@
+ raise ctypes.WinError()
+
+
++@skipIf(True, "breaks under sandbox")
+ @skipIf(six.PY2 and salt.utils.platform.is_windows(), 'Skipped on windows py2')
+ class TestCleanPathLink(TestCase):
+ '''
diff --git a/app-admin/salt/metadata.xml b/app-admin/salt/metadata.xml
index e27805465b7e..91b468848999 100644
--- a/app-admin/salt/metadata.xml
+++ b/app-admin/salt/metadata.xml
@@ -21,9 +21,11 @@ Between the remote execution system, and state management Salt addresses the
backbone of cloud and data center management.
</longdescription>
<use>
+ <flag name="cheetah">Enable support for <pkg>dev-python/cheetah3</pkg></flag>
<flag name="cherrypy">Enable support for using cherrypy.</flag>
<flag name="libcloud">Enable salt-cloud support via libcloud.</flag>
<flag name="libvirt">Support managing virtual machines with app-emulation/libvirt.</flag>
+ <flag name="genshi">Enable support for <pkg>dev-python/genshi</pkg></flag>
<flag name="gnupg">Enable support for gnupg via python-gnupg.</flag>
<flag name="keyring">Enable support for keyrings via python-keyring.</flag>
<flag name="mako">Add support for using the mako template engine for parsing salt states.</flag>
diff --git a/app-admin/salt/salt-2018.3.4.ebuild b/app-admin/salt/salt-2018.3.4.ebuild
deleted file mode 100644
index 20f68c64964c..000000000000
--- a/app-admin/salt/salt-2018.3.4.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_6 )
-
-inherit eutils 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="git://github.com/${PN}stack/${PN}.git"
- EGIT_BRANCH="develop"
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova"
-IUSE+=" openssl portage profile redis selinux test raet +zeromq vim-syntax"
-
-RDEPEND="sys-apps/pciutils
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${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}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- <www-servers/tornado-5.0[${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? ( 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}]
- )
- zeromq? (
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- )
- cherrypy? ( >=dev-python/cherrypy-3.2.2[${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 )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-salt[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-catchlog[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
- !x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- ${RDEPEND}
- )"
-
-DOCS=( README.rst AUTHORS )
-
-REQUIRED_USE="|| ( raet zeromq )"
-RESTRICT="!test? ( test ) x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/${PN}-2018.3.4-tests.patch"
- "${FILESDIR}/${PN}-2018.3.2-skip-zeromq-test-that-hangs.patch"
-)
-
-python_prepare() {
- # remove tests with external dependencies that may not be available
- rm tests/unit/{test_zypp_plugins.py,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/unit/modules/test_{kubernetes,vsphere}.py || die
-
- # allow the use of the renamed msgpack
- sed -i '/^msgpack/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-4 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}")"
- mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
-
- (
- cleanup() {
- rm -f "${tempdir}"
- rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
- }
-
- trap cleanup EXIT
-
- addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
-
- USE_SETUPTOOLS=1 SHELL="/bin/bash" \
- TMPDIR="${tempdir}" \
- ${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose
-
- ) || die "testing failed"
-}
diff --git a/app-admin/salt/salt-2019.2.3.ebuild b/app-admin/salt/salt-2019.2.5.ebuild
index c6961f4ebef6..d8fbc93eb97c 100644
--- a/app-admin/salt/salt-2019.2.3.ebuild
+++ b/app-admin/salt/salt-2019.2.5.ebuild
@@ -3,8 +3,8 @@
EAPI=7
PYTHON_COMPAT=( python3_6 )
-
-inherit eutils systemd distutils-r1
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit systemd distutils-r1
DESCRIPTION="Salt is a remote execution and configuration manager"
HOMEPAGE="https://www.saltstack.com/resources/community/
@@ -15,7 +15,6 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
EGIT_BRANCH="develop"
SRC_URI=""
- KEYWORDS=""
else
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
@@ -23,13 +22,15 @@ fi
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova"
-IUSE+=" openssl portage profile redis selinux test raet +zeromq vim-syntax"
+IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova
+ openssl portage profile redis selinux test raet +zeromq vim-syntax"
-RDEPEND="sys-apps/pciutils
+RDEPEND="
+ sys-apps/pciutils
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/libnacl[${PYTHON_USEDEP}]
>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/markupsafe[${PYTHON_USEDEP}]
>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
@@ -64,22 +65,23 @@ RDEPEND="sys-apps/pciutils
gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
vim-syntax? ( app-vim/salt-vim )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
test? (
- >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ >=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/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ <dev-python/pytest-salt-2020.0.0[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-catchlog[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
!x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
${RDEPEND}
)"
@@ -131,20 +133,17 @@ python_test() {
mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
(
- cleanup() {
- rm -f "${tempdir}"
- rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
- }
+ cleanup() { rm -f "${tempdir}" || die; }
trap cleanup EXIT
addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
USE_SETUPTOOLS=1 SHELL="/bin/bash" \
TMPDIR="${tempdir}" \
${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose
-
- ) || die "testing failed"
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
}
diff --git a/app-admin/salt/salt-2019.2.0-r1.ebuild b/app-admin/salt/salt-3000.2-r4.ebuild
index dc4a1c91f8a8..cbd4ed11eadb 100644
--- a/app-admin/salt/salt-2019.2.0-r1.ebuild
+++ b/app-admin/salt/salt-3000.2-r4.ebuild
@@ -2,9 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_6 )
-
-inherit eutils systemd distutils-r1
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit systemd distutils-r1
DESCRIPTION="Salt is a remote execution and configuration manager"
HOMEPAGE="https://www.saltstack.com/resources/community/
@@ -15,31 +15,36 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
EGIT_BRANCH="develop"
SRC_URI=""
- KEYWORDS=""
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~chutzpah/dist/salt/salt-3000.2-py38-misc.patch.gz"
+ KEYWORDS="amd64 ~x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova"
-IUSE+=" openssl portage profile redis selinux test raet +zeromq vim-syntax"
+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
+RDEPEND="
+ sys-apps/pciutils
+ dev-python/distro[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.5[${PYTHON_USEDEP}]
+ <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${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}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- <www-servers/tornado-5.0[${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? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_7)
+ )
openssl? (
dev-libs/openssl:0=[-bindist]
dev-python/pyopenssl[${PYTHON_USEDEP}]
@@ -49,50 +54,65 @@ RDEPEND="sys-apps/pciutils
>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
)
- zeromq? (
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- )
cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${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}] )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_7)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_7)
+ )
gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
test? (
- >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ ${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/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-catchlog[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
!x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- ${RDEPEND}
)"
DOCS=( README.rst AUTHORS )
-REQUIRED_USE="|| ( raet zeromq )"
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
"${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/salt-2019.2.0-tests.patch"
- "${FILESDIR}/salt-2018.3.2-skip-zeromq-test-that-hangs.patch"
"${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-2019.2.0-newer-deps.patch"
+ "${FILESDIR}/salt-3000.1-tests.patch"
+ "${FILESDIR}/salt-3000.2-tests.patch"
+
+ # https://github.com/saltstack/salt/pull/55410
+ "${FILESDIR}/salt-3000.2-py38.patch"
+
+ # https://github.com/saltstack/salt/pull/55900
+ "${FILESDIR}/salt-3000.2-py38-abc.patch"
+
+ # misc py38 fixups
+ "${WORKDIR}/salt-3000.2-py38-misc.patch"
+ "${FILESDIR}/salt-3000.2-py38-logwarn.patch"
)
python_prepare() {
@@ -100,7 +120,17 @@ python_prepare() {
rm tests/unit/{test_zypp_plugins.py,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/unit/modules/test_{kubernetes,vsphere}.py || die
+
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find . -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d' -i || die
+
+ 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
# allow the use of the renamed msgpack
sed -i '/^msgpack/d' requirements/base.txt || die
@@ -128,23 +158,36 @@ python_test() {
# ${T} is too long a path for the tests to work
tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
mkdir "${T}/$(basename "${tempdir}")"
- mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
(
- cleanup() {
- rm -f "${tempdir}"
- rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
- }
+ cleanup() { rm -f "${tempdir}" || die; }
trap cleanup EXIT
addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
USE_SETUPTOOLS=1 SHELL="/bin/bash" \
TMPDIR="${tempdir}" \
${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
- ) || die "testing failed"
+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-2019.2.2.ebuild b/app-admin/salt/salt-3000.3.ebuild
index c6961f4ebef6..380351911ba9 100644
--- a/app-admin/salt/salt-2019.2.2.ebuild
+++ b/app-admin/salt/salt-3000.3.ebuild
@@ -2,9 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_6 )
-
-inherit eutils systemd distutils-r1
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit systemd distutils-r1
DESCRIPTION="Salt is a remote execution and configuration manager"
HOMEPAGE="https://www.saltstack.com/resources/community/
@@ -15,31 +15,36 @@ if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="git://github.com/${PN}stack/${PN}.git"
EGIT_BRANCH="develop"
SRC_URI=""
- KEYWORDS=""
else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~chutzpah/dist/salt/salt-3000.2-py38-misc.patch.gz"
KEYWORDS="~amd64 ~x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
-IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb neutron nova"
-IUSE+=" openssl portage profile redis selinux test raet +zeromq vim-syntax"
+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
+RDEPEND="
+ sys-apps/pciutils
+ dev-python/distro[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/libnacl[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.5[${PYTHON_USEDEP}]
+ <dev-python/msgpack-1.0[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${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}]
- >=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
- <www-servers/tornado-5.0[${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? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
+ libvirt? (
+ $(python_gen_cond_dep 'dev-python/libvirt-python[${PYTHON_USEDEP}]' python3_7)
+ )
openssl? (
dev-libs/openssl:0=[-bindist]
dev-python/pyopenssl[${PYTHON_USEDEP}]
@@ -49,51 +54,65 @@ RDEPEND="sys-apps/pciutils
>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
)
- zeromq? (
- >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- )
cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
+ cheetah? ( dev-python/cheetah3[${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}] )
+ nova? (
+ $(python_gen_cond_dep '>=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]' python3_7)
+ )
+ neutron? (
+ $(python_gen_cond_dep '>=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}]' python3_7)
+ )
gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
- vim-syntax? ( app-vim/salt-vim )"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ vim-syntax? ( app-vim/salt-vim )
+ zeromq? ( >=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
test? (
- >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ ${RDEPEND}
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
>=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/libcloud-0.14.0[${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-catchlog[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ >=dev-python/pytest-salt-2018.12.8[${PYTHON_USEDEP}]
+ dev-python/pytest-tempdir[${PYTHON_USEDEP}]
+ >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
!x86? ( >=dev-python/boto3-1.2.1[${PYTHON_USEDEP}] )
- >=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
- >=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
- >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
- ${RDEPEND}
)"
DOCS=( README.rst AUTHORS )
-REQUIRED_USE="|| ( raet zeromq )"
+REQUIRED_USE="|| ( raet zeromq )
+ test? ( cheetah genshi )"
RESTRICT="!test? ( test ) x86? ( test )"
PATCHES=(
"${FILESDIR}/salt-2017.7.0-dont-realpath-tmpdir.patch"
- "${FILESDIR}/salt-2019.2.0-tests.patch"
"${FILESDIR}/salt-2019.2.0-skip-tests-that-oom-machine.patch"
- "${FILESDIR}/salt-2019.2.2-newer-deps.patch"
- "${FILESDIR}/salt-2019.2.2-workaround-broken-mock-on-py2.patch"
+ "${FILESDIR}/salt-3000.1-tests.patch"
+ "${FILESDIR}/salt-3000.2-tests.patch"
+
+ # https://github.com/saltstack/salt/pull/55410
+ "${FILESDIR}/salt-3000.2-py38.patch"
+
+ # https://github.com/saltstack/salt/pull/55900
+ "${FILESDIR}/salt-3000.2-py38-abc.patch"
+
+ # misc py38 fixups
+ "${WORKDIR}/salt-3000.2-py38-misc.patch"
+ "${FILESDIR}/salt-3000.2-py38-logwarn.patch"
)
python_prepare() {
@@ -102,6 +121,17 @@ python_prepare() {
rm tests/unit/modules/test_{file,boto_{vpc,secgroup,elb}}.py || die
rm tests/unit/states/test_boto_vpc.py || die
+ # tests that require network access
+ rm tests/unit/{states,modules}/test_zcbuildout.py || die
+
+ # make sure pkg_resources doesn't bomb because pycrypto isn't installed
+ find . -name '*.txt' -print0 | xargs -0 sed -e '/pycrypto>/ d' -i || die
+
+ 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
+
# allow the use of the renamed msgpack
sed -i '/^msgpack/d' requirements/base.txt || die
}
@@ -128,23 +158,36 @@ python_test() {
# ${T} is too long a path for the tests to work
tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)"
mkdir "${T}/$(basename "${tempdir}")"
- mkdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
(
- cleanup() {
- rm -f "${tempdir}"
- rmdir "${BUILD_DIR}"/../{templates,conf/cloud.{providers,profiles,maps}.d} || die
- }
+ cleanup() { rm -f "${tempdir}" || die; }
trap cleanup EXIT
addwrite "${tempdir}"
- ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
+ ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}" || die
USE_SETUPTOOLS=1 SHELL="/bin/bash" \
TMPDIR="${tempdir}" \
${EPYTHON} tests/runtests.py \
- --unit-tests --no-report --verbose
+ --unit-tests --no-report --verbose \
+ || die "testing failed with ${EPYTHON}"
+ )
+}
- ) || die "testing failed"
+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
}