From 339b0ecbaf7e7d0e7b227ba80c73ff9195da605d Mon Sep 17 00:00:00 2001 From: Jarek Cora Date: Sun, 19 Apr 2020 12:20:27 +0200 Subject: [PATCH] feat: added openSUSE support --- cmd/cmd-mewn.go | 5 ++--- cmd/linux.go | 8 ++++++++ cmd/linux_test.go | 22 +++++++++++++++++++++- cmd/linuxdb.yaml | 29 +++++++++++++++++++++++++++++ cmd/system.go | 2 +- 5 files changed, 61 insertions(+), 5 deletions(-) diff --git a/cmd/cmd-mewn.go b/cmd/cmd-mewn.go index 1b1579605..7bb0a198c 100644 --- a/cmd/cmd-mewn.go +++ b/cmd/cmd-mewn.go @@ -5,7 +5,6 @@ package cmd import "github.com/leaanthony/mewn" func init() { - mewn.AddAsset(".", "../runtime/assets/bridge.js", "1f8b08000000000000ffac597b73e2ba92ff1b3e85ee9c9a821c12ccfb79726a8d2184244078e5c1dd5b596137b6882d1b4b606026df7d4bb601934966e66c2d332496d4ea6efdd44f47fa338e5e50f079091f5ec2a7f877f4dd9f9090f4f2f2825e922f67fed38bbf227d170b82f67fa4f0e945122b92f82ff604d349c1ed0cc5bfbfbc48e2fbdf2f2fe72f92ff4fec40283e3600994437b807e2279abbd802cf765fd1dc769107b30b93bc02c28ec3e249f50cdd014632e5864db72897c9562f1c1718501eff538a4b7fa2053308e508d81a5c466c5a4325f4a7148fcf5754e5c4a68850c29367e85b3c2649a8e1124d0764cf16a0f278cc2354b3bdb48789c966c1d2a5a08cb9a0da9482cafb6b704dbcad21ba32cdf3e8ca9858e0d6503e9311d31e9b0cef6a28e1b19a2499b68a4dc366bc962f64b34529609d1074e16662d311c71c8e7c559bce895e43dfde7c763063b6fa0a3c42804d7386d5d7e38c1de8763deeded5e2b1582cf19746d648353163975ffc335d1cb4bd0889bffcfd1b4417aa4d3950fe7bc49c7013befcfd28964380ff9234b2fefbaf99fb5b0c4c1b6b84eacc219482fbe5ef77bb89f6f9560b18c37a209d13aafb36245002aa856c223f1311d494d128002dfd09ef6f8ecd88b8a8da9c6c40ab73dba965ea26cc792d53f788c68d5a3693f95a377c330e9e8564ddb55754abb9fa0c2733e7e25fba74569fdb945fccb145cc6d8d61ca2e18b8645ed708738479519b427d7741a8069b5ad5ffbc7da6d8fe76be395813b8d572196783f2196753e7b0e117d8243aada94039b8a1a2b90c58f5c3795c3031276b38a85e00ab3eb35d0ddc0b176b64c56a59b0ea167675426bc5af08afb88d3291d35da8b669bbb53fe6f3797d666f2e988135dbab659d0d12df40216713dd412cac436de59a490d735cf3879243f5fa0c332815cec943a33ff432b76ddd966559ee8d26466ba2cbb2ac54c478a5c85d31b8776672594c2caf1add87d644fe879f56431e7cf4bc1f8b6f53f6bae251cced7fef3fd1b122eb1df17d4ff311bda0fba7ba5e35068fb7caa21400921f8ec66657be239d65d3786d3764e6dd2cee33edcd7da9372c3c56a51d5f0c9b5de37152ccb4ab7a11ae9fd6b369f5a9d5a96ea66375393573d8d46eed6271e0d9ca7a3ad1778660ccaa37c3d6d564d4859e09f0b85cc81363926928f83adfe1c4abee6ec7d57c6ad7cee406b759c3928ad757a9c56e7a539a0fa0a46e9f5aa9855e7d2adb556fb3da9a9dcebc305ee71ef2a959df6d3dd17945f306d2eda0d36ef672d22855e85b0fcac3d39d34521b744e669bc970d9696cef25a3df6b55dcca38356b76cd41b5723b32cbcf1563b77046957576c99b4665559c576e074edb99d3fb7b63d9aedc80adf7f2e5eb6515702fb7191a1d4fc66dbaf658e52a3b3236cbdba23dcb71ef9964afe46eb3e03eb1674e15e9a6458633b3a04e5ce5d1a05de56e7805d613ec9e66b36275705b7894477d669568ee319b2a288d71eec6e2bb4169cedc597b351b4abdab9996d38bcfd9723555f4a476eb1adfb2ebc5b302bcace8eed324cf37d8ed29e5e74dffe186771605a935dc75b5e97ca7e6b38693aaa8cd12b43b773a76a7cfd5d5349b336496c9afe78d6655c996b3faa8d8b776e5bebadec877830e2dac2ac361a3d15019a93e3ee63cbb5f25ce9d3edf39cfa6aeebf9e9501bf6274ae5765c1edc2d97f9c7ea6da3d89869570f7aa19aabbe6a9e534a2df1947615a5d7d016a9deb6977dac548ac3ad24dfe59b057930630f0f056a2ba42b2995fcebf67959c93c994df979c05d6cf64973670fe56bd3e68f666599e38bf5b3d9d7553d2b57162dd999e29492298d1b9abccb0dd6196f95cd76a4ddb4bfbd19945a5e1b76b9fbdcac72df19b859c3f3a83c65f2c6930b13f9b9bf7d9a6cbad2c629f16b9916da13ebbeddad0e7315fb61a32b199076839b9b4ea9b935b6d3ac5b5eed8603c3511fcb9bf27a8c1f47bbdb51bb84c129975f5d7bdc32f3934a76357ac09331d75b9dde5ca980b3490d0a57d591e398d7ed4aa1f55ab20a43795995c677affd86bbd9c24ad3a6c6f5badd71b24f4ff3ab6d7e9a5f73af37336fdba4495337a96a6eed7972e35a3716e56bba3347d9ebe26ba35095a76badad5ce9a471bf2c5597f3a77b37bf4da5b6c4bccaf47b8561058665e6c8ecce99568bbda5fc58e47896550bebd7a955c226e0856a74bde7b1d6b91b0cc65e2bd77f2864b3d36ef571c79b8bfba599cda9b8414a7ad399dc5a4dad30c93ef5b4c1665ab8eb3c0d8ad2d82ddc973b55feac5eb9cddb7c10c5ccabf1eb6835b014e52c1a805d7000f31ab5c3a7e8da21350459e3f3d4e3e7fa6f7e32636407b51c589f1387c939429e4de77fb6e1b410f8e6d8446873016ba09c053932cc67e92258fbf4150c82fc554b17c042cc368986b88b2973b00b94efb35b98b6f2ad52b9a5a03f00c0fff12ef915335feb98120bfb9044944259864c4201bb88d0b9282c619f25458aac1f12b2d0e8edbf5e61eb17b70c45787c1385c2375fb7b9ed5a35d7167560325fca68a09fbdbdf9358a69eb3574a8609321907e111b13652c3093507ea1118667265c5091f685626259b529b34d489bb69e14e358e2ab8a7cc45158e27e555102a550c815a55002f95263b144a480417f609cc964327514a086fc6c8f4ea112591e65c2afc8f8688f812804eae878f528932ebb607d282893a9567f252814b017f86b4142ce593d1e8bbdc5636ff5f85b3c2e4948d6b0c3414373d7b644afb126e0a10bc40d4c5f19da317075f857b477107d82321a2555c67cf8d7d8456082852e9166ab2b0b284fab2e600e2d13c42899607c6b424288168469065ce6dc25b3158764826f1d489ca384a8d42495319f8ecc5132a0155b4706000feefadd645a656c0c1b8e2e91ca583d1e7b436032389262c701aa290631b5e43bf5c4be9ead817f1221f42d388c01588b1ec61f7fff7e9cd0818747638ded18eb3d6c413221c81267ffcefca71e8f89e713d14297b33de48a2f9e218ca8ad012214710350d3b68e30071afada05fe7aee630c948fb70e9c23a29d073d84907d8ec2faf7701fdae7971161b3079a6801b65a9a888d440bb0104b07197b8ac384407cff1ca18f2822f889a825ba31411d2c05b4c1a14e6f47a8e3025fb914697ba846c0195a393e40614c3c82c480af9cb01d4d1ece3eb3b56df4f8625c0f967c9f0ffa3101ad50ea88b3a03b47098dac85350601396c538566eff69e1cedc7a6391de944eb71bfd1eef89e133d095246a378ece8519fb35146a383f58c38760336d1fe32828a580f260f4dfe4820750262ec143ca1e307e20f4d37baf47becfa8754d1f6ffa784efdf2144af69b902773b0213546ebb224c7fda8626e27e14fb5c91fdab047429ae9385b3a025c29b1819b6c74ed138a267d8def09d9a018cbf73a02032a5c31e56c89f99b6fa9af08dde977d4d34f84cb64134f8ff942dca83886859d344cc61aa4b1c8eb8bd8f3a697f750896bd06860847648e9860ae21078b6ccdc1458421eeae201d51176bdac8e7950c589e23d7e711682cfc8dfd2c27f87b7cd78ab19fa584055ee3536231ad04d1045d86e7112b2711fb24b630dfc08fc7447e1945b1b94ff92cc87f3e22fd6e3ce607b3e871622c1dc42cdff9839523ef20a586378ca9660a20a96a5b84eae8e84447fb64d16bf73728c1dae7f72daa9784b2b765717fe15b9d00968f8d47aca82660b7230ebcc6e6474126eabffe8e9f4582b44d55d366c2b902c59b070ffb8dadfb0a6bbfb91b8c3fd9f9813f479df93de247a08f5eff23d0477d7f817533123a02f33801fcf7c2e5ff2d4cc5621fc7a1faf17d69f2ec08c0d8dd0a7b0857f6ae1d6a8b600dee16e533198ba1a40673bc32395a6373056781eb2b06a63a206e1016ccef4b120b138aa2af8283b7c4d120f04b28df250706fc608ac7723ef431e1743f8735c03524ffe51580871e6136f2c71f326693e19d0fea2f0dd776801eac5639dafb2f3782ebdae2e0c7c3ee234a2c0669c66da76359a011cce1deb51dacfb3d5632d42a24f978c571fd3eb0195ce961e1370d3316db575b736c3208a6defc5f6f22a09d7f54d69cbeebdf9be03b0f0b9dfab449130948a49fd0923c4044a7b60b68c110a69a28dfc3e622088f31e611ae1a87562fad618eff9df9cf815b50fd9864e662778b2ec2cdfff2ff2ec00025bc84ff36fb98a5a28cd2cc242a24b367416210fc7ab6173685ee8a726281c879a24d05ed3c5c98dbaeef172e606d8b7cf0c3cdfe09c23f47ecfdcff71eec38f17777926ef9dd7bba4f934199590ba424ced10f1ef169700a4e3f148a24c28bffc47bf66a1dacee33963d9b93f956642cec3826517d734bfcc4aaf69c4fa486f46fbe1d0583cf04def9c70e2f7218801eca9bb9805feb879be1641eeac30ef74b7feb7ecffdb2e503a60d4245b37c60370bd8f91d44b0842ed1872c430ee2085f422e35f405a5f6fbce7eb8f097740fbc9034b9a7fa5125059ba61fb50f4aa947a5f6603731c73fd5ec9d64657f495106ef848749a1f6c3f63b5b4fb744004b2626f495da1e3dbc2311351a724105b206ad167d7d72f0d4d3ba28e85b665bbfc416f0468ae0743a1dff34e5f9bbd3e9b4f031cc395841f51a12c6a309f12dfeae0f4a46ad7fdf0aed1bcac016450746f841d008afc15fddeffcb8d3d8fbfae581ae1e3d66d894c54e9ab153fd3a42ea8973bed3d827b76c6d65421a368eed72514f8b6df5f8ff060000ffffdb95edb4b81e0000") - mewn.AddAsset(".", "../runtime/js/runtime/init.js", "1f8b08000000000000ff548ccd4ec3301084cfec53cc3189680c1c90a04282231247242e488b9b6e89a96347b64b404ddf1dd96d0ff867359a99fd5443601c0f9f049f14cd988ba1a098195c715d149744cd39c8dd0f7552ac72a2f2cb3b47bbcab41a3433abfcdf992f59959b37007aed05d67cf669923cb1097a90c9872d363e6092d5c29aad408f63a4aaabf1221a4f2ef5defde2e6eafa6e310689e212358a5483afd81b9720f15b4234dedde3168d22524d4368f0ec4c32da9a2811a917bc696323c2ce253308a1741e471df480fd66e7ba64bc3ba0d3d6ae74b7a58c3adb85559da31a7bba988c5bfba99d32b4e5f67f614907a2c1af77565af9197d48110f05b2fc0b0000ffffacb36d8089010000") - mewn.AddAsset(".", "./linuxdb.yaml", "1f8b08000000000000ffec584d6fdc3610bde757cc690bd8a0ddda3de956346d0e4d9a00467ae8a5a1a83197113f047e38dea23fbee04a16656b3fb45a2ed605baa71d527c8f8f7c33224508795309e7ad28831746bbe20d4085a5a03afe031055d1c5ebd0a244ead0b59df1d17b1aa47f0a01345558c0db3422fe1ed03a6174f1f478dfc119ebfa98518aeaaa800567ac0aaae9da810c827e5c630db754b90216ede43ae0a7f6fe4100d24d893336680558a26c0af8b49603423b4fa5846fc22fe18b0b9501da78c2d1f75d6510b222e81c6a2fa8fc025457e0ed0a28a7426f206c6a4e98d1f7821fc59b60f653ea464de562c14a20ee3d2cbd6f5c717d5d6179a54d85ce04cbf08a1975edd087e6af1f6eae1ee11f584faea46e0904160bd83857b28208f1d56d9baa14a5a556e068e3fa8e0daaa428b9afc92da9f0e1a8a51c02ed5f4c29ca6f58d6c2dfc4413f5e7d9f837f8c389e482883f621a55f1b4f4bbfad99d66afa9ca0f6a4df7d90f2590a0e1a36a4e1c5ee341cecfbc5d67dafa91449758cb268fe8d4a01ef7eff7cfd5ee8f0b84bfbc558fb89a436d45ae393d836ce22f7d31aea30c1a715fbb7b162f036598759a4fed9239d559f8ccbac841eec67df9445e77a1fe1c313dc59c5a24485da53bb4a6a535b16b9090e3edebd8e7cd568060e8e519ed2f4f697047676910f465449648cb288fcc388eaf84a74dc89eeb16c1ce94f72d4617cf3e2490e71cfa84e74787bc631f5c4b569057d7d79db2ec52ceac1f8fdfa06479ff98c2f41c6b40cb5372ef9b88db338f967d4fee31d9cdbccebb3e52aa8be993346d8e525285ae3c9ee2543c2a6e611819cc8de233e6c50926ef7facbc7f081e372e0c01418af7f0f31350b3290be041a53df63652c4d99d0c65932e1d704b5270776beb6fecf832d7c63aaff9ac36fb259fc661739b56c991c1ea32cfefec9b265863a0f8b38a3fcdfa61aca14d540eee2c8494e8fee9c49d18dce5fe113856ed4942f4683c5dcf5bd28fa65ee72fafaf61087cfa44900633245f5576a4d3275d790c5d71f5aac1cd6bed865ede17d63cbae51cbccfa9afc2c7ddba65c396c5e814e1ecf9f83ed6ce32c0adf25a8b9f2e616a3e084e6b032c1825b398fea3b17fd5d538ed1b094a33df2953b8f61520d3a047aeffda938acd6a042cbb11b39b5d490434b4dc79246bf60fa370000ffff8eb09c3df7190000") + mewn.AddAsset(".", "../runtime/assets/bridge.js", "1f8b08000000000000ffac396973e2ba969fe157e8f5ad2ec825c1ecebcdad318610920061cbc29b5719611f6c115b3696c04077fefb946c03269d74f79d9a749358d2d9755623fd19472f28f879091f5ec2a7f877f4dddf9090f4f2f2825e922f67fed38b7f227d170702f67fa4f0e945122792f82f7082eda4a07686e2df5f5e24f1f9ef9797f317c9ff2730108a8f0d4026d10dee81f88de62eb6c0b3dd5734b75de4c1ecc224af80b0e3b078523d437780914cb961d32dca65b2d50bc7050694c7ff94e2d29f68c10c423902b60697119bd65009fd29c5e3f3155539b1292294f0e419fa168f49126ab844d301d9b305a83c1ef308d56c2fed6162b25970742920632ea836a5a0f2fe1a5c136f6b88ae4cf33c7a322616b83594cf64c4b6c726c3bb1a4a78ac26490994422169d356b110236dd88c536c014aa1442d5fc8668b52c03121d0439ac4a6238e391cd9a9369d13bd86bebdf95c60c66cf5157804009be60cabafc71d3b10f97adcbdabc563b158e22f8dac916a62c62ebff8aa5e1c94b80881bffcfd1b4017aa4d3950fe7bc09c7013befcfd288e43bbff256964fdf75f33f7b7089836d608d599432805f7cbdfefb089f639aa058c613de0ce09d57dd7125602aa856422bf1311ab29a35160b4f427b4bf393623e2a26a73b201adce6da796a99b30e7b54cdd231a376ad94ce66bddf0bd3b78169c75d75e51ade6ea339ccc9c8b7fe9d2597d6e537e31c71631b7358629bb60e092795d23cc115e476d0af5dd05a11a6c6a55ffe7ed33c1f6b7f3cdc19ab05b2d977136289f7136750e1b7e814da2d39a0a94831b0a9acb80553fe8e382893959c341f40258f599ed6ae05eb858232b56cb8255b7b0ab135a2b7e4578c56d94896877a1daa6edd6fe98cfe7f599bdb96006d66caf967536487c02819c4d1483585887daca35931ae6b8e62f2587eaf51966502a9c9387467fe8656edbba2dcbb2dc1b4d8cd644976559a988f54a91bb6271efcce4b2d8585e35ba0fad89fc0f7f5a0d79f0d1f37e2d3e4dd9eb8a47b1b7ffbbff89ae1559ef88cf7b988fe005dc3f95f5aa3178bc5516a5c020f9e1686c76e53bd259368dd7764366decde23ed3dedc977ac3c26355daf1c5b0d9351e27c54cbbaa17e1fa693d9b569f5a9dea663a56975333874dedd62e16079eadaca7137d6708c2ac7a336c5d4d465de899008fcb853c3126998682aff31d4ebceaee765ccda776ed4c6e709b352ca9787d955aeca637a5f9004aeaf6a9955ae8d5a7b25df536abadd9e9cc0be375ee219f9af5ddd6139d57346f20dd0e3aed662f278d5285bef5a03c3cdd4923b541e764b6990c979dc6f65e32fabd56c5ad8c53b366d71c542bb723b3fc5c31760b6754596797bc695456c579e576e0b49d39bdbf3796edca0dd87a2f5fbe5e5601f7729ba1d1f164dca66b8f55aeb22363b3bc2ddab31cf79e49f64aee360bee137be654916e5a6438330beac4551e0dda55ee8657603dc1ee69362b5607b7854779d4675689e61eb3a982d218e76e2cbe1b94e6cc9db557b3a1d4bb9a6939bdf89c2d5753454f6ab7aef12dbb5e3c2bc0cb8aee3e4df27c83dd9e527edef41f6e786751905ac35d579bce776a3e6b38a98ada2c41bb73a76377fa5c5d4db339436699fc7ade6856956c39ab8f8a7d6b57eeabeb8d7c37e8d0c2aa321c361a0d9591eae363ceb3fb55e2dce9f39df36ceaba9e9f0eb5617fa2546ec7e5c1dd72997facde368a8d9976f5a017aab9eaabe639a5d4124f6957517a0d6d91ea6d7bd9c74aa538dc4af25dbe59900733f6f050a0b642ba9252c9bf6e9f9795cc93d9949f07dcc5669f3477f650be366dfe68569639be583f9b7d5dd5b37265d1929d294e2999d2b8a1c9bbdc609df156d96c47da4dfbdb9b41a9e5b56197bbcfcd2af79d819b353c8fca53266f3cb930919ffbdba7c9a62b6d9c12bf9669a13db1eedbddea3057b11f36ba92016937b8b9e9949a5b633bcdbae5d56e38301cf5b1bc29afc7f871b4bb1db54b189c72f9d5b5c72d333fa96457a3073c1973bdd5e9cd950a389bd4a070551d398e79ddae145aaf25ab30949755697cf7da6fb89b2dac346d6a5cafdb1d27fbf434bfdae6a7f935f77a33f3b64d9a347593aae6d69e2737ae756351bea63b7394bd2ebe360a5579bad6daca954e1af7cb5275397fba77f3db546a4bccab4cbf5718566058668eccee9c69b5d85bca8f458e6759b5b07e9d5a256c025ea846d77b1e6b9dbbc160ecb572fd8742363bed561f77bcb9b85f9ad99c8a1ba4a4379dc9add5d40a93ec534f1b6ca685bbced3a0288dddc27db953e5cfea95dbbccd0759ccbc1abf8e56034b51cea209d8050730af513b7c8a9e1d4a4350353e2f3d7eadffe61733467650cb81f53970589c23e0d974fe6708a78dc037c726429a0b5803e52ca891613d4b17c1da97af6011d4af5aba001662b64934c45d4c99835da07c5fddc2b2956f95ca2d05fd0100feaf77c5af98f95ac794587e3f578b0885b20c9984027611a173d16fc2be4a8a12593f146421d1db7fbdc2d6ef79198ad0f8261a856fbe6c73dbb56aae2dfac064be94d1403f7b7bf37b14d3d66be8d0d8264343fabd6d4c74b7c04c42f98546189e99704145d917828963d5a6cc36216dda7a52ac6389af2af22d8ec2cef7ab8a44e31a52157d2af2b9c66289480383fec03893c964ea28b01af2ab3d3a3595a8f228137e44c5477b1b8846a08e8e578f32e9b20bd6878c32996af5578c42067b86bf6624f89cd5e3b1d85b3cf6568fbfc5e39284640d3b1c3434776d4b8c206b021eba40dcc0f495a11d0357877f45470a313e28a3515265cc37ff1abb084cb0d025d26c756501e569d505cca165825825138c6f4d4808d60230cd80cb9cbb64b6e2904cf0ad03897394109d9aa432e6c391394a06b002756400f0e0aedf6da655c6c6b0e1e812a98cd5e3b1370426832328761ca09a6210534bbe134fe0f56c0d7c4d04d3b7401903b01655c65f7fff7edcd08187aab1c6768cf51eb62099106089b37f67fe538fc7c4f3096b21cbd9dee48acf9e218ca8ad012214710350d3b68e660e24f4a50be2f5dcb731503ede3a708e88761ecc1082f7390afbdfc37d689f5f4684ccded0440b6caba58940245a600b7174e0b187386c088bef9f23f01141043d91b5c43426a083a3003650eaf47684382ef0954b91b637d50838432bc7375098138f4662c0574e38a5260fbacf6c6d1b555facebc1911ff3c13c264c2b843ada59c09da38446d6c21b83841c8ea942b277b827aafd384ba72393683deecfdf1d3f72a29a2065348ac78e11f5391965343a78cf88633720139d2f235611e7c1e661f61f094b9d1831766a3c21e307ec0f4337baf467ecfa8750d1b7023f057cff6a217a4dcb15b8db1198a072db1569fad3313411f7b3d8e782ec5f25a04b719d2cdc052d11dec4c8b03d766a8da3f50cdb1bbe133330e3ef281464a67438c30afe33d3565f13bed3fbbcaf89069ff1368806ff9fbc457b10612d6b9ac8394c7589c311b7f75927ed9f0ec1b2d7c010e188cc1113c435e46051ad39b88830c4dd15a423e2624d1bf9b49201c973e4fa34028945bcb19fd5041fc70fad18fb594958e0353e0516db4a904dd065a88f3839c9d827b985f90e7e5413f96d14c5e6bee4b3a0fef916e977e3313f9945d589b17490b3fce00f4e8eb483921ade30a69a290c4955db225447c7203afa278b5ebb8fa004679fdfb7e85e12cade97c5fd856f7502b37cec3ce2443501bb1da1f01a9b1f259968fcfa183fcb04699baaa6cd44700582370f11f61ba8fb0e6b8fdc0dd69f607e10cfd1607e6ff1a3a18f51ffa3a18ff2fec2d6cd48ea08dce3c4e0bf972eff6f692a16fb380fd58fef4b936747038cddadf087f0641fdaa1b408d6e06e513e93b1184a6a30c72b93a3353657701684be6260aa03e20661c1febe25b130a128fa863878791c4d02bf34e5bbe2c0801f5cf1d8ce87312682eee7660dec1a82fff20ac0438f301bf9eb0f09b3c9f0ce37ea2f1dd776801ebc5639fafb2f11c1756da1f851d97d4689c520cdb8ed742c0b348239dcbbb683757fc64a865285201f9f38ae3f0736832b3d1cfca663c662fb6e6b8e4d06c1d69bffe74d24b4f38fda9ad3af00f62ef82ec2c2a03e1dd2440112e527f4240f10d1a9ed025a3084a926daf770b808d2638c7984abc661d44b6b98e37f67fe73a016743f2699b9d8dda28b10f95ffef7020c50c24bf86fb38f552a4a28cd4ca242327b16140641af677be150e8ae282716889a27c654d0cec383b9edfa71e102d6b6c8377e88ec6b107e1db18f3f3f7ab0e3c4dfdd49bae54fefe93e4d066d662de09238473f44c4a7c929d07e2804498417ff49f4ecc53a78dd67247b3627f3ada858d8714c127c7993f88957ed299f700de1df7c3f0a169f31bcf3d50e2f7218183de4377301bfd60f37c3c93c94871dee97fed6fd9efb6dcb07441b848a61f9406e1690f32788e0085da20f498614840a5f422a35f405a5f678673f5cf84bba075e089adc43fd2892824dd3cfda07a1d4a3507b633731c73f95ec1d67657f495102ef988745a1f603fa9dada75b2281251313fa4a6d8f1ede91881e0db9a0025983568bbe3e3944ea695f14cc2db3addf620bf3469ae0743a1dffb4e4f9d8e9745ac418e61caca07b0d01e3d182f8167f370725a3debf1f85f60365e08b620223fcc06884d7e09fee313f9e34f6b17e7980ab47d50c87b2d8c930762a5f47703d09ce7712fbe096adad4c48c3c6b15d2efa6981568fff6f000000ffffc3c33335cf1e0000") + mewn.AddAsset(".", "../runtime/js/runtime/init.js", "1f8b08000000000000ff548ccd4ec3301084cfec53cc3189680c1c90a04282231247242e488b9b6e89a96347b64b404ddf1dd96d0ff867359a99fd5443601c0f9f049f14cd988ba1a098195c715d149744cd39c8dd0f7552ac72a2f2cb3b47bbcab41a3433abfcdf992f59959b37007aed05d67cf669923cb1097a90c9872d363e6092d5c29aad408f63a4aaabf1221a4f2ef5defde2e6eafa6e310689e212358a5483afd81b9720f15b4234dedde3168d22524d4368f0ec4c32da9a2811a917bc696323c2ce253308a1741e471df480fd66e7ba64bc3ba0d3d6ae74b7a58c3adb85559da31a7bba988c5bfba99d32b4e5f67f614907a2c1af77565af9197d48110f05b2a4bf000000ffffe38437ed8a010000") } diff --git a/cmd/linux.go b/cmd/linux.go index 8353c6b00..448c3c2b6 100644 --- a/cmd/linux.go +++ b/cmd/linux.go @@ -53,6 +53,10 @@ const ( Deepin // Raspbian distribution Raspbian + // openSUSE Tumbleweed distribution + Tumbleweed + // openSUSE Leap distribution + Leap ) // DistroInfo contains all the information relating to a linux distribution @@ -147,6 +151,10 @@ func parseOsRelease(osRelease string) *DistroInfo { result.Distribution = Deepin case "raspbian": result.Distribution = Raspbian + case "opensuse-tumbleweed": + result.Distribution = Tumbleweed + case "opensuse-leap": + result.Distribution = Leap default: result.Distribution = Unknown } diff --git a/cmd/linux_test.go b/cmd/linux_test.go index 61a63145e..73f7eec43 100644 --- a/cmd/linux_test.go +++ b/cmd/linux_test.go @@ -22,5 +22,25 @@ UBUNTU_CODENAME=bionic if result.Distribution != Ubuntu { t.Errorf("expected 'Ubuntu' ID but got '%d'", result.Distribution) } - +} + +func TestTumbleweedDetection(t *testing.T) { + osrelease := ` +NAME="openSUSE Tumbleweed" +# VERSION="20200414" +ID="opensuse-tumbleweed" +ID_LIKE="opensuse suse" +VERSION_ID="20200414" +PRETTY_NAME="openSUSE Tumbleweed" +ANSI_COLOR="0;32" +CPE_NAME="cpe:/o:opensuse:tumbleweed:20200414" +BUG_REPORT_URL="https://bugs.opensuse.org" +HOME_URL="https://www.opensuse.org/" +LOGO="distributor-logo" +` + + result := parseOsRelease(osrelease) + if result.Distribution != Tumbleweed { + t.Errorf("expected 'Tumbleweed' ID but got '%d'", result.Distribution) + } } diff --git a/cmd/linuxdb.yaml b/cmd/linuxdb.yaml index 3f1c49cfa..4d6904943 100644 --- a/cmd/linuxdb.yaml +++ b/cmd/linuxdb.yaml @@ -223,3 +223,32 @@ distributions: gccversioncommand: *gccdumpfullversion programs: *debiandefaultprograms libraries: *debiandefaultlibraries + + opensuse-tumbleweed: + id: opensuse-tumbleweed + releases: + default: + version: default + name: openSUSE Tumbleweed + gccversioncommand: *gccdumpfullversion + programs: &opensusedefaultprograms + - name: gcc + help: Please install with `sudo zypper in gcc-c++` and try again + - name: pkg-config + help: Please install with `sudo zypper in pkgconf-pkg-config` and try again + - name: npm + help: Please install `sudo zypper in nodejs` and try again + libraries: &opensusedefaultlibraries + - name: gtk3-devel + help: Please install with `sudo zypper in gtk3-devel` and try again + - name: webkit2gtk3-devel + help: Please install with `sudo zypper in webkit2gtk3-devel` and try again + opensuse-leap: + id: opensuse-leap + releases: + default: + version: default + name: openSUSE Leap + gccversioncommand: *gccdumpfullversion + programs: *opensusedefaultprograms + libraries: *opensusedefaultlibraries diff --git a/cmd/system.go b/cmd/system.go index d503f53c9..fea6aaef6 100644 --- a/cmd/system.go +++ b/cmd/system.go @@ -278,7 +278,7 @@ func CheckDependencies(logger *Logger) (bool, error) { libraryChecker = DpkgInstalled case Arch, ArcoLinux, Manjaro, ManjaroARM: libraryChecker = PacmanInstalled - case CentOS, Fedora: + case CentOS, Fedora, Tumbleweed, Leap: libraryChecker = RpmInstalled case Gentoo: libraryChecker = EqueryInstalled