diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-05-14 11:09:11 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-05-14 11:09:11 +0100 |
commit | deba8115d2c2af26df42966b91ef04ff4dd79cde (patch) | |
tree | 9a48f42594e1a9e6b2020d5535a784314434d7a7 /app-admin/salt | |
parent | 38423c67c8a23f6a1bc42038193182e2da3116eb (diff) |
gentoo resync : 14.05.2020
Diffstat (limited to 'app-admin/salt')
-rw-r--r-- | app-admin/salt/Manifest | 25 | ||||
-rw-r--r-- | app-admin/salt/files/salt-2018.3.2-skip-zeromq-test-that-hangs.patch | 79 | ||||
-rw-r--r-- | app-admin/salt/files/salt-2018.3.4-tests.patch | 76 | ||||
-rw-r--r-- | app-admin/salt/files/salt-2019.2.0-newer-deps.patch | 210 | ||||
-rw-r--r-- | app-admin/salt/files/salt-3000.1-tests.patch | 58 | ||||
-rw-r--r-- | app-admin/salt/files/salt-3000.2-py38-abc.patch | 79 | ||||
-rw-r--r-- | app-admin/salt/files/salt-3000.2-py38-logwarn.patch | 116 | ||||
-rw-r--r-- | app-admin/salt/files/salt-3000.2-py38.patch | 60 | ||||
-rw-r--r-- | app-admin/salt/files/salt-3000.2-tests.patch | 18 | ||||
-rw-r--r-- | app-admin/salt/metadata.xml | 2 | ||||
-rw-r--r-- | app-admin/salt/salt-2018.3.4.ebuild | 147 | ||||
-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 } |