diff options
Diffstat (limited to 'app-admin/salt')
40 files changed, 1953 insertions, 0 deletions
diff --git a/app-admin/salt/Manifest b/app-admin/salt/Manifest new file mode 100644 index 000000000000..6d8f0b4c5ae8 --- /dev/null +++ b/app-admin/salt/Manifest @@ -0,0 +1,46 @@ +AUX api-confd-1 188 SHA256 9f3f47a7af4d349a7c525455616139b5019d3b7d0290398ba8c50ab91a62d089 SHA512 c58fc025a3654b59f79c6e23fe135d75ebad8b166bc5214f4842c3dd92192e3598480f9fd6960ad2dc36d3ee45ff971650c5e0156353c1c045650f86c9a68db9 WHIRLPOOL 54070ebb3fe0e2338dac12541b198ba0dd07c5a80ef0eb1c92a3d65d30276a2446cf644a37274d51ab633074e9edb0044d022b9eeab549721b181c253abd5b30 +AUX api-initd-4 302 SHA256 e673f359ff7fbb012d9eb5d6c3db841668e3692b15b07faeb6352feb5cfbb2b1 SHA512 098fb6e1ba83270abd31f9cc3afdc159149276962fcf73ce0ae943df87ec26d0883990652614cdeef48912778780731f91efc972a22a75c4b10f3bd79a251a90 WHIRLPOOL 26001aabdc7ee27c6d791b1284fb82b229cb7895733dafd14fcc6b13219f4c4ff86054bcb8b83aed901ce8c5691ff3e27cd260e52e3b728332e9349ecd0b3024 +AUX master-confd-1 188 SHA256 9f3f47a7af4d349a7c525455616139b5019d3b7d0290398ba8c50ab91a62d089 SHA512 c58fc025a3654b59f79c6e23fe135d75ebad8b166bc5214f4842c3dd92192e3598480f9fd6960ad2dc36d3ee45ff971650c5e0156353c1c045650f86c9a68db9 WHIRLPOOL 54070ebb3fe0e2338dac12541b198ba0dd07c5a80ef0eb1c92a3d65d30276a2446cf644a37274d51ab633074e9edb0044d022b9eeab549721b181c253abd5b30 +AUX master-initd-4 311 SHA256 7064f21c734313e9d9d32b77eaecf3eeb6de714eff6dcafeb79c25303e675bf9 SHA512 d44ea9fdf962ded6d0c6ac5a1f89ec8729a9a70517ba0f132c54696d32bc96030c64af09f48037867006bd3acdf4b6db759ca873717cd5a88701e42d06885bcc WHIRLPOOL 81cbb47c9f323697da43234e74db4e7fa0faac1ffeab365c48f95f955dbe409c2bf68297ce4009f14e08b54dec119f53b6dff3b7cae1fc84662405770c94c0dd +AUX minion-confd-1 188 SHA256 286148f5391d42c04a62a13cc125fa2130b5821e50da913c5a20d3a913e5f2d1 SHA512 0051e13351cef8db81dc075a194bb384723f07d5591b5b4d3f3adf4180afaf7beced470ab79ceca9d1ec0dae62dbd72084eb76af009fc78411a011050a94a2ed WHIRLPOOL fed0dffe202d776cd5f1b74a28c5dac69b082603c9ddf695616a0a6bca5084b9589f1f4d03313f7271754166a9aa136c06aa61e6fd2e3b02d829798aa741c432 +AUX minion-initd-4 317 SHA256 ebe8d0fecde60b427d01022eb38a437be1ead33cd24d4afdb266ff922ab87850 SHA512 80790ed1b5f86b713ca6384d60253676b16b10c122810ed07b7119c3860bedfe40102f6b7de86d832f084d84f87bf9405ec282629f981767a534d2a53144845f WHIRLPOOL 21a808e2586bda4cabf22181ac37ead13fdf604f45baff1b66b10b0634742eef93a887b0e993453621f64700aeed3b068ee7058d3517d076e8157f8e8c7b1286 +AUX salt-2014.7.1-remove-pydsl-includes-test.patch 3605 SHA256 0f0433f63a1b4a1a203331177c0ea46e43f74e69465f157e53f68f0d317cfdc0 SHA512 fe56cb6b5f91586e9acba136601c9380f158a4dc3a0316a00b23703a5e5de7b8ae3cec7b3bd606e0b7a927f8a7fc28c57e5dd5f10755f34e9dbd6052c9dc9b50 WHIRLPOOL e3386852207693d5f3415ef7b35297bd0fb12ba25e41adfb2b5958c51e9e4337c46871eac9823876a316c9a2357877690c741d074cdfb00314b699346eba6e2d +AUX salt-2015.5.10-buggy-tests.patch 2034 SHA256 7e38453ab19722a68c37df5f87bd489dd303c3a8d5e57ee18115e60f5a91f63d SHA512 f848262c8ce2338cc847b5c8038eb40f6ec15f4ce07d58e9a70503fcbe2b8651edb411621697a1c5aaf663e4dd821b396ca16088846e3ec6f2a64c78ecf9ac64 WHIRLPOOL 803a743adc55ae9fe4320f8cbfbf1d86f0ef1154753f936dc35ab0e49f001591f0b3e321f2b22e3f2b3c17015f0a510748f15eb5b99a4d75c789199b3c191798 +AUX salt-2015.5.5-auth-tests.patch 1572 SHA256 38865ca68ecd24376dd9b4d8a263c0146c6a547805039d6eca9436caca4ec164 SHA512 6cab8a7c2a405420f6b2df7cd21773852ef1582f8a2f54bcbd120fa4966ac390447e907555b4b82764d8ae406cee095b5dd1dd0070d5a67a4ab10329bed39c3a WHIRLPOOL d841fbd18b32000f624330671a9c559463ede9a8cd9672b2912c79da7404e5c35a1cef2007f1b8015d9a1be65e78315e51e57e26c7034a8016633f2691701298 +AUX salt-2015.5.5-cron-tests.patch 961 SHA256 93368275ba4a1de814725ba26ed72136ce0208826b462cb25a71db55b44398c5 SHA512 d6ddb67d91ac0ec8c9256dba6e7d9efd15c892b6a8396b571b6aa849393d19e3a74e48906e1e03ddc9301b8fe7e1811eb1c88048daedcd8737e5edf0c4e62d74 WHIRLPOOL ca0df6b7a10d0f9c2649dc49d45625947b8cbe331c6342a2e899601b2c6c288c14c4d09d203fdaadd05394c17b5380390d2e131e52da1533e9cfd0a2af4ba129 +AUX salt-2015.5.5-remove-buggy-tests.patch 2114 SHA256 b65ffa86c81b02697129515a5a32c9d41ed35999bc589583ec6986318c73f526 SHA512 8669e2ffa926578e238cc8f18fbbc6e691cf9a4029e4a90c92214bfbd99c878efe749041912c7ad6ba90afee2baa8a4047318105b579babbf349186c8b9302a9 WHIRLPOOL 305927fe655cab4050a0f3e881bbd6f1dbed08af5fdf1380794d5d98a074e81dee2cd2826735535f8d48b31d1e43a232f30b9553a62200ffd5531538dbe1334c +AUX salt-2015.5.7-tmpdir.patch 1489 SHA256 71da37574dbdc4d6ce577d71a138f7bd5b627e9a47069a0b4fdddfa17c508eec SHA512 37d2af5375384dfe1e0b5d45eb6a51576767420e0bacd13f7ea5da801c359743ac420c0d6b258aa237d4dab82290a832b3ea6c96aa7547ecc8eb8f0c0f047b4a WHIRLPOOL 39e0d49f415daf1d3537e37b9b41ca6f95d84417af1e9b83cff9b102e780ee34aa51405d2008906586e379c7cf7ede359ab5ea9897e66ce36a3a375c715eb058 +AUX salt-2015.8.0-remove-buggy-tests.patch 2552 SHA256 d38ce845b21d08bacd981b4e69986ad6e7eb3802dc634e2d80cc3e4bf57474bf SHA512 31b8509feb6262e3211263571d9a006879a136c8c0ea5202ebf314ea6aeb3279b0ac63bb3800244ddb6ba9eb9159ee3ad8e389fa3e68f4d414d89cddb792a056 WHIRLPOOL 0d836f86bf16722b021c1547efe65d3facad87118dac5493a3f1289c6518ac3fdb564e125c709b0cedf915cda7bb6399b33762c07a45a65a42de6451340b36e0 +AUX salt-2015.8.10-remove-failing-boto-test.patch 2058 SHA256 9ec6bd07ce6baab395db00a198bd7fa0d32fbc31814e5c481ebee87aff649dca SHA512 98aed5c1ba1fc2647ed4771a57b7d2fe0f66e4da7936bf013c305f014e5c9f7158e9d966b961b9d6ba4fba57a1c8101d3c053598f0ebcac023016e9dbb1e765f WHIRLPOOL a2ebec3940453f18cd02434e0748b1f2c13121dfbd64d4d077871c37fcdab5d5b306d3f68b34939260dd44e78ce940610289cdba7d115582e2fb270952b2514c +AUX salt-2015.8.13-failing-gateway-tests.patch 3539 SHA256 f8a3e1e85525c30655ffe31b69c94222f24c1fd765423c43383eeafa0421297a SHA512 577825438e0193edc7df0234fba66dc61e56c74ae6e50b998072374a93052151d987def04d3a618c5a68b9ef2c8e84559adfcc25428b701418521d5f01a57466 WHIRLPOOL 74eee173b96e4bb88b2a84fe0736815947535c835ffbf6d45dd2993bad0a42a5578c743a27fb719046d582dc47d917221db3214731289969e56e7596f4bf8a9d +AUX salt-2015.8.13-sanitize-minion-name.patch 1003 SHA256 0f8208d8af6997374f33cb529b3b30713923cbe8d97dc644b1d7adc7d67794e6 SHA512 04f50936896b83804cc25ca329cb32a7f388be9ec5fd6f9d0cf452e3af3f6c8c3f025c119ed29a2399e11669b9eec373d77fce17d1ea64107f9268f9741cb73c WHIRLPOOL 85e0eb087a3352891243bfe464d37db04e5b5b970818d8a6c5582fccf7bea78e797b2e9df379fcc5c2d3c3de76ee51c3f902d60ab192736e4a0466ebf6d1750a +AUX salt-2015.8.2-tmpdir.patch 2502 SHA256 229436fe85d12bbb97e2ae6086df5bb57ee8ef9ddbe62946c111437c3eae52e4 SHA512 ed8eed9e2fa36718d7320e1ae650a990ae2d95d7c6a544ffd96f358750158231c334ab1eee6fe3e5e6a25d3b62c1fc0a149508eb3bd23f7ad152a82ec7efa1ac WHIRLPOOL 9e189171fafbb43a0ca548820efdedc582fa849521208c5a062cbd16fbbd0d26e53a69e3f40595c851ddd465c047bb92a025ca893181a60258c80ae644f3eba9 +AUX salt-2016.11.0-broken-tests.patch 1092 SHA256 651d51d6c26955d865a58fc4e28eb4c8ef8565e26ca077e91f0567be1a060791 SHA512 d23c16a5ed8c0fbd4287d73e45b700d465224c5f3b32c47bb2994703a4b4c261053b9c79444973cfaf86afa2850b8499a6b7923317fde3de43840a575ada74b4 WHIRLPOOL 7662dcdb2395588db9b83bcb9153ec58b77c79f532ad7ba5a0ae9cd5cca81e92fd33f842f76aaf26ec71c34ca61d557d2721ace18dd9be4c5ff83140f07d7a02 +AUX salt-2016.11.0-remove-file-tree-test.patch 1480 SHA256 22dc4bbfccab1e81bcd6e64b0f5101177f8cdb660b8843915cf725dacb51b4c5 SHA512 0503b4ecd16c2f67b53f1ce52b5f77cacf8de420024c5c7751d3caa06de2d1e685eef8d4021dfe86a5850ac23f58705a375e87922b3c5fbeb8c11290690624bc WHIRLPOOL 80c2ff3299c5e5536ed624db7515029819f532bf458e2d7c3aa653064aad101020f7b6681e17d25ddae661b534c9d7aca4a762e16a0969a610c36a7f3203337f +AUX salt-2016.11.0-tmpdir.patch 1480 SHA256 d8ff166477ec5bac6e7b47a29c43d7d762457f0e99519b1302efb778e894f041 SHA512 ef654d871178618dab68ad9b4062560cfa57fa421834b142639a11d12679ebc97afc27fa572dd77b74d86ba722bb8575b64045bbf3cab9f2d0e2cefeca38c4bd WHIRLPOOL 5d8c0711cf5ee8831a0b02d227938f01fb77ceec88517c55285934ad2417cdc7cf6f06b107575ea79fe1b39405ac7a7a5e1144fdd88cea1670a5ff6949ef2bfc +AUX salt-2016.3.1-dont-realpath-tmpdir.patch 853 SHA256 9d36162e56deebae8eec7b2a0bf350090afc8d8eb513d3419d227042de43b017 SHA512 a6bc22959975ac25df84c54437a1638e95d78c057920ced38b0accddca11eb33ad39f2a43dd05648584cd10b140f7ee509a8c6739c4d89d30500452c91795b79 WHIRLPOOL 56a9ed0d5264aecf981019e40b00718fbbf9f8ea3461a8572c7d833e1fa0720f9a9bbbdfd4cec0a37ed4ce58a289ace7e400c07f1297da4f22c95d0000b81457 +AUX salt-2016.3.4-dont-test-ordering.patch 1485 SHA256 eb6a3cb65c9584d2d3bb3be9886c184ce8e8cf38bd951078aa8d4420ebb0cc2f SHA512 4cc5a4d4380e6ae795aed7650667f1ea89315b429c495128f3e6eb311977bfb713d3d4536785ff1f087188ed14e81792daf73225cdce0fcb4ff0ffa170f1cbe3 WHIRLPOOL 7ece5cf872a57d33de26bbf9330b64175cc3a92162598326bd343b6c38ef84c088d4f31cc4ad7b14713950fa0643ae98f977dba8920c319d8ed3808b6bca4278 +AUX salt-2016.3.4-test-nonexist-dirs.patch 1655 SHA256 c6a5ed9ce850b099e1e4295b0489e86989b67f882506dbdeeb3c948f7c4a98f3 SHA512 ee81b8104f066e1d161207fe82d8349eb8c40701544784a2b6e66842fe9e07d7edffa24cad8c5d2037e2e7fa0368c614ed177fdf7359c89255d068767968e8fd WHIRLPOOL 3cc2dfe51196808bedbec152d928ac158cf89ed6f342463c83d55d5ad160c9c5750ecda7febdcee1f0175b23e224b5963f0f06f805d9b0975d8cc5ef0bd75c02 +AUX salt-2016.3.5-tmpdir.patch 1982 SHA256 4a65a02161909a934261c95347fd34849f944db9ca9e7b3374bef440d94e21b3 SHA512 755ac34298c6cbc57cf7404b209bd45ad216c07bb55b303e97375e1912aead765dddddbe3331314e4f245c6848e62447a5bb16b04367f20bb8387e89d0254859 WHIRLPOOL 0f5926c5d18f4307f2f77ce150e134a8bd3b876f1856029fc825a5c52a120151f07783bba03de4dc97448dbaebc0ff509bf3323d352bb8c5e921f439663d9291 +AUX salt-2017.7.0-dont-realpath-tmpdir.patch 834 SHA256 ec118f186c062a22eef24c3578b1173138d77205708ce2fc49098e3e8a59b26c SHA512 33b69954e8112c0f76654d507df74a4cdd37e8227848f2ce0652b3ecee8b847253ccad33cada0e3dd1471c54c780dcc12d5e546c4ec43868511b95b0c7f71e17 WHIRLPOOL 4a22cf9206f4bf195cb36c0ab85e974af368c34fadadba16998280ac3ee98c8625a22a0211cbf6eb0b67d20e9c3acd21f6efa3675d03b86e532f31dcf5d13782 +AUX salt-api.service 166 SHA256 b4706ebbc243e44579327b07609499a587e4023a11d3928735b3b226ff504cb7 SHA512 bab6b8380c965bf16e23078ebe6f38d942300829d4c89ddf23b630bd57b4d371f80687d85dd9e0cc1b669f2ca882aecde1bc8d7d82382a02ed20e493d3f04702 WHIRLPOOL cfba8559ffd486c5e49f3a7d54e0d03a4ae72065029cbbdd9b96403acafb304b1e687dc205960526a51f096eee58680329422e6b4a26022eed7469387a4dd763 +AUX salt-master.service 169 SHA256 5a8c43e469c47ce8cc5b4175105ca6233daa47b411ebf4002aad84003cb9f4a6 SHA512 87fe27fc0748f4191bd1c6883bb362c95cce8fe1f409e2679b229ddfd9de6c99438859dfa0a47b042977d659029ef56e406f1e8aa01761bff21af4784f9dd5f8 WHIRLPOOL ebb632028483e8849eb8ab61677967477bd4f420277b1360b3c28424a5192615aecf2d62372df76d6dee8855e6cd5557075ce17bcf85a999d92a0734cf849628 +AUX salt-minion.service 162 SHA256 829f0f25e5ae73befaa107bd5d2317ec608e8be95d5f60f9650c01e5d19d07a6 SHA512 99f0a5c696e38b42b283416736a23e535ccc53095928b205914cf4b69c0df931a6752205985726527f7889b01dfece78466be28448458b15064edd04aca3e5ed WHIRLPOOL 50255e88a81c64d461b70b6d990545561f4e9cdbc1f4b0caf0048b8ca46eef3233f5d174b88b1e07bf52aaab5ba16355b72fdea675a0099578acab2d5cb27e1b +AUX salt-syndic.service 169 SHA256 2199cd525392b3f6615acd2ef8b9c1b31be96c69f7e26c6acd28a3c5fc0d3079 SHA512 b45509a22a18f573726a868fda1591eaf42ef44220960dda698274ba8ff1db8cdc302605133ab61b188e15017ba15c5f409f3ee64e026b635ac359eea7aad7d0 WHIRLPOOL 1162d09a6b454f710823d60c559eb92320fcec7ba2216e7c3e2e670bb61371877c897a12acf014f6c97732b2aa991574569125fa91157791c25d46c4dc6a41fc +AUX syndic-confd-1 188 SHA256 286148f5391d42c04a62a13cc125fa2130b5821e50da913c5a20d3a913e5f2d1 SHA512 0051e13351cef8db81dc075a194bb384723f07d5591b5b4d3f3adf4180afaf7beced470ab79ceca9d1ec0dae62dbd72084eb76af009fc78411a011050a94a2ed WHIRLPOOL fed0dffe202d776cd5f1b74a28c5dac69b082603c9ddf695616a0a6bca5084b9589f1f4d03313f7271754166a9aa136c06aa61e6fd2e3b02d829798aa741c432 +AUX syndic-initd-4 311 SHA256 86c1af171c7b13018f089fab6d045feabd72455f9453720ef36ae2011b9cb976 SHA512 69cc10fa7d9f0f4a68d223272c08ee33af242a50eb9bbea919d61f6cb5baf1ce986b07d69fc0e47e2f6dffc0a11100c3bc0d836d2938c46aa364beecb47f07ef WHIRLPOOL 0bc115ba99507a673c387ecacce4906d42ab93bd3c29016a1fac9621f61473c1b75f6236f69d449f3e393d2c05436b3a9185840ff20ad2d006e4397280c6843c +DIST salt-2015.5.10.tar.gz 5693422 SHA256 863a96e70f8521af35fe11b10d25b3205a0bfbba9a8aee02e2842aa7106496fd SHA512 78a4cbe5c771208e957360689a25ae4e44566987e07e7fda54e6db9028485eacc6ad016c65c981090f9b5d95331e46048a094aecc27703b3956c06ab6ebad95d WHIRLPOOL 805b48df07707d85d8338251f26c72164a5421731fc11f5c933b72af97348a2f11ee35889f72ec032acbea275e98575d35786b56fd84a7917f8fdbc30567ae86 +DIST salt-2015.8.13.tar.gz 7036243 SHA256 cca82c9a4f267692660b098c1f76e54ab6a24131391893719bde0eb3a1ed2959 SHA512 ec8626f7360542bfeea90fc3d6fd9d9d015da4c2a6adf9957c22501ed9531b0a44d2cbc4853c41856b4cd46c142d2441884ec99700f3c0a5310cc428f9f1ec2a WHIRLPOOL c21f3bdc5fd674ea664c7e8fd58ef6685328a6ee3679850f3e9a085b1e604e1224a3323b906b47075fb8dd39f373583fb549e7b0f3f725d44928bcf716955a10 +DIST salt-2016.11.7.tar.gz 9409315 SHA256 279fa5bd73b5616620f628234575140f91df28b0d40d931569f179efabf27a2d SHA512 5bb52d75fafd57cd8efebe9b94dc3b53e39b476f6289e3509f1324fc86bb57a85d0ac832270c80629c04f301a749e018789c842e90cc3f2167445854e0f0ed99 WHIRLPOOL 984f297a23d59a129feaac40debc4aecaf64b2540cf62cae503c01cbe7413fdbeb58d18ed86b33b4da6f84a167bb7fed0fd502fca737720242dad91f7afad581 +DIST salt-2016.3.7.tar.gz 8516192 SHA256 3dd65ec44ca372c91b8254b625414cd7e795fdba274a07de902c3f33e199007b SHA512 78f3e23f7f05c8940bdb0359bc323cdb94c027d8abe554cffff8504d7e978f64f25d7b1f48450aed506e58ed8cbf9c272d95741dd330617809c663451f70b8d1 WHIRLPOOL 69e72d8a15310b5c1578de8c43d4a2f71cf1bdf3ae827a6283720f17a74972fd3d3fe84a95f045df77fdde82614ac6a30f549176fc44062569f40e8969e7f6fe +DIST salt-2017.7.1.tar.gz 11408839 SHA256 fe868415d0e1162157186f4c5263e9af902b0571870ad2da210e7edf5ff5331d SHA512 c12db2361e04ce7bf4d663fafdeebdb318f210e0669d1ae26db6daf3dd19a7549b4151cb4e53acacda24d11eec7bbd06190b01cf4962d9027783ffd4617a2e52 WHIRLPOOL 6073ec85a4797ac6cc58f475f7f3bd5fa0d61b4d1228c514326d32644e2f6d1656e46196d1ad32d5c87d2bfa18eff5e786b9a1325d5e73387c33a591d8dd61d2 +EBUILD salt-2015.5.10.ebuild 4120 SHA256 e43d362181f9daf161832757539fcfe556fdbfa62c6cb08e72ea04fe1d434409 SHA512 083d1fefcb43b825d0e52e9cde37802c146261b98dc45d5ad780753b35f80444931529ca2334671515f69d5f8de6af6eb38512ea6806d9d06af24464b13c1270 WHIRLPOOL ee70ede1d04d74884b33b5b6d7df91a46ec239060e1e449db7960df9daf5b787a4a6a0039434667cccbc6eb211a36477402ad8fa29743aded268bf05f9237e10 +EBUILD salt-2015.8.13-r1.ebuild 4539 SHA256 6b0a3e37090adc0987d9b2dd4017d3d6ca65f3f0542566902b6adc1f7f99781e SHA512 9f581b8892282b96044511bbf444c9e95b1d548d9f39fe972e97aa9e801d961071301eeb1df41734a0c33a100d70d43a6c0bc3b04e7cf7c469dcc19aef577330 WHIRLPOOL 050e08bfb759f4d11fd3a8323d7f150435f56e82e92e6bbff6a1aa17f5ecdd5130ae945f616569984071a27fcd8ccb4a21ae13174cc266c659ed12827f680b3c +EBUILD salt-2015.8.13.ebuild 4481 SHA256 e2c5c61ccf9978ef29c9f77e71155ae90a50b87303a55c18ac1b49153b05d0e5 SHA512 e3a39c1c44ce16b6bb63a05d135cf46f1a0676a419d70441f0d051b5f6f8f8f3a6b961961d03d7cfcab71b50866fcb1234f76f800c29050dd900743eb29e4586 WHIRLPOOL 1025b6ced7cbfbf4564915970a0f0d4c074b120e78b609eab2567659f647cdae5d12026ad14982d9824a1e886543b71857b45a0653943cfc6d0a6f0b2d780e1a +EBUILD salt-2016.11.7.ebuild 4623 SHA256 b99a61c53dfa6fd905d4570e41a81cdc3c9d724418d851c263b152c452508e4a SHA512 946eccb7bbe7175d81fa3746e6c87d7880ede9ed9c1f27106c2d6d782cbc001b05976fa113e2c5dc8b03c8b5d9a6ebfb0dd739250f82bf623ae4ab0f799f6738 WHIRLPOOL fd87ca9221dcf3772569bcbbd1e9b3de3f2ec5c4610582ca3ec8595400f0fdb5c98c0026d2b285380f22e3aeaf5ada48ba35aef9fd9bb2f25f9352f8b48c4ee7 +EBUILD salt-2016.3.7.ebuild 4480 SHA256 01c260d891ac85b05fe8ea46c504d60c4470d5fcb911f5bada765ed5f30b5bf5 SHA512 4633d977af7d07a4483af40f0722d42766c4ee2c801dfd506f9b9fbcfaaabe507af63ae7298374838a27486127b47464593e6b678c40ebf575fa2a4d40fe50bf WHIRLPOOL 235a160faeb64cd95f4cab92b8665c0692ed832db3df123490a6bce50abe311d17df53b071dc9c4a87b33fbd9eeacc2bdba626518a2a68f93e6b89292d25d3f7 +EBUILD salt-2017.7.1.ebuild 4331 SHA256 315b6d84b5a9f7cb124129332cd57e5a4f12eb8a8475cf099ba655b0034f0458 SHA512 91f78244df90369ca0f1251618c463ef0c5ae34c2a7569c8cc23dd2cd5d4fc9000c0da521846a82d938fd1a49506d567307898c1368ffeb98babc93eabe6821b WHIRLPOOL 653bdb2440f423ec3545c7c30146ab79749c60ca78939044de76b7d031b1b73dd7c33a0c6633d5ec8d92e5d5a80cf29ce996aaedecbccfdd9e5416ed9982bfca +EBUILD salt-9999.ebuild 4247 SHA256 f07619d0622068fca3c858d382532d0febcc37e397cf86af8ef44f5797995d61 SHA512 c9a3230f8a99b13cb5604dcc76be3ccbb7a5d1698e8cf3bb70b14a25dc73317eee0b30055e6c53e7fff51fe9a8a4fda6317060582e64b156d6fdbfeca0bb4943 WHIRLPOOL cbc2894ccf5d5f4bade826cbf0b17066247620e43e6cf17fabb857ea12edb58daab15dd60f050fdd7dbe2da56783aae712dfbd63dac92c9ebc0f734af6ef81e9 +MISC ChangeLog 12403 SHA256 298bea725d2152b7f69553d11f297509ed77ca25766db0bd2ef701cabf4af9cb SHA512 4d09eec2c3b202dce66d1930ac797047b5a8a62e23d9544f4b9e87b9c04f8154c2e22bb15a81d8c12d2c655b69e6caf14a3fb894091d5fcc0a0dc19ae4605a27 WHIRLPOOL 32f7fb99620f148d306f4ab71de645013ffacba2634da765c4857fbc27470a4266774bb4568d43d4c454d428c2bbf212d23d560003545463148715240343a322 +MISC ChangeLog-2015 12557 SHA256 b377310761177c31ab41e955e1a83e638d4c48ca3ab3f785a09fc7dfbcde4e6c SHA512 d364f9c749647bc9a3daa67e08ea79d09a598b35620b1971f797739fdc066a5700e5b5c8d0b412aab6766db67cc90a5ef871e1aeba61caae0496413b24d7177a WHIRLPOOL ac4da49c7b67666ba3b9b184b688a25d68ea7234d2556f9f25f34e3014b118ba743574519e93fca6447ba5450c52dd6079c91d873ccf1344cc9309c23bddacf2 +MISC metadata.xml 2288 SHA256 84db13520194dd4ed73cbf3eb01226be10f0800be4be988bac56960507bdb543 SHA512 fdcea2f80fc87ab2a0db1643d71dd6d54e91d898594570af6a7505343c5d9a5a0ce4803d11460d7d3f6f533509b072819f958cbe31ca9183fabf811982526969 WHIRLPOOL 50fbf4e2c309ddf255c5b867554f8c56600a81b71cf4b7ccbe43b7d2fb15430767b11573b834f9eaed9dfd45bcd802e50865f1e42662bfeb12dd1b16387645c4 diff --git a/app-admin/salt/files/api-confd-1 b/app-admin/salt/files/api-confd-1 new file mode 100644 index 000000000000..c70e8e766da0 --- /dev/null +++ b/app-admin/salt/files/api-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-master: config file for /etc/init.d/salt-master + +# see man pages for salt-minion or run `salt-master --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/api-initd-4 b/app-admin/salt/files/api-initd-4 new file mode 100644 index 000000000000..a0cb8265047d --- /dev/null +++ b/app-admin/salt/files/api-initd-4 @@ -0,0 +1,14 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/salt-api" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-api.pid" +name="SALT API daemon" +retry="20" + +depend() { + use net logger +} diff --git a/app-admin/salt/files/master-confd-1 b/app-admin/salt/files/master-confd-1 new file mode 100644 index 000000000000..c70e8e766da0 --- /dev/null +++ b/app-admin/salt/files/master-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-master: config file for /etc/init.d/salt-master + +# see man pages for salt-minion or run `salt-master --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/master-initd-4 b/app-admin/salt/files/master-initd-4 new file mode 100644 index 000000000000..e07e72b0dae7 --- /dev/null +++ b/app-admin/salt/files/master-initd-4 @@ -0,0 +1,14 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/salt-master" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-master.pid" +name="SALT master daemon" +retry="20" + +depend() { + use net logger +} diff --git a/app-admin/salt/files/minion-confd-1 b/app-admin/salt/files/minion-confd-1 new file mode 100644 index 000000000000..d69d83fcd60d --- /dev/null +++ b/app-admin/salt/files/minion-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-minion: config file for /etc/init.d/salt-minion + +# see man pages for salt-minion or run `salt-minion --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/minion-initd-4 b/app-admin/salt/files/minion-initd-4 new file mode 100644 index 000000000000..c658ccf5c1df --- /dev/null +++ b/app-admin/salt/files/minion-initd-4 @@ -0,0 +1,15 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/salt-minion" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-minion.pid" +name="SALT minion daemon" +retry="20" + +depend() { + need net + use logger +} diff --git a/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch b/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch new file mode 100644 index 000000000000..7c33c12f5c71 --- /dev/null +++ b/app-admin/salt/files/salt-2014.7.1-remove-pydsl-includes-test.patch @@ -0,0 +1,104 @@ +diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py +index 57ba81e..b26154e 100644 +--- a/tests/unit/pydsl_test.py ++++ b/tests/unit/pydsl_test.py +@@ -298,99 +298,6 @@ class PyDSLRendererTestCase(TestCase): + finally: + shutil.rmtree(dirpath, ignore_errors=True) + +- def test_rendering_includes(self): +- dirpath = tempfile.mkdtemp(dir=integration.SYS_TMP_DIR) +- if not os.path.isdir(dirpath): +- self.skipTest( +- 'The temporary directory {0!r} was not created'.format( +- dirpath +- ) +- ) +- output = os.path.join(dirpath, 'output') +- try: +- write_to(os.path.join(dirpath, 'aaa.sls'), textwrap.dedent('''\ +- #!pydsl|stateconf -ps +- +- include('xxx') +- yyy = include('yyy') +- +- # ensure states in xxx are run first, then those in yyy and then those in aaa last. +- extend(state('yyy::start').stateconf.require(stateconf='xxx::goal')) +- extend(state('.start').stateconf.require(stateconf='yyy::goal')) +- +- extend(state('yyy::Y2').cmd.run('echo Y2 extended >> {0}')) +- +- __pydsl__.set(ordered=True) +- +- yyy.hello('red', 1) +- yyy.hello('green', 2) +- yyy.hello('blue', 3) +- '''.format(output))) +- +- write_to(os.path.join(dirpath, 'xxx.sls'), textwrap.dedent('''\ +- #!stateconf -os yaml . jinja +- +- include: +- - yyy +- +- extend: +- yyy::start: +- stateconf.set: +- - require: +- - stateconf: .goal +- +- yyy::Y1: +- cmd.run: +- - name: 'echo Y1 extended >> {0}' +- +- .X1: +- cmd.run: +- - name: echo X1 >> {1} +- - cwd: / +- .X2: +- cmd.run: +- - name: echo X2 >> {2} +- - cwd: / +- .X3: +- cmd.run: +- - name: echo X3 >> {3} +- - cwd: / +- +- '''.format(output, output, output, output))) +- +- write_to(os.path.join(dirpath, 'yyy.sls'), textwrap.dedent('''\ +- #!pydsl|stateconf -ps +- +- include('xxx') +- __pydsl__.set(ordered=True) +- +- state('.Y1').cmd.run('echo Y1 >> {0}', cwd='/') +- state('.Y2').cmd.run('echo Y2 >> {1}', cwd='/') +- state('.Y3').cmd.run('echo Y3 >> {2}', cwd='/') +- +- def hello(color, number): +- state(color).cmd.run('echo hello '+color+' '+str(number)+' >> {3}', cwd='/') +- '''.format(output, output, output, output))) +- +- state_highstate({'base': ['aaa']}, dirpath) +- expected = textwrap.dedent('''\ +- X1 +- X2 +- X3 +- Y1 extended +- Y2 extended +- Y3 +- hello red 1 +- hello green 2 +- hello blue 3 +- ''') +- +- with salt.utils.fopen(output, 'r') as f: +- self.assertEqual(sorted(f.read()), sorted(expected)) +- +- finally: +- shutil.rmtree(dirpath, ignore_errors=True) +- + def test_compile_time_state_execution(self): + if not sys.stdin.isatty(): + self.skipTest('Not attached to a TTY') diff --git a/app-admin/salt/files/salt-2015.5.10-buggy-tests.patch b/app-admin/salt/files/salt-2015.5.10-buggy-tests.patch new file mode 100644 index 000000000000..e9330bd255b5 --- /dev/null +++ b/app-admin/salt/files/salt-2015.5.10-buggy-tests.patch @@ -0,0 +1,38 @@ +diff --git a/tests/unit/modules/boto_vpc_test.py b/tests/unit/modules/boto_vpc_test.py +index 82dfe28..ced9ee5 100644 +--- a/tests/unit/modules/boto_vpc_test.py ++++ b/tests/unit/modules/boto_vpc_test.py +@@ -441,9 +441,9 @@ class BotoVpcTestCase(BotoVpcTestCaseBase): + describe_vpc = boto_vpc.describe(vpc_id=vpc.id, **conn_parameters) + + vpc_properties = dict(cidr_block=unicode(cidr_block), +- is_default=None, ++ is_default=False, + state=u'available', +- tags={'Name': 'test', 'test': 'testvalue'}, ++ tags={u'Name': u'test', u'test': u'testvalue'}, + dhcp_options_id=u'dopt-7a8b9c2d', + instance_tenancy=u'default') + +diff --git a/tests/unit/states/pip_test.py b/tests/unit/states/pip_test.py +index 6e7d083..9a83951 100644 +--- a/tests/unit/states/pip_test.py ++++ b/tests/unit/states/pip_test.py +@@ -37,17 +37,6 @@ class PipStateTest(TestCase, integration.SaltReturnAssertsMixIn): + def test_install_requirements_parsing(self): + mock = MagicMock(return_value={'retcode': 0, 'stdout': ''}) + pip_list = MagicMock(return_value={'pep8': '1.3.3'}) +- with patch.dict(pip_state.__salt__, {'cmd.run_all': mock, +- 'pip.list': pip_list}): +- with patch.dict(pip_state.__opts__, {'test': True}): +- ret = pip_state.installed('pep8=1.3.2') +- self.assertSaltFalseReturn({'test': ret}) +- self.assertInSaltComment( +- 'Invalid version specification in package pep8=1.3.2. ' +- '\'=\' is not supported, use \'==\' instead.', +- {'test': ret} +- ) +- + mock = MagicMock(return_value={'retcode': 0, 'stdout': ''}) + pip_list = MagicMock(return_value={'pep8': '1.3.3'}) + pip_install = MagicMock(return_value={'retcode': 0}) diff --git a/app-admin/salt/files/salt-2015.5.5-auth-tests.patch b/app-admin/salt/files/salt-2015.5.5-auth-tests.patch new file mode 100644 index 000000000000..fa092d1f3eaf --- /dev/null +++ b/app-admin/salt/files/salt-2015.5.5-auth-tests.patch @@ -0,0 +1,34 @@ +diff --git a/tests/unit/auth_test.py b/tests/unit/auth_test.py +index 10b77e9..c40f439 100644 +--- a/tests/unit/auth_test.py ++++ b/tests/unit/auth_test.py +@@ -38,12 +38,12 @@ class LoadAuthTestCase(TestCase): + + # Test a case with valid params + with patch('salt.utils.format_call') as format_call_mock: +- expected_ret = call('fake_func_str', { ++ expected_ret = [call('fake_func_str', { + 'username': 'test_user', + 'test_password': '', + 'show_timeout': False, + 'eauth': 'pam' +- }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS) ++ }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)] + ret = self.lauth.load_name(valid_eauth_load) + format_call_mock.assert_has_calls(expected_ret) + +@@ -53,12 +53,12 @@ class LoadAuthTestCase(TestCase): + 'test_password': '', + 'eauth': 'pam'} + with patch('salt.utils.format_call') as format_call_mock: +- expected_ret = call('fake_groups_function_str', { ++ expected_ret = [call('fake_groups_function_str', { + 'username': 'test_user', + 'test_password': '', + 'show_timeout': False, + 'eauth': 'pam' +- }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS) ++ }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)] + self.lauth.get_groups(valid_eauth_load) + format_call_mock.assert_has_calls(expected_ret) + diff --git a/app-admin/salt/files/salt-2015.5.5-cron-tests.patch b/app-admin/salt/files/salt-2015.5.5-cron-tests.patch new file mode 100644 index 000000000000..d0c4ffc92df1 --- /dev/null +++ b/app-admin/salt/files/salt-2015.5.5-cron-tests.patch @@ -0,0 +1,17 @@ +diff --git a/tests/unit/modules/cron_test.py b/tests/unit/modules/cron_test.py +index 017eabd..dac0122 100644 +--- a/tests/unit/modules/cron_test.py ++++ b/tests/unit/modules/cron_test.py +@@ -573,10 +573,10 @@ class PsTestCase(TestCase): + @patch('salt.modules.cron._write_cron_lines') + @patch('salt.modules.cron.list_tab', new=MagicMock(return_value=STUB_SIMPLE_CRON_DICT)) + def test_set_special(self, write_cron_lines_mock): +- expected_write_call = call('DUMMY_USER', ++ expected_write_call = [call('DUMMY_USER', + ['5 0 * * * /tmp/no_script.sh\n', + '# Lines below here are managed by Salt, do not edit\n', +- '@hourly echo Hi!\n']) ++ '@hourly echo Hi!\n'])] + ret = cron.set_special('DUMMY_USER', '@hourly', 'echo Hi!') + write_cron_lines_mock.assert_has_calls(expected_write_call) + diff --git a/app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch b/app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch new file mode 100644 index 000000000000..b36e35fb9a58 --- /dev/null +++ b/app-admin/salt/files/salt-2015.5.5-remove-buggy-tests.patch @@ -0,0 +1,46 @@ +diff --git a/tests/unit/modules/darwin_sysctl_test.py b/tests/unit/modules/darwin_sysctl_test.py +index 51e8f23..36d005f 100644 +--- a/tests/unit/modules/darwin_sysctl_test.py ++++ b/tests/unit/modules/darwin_sysctl_test.py +@@ -64,18 +64,6 @@ class DarwinSysctlTestCase(TestCase): + 'net.inet.icmp.icmplim', 50), ret) + + @patch('os.path.isfile', MagicMock(return_value=False)) +- def test_persist_no_conf_failure(self): +- ''' +- Tests adding of config file failure +- ''' +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- darwin_sysctl.persist, +- 'net.inet.icmp.icmplim', +- 50, config=None) +- +- @patch('os.path.isfile', MagicMock(return_value=False)) + def test_persist_no_conf_success(self): + ''' + Tests successful add of config file when previously not one +diff --git a/tests/unit/modules/linux_sysctl_test.py b/tests/unit/modules/linux_sysctl_test.py +index 08fc80f..c6e40b8 100644 +--- a/tests/unit/modules/linux_sysctl_test.py ++++ b/tests/unit/modules/linux_sysctl_test.py +@@ -82,18 +82,6 @@ class LinuxSysctlTestCase(TestCase): + 'net.ipv4.ip_forward', 1), ret) + + @patch('os.path.isfile', MagicMock(return_value=False)) +- def test_persist_no_conf_failure(self): +- ''' +- Tests adding of config file failure +- ''' +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- linux_sysctl.persist, +- 'net.ipv4.ip_forward', +- 1, config=None) +- +- @patch('os.path.isfile', MagicMock(return_value=False)) + def test_persist_no_conf_success(self): + ''' + Tests successful add of config file when previously not one diff --git a/app-admin/salt/files/salt-2015.5.7-tmpdir.patch b/app-admin/salt/files/salt-2015.5.7-tmpdir.patch new file mode 100644 index 000000000000..8a19c32e0f71 --- /dev/null +++ b/app-admin/salt/files/salt-2015.5.7-tmpdir.patch @@ -0,0 +1,37 @@ +diff --git a/tests/unit/modules/grains_test.py b/tests/unit/modules/grains_test.py +index 3473c03..ea37d66 100644 +--- a/tests/unit/modules/grains_test.py ++++ b/tests/unit/modules/grains_test.py +@@ -1,6 +1,8 @@ + # -*- coding: utf-8 -*- + + import copy ++import os.path ++import tempfile + + # Import Salt Testing libs + from salttesting import TestCase, skipIf +@@ -20,8 +22,8 @@ from salt.modules import grains as grainsmod + from salt.utils import dictupdate + + grainsmod.__opts__ = { +- 'conf_file': '/tmp/__salt_test_grains', +- 'cachedir': '/tmp/__salt_test_grains_cache_dir' ++ 'conf_file': os.path.join(tempfile.gettempdir(), '__salt_test_grains'), ++ 'cachedir': os.path.join(tempfile.gettempdir(), '__salt_test_grains_cache_dir') + } + + grainsmod.__salt__ = {} +diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py +index 3cfb2f0..b3f3bee 100644 +--- a/tests/unit/states/archive_test.py ++++ b/tests/unit/states/archive_test.py +@@ -69,7 +69,7 @@ class ArchiveTest(TestCase): + 'cmd.run_all': mock_run}): + filename = os.path.join( + tmp_dir, +- 'files/test/_tmp_test_archive_.tar' ++ 'files/test/' + tempfile.gettempdir().replace('/', '_') + '_test_archive_.tar' + ) + for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts): + ret = archive.extracted(tmp_dir, diff --git a/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch b/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch new file mode 100644 index 000000000000..92ab0624e595 --- /dev/null +++ b/app-admin/salt/files/salt-2015.8.0-remove-buggy-tests.patch @@ -0,0 +1,56 @@ +diff --git a/tests/unit/modules/mount_test.py b/tests/unit/modules/mount_test.py +index 282539d..c88a7a8 100644 +--- a/tests/unit/modules/mount_test.py ++++ b/tests/unit/modules/mount_test.py +@@ -103,12 +103,6 @@ class MountTestCase(TestCase): + self.assertTrue(mount.rm_fstab('name', 'device')) + + mock = MagicMock(return_value={'name': 'name'}) +- with patch.object(mount, 'fstab', mock): +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- mount.rm_fstab, +- config=None) + + def test_set_fstab(self): + ''' +@@ -143,12 +137,6 @@ class MountTestCase(TestCase): + self.assertTrue(mount.rm_automaster('name', 'device')) + + mock = MagicMock(return_value={'name': 'name'}) +- with patch.object(mount, 'fstab', mock): +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- mount.rm_automaster, +- 'name', 'device') + + def test_set_automaster(self): + ''' +diff --git a/tests/unit/modules/puppet_test.py b/tests/unit/modules/puppet_test.py +index 6a43fd4..3be039c 100644 +--- a/tests/unit/modules/puppet_test.py ++++ b/tests/unit/modules/puppet_test.py +@@ -91,10 +91,6 @@ class PuppetTestCase(TestCase): + with patch('salt.utils.fopen', mock_open()): + self.assertTrue(puppet.disable()) + +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- puppet.disable) + + def test_status(self): + ''' +@@ -154,10 +150,6 @@ class PuppetTestCase(TestCase): + mock_open(read_data="resources: 1")): + self.assertDictEqual(puppet.summary(), {'resources': 1}) + +- with patch('salt.utils.fopen', mock_open()) as m_open: +- helper_open = m_open() +- helper_open.write.assertRaises(CommandExecutionError, +- puppet.summary) + + def test_plugin_sync(self): + ''' diff --git a/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch b/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch new file mode 100644 index 000000000000..5a4d273d7848 --- /dev/null +++ b/app-admin/salt/files/salt-2015.8.10-remove-failing-boto-test.patch @@ -0,0 +1,35 @@ +diff --git a/tests/unit/modules/boto_secgroup_test.py b/tests/unit/modules/boto_secgroup_test.py +index f1c6bb1..07fd8ec 100644 +--- a/tests/unit/modules/boto_secgroup_test.py ++++ b/tests/unit/modules/boto_secgroup_test.py +@@ -192,30 +192,6 @@ class BotoSecgroupTestCase(TestCase): + **conn_parameters) + self.assertEqual(group_vpc.id, retrieved_group_id) + +- @mock_ec2 +- def test_get_config_single_rule_group_name(self): +- ''' +- tests return of 'config' when given group name. get_config returns an OrderedDict. +- ''' +- group_name = _random_group_name() +- ip_protocol = u'tcp' +- from_port = 22 +- to_port = 22 +- cidr_ip = u'0.0.0.0/0' +- rules_egress = [{'to_port': -1, 'from_port': -1, 'ip_protocol': u'-1', 'cidr_ip': u'0.0.0.0/0'}] +- +- conn = boto.ec2.connect_to_region(region, **boto_conn_parameters) +- group = conn.create_security_group(name=group_name, description=group_name) +- group.authorize(ip_protocol=ip_protocol, from_port=from_port, to_port=to_port, cidr_ip=cidr_ip) +- # setup the expected get_config result +- expected_get_config_result = OrderedDict([('name', group.name), ('group_id', group.id), ('owner_id', u'111122223333'), +- ('description', group.description), +- ('rules', [{'to_port': to_port, 'from_port': from_port, +- 'ip_protocol': ip_protocol, 'cidr_ip': cidr_ip}]), +- ('rules_egress', rules_egress)]) +- secgroup_get_config_result = boto_secgroup.get_config(group_id=group.id, **conn_parameters) +- self.assertEqual(expected_get_config_result, secgroup_get_config_result) +- + @skipIf(True, 'test skipped due to error in moto return - fixed in ' + 'https://github.com/spulec/moto/commit/cc0166964371f7b5247a49d45637a8f936ccbe6f') + @mock_ec2 diff --git a/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch b/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch new file mode 100644 index 000000000000..7d8512b14ef4 --- /dev/null +++ b/app-admin/salt/files/salt-2015.8.13-failing-gateway-tests.patch @@ -0,0 +1,69 @@ +diff --git a/tests/unit/states/boto_vpc_test.py b/tests/unit/states/boto_vpc_test.py +index 53b6a24e4d..96b5630627 100644 +--- a/tests/unit/states/boto_vpc_test.py ++++ b/tests/unit/states/boto_vpc_test.py +@@ -179,16 +179,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin): + self.assertTrue(exists) + + @mock_ec2 +- def test_present_when_resource_exists(self): +- vpc = self._create_vpc(name='test') +- resource = self._create_resource(vpc_id=vpc.id, name='test') +- with patch.dict('salt.utils.boto.__salt__', funcs): +- resource_present_result = salt_states['boto_vpc.{0}_present'.format(self.resource_type)]( +- name='test', vpc_name='test', **self.extra_kwargs) +- self.assertTrue(resource_present_result['result']) +- self.assertEqual(resource_present_result['changes'], {}) +- +- @mock_ec2 + @skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493') + def test_present_with_failure(self): + vpc = self._create_vpc(name='test') +@@ -210,18 +200,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin): + self.assertEqual(resource_absent_result['changes'], {}) + + @mock_ec2 +- def test_absent_when_resource_exists(self): +- vpc = self._create_vpc(name='test') +- self._create_resource(vpc_id=vpc.id, name='test') +- +- with patch.dict('salt.utils.boto.__salt__', funcs): +- resource_absent_result = salt_states['boto_vpc.{0}_absent'.format(self.resource_type)]('test') +- self.assertTrue(resource_absent_result['result']) +- self.assertEqual(resource_absent_result['changes']['new'][self.resource_type], None) +- exists = funcs['boto_vpc.resource_exists'](self.resource_type, 'test').get('exists') +- self.assertFalse(exists) +- +- @mock_ec2 + @skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493') + def test_absent_with_failure(self): + vpc = self._create_vpc(name='test') +@@ -293,28 +271,3 @@ class BotoVpcRouteTableTestCase(BotoVpcStateTestCaseBase, BotoVpcResourceTestCas + + new_subnets = changes['new']['subnets_associations'] + self.assertEqual(new_subnets[0]['subnet_id'], subnet2.id) +- +- @mock_ec2 +- def test_present_with_routes(self): +- vpc = self._create_vpc(name='test') +- igw = self._create_internet_gateway(name='test', vpc_id=vpc.id) +- +- route_table_present_result = salt_states['boto_vpc.route_table_present']( +- name='test', vpc_name='test', routes=[{'destination_cidr_block': '0.0.0.0/0', +- 'gateway_id': igw.id}, +- {'destination_cidr_block': '10.0.0.0/24', +- 'gateway_id': 'local'}]) +- routes = [x['gateway_id'] for x in route_table_present_result['changes']['new']['routes']] +- +- self.assertEqual(set(routes), set(['local', igw.id])) +- +- route_table_present_result = salt_states['boto_vpc.route_table_present']( +- name='test', vpc_name='test', routes=[{'destination_cidr_block': '10.0.0.0/24', +- 'gateway_id': 'local'}]) +- +- changes = route_table_present_result['changes'] +- +- old_routes = [x['gateway_id'] for x in changes['old']['routes']] +- self.assertEqual(set(routes), set(old_routes)) +- +- self.assertEqual(changes['new']['routes'][0]['gateway_id'], 'local') diff --git a/app-admin/salt/files/salt-2015.8.13-sanitize-minion-name.patch b/app-admin/salt/files/salt-2015.8.13-sanitize-minion-name.patch new file mode 100644 index 000000000000..df9e0f66d005 --- /dev/null +++ b/app-admin/salt/files/salt-2015.8.13-sanitize-minion-name.patch @@ -0,0 +1,36 @@ +From aa87d67258a5b6742fc53d06c7bdac0f643bc9f1 Mon Sep 17 00:00:00 2001 +From: Ch3LL <megan.wilhite@gmail.com> +Date: Tue, 1 Aug 2017 13:44:32 -0400 +Subject: [PATCH] Add clean_id function to salt.utils.verify.py + +--- + salt/utils/verify.py | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/salt/utils/verify.py b/salt/utils/verify.py +index 5cac0fa651b..a3dc67db336 100644 +--- a/salt/utils/verify.py ++++ b/salt/utils/verify.py +@@ -484,12 +484,21 @@ def clean_path(root, path, subdir=False): + return '' + + ++def clean_id(id_): ++ ''' ++ Returns if the passed id is clean. ++ ''' ++ if re.search(r'\.\.{sep}'.format(sep=os.sep), id_): ++ return False ++ return True ++ ++ + def valid_id(opts, id_): + ''' + Returns if the passed id is valid + ''' + try: +- return bool(clean_path(opts['pki_dir'], id_)) ++ return bool(clean_path(opts['pki_dir'], id_)) and clean_id(id_) + except (AttributeError, KeyError) as e: + return False + diff --git a/app-admin/salt/files/salt-2015.8.2-tmpdir.patch b/app-admin/salt/files/salt-2015.8.2-tmpdir.patch new file mode 100644 index 000000000000..871551e0e508 --- /dev/null +++ b/app-admin/salt/files/salt-2015.8.2-tmpdir.patch @@ -0,0 +1,56 @@ +diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py +index 615e6b5..fbd24aa 100644 +--- a/tests/unit/modules/qemu_nbd_test.py ++++ b/tests/unit/modules/qemu_nbd_test.py +@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase): + Test if it mount the named image via qemu-nbd + and return the mounted roots + ''' ++ tmpdir = os.environ.get('TMPDIR', '/tmp') + mock = MagicMock(return_value=True) + with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}): + self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '') +@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase): + 'mount.mount': mock, + 'cmd.retcode': MagicMock(side_effect=[1, 0])}): + self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'), +- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'}) ++ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'}) + + # 'clear' function tests: 1 + +diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py +index 63e4a53..20b196f 100644 +--- a/tests/unit/states/archive_test.py ++++ b/tests/unit/states/archive_test.py +@@ -26,7 +26,7 @@ from salt.ext.six.moves import zip # pylint: disable=import-error,redefined-bui + + # Globals + archive.__salt__ = {} +-archive.__opts__ = {"cachedir": "/tmp", "test": False} ++archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False} + archive.__env__ = 'test' + + +@@ -75,7 +75,7 @@ class ArchiveTestCase(TestCase): + 'cmd.run_all': mock_run}): + filename = os.path.join( + tmp_dir, +- 'files/test/_tmp_test_archive_.tar' ++ 'files/test/' + tempfile.gettempdir().replace('/', '_') + '_test_archive_.tar' + ) + for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts): + ret = archive.extracted(tmp_dir, +diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py +index 71e4330..d6f3f30 100644 +--- a/tests/unit/utils/context_test.py ++++ b/tests/unit/utils/context_test.py +@@ -18,7 +18,7 @@ import salt.payload + import salt.utils + + __context__ = {'a': 'b'} +-__opts__ = {'cachedir': '/tmp'} ++__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')} + + + @skipIf(NO_MOCK, NO_MOCK_REASON) diff --git a/app-admin/salt/files/salt-2016.11.0-broken-tests.patch b/app-admin/salt/files/salt-2016.11.0-broken-tests.patch new file mode 100644 index 000000000000..5bb7a8e4c46b --- /dev/null +++ b/app-admin/salt/files/salt-2016.11.0-broken-tests.patch @@ -0,0 +1,23 @@ +diff --git a/tests/unit/utils/extend_test.py b/tests/unit/utils/extend_test.py +index f63a4896f7..54bf443d9a 100644 +--- a/tests/unit/utils/extend_test.py ++++ b/tests/unit/utils/extend_test.py +@@ -38,18 +38,6 @@ class ExtendTestCase(TestCase): + shutil.rmtree(self.out, True) + os.chdir(self.starting_dir) + +- @patch('sys.exit', MagicMock) +- def test_run(self): +- out = salt.utils.extend.run('test', 'test', 'this description', integration.CODE_DIR, False) +- self.out = out +- year = date.today().strftime('%Y') +- self.assertTrue(os.path.exists(out)) +- self.assertFalse(os.path.exists(os.path.join(out, 'template.yml'))) +- self.assertTrue(os.path.exists(os.path.join(out, 'directory'))) +- self.assertTrue(os.path.exists(os.path.join(out, 'directory', 'test.py'))) +- with salt.utils.fopen(os.path.join(out, 'directory', 'test.py'), 'r') as test_f: +- self.assertEqual(test_f.read(), year) +- + if __name__ == '__main__': + from unit import run_tests + run_tests(ExtendTestCase, needs_daemon=False) diff --git a/app-admin/salt/files/salt-2016.11.0-remove-file-tree-test.patch b/app-admin/salt/files/salt-2016.11.0-remove-file-tree-test.patch new file mode 100644 index 000000000000..47d3257df671 --- /dev/null +++ b/app-admin/salt/files/salt-2016.11.0-remove-file-tree-test.patch @@ -0,0 +1,34 @@ +diff --git a/tests/unit/modules/inspect_collector_test.py b/tests/unit/modules/inspect_collector_test.py +index 9105670526..e077bc3f44 100644 +--- a/tests/unit/modules/inspect_collector_test.py ++++ b/tests/unit/modules/inspect_collector_test.py +@@ -52,29 +52,6 @@ class InspectorCollectorTestCase(TestCase): + self.assertEqual(inspector.pidfile, '/foo/pid/bar.pid') + + @patch("os.mkdir", MagicMock()) +- def test_file_tree(self): +- ''' +- Test file tree. +- +- :return: +- ''' +- +- inspector = Inspector(cachedir='/test', piddir='/test', pidfilename='bar.pid') +- tree_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'inspectlib', 'tree_test') +- expected_tree = (['/a/a/dummy.a', '/a/b/dummy.b', '/b/b.1', '/b/b.2', '/b/b.3'], +- ['/a', '/a/a', '/a/b', '/a/c', '/b', '/c'], +- ['/a/a/dummy.ln.a', '/a/b/dummy.ln.b', '/a/c/b.1', '/b/b.4', +- '/b/b.5', '/c/b.1', '/c/b.2', '/c/b.3']) +- tree_result = [] +- for chunk in inspector._get_all_files(tree_root): +- buff = [] +- for pth in chunk: +- buff.append(pth.replace(tree_root, '')) +- tree_result.append(buff) +- tree_result = tuple(tree_result) +- self.assertEqual(expected_tree, tree_result) +- +- @patch("os.mkdir", MagicMock()) + def test_get_unmanaged_files(self): + ''' + Test get_unmanaged_files. diff --git a/app-admin/salt/files/salt-2016.11.0-tmpdir.patch b/app-admin/salt/files/salt-2016.11.0-tmpdir.patch new file mode 100644 index 000000000000..1cccb158aff0 --- /dev/null +++ b/app-admin/salt/files/salt-2016.11.0-tmpdir.patch @@ -0,0 +1,34 @@ +diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py +index 615e6b5670..fbd24aab86 100644 +--- a/tests/unit/modules/qemu_nbd_test.py ++++ b/tests/unit/modules/qemu_nbd_test.py +@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase): + Test if it mount the named image via qemu-nbd + and return the mounted roots + ''' ++ tmpdir = os.environ.get('TMPDIR', '/tmp') + mock = MagicMock(return_value=True) + with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}): + self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '') +@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase): + 'mount.mount': mock, + 'cmd.retcode': MagicMock(side_effect=[1, 0])}): + self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'), +- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'}) ++ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'}) + + # 'clear' function tests: 1 + +diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py +index 5249d56747..a27ee9ab61 100644 +--- a/tests/unit/utils/context_test.py ++++ b/tests/unit/utils/context_test.py +@@ -18,7 +18,7 @@ import salt.payload + import salt.utils + + __context__ = {'a': 'b'} +-__opts__ = {'cachedir': '/tmp'} ++__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')} + + + @skipIf(NO_MOCK, NO_MOCK_REASON) diff --git a/app-admin/salt/files/salt-2016.3.1-dont-realpath-tmpdir.patch b/app-admin/salt/files/salt-2016.3.1-dont-realpath-tmpdir.patch new file mode 100644 index 000000000000..3e4fa31c9042 --- /dev/null +++ b/app-admin/salt/files/salt-2016.3.1-dont-realpath-tmpdir.patch @@ -0,0 +1,18 @@ +diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py +index fc13bb6..6316fb5 100644 +--- a/tests/integration/__init__.py ++++ b/tests/integration/__init__.py +@@ -77,12 +77,7 @@ if salt.utils.is_windows(): + import win32api + + +-SYS_TMP_DIR = os.path.realpath( +- # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long +- # for unix sockets: ``error: AF_UNIX path too long`` +- # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR} +- os.environ.get('TMPDIR', tempfile.gettempdir()) if not salt.utils.is_darwin() else '/tmp' +-) ++SYS_TMP_DIR = os.environ.get('TMPDIR', tempfile.gettempdir()) if not salt.utils.is_darwin() else '/tmp' + TMP = os.path.join(SYS_TMP_DIR, 'salt-tests-tmpdir') + FILES = os.path.join(INTEGRATION_TEST_DIR, 'files') + PYEXEC = 'python{0}.{1}'.format(*sys.version_info) diff --git a/app-admin/salt/files/salt-2016.3.4-dont-test-ordering.patch b/app-admin/salt/files/salt-2016.3.4-dont-test-ordering.patch new file mode 100644 index 000000000000..c27227571ad2 --- /dev/null +++ b/app-admin/salt/files/salt-2016.3.4-dont-test-ordering.patch @@ -0,0 +1,33 @@ +diff --git a/tests/unit/modules/inspect_collector_test.py b/tests/unit/modules/inspect_collector_test.py +index 9d2fa3ada7..710bbd75a5 100644 +--- a/tests/unit/modules/inspect_collector_test.py ++++ b/tests/unit/modules/inspect_collector_test.py +@@ -36,28 +36,6 @@ class InspectorCollectorTestCase(TestCase): + self.assertEqual(inspector.dbfile, '/foo/cache/_minion_collector.db') + self.assertEqual(inspector.pidfile, '/foo/pid/bar.pid') + +- def test_file_tree(self): +- ''' +- Test file tree. +- +- :return: +- ''' +- +- inspector = Inspector(cachedir='/test', piddir='/test', pidfilename='bar.pid') +- tree_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'inspectlib', 'tree_test') +- expected_tree = (['/a/a/dummy.a', '/a/b/dummy.b', '/b/b.1', '/b/b.2', '/b/b.3'], +- ['/a', '/a/a', '/a/b', '/a/c', '/b', '/c'], +- ['/a/a/dummy.ln.a', '/a/b/dummy.ln.b', '/a/c/b.1', '/b/b.4', +- '/b/b.5', '/c/b.1', '/c/b.2', '/c/b.3']) +- tree_result = [] +- for chunk in inspector._get_all_files(tree_root): +- buff = [] +- for pth in chunk: +- buff.append(pth.replace(tree_root, '')) +- tree_result.append(buff) +- tree_result = tuple(tree_result) +- self.assertEqual(expected_tree, tree_result) +- + def test_get_unmanaged_files(self): + ''' + Test get_unmanaged_files. diff --git a/app-admin/salt/files/salt-2016.3.4-test-nonexist-dirs.patch b/app-admin/salt/files/salt-2016.3.4-test-nonexist-dirs.patch new file mode 100644 index 000000000000..dd542d630adf --- /dev/null +++ b/app-admin/salt/files/salt-2016.3.4-test-nonexist-dirs.patch @@ -0,0 +1,32 @@ +diff --git a/tests/unit/conf_test.py b/tests/unit/conf_test.py +index cce0023423..c1324f4a61 100644 +--- a/tests/unit/conf_test.py ++++ b/tests/unit/conf_test.py +@@ -140,6 +140,8 @@ class ConfTest(TestCase): + commented out. This test loops through all of the files in that directory to check + for any lines that are not commented or blank. + ''' ++ if not os.path.exists(SAMPLE_CONF_DIR + 'cloud.profiles.d/'): ++ return + cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.profiles.d/') + for conf_file in cloud_sample_files: + profile_conf = SAMPLE_CONF_DIR + 'cloud.profiles.d/' + conf_file +@@ -158,6 +160,8 @@ class ConfTest(TestCase): + commented out. This test loops through all of the files in that directory to check + for any lines that are not commented or blank. + ''' ++ if not os.path.exists(SAMPLE_CONF_DIR + 'cloud.providers.d/'): ++ return + cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.providers.d/') + for conf_file in cloud_sample_files: + provider_conf = SAMPLE_CONF_DIR + 'cloud.providers.d/' + conf_file +@@ -176,6 +180,9 @@ class ConfTest(TestCase): + commented out. This test loops through all of the files in that directory to check + for any lines that are not commented or blank. + ''' ++ if not os.path.exists(SAMPLE_CONF_DIR + 'cloud.maps.d/'): ++ return ++ + cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.maps.d/') + for conf_file in cloud_sample_files: + map_conf = SAMPLE_CONF_DIR + 'cloud.maps.d/' + conf_file diff --git a/app-admin/salt/files/salt-2016.3.5-tmpdir.patch b/app-admin/salt/files/salt-2016.3.5-tmpdir.patch new file mode 100644 index 000000000000..dce4f09f2a0f --- /dev/null +++ b/app-admin/salt/files/salt-2016.3.5-tmpdir.patch @@ -0,0 +1,47 @@ +diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py +index 615e6b5670..fbd24aab86 100644 +--- a/tests/unit/modules/qemu_nbd_test.py ++++ b/tests/unit/modules/qemu_nbd_test.py +@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase): + Test if it mount the named image via qemu-nbd + and return the mounted roots + ''' ++ tmpdir = os.environ.get('TMPDIR', '/tmp') + mock = MagicMock(return_value=True) + with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}): + self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '') +@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase): + 'mount.mount': mock, + 'cmd.retcode': MagicMock(side_effect=[1, 0])}): + self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'), +- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'}) ++ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'}) + + # 'clear' function tests: 1 + +diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py +index e699362d8a..c7c7e8a965 100644 +--- a/tests/unit/states/archive_test.py ++++ b/tests/unit/states/archive_test.py +@@ -25,7 +25,7 @@ from salt.ext.six.moves import zip # pylint: disable=import-error,redefined-bui + + # Globals + archive.__salt__ = {} +-archive.__opts__ = {"cachedir": "/tmp", "test": False} ++archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False} + archive.__env__ = 'test' + + +diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py +index 5249d56747..a27ee9ab61 100644 +--- a/tests/unit/utils/context_test.py ++++ b/tests/unit/utils/context_test.py +@@ -18,7 +18,7 @@ import salt.payload + import salt.utils + + __context__ = {'a': 'b'} +-__opts__ = {'cachedir': '/tmp'} ++__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')} + + + @skipIf(NO_MOCK, NO_MOCK_REASON) diff --git a/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch b/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch new file mode 100644 index 000000000000..90a48a662998 --- /dev/null +++ b/app-admin/salt/files/salt-2017.7.0-dont-realpath-tmpdir.patch @@ -0,0 +1,19 @@ +diff --git a/tests/support/paths.py b/tests/support/paths.py +index da93c8e1e3..895c636fef 100644 +--- a/tests/support/paths.py ++++ b/tests/support/paths.py +@@ -40,12 +40,12 @@ if CODE_DIR not in sys.path: + if TESTS_DIR not in sys.path: + sys.path.insert(1, TESTS_DIR) + +-SYS_TMP_DIR = os.path.abspath(os.path.realpath( ++SYS_TMP_DIR = os.path.abspath( + # Avoid ${TMPDIR} and gettempdir() on MacOS as they yield a base path too long + # for unix sockets: ``error: AF_UNIX path too long`` + # Gentoo Portage prefers ebuild tests are rooted in ${TMPDIR} + os.environ.get('TMPDIR', tempfile.gettempdir()) if not sys.platform.startswith('darwin') else '/tmp' +-)) ++) + TMP = os.path.join(SYS_TMP_DIR, 'salt-tests-tmpdir') + FILES = os.path.join(INTEGRATION_TEST_DIR, 'files') + PYEXEC = 'python{0}.{1}'.format(*sys.version_info) diff --git a/app-admin/salt/files/salt-api.service b/app-admin/salt/files/salt-api.service new file mode 100644 index 000000000000..fd9f665fff09 --- /dev/null +++ b/app-admin/salt/files/salt-api.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Master Server +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-api + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/salt-master.service b/app-admin/salt/files/salt-master.service new file mode 100644 index 000000000000..4f3827ede6df --- /dev/null +++ b/app-admin/salt/files/salt-master.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Master Server +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-master + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/salt-minion.service b/app-admin/salt/files/salt-minion.service new file mode 100644 index 000000000000..2f199f998eca --- /dev/null +++ b/app-admin/salt/files/salt-minion.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Minion +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-minion + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/salt-syndic.service b/app-admin/salt/files/salt-syndic.service new file mode 100644 index 000000000000..922eef35af8b --- /dev/null +++ b/app-admin/salt/files/salt-syndic.service @@ -0,0 +1,10 @@ +[Unit] +Description=The Salt Master Server +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/salt-syndic + +[Install] +WantedBy=multi-user.target diff --git a/app-admin/salt/files/syndic-confd-1 b/app-admin/salt/files/syndic-confd-1 new file mode 100644 index 000000000000..d69d83fcd60d --- /dev/null +++ b/app-admin/salt/files/syndic-confd-1 @@ -0,0 +1,5 @@ +# /etc/conf.d/salt-minion: config file for /etc/init.d/salt-minion + +# see man pages for salt-minion or run `salt-minion --help` +# for valid cmdline options +SALT_OPTS="--log-level=warning" diff --git a/app-admin/salt/files/syndic-initd-4 b/app-admin/salt/files/syndic-initd-4 new file mode 100644 index 000000000000..8908f2cfa850 --- /dev/null +++ b/app-admin/salt/files/syndic-initd-4 @@ -0,0 +1,14 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/salt-syndic" +command_args="${SALT_OPTS}" +command_background="1" +pidfile="/var/run/salt-syndic.pid" +name="SALT syndic daemon" +retry="20" + +depend() { + use net logger +} diff --git a/app-admin/salt/metadata.xml b/app-admin/salt/metadata.xml new file mode 100644 index 000000000000..00b55f2c20e0 --- /dev/null +++ b/app-admin/salt/metadata.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chutzpah@gentoo.org</email> + <name>Patrick McLean</name> + </maintainer> + <longdescription lang="en"> +Salt is a powerful remote execution manager that can be used to administer +servers in a fast and efficient way. + +Salt allows commands to be executed across large groups of servers. This means +systems can be easily managed, but data can also be easily gathered. Quick +introspection into running systems becomes a reality. + +Remote execution is usually used to set up a certain state on a remote system. +Salt addresses this problem as well, the salt state system uses salt state +files to define the state a server needs to be in. + +Between the remote execution system, and state management Salt addresses the +backbone of cloud and data center management. + </longdescription> + <use> + <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="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> + <flag name="mongodb">Support returning data to a mongodb server.</flag> + <flag name="neutron">Support the OpenStack neutron network service.</flag> + <flag name="nova">Enable support for the OpenStack Nova API</flag> + <flag name="openssl">Add support for using TLS via OpenSSL.</flag> + <flag name="portage">Add support for package state enforcement using sys-apps/portage</flag> + <flag name="raet">Add support for the new RAET transport.</flag> + <flag name="redis">Support returning data to a redis database.</flag> + <flag name="timelib">Use timelib to parse english textual date descriptions.</flag> + <flag name="zeromq">Add support for the zeromq transport.</flag> + </use> + <upstream> + <remote-id type="pypi">salt</remote-id> + <remote-id type="github">saltstack/salt-vim</remote-id> + </upstream> +</pkgmetadata> diff --git a/app-admin/salt/salt-2015.5.10.ebuild b/app-admin/salt/salt-2015.5.10.ebuild new file mode 100644 index 000000000000..24630f9f662b --- /dev/null +++ b/app-admin/salt/salt-2015.5.10.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=(python2_7) + +inherit eutils systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://saltstack.com/community/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://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="~x86 ~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl portage redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${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.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:*[-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/m2crypto-0.22.3[${PYTHON_USEDEP}] + dev-python/pycrypto[${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}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + 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}] ) + vim-syntax? ( app-vim/salt-vim )" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + dev-python/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${PYTHON_USEDEP}] + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] + >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}] + ${RDEPEND} + )" + +DOCS=(README.rst AUTHORS) + +REQUIRED_USE="|| ( raet zeromq )" + +PATCHES=( + "${FILESDIR}/${PN}-2014.7.1-remove-pydsl-includes-test.patch" + "${FILESDIR}/${PN}-2015.5.5-auth-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-cron-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch" + "${FILESDIR}/${PN}-2015.5.7-tmpdir.patch" + "${FILESDIR}/${PN}-2015.5.10-buggy-tests.patch" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py \ + tests/unit/modules/{rh_ip,win_network}_test.py \ + || die "Failed to remove broken tests" +} + +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 + + # ${T} is too long a path for the tests to work + tempdir="$(mktemp -dup /tmp salt-XXX)" + mkdir "${T}/$(basename "${tempdir}")" + + ( + cleanup() { rm -f "${tempdir}"; } + 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-2015.8.13-r1.ebuild b/app-admin/salt/salt-2015.8.13-r1.ebuild new file mode 100644 index 000000000000..ed02341af26a --- /dev/null +++ b/app-admin/salt/salt-2015.8.13-r1.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=(python2_7) + +inherit eutils systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://saltstack.com/community/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://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="~x86 ~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${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}] + virtual/python-futures[${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:*[-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/pycrypto-2.6.1[${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}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + 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/psutil[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${PYTHON_USEDEP}] + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] + >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}] + ${RDEPEND} + )" + +DOCS=(README.rst AUTHORS) + +REQUIRED_USE="|| ( raet zeromq )" + +PATCHES=( + "${FILESDIR}/${PN}-2015.8.0-remove-buggy-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-auth-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-cron-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch" + "${FILESDIR}/${PN}-2015.8.2-tmpdir.patch" + "${FILESDIR}/${PN}-2015.8.10-remove-failing-boto-test.patch" + "${FILESDIR}/${PN}-2015.8.13-failing-gateway-tests.patch" + "${FILESDIR}/${PN}-2015.8.13-sanitize-minion-name.patch" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py \ + tests/unit/modules/{rh_ip,win_network,random_org}_test.py +} + +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} + if [[ -e pkg/salt-${svc}.service ]]; then + sed -i -r 's/After=(.*)/After=syslog.target \1/' pkg/salt-${svc}.service || die + systemd_dounit pkg/salt-${svc}.service + elif [[ -e "${FILESDIR}"/salt-${svc}.service ]]; then + systemd_dounit "${FILESDIR}"/salt-${svc}.service + fi + done + + insinto /etc/${PN} + doins -r conf/* +} + +python_test() { + local tempdir + # testsuite likes lots of files + ulimit -n 3072 + + # ${T} is too long a path for the tests to work + tempdir="$(mktemp -dup /tmp salt-XXX)" + mkdir "${T}/$(basename "${tempdir}")" + + ( + cleanup() { rm -f "${tempdir}"; } + 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-2015.8.13.ebuild b/app-admin/salt/salt-2015.8.13.ebuild new file mode 100644 index 000000000000..88256a21d767 --- /dev/null +++ b/app-admin/salt/salt-2015.8.13.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=(python2_7) + +inherit eutils systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://saltstack.com/community/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://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="~x86 ~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${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}] + virtual/python-futures[${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:*[-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/pycrypto-2.6.1[${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}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + 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/psutil[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${PYTHON_USEDEP}] + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/moto-0.3.6[${PYTHON_USEDEP}] + >=dev-python/SaltTesting-2015.2.16[${PYTHON_USEDEP}] + ${RDEPEND} + )" + +DOCS=(README.rst AUTHORS) + +REQUIRED_USE="|| ( raet zeromq )" + +PATCHES=( + "${FILESDIR}/${PN}-2015.8.0-remove-buggy-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-auth-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-cron-tests.patch" + "${FILESDIR}/${PN}-2015.5.5-remove-buggy-tests.patch" + "${FILESDIR}/${PN}-2015.8.2-tmpdir.patch" + "${FILESDIR}/${PN}-2015.8.10-remove-failing-boto-test.patch" + "${FILESDIR}/${PN}-2015.8.13-failing-gateway-tests.patch" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py \ + tests/unit/modules/{rh_ip,win_network,random_org}_test.py +} + +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} + if [[ -e pkg/salt-${svc}.service ]]; then + sed -i -r 's/After=(.*)/After=syslog.target \1/' pkg/salt-${svc}.service || die + systemd_dounit pkg/salt-${svc}.service + elif [[ -e "${FILESDIR}"/salt-${svc}.service ]]; then + systemd_dounit "${FILESDIR}"/salt-${svc}.service + fi + done + + insinto /etc/${PN} + doins -r conf/* +} + +python_test() { + local tempdir + # testsuite likes lots of files + ulimit -n 3072 + + # ${T} is too long a path for the tests to work + tempdir="$(mktemp -dup /tmp salt-XXX)" + mkdir "${T}/$(basename "${tempdir}")" + + ( + cleanup() { rm -f "${tempdir}"; } + 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-2016.11.7.ebuild b/app-admin/salt/salt-2016.11.7.ebuild new file mode 100644 index 000000000000..e68adad560f9 --- /dev/null +++ b/app-admin/salt/salt-2016.11.7.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit eutils systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://saltstack.com/community/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://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="~x86 ~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${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}] + virtual/python-futures[${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:*[-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/pycrypto-2.6.1[${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}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + 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/psutil[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${PYTHON_USEDEP}] + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + !x86? ( dev-python/boto3[${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="x86? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-2016.11.0-tmpdir.patch" + "${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch" + "${FILESDIR}/${PN}-2016.3.4-test-nonexist-dirs.patch" + "${FILESDIR}/${PN}-2016.11.0-remove-file-tree-test.patch" + "${FILESDIR}/${PN}-2016.11.0-broken-tests.patch" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py \ + tests/unit/modules/{rh_ip,win_network,random_org}_test.py || die + + # https://github.com/saltstack/salt/issues/39095 + rm tests/unit/utils/parsers_test.py + + # apparently libcloud does not know about this? + rm tests/unit/cloud/clouds/dimensiondata_test.py || die + + # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'" + rm tests/unit/cloud/clouds/gce_test.py || 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 -dup /tmp salt-XXX)" + mkdir "${T}/$(basename "${tempdir}")" + + ( + cleanup() { rm -f "${tempdir}"; } + 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-2016.3.7.ebuild b/app-admin/salt/salt-2016.3.7.ebuild new file mode 100644 index 000000000000..4a419b1d258f --- /dev/null +++ b/app-admin/salt/salt-2016.3.7.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit eutils systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://saltstack.com/community/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://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="~x86 ~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${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}] + virtual/python-futures[${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:*[-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/pycrypto-2.6.1[${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}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + 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/psutil[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${PYTHON_USEDEP}] + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + !x86? ( dev-python/boto3[${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="x86? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-2016.3.5-tmpdir.patch" + "${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch" + "${FILESDIR}/${PN}-2016.3.4-test-nonexist-dirs.patch" + "${FILESDIR}/${PN}-2016.3.4-dont-test-ordering.patch" +) + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py \ + tests/unit/modules/{rh_ip,win_network,random_org}_test.py || die + + # apparently libcloud does not know about this? + rm tests/unit/cloud/clouds/dimensiondata_test.py || die + + # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'" + rm tests/unit/cloud/clouds/gce_test.py || 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 -dup /tmp salt-XXX)" + mkdir "${T}/$(basename "${tempdir}")" + + ( + cleanup() { rm -f "${tempdir}"; } + 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-2017.7.1.ebuild b/app-admin/salt/salt-2017.7.1.ebuild new file mode 100644 index 000000000000..48c9f23243af --- /dev/null +++ b/app-admin/salt/salt-2017.7.1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit eutils systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="http://saltstack.org/" + +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="~x86 ~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${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}] + virtual/python-futures[${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:*[-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/pycrypto-2.6.1[${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}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + 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/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${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="x86? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-2017.7.0-dont-realpath-tmpdir.patch" +) + +python_prepare() { + rm tests/unit/{test_zypp_plugins.py,utils/test_extend.py} || die + rm tests/unit/modules/test_boto_{vpc,secgroup,elb}.py || die + rm tests/unit/states/test_boto_vpc.py || die +} + +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-9999.ebuild b/app-admin/salt/salt-9999.ebuild new file mode 100644 index 000000000000..00fe762b9b6d --- /dev/null +++ b/app-admin/salt/salt-9999.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit eutils systemd distutils-r1 + +DESCRIPTION="Salt is a remote execution and configuration manager" +HOMEPAGE="https://saltstack.com/community/" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://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="~x86 ~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova" +IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax" + +RDEPEND="sys-apps/pciutils + dev-python/jinja[${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}] + virtual/python-futures[${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:*[-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/pycrypto-2.6.1[${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}] ) + mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] ) + redis? ( dev-python/redis-py[${PYTHON_USEDEP}] ) + selinux? ( sec-policy/selinux-salt ) + timelib? ( dev-python/timelib[${PYTHON_USEDEP}] ) + 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/psutil[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/timelib[${PYTHON_USEDEP}] + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + !x86? ( dev-python/boto3[${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="x86? ( test )" + +python_prepare() { + # this test fails because it trys to "pip install distribute" + rm tests/unit/{modules,states}/zcbuildout_test.py \ + tests/unit/modules/{rh_ip,win_network}_test.py || die + + # apparently libcloud does not know about this? + rm tests/unit/cloud/clouds/dimensiondata_test.py || die + + # seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'" + rm tests/unit/cloud/clouds/gce_test.py || 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 -dup /tmp salt-XXX)" + mkdir "${T}/$(basename "${tempdir}")" + + ( + cleanup() { rm -f "${tempdir}"; } + 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" +} |