diff --git a/obs_repo_cache.cache b/obs_repo_cache.cache new file mode 100644 index 0000000..5704799 Binary files /dev/null and b/obs_repo_cache.cache differ diff --git a/obs_repo_cache.json b/obs_repo_cache.json new file mode 100644 index 0000000..1d8e9c2 --- /dev/null +++ b/obs_repo_cache.json @@ -0,0 +1,320 @@ +{ + "KDE:Unstable:Applications": { + "kcalutils": "d61a47cae56147df58dfe4cdeaf3008ffe8b7d58", + "kdiamond": "6fc2700cef2ba872f4d7d85e0bd3ed6423bcf305", + "knavalbattle": "7caac3e484812fe6ab4c2fa062d742cc3b710755", + "kcharselect": "c25c21fa4415ff25db49b674ec3003bdcf4c565e", + "kteatime": "7c93786615bae868b6412a875d9010b06b5380d1", + "dolphin-plugins": "5acf0a36219a745ea6d11f3c2ab644e2984f0cee", + "libkomparediff2": "f392bf92d7df0fb263200d29efa0453b3a41fa30", + "pairs": "dc470a946ea68fd2562d4d9e3200e1759e4600b0", + "kdnssd": "1c49a5623b0208ea56de45b137370e763b63b791", + "ktp-send-file": "597991ae2551112f2be72c39d8f5e28a8fbec2ce", + "kig": "23b945164a3da1dd2e256ef9bceea4f02bdfa148", + "kdebugsettings": "5de72571e1fe9c6f3ab99f0f0cc112fefec89de4", + "eventviews": "775dacbc949eb078c9fe2e61315184c1c22965e2", + "mailimporter": "b6ad71b2115cdf6fc71eb26b61af2428e41ede27", + "kblog": "039aefd9aec2e9c4ed4d4e22df8a7309f61459de", + "kblackbox": "2a14ec61116cd23a620c6ddaea31404cfa5db7dc", + "klickety": "b5d2288c9855e96f39c07c65af1e7cd4a2a60cca", + "ksystemlog": "9504869427223956386504bf7971f97bfa095bfb", + "kaddressbook": "9746013db91d9d9f7a45cac8b965cde985ae81b8", + "libkgeomap": "41a46ee8003891977794625c6040710dc384d896", + "kopete": "92917471c404c0a59537b657ba588f3baba7e200", + "kubrick": "073bcad646c363bba32d00eeff3510ee38e81285", + "kbreakout": "c0d7daa0789fb8c7bf798c2a19eab764f9205d10", + "ktp-approver": "26e40965eff73aa9ec90fb8a46b0238295de09e3", + "kde-baseapps": "8f6fe819ff3fe03e2715877aeaffe0d03442d040", + "gpgmepp": "a95c9216a8595295ba7e7db674a08e4bec16a6eb", + "kmousetool": "1ed46a9d4c91328bd28329030919619dd061083e", + "kfourinline": "1ec6ca2cbd9a6e73383f85492ad4e4ee7e847f3e", + "ktp-text-ui": "6b93b6fdf3bc0d095e4746815623571506f47c77", + "kgeography": "e38b8ad40ad396be273ee7b24861b542a237865a", + "artikulate": "16731790abffaeff03105e39b26cae369b383f8c", + "kmime": "afd30748d85ab3955a0be29d970502b3fa2ca761", + "libkleo": "9da95afd712785e3aeb2fdd030a576846b9bc7ca", + "ktp-common-internals": "2706d8d60cedcdcc31067122c909797d506ff629", + "kdf": "e85105a8fc01fe03defc25e50d90f2a113a01d32", + "dolphin": "ca53974181c17234f4522bd1635d4c0ab4281e1d", + "parley": "03f061d90a3db9534ac2e3b5834a336ca304883f", + "kalgebra": "ece94f9c3017d936b212ebb6bb1ad5027657f901", + "kmbox": "11630d351ff289d30054ed4f4a9f25f03ba18a89", + "print-manager": "971e75934bc64627226d61565f68aff3c9b0000b", + "okteta": "1b6a3072313dc84cd74ceedc0acc0de872aeae60", + "mbox-importer": "0df3e701039dd75a2ab73045408c4fd7cc74ef9f", + "calendarsupport": "b9434798f0af5ad6884b8bd24f41984f3635a861", + "kspaceduel": "683557c13b738c358cba8c32cbb3af193a6a579d", + "kdeedu-data": "e2978a973c7a72aba589b6ff57d086c44562d899", + "kmplot": "92008f9060f93c64951676ff598dbcc958c1b4b5", + "kget": "d8e7fb82a1b3322817f24276f6739c59f5fd0bf2", + "ktp-contact-runner": "796e6a4a1256c63f1696bc3379725685867e8fd6", + "kdesdk-thumbnailers": "289847bfc7ea75f118e3dfcbb5708c0b43aa1030", + "kolf": "6e64b7efc3c4bdec860aaa6a54f367109e747c1b", + "katomic": "be439bda0ce1a5db8f7597efa99f42607f386757", + "palapeli": "f9218c9d99f40b55b9d456d1d18b76cc09201a05", + "syndication": "5df112a3fbcd0d5c02737e2696a46098bcc7bf0e", + "ktnef": "8aeea19017bbf4310e963bd218311475e9d7fbaf", + "kturtle": "2abadda25d5c1e805a81b7848e00ab6fb0251093", + "klettres": "3437410f752e1587c79d4314a8d86c9864b18511", + "kmahjongg": "66709eb51b6aba15b548b7e55c17c9ba000ecaa2", + "granatier": "0ce200c7c0616978a2a16ae56c07b32dd96feb08", + "picmi": "63d9b0f6954679f525b822e87923e1191f344a73", + "kblocks": "ddc64bf6905d6cb4086bb4dfa2995faf67b2da55", + "kpimtextedit": "082e3b59261a442c3971040deea9b25a577ac873", + "grantlee-editor": "9b528f24733556d7e34b875a7f869ef9da5de232", + "rocs": "f8710aa66716ba63b13c03105cda7054a78c234f", + "ffmpegthumbs": "b9fedb00d34e0792b46a9b40a8c12a237f75ebea", + "akonadi": "f49ccad7ab43a1da4b04d15f905750539eefea3b", + "kanagram": "14e00e418e988c56d8bffd447fd4591eb702d66d", + "ktp-accounts-kcm": "0db88e01c612c5e3f5ef511339ba70aa4fd24954", + "kigo": "a06cf45b9f2268ddb390e07111abb7cce0c145bc", + "libkeduvocdocument": "ddb743b7e312e69d7f1eee9a3f4c25ef8031b27b", + "kdepim-addons": "e3c9183989e4c6f27c3c06c38558b0835f7fe4f2", + "kcontacts": "b2194dd9d806875122c76220f77660c9de09f14d", + "ktp-kded-module": "eef6bc3e92ad09d1614c365b08717176a5e81205", + "kcachegrind": "bb89224ede1815befa9ae12a5d99b24be214e4bc", + "pimcommon": "8d71eaf903efa96223329592c2545f984efa291f", + "ktp-contact-list": "e0541440b45fc5a53324bc764c1a99bc284fcaa5", + "kapman": "55c7c486030261ae6269780e6b4accf261d44313", + "ark": "070cb139e8041462ad6b97a5eb8f2dacfccfe00f", + "ksquares": "93f3bad49af933e9c251c76e5d1d59766b49bc81", + "ksnakeduel": "b4ed48c2b945e35e287d58c3fefbe43f646ec7e9", + "pim-sieve-editor": "09c018d61eea11a923731ffe63686f90c946f823", + "klines": "dac37effa85270f86ff738b0d5418c1529cc46af", + "akonadi-calendar-tools": "073e5c0bdfa69dbf16854e765e4bfa4c99418593", + "akonadi-import-wizard": "1ed8c3d092f3b52d30bc3ebb5d39661ca5b8f453", + "kontactinterface": "97aaea8e06db1c4cecced7cf7e52a056dad7bf38", + "kmail": "0f5e663ff5f12af641ad62e5e5ea87f4d7e799be", + "kruler": "478091c8250fed5f0690c9eb9a9ba890352bd096", + "prison": "d19ad1e33999cb0dc3608b450c116c3858af1d8f", + "umbrello": "7a63f989b73d5a9e87ac6edeb8c182caae594846", + "krfb": "b95a5b285daf044e936d179c2044858518582614", + "baloo-widgets": "7f94bb22784a514a48f6033251ff2436e787fd32", + "knetwalk": "5e8529595a0f2d37db6b2f1c887a8d21ca4d5dce", + "blinken": "e5419fd416bbc7d6dedb2ea6fb8f85c1a6ca41e5", + "ksirk": "550166313f4cbbc5d432be567fb19ebbe2d07687", + "spectacle": "118bcd8a9a4c6c89445a589fa990d15ec9223099", + "kpat": "163a113ddeaa36313427420559c958ce39aad882", + "bovo": "131ef4bc3ccd4fdbbee0c86b0258429ef134ec0a", + "kmag": "14961f08aa57ed13066c7ba4197764a7c35b7655", + "libkmahjongg": "3d36a78980feb43453b1d854571e2d99fe4331b5", + "pim-storage-service-manager": "e69012248cc389cc3f6955b9f94fd68ba9b0e629", + "kmail-account-wizard": "88955b70d14ef7757d4258a84793d342effaa3aa", + "kiriki": "fd437ed6193aa235f720f25276df8cc226510112", + "pim-data-exporter": "4795671a076567b8c580eb2f58a30b539be9d872", + "kaccounts-integration": "e614b9785f0f59a4fee21f3e4cd2244c3062b1d7", + "gwenview": "5a280dd2f44dc3d5693a59390df309658dc12da7", + "dragon": "e799f9abfdf13577b9b0e55a36868a09649a3b1d", + "kdenlive": "fe386cd8774e950dd51e944b9c404cd5c2750b57", + "analitza": "53e882de029a6e86dc3f2b778a62f8c029b74921", + "kjumpingcube": "77bc36c0e9d5c2c1a5eff1a2d715aae683a06e32", + "kdegraphics-thumbnailers": "049bf932da95fae68c8ed1f884c7c49a06d4f992", + "libkface": "bc1cebf35e4cd448d622ce48ccc52c91048031e4", + "kldap": "e4f6586096924e15328a3183eda9dc442ba97554", + "kcalcore": "93e75c4b7dcda11e0fb1ef9ecc7405d25ec97585", + "kde-dev-scripts": "3e3e6fd08b2f9801e075f15239bc3c3790453ef6", + "kmailtransport": "81240c41470a7457dae10b7c274443f3e142b288", + "ktp-filetransfer-handler": "f1355f6fce48adc46b5054f68eabc03de5d703a1", + "step": "23753f6f9d3e96eade5424d10352596306ff286f", + "kolourpaint": "46061ab3e84d0274344cbe68da634ab36332644d", + "akonadi-contacts": "7a77ddc395c9312374590339d10758778ec6bc05", + "knotes": "086ed30d7b22210061e73c0df4a676e2714fbab8", + "signon-kwallet-extension": "cb6ced02c752d2e64479e04e9d5e6db454153360", + "kontact": "cac1cdda46a57caace67aed868febfd09350baf3", + "filelight": "2fb122d6ebefc9f350f5fcf5ae39ef18b74fe1d5", + "ktuberling": "8248346dedb9ce19a9a0b210bcef6aa04e43924d", + "kaccounts-providers": "1a2f0b20fc859e016d3cf36453f346206c04fc2c", + "ktimer": "db031795c1472878f78c68b99ff00994ec38d27d", + "kstars": "7d0b855e0cc2c9229441ca2749525f8ab01222c1", + "kate": "92e71151321fd642e5dc14948a30d1f61edfcbe4", + "kfloppy": "3b2d5ef7ba3fd7c623113c4bc3a18cbc17036c9a", + "lokalize": "feb56a609593ad4aa57b198ba9881f9f8eb9fd44", + "marble": "8948afb91b52b237cb2c49d47c595490f853617a", + "kholidays": "6a4f277b0f26a85729de7aab263de32219b5de54", + "libkgapi": "c6ecd918707c3cd4305f86a44e9e90adb47a29a1", + "libkdegames": "517aad5ebf58c4b520e26249718f1f3baab69591", + "akonadi-notes": "49b7ccef5a20e4d36afa86a8342b81279a901a64", + "ksudoku": "71bafbc7d7944336f9ad0a0c934af69793ae7b46", + "kdepim-apps-libs": "f645aa161e8aacfe7a96b3eea256b80ecabeddd7", + "ktp-auth-handler": "a1aa486529f2f452b1eb63536e3d299aef0566b3", + "kgpg": "4e930761a04a34b3ad983ba2939bdb2585225fd0", + "konsole": "3747ecfde0800804717203d7f5fa0f96c0791052", + "kmines": "8b7c5fa998720754165de24cd22a0a52b13b46ea", + "libksieve": "660f9e8d541a731fdf285472c7d235bc04be218c", + "kcalc": "3a04e9ed27125a83d8c0c9e1eb0fec6b9614a38d", + "kalarmcal": "31149f2dcbd8cb54af8a6b12ebb341b16d31f5d8", + "kcron": "27f83b7bfcdd6a3135663b6c5d30e62b1a5d2004", + "kscd": "d7674c786de5bfa34eb9ef3d70f5411d421b0ac5", + "messagelib": "d88a60e5b10f95691faece868b34c9c616173658", + "kbruch": "0d4a267538169b1fadb8f7918cabe2ae879dede5", + "kmouth": "2f027de11b23369495947d7d9d700b909eda0148", + "mailcommon": "c0112f7762ceeb101d3d1bb773830ea173cabc0c", + "cervisia": "a7edf13b1be872a4f5ae4035b7897a827ff53c2d", + "libksane": "69a3c58cef135f270dc7229375857ca52dd16930", + "killbots": "31970e9823228b3374ac8d91cd9e69f57325a371", + "kdgantt2": "6fd252cbcdca8936015c3bb897e9c7f2fed79abd", + "akonadi-search": "705b56b373f6a3f70aefc7e3a5173b4cda9b3ce9", + "incidenceeditor": "570af1f3e9f1761431fe98d5ebfe3ca65d9506d6", + "kross-interpreters": "f7f8541fe8b016860b90a834fa1b608956ca3a64", + "libkdcraw": "f5254923990eb3a398429140ec346ad8979ae66b", + "libgravatar": "1c3d1ec31f59d44ac45c796ca27c1a8c9eab8a9d", + "bomber": "b684200c5f2841e12f3049d99f1399ac6e3d67dc", + "akregator": "5270c54c1d853ceeb1a4e63589a13a69b9bb76cd", + "kollision": "7f143da05896e37b7cd4d38afa024317908b166c", + "grantleetheme": "40d93ca2c1fcfcb93767bd30dcfe3321aaebb385", + "kreversi": "09d2eb0f36529ff13ebaa2c2b2ace5109fff9fc2", + "kapptemplate": "197218efd1212c3e8b19267ecb31beaca2237ec2", + "kleopatra": "252cac8f325bd5bbf73ab719d773cbef0c5d8391", + "kalzium": "6ceb2a0087a7a93adaf56d0a2acd2f4e84529a07", + "kio-extras": "ae90bdbc54ab029b44f8c43b23d3fbbd0918c5c9", + "kwordquiz": "86aa32897d6f13e9fb6fb32d429f4c4298c6e727", + "kgoldrunner": "4cc919c1fc14175544ad9de3eef6167e34d2cb7d", + "khelpcenter": "438bf157398393f6e550d6fa03f36609551b4ecc", + "krdc": "af24d8d45ce74c299bd13bd1b881bc967f8f482f", + "kompare": "1c3a56880325ef6b13453ac02b8f4267968774b3", + "kuser": "0bf52af6a61097f45f3f8a440e709376cc9d89b2", + "kidentitymanagement": "f7cd5ce8d20c944600d35859f9cdca2d56f775e2", + "cantor": "a8ccb47404f593013d2e900b35bc1c91608adb1b", + "libkipi": "a8384202175362928eb7068bae3633ad6c903596", + "kiten": "5239919d3a296e6f862cb4bee8f3e96e64b7fc90", + "kmix": "7aa904ecacfd2eeaa91068e17cc9bd79ba058206", + "korganizer": "2f82e688fdd59a2c8b957219536763c22858c997", + "kimap": "baae8a611f97eb4006f4aa91eb27a5a28c342b49", + "akonadi-mime": "29f85a01358cb440069ffa8228be9a09bba8303c", + "akonadiconsole": "2ab72db0b9c968037ed3a7fa8ac357a3ccac508c", + "svgpart": "53e0e7a2ef1df772a55a42b79c72542e0ea6a48c", + "kshisen": "0bfa0f6b42365979ac6e92cc0b28eed04a1b7334", + "khangman": "5f334769da80f100e3d6a2ad494c84bbf25e9f27", + "kdepim-runtime": "de8345399b2ff0a52f73e4ef66a088e8b317830b", + "kbounce": "791eb0913154c78114f2da7e575490a6228e1c7d", + "libkdepim": "eb6cd194f85a4ce62a330ec0b62ae6391959d574", + "libkcddb": "df41315cc50e2275f83404e20005903d3e3fc3e4", + "blogilo": "4b0d526315ec306cca0988791583913082c937cc", + "lskat": "edc73e043c1d2c18628233a665e4372b62fa8c01", + "kalarm": "fe6f7fb5c97a6722757bdda193e2dd5f1584483e", + "kqtquickcharts": "143e76a019ae52d57e3f448c7e3130cc53346506", + "okular": "bfa28f1f64bfb8225db29d3f90c561b6e0603842", + "akonadi-calendar": "3601f4175e43eeaacb23bc27777dbdeafd9e6f60", + "libkexiv2": "ecd98aa506b0e08efed3b81013a25d3b18732088", + "konquest": "cb2879b56efa036d804bb70cec64c5c77627edbd", + "ktp-desktop-applets": "03cca31b21122673e9bd11428949075fa342d3a8" + }, + "KDE:Unstable:Frameworks": { + "baloo": "02047b524a176da447d8c96e15c7e2abae8339ae", + "plasma-integration": "3258d996565bec01c3a2e7d1ab4362bdb747483c", + "kservice": "5f45fbe8e392c710984b741eb2cf9750c0d55ec8", + "plasma-pk-updates": "eb42e60b6ca9acfe8555989c391236c76c002331", + "kde-cli-tools": "b947091a61215c5ef95a67251b81471b22a1ad1f", + "plasma-pa": "343233026e1e5c6bc7282303645b7766c7fc3588", + "kwindowsystem": "191715d3b92384c6dc45f7a3baad25e57c6e72df", + "ktextwidgets": "acaa895887ef39fe317becf0654b1471ee1f29ac", + "kgamma5": "e9762dc5afe5156a1da92571ba13fbf11e4f6238", + "kimageformats": "60b5866b778a35e177f305465f23d2c1ab76fb71", + "systemsettings": "f690b6f70144d04e1f561957564ed80fe6e99588", + "kxmlrpcclient": "cd1b99d57f8335057bc68c44ed2167a36d140b29", + "solid": "f6244c81734576ad853e649dbb77c1ee7c6df7ee", + "kdesu": "b73e45a9314d767a9bd59e1fbc267c5588355f13", + "kglobalaccel": "37be38a4776fd67a73e5c0e1b8cbabd7f88c8945", + "kactivitymanagerd": "6715e045a0fce1525b036b7b9330258c2518aec3", + "kjobwidgets": "24967789961244d75157d23093417b8c2c6c4b1b", + "kcrash": "60b3130e9579f86eeeac199edfd58bbd0d47f1cd", + "kwrited": "01486627c9fa8a89b9a65dc48f6de9c0d4daec93", + "kwin": "ff3b741ad8f020c5031933ef0b0bb6f77c8d7248", + "extra-cmake-modules": "0cc2de65d111ee1244f3d3ce53c83b3b55b58dfb", + "kfilemetadata": "47f6e57b2fa3768feb4f1f4a2cd3ce46660d90f2", + "kdnssd": "1c49a5623b0208ea56de45b137370e763b63b791", + "kinit": "db179c1271adf26aded0e935c8b389f0c90b0048", + "libksysguard": "0cdd85f348d484815aeedeb7da300363c64bc161", + "kitemmodels": "d541fcc7bf3048647ab74b9346d7abbafc0eeb87", + "kpeople": "f2cf36abd17a939b1a05a3c6d0dc3be48fd71655", + "kauth": "98bc6d19c2e8aecf5c9a71a5589531ea2d8dde69", + "kcompletion": "8f7683f74694c44e8fa3b785804968e72c7c74b9", + "kmediaplayer": "74ba08b57036ce9faacfac1459c2303031244b60", + "kcoreaddons": "1f36cdc2c0a10e3c0f4e933e744c1a68cfa48524", + "kapidox": "03578740bfef2046bc1e33416f958acb15b8d26d", + "kdoctools": "f4d9c1c9ac0050c55e93c8a15422f1dafdff4e50", + "kio": "d0fc70d3d8c81ba6a29f9fe4013d902fc1f4018d", + "kidletime": "166be82bb96220ff776c24e60bf4ce1f71c1111c", + "libkscreen": "2581c9a14bfc0a8f0e2161ceac3145c6cadb71cb", + "kinfocenter": "25011315c4f6af1b88aa38e2b407eebea6ff6e69", + "frameworkintegration": "1e6246890bbf9e28ef571e47cda6c5456251aa77", + "khtml": "c53bd7f8caa687ebcb159e3292b2ac70e92163df", + "kpty": "6760ac96e308323957a690d7a31495505544a801", + "bluedevil": "e8427d7c28127b9262546da4969e1d51a0043fb0", + "kbookmarks": "a6335c186b42e061b00ca2822b02d1c95fbc750a", + "kxmlgui": "17164ba33cda0063f3472d1d2572a27cb868557b", + "kross": "52428f3e1b16e0b90066bcb7259eb7b37559d361", + "kded": "2c68e9d8bbdd5c6b4a22adb83f59d37897f9abc9", + "kcodecs": "9c1513f286e82aefe8defe82ffc18c91c9ea8382", + "kwalletmanager": "4113482f2326be544d48f5b17b308f600619cf5b", + "modemmanager-qt": "7a205af476a0cd2755f1c06220371bde08332c50", + "attica": "ef1321d281a110e34977055a9ad556f45a71a5ce", + "kde-gtk-config": "7e55d2ba0b64b3cb509592c0bd081b11abcabdc5", + "purpose": "bed16f860aee5745ac2134a7a3f19c6704e71546", + "kiconthemes": "8646e8dc64a542f13aad3be3b3e6b97188673fa4", + "user-manager": "2d52d7f165bf17e982225dc16156e9295900f8fe", + "plasma-desktop": "233ef875440e45fd7cf5715b0df372f4c22951dd", + "karchive": "a7fb105aaa0d701f34e17beb5ab99a595ec0d23f", + "plasma-workspace-wallpapers": "9abd8c48ca7b4e87179739af18e830bc10a20a49", + "powerdevil": "50b4ebae383bf789fcea5f3c6a4727258ec8b806", + "kjs": "ca97b9ab064a097e553a445709bd01c0bafb982b", + "kconfig": "0389727be4cf7396d9e1728610b12af778daf444", + "kdeplasma-addons": "21b4edc18c1c33c191991c177cd0d14fd3f79837", + "kguiaddons": "4be0cd7249ff8a0bb2b9e9eacd3933e4ad78bade", + "kwidgetsaddons": "0ad57045142558de551326b7d99279bded9927f3", + "kpackage": "30521a746f411223911578601ca582eeeea54ae7", + "breeze": "15baa19ecf4a25dbf55d30abbcc7abb76d1be22b", + "breeze-gtk": "2fb123e35cf9c7710fb0e34f34bb3b33163e9aee", + "plasma-sdk": "e81da0fc51c17097be82f039aae91813685cfa98", + "kemoticons": "e5dfd1aacd744fe850e5cb11966a0454e4de98ca", + "kcmutils": "134dc2ac5f45bcffcbf440c45d0446792f58c1fb", + "kconfigwidgets": "2ee793aa73f2f68f9fd679f318a6f674d56de1b5", + "ksshaskpass": "eb70339d8f4db20215b73b315938b2c2366f9b5c", + "kwallet": "3e2e788c44d0a81bebbc82bbc383281e419ab367", + "ki18n": "a630ae320573d7962f2d8f48311c9f1b77706d75", + "kunitconversion": "79479d80d4930ace36a3dbab1011a9f908df3acd", + "kdesignerplugin": "1356fcb2a7191be57c03d9c4933e1019cc51e774", + "kjsembed": "c211d3341a33177b1efc0134ea6cb16204831034", + "kdeclarative": "0e47f91b3a2c93655f25f85150faadad0d65d2c1", + "knewstuff": "c165d765d2dcbd4965b0b1c307b13dff0a6dd340", + "breeze-icons": "fa0ae34f7535ab3f354dcadeeb6121d6827abe00", + "kdbusaddons": "0347e511914a0f8eeef4163f76d27c1f4165f238", + "kmenuedit": "0ba6a7a3fb92e83b1d0c416eeb12bba2bc0cc717", + "kdecoration": "ef12857a90d61dcea7a734aa783d073d2cf9a7de", + "networkmanager-qt": "46fa01a21c5f296579c07aa2513904260efb55ff", + "ktexteditor": "16b774d31e92a87367bfd3af6eff264e85a2ebd2", + "oxygen-icons5": "11c784b38eef0074c8fced95df7e307f759b4c77", + "khelpcenter": "438bf157398393f6e550d6fa03f36609551b4ecc", + "plasma-workspace": "fb30ea87e68407515f9be246426dc27ac2630934", + "breeze-plymouth": "9194c0b79547f16d79e19a98913b85aa33f656a4", + "threadweaver": "a817f58a9c5d63c5954f75c4295b2cb37bc49f82", + "discover": "2d194491fe28896df4c0cd5d130f12f7cf40be1d", + "khotkeys": "b2de14f443de12749df07381ddef551168afa5ff", + "kirigami": "4622249da33eb03483f59326d64adea6d0ccf78e", + "milou": "57ac3c8789957ec33bbafa27e2bd7518b20ec249", + "kwayland": "98628f9387ff9628b3c7c3fa66b0db4b01ef67c8", + "knotifications": "661da6dd68cc2c9cd135231d1e9efc05494dad01", + "kdelibs4support": "1896f758d2f273fb7802b397eb49cbf09bec1912", + "kparts": "cc0d3ac0e6b672ed6691510fda21f08a55b21a30", + "krunner": "423dcb997e331f34598797de9b0b127c0748f6ec", + "plasma-framework": "16b478a8275f7718f13f6d29a0f6a6caafbc78f8", + "kdewebkit": "756755216afd6cc8f1f65d810aaaa892e62107dc", + "kitemviews": "05de3670fbd2cdd4a3c524c6391b6bbfbd0658f4", + "ksysguard": "a81d4a1fc71631d995c750c02dc961bda899f3a9", + "bluez-qt": "04d84e1b305ef76b8b3aaa8a157c42022e17a488", + "solid-power": "2bfff0463a4c2c5671c23fc9789d04c089f27459", + "kwayland-integration": "2ad7b959ebdb41ab7657c4539b38fe5271f50ffa", + "polkit-kde-agent-1": "a0b65fbbba3ff271f6486c3cdb3fcb7042c4001d", + "plasma-nm": "322aeaaf35ccc7c6cc2a2bf6217e6e4b2857371f", + "oxygen": "d01f8419c797ce5950d5897116259ed9c303f157", + "knotifyconfig": "3c8741835fab8003345e8715279e702c078faefb", + "sddm-kcm": "94077a3b48064a33b6162f6448bd3fff631cc12e", + "breeze-grub": "2c1d5e7da98cc8866f6e92104bc14fa4af63777c", + "kscreenlocker": "d20449d80bf5e0efc2abd232af01ed59f3723acb", + "kplotting": "0ea97f5124eb6599ae40deb5b00599ae58030385", + "kscreen": "362d33280ea10a4cf0edf84ec7fcd1dc7fcc439e", + "sonnet": "e8fa82febb19f748b6dc9d54441465d01426fef5", + "kactivities": "19d64627dffff9251adf1a24fec7bdfb9a931d58", + "kactivities-stats": "a320c350fda8ce81942a2e4d9b6141100d8c7679" + } +} \ No newline at end of file diff --git a/update_unstable.py b/update_unstable.py index ad3d80d..4433fb6 100755 --- a/update_unstable.py +++ b/update_unstable.py @@ -3,6 +3,7 @@ import argparse import csv import logging +import json from pathlib import Path import pickle @@ -26,6 +27,9 @@ class GitHashCache: def __setitem__(self, key, value): self._data[key] = value + def get(self, key, *args, **kwargs): + return self._data.get(key, *args, **kwargs) + def save(self): logging.debug("Saving pickled data") with open(self.cache, "wb") as handle: @@ -41,6 +45,11 @@ class GitHashCache: with open(self.cache, "rb") as handle: self._data = pickle.load(handle) + def to_json(self): + + with Path(self.cache).with_suffix(".json").open("w") as handle: + json.dump(self._data, handle, indent=4) + def lsremote(url): @@ -64,6 +73,7 @@ def run_osc(repository, package_name): cmd = cmd.format(repository, package_name) logging.debug("Running {}".format(cmd)) + logging.info("Updating package {0}".format(package_name)) pid = sarge.run(cmd) @@ -80,56 +90,70 @@ def update_package(hash_data, package_name, remote_name, obs_repository, repo_name = "kde:{}".format(remote_name) remote_hash = get_remote_hash(repo_name, branch) - current_hash = hash_data[remote_name] + repo_hashes = hash_data.get(obs_repository) + + if hash_data.get(obs_repository) is None: + logging.debug("No prior data - initializing empty") + hash_data[obs_repository] = dict() + + current_hash = hash_data[obs_repository].get(remote_name, "") logging.debug("Package {}, theirs {}, ours {}".format(remote_name, - remote_hash, current_hash)) + remote_hash, + current_hash)) if remote_hash != current_hash: logging.debug("Hash doesn't match, updating") run_osc(obs_repository, package_name) - hash_data[remote_name] = remote_hash + hash_data[obs_repository][remote_name] = remote_hash hash_data.save() -def update_packages(cache_file, obs_repository, repo_mapping_file): +def update_packages(cache_file, repo_mapping_file): hash_data = GitHashCache(cache_file) hash_data.load() - logging.info("Updating packages for {}".format(obs_repository)) with open(repo_mapping_file, "r") as mapping: - reader = csv.reader(mapping, delimiter="\t") - for row in reader: - kde_name, obs_name, branch = row - branch = "master" if not branch else branch - logging.debug("Updating package {} ({})".format(kde_name, - obs_name)) - logging.debug("Using branch {}".format(branch)) - update_package(hash_data, obs_name, kde_name, obs_repository, - branch) + + repo_data = json.load(mapping) + + for obs_repository, branch_data in repo_data.items(): + + logging.info("Updating packages for {}".format(obs_repository)) + + for package in branch_data: + kde_name = package["kde"] + obs_name = package["obs"] + branch = package["branch"] + logging.debug("Updating package {} ({})".format(kde_name, + obs_name)) + logging.debug("Using branch {}".format(branch)) + update_package(hash_data, obs_name, kde_name, obs_repository, + branch) logging.debug("Saving data") hash_data.save() + hash_data.to_json() def main(): parser = argparse.ArgumentParser() - parser.add_argument("repository", help="OBS repository to use") parser.add_argument("mapping_file", help="KDE:OBS repository mapping file") - parser.add_argument("--debug", help="Show debugging output", action="store_true") + parser.add_argument("--debug", help="Show debugging output", + action="store_true") options = parser.parse_args() level = logging.INFO if not options.debug else logging.DEBUG - logging.basicConfig(format='%(levelname)s:%(message)s', - level=level) + logging.basicConfig(format='%(levelname)s - %(message)s', + level=level) - cache_file = Path.home() / ".local/share/obs_{}_cache".format(options.repository.replace(":", "_")) + cache_file = Path.home() / ".local/share/obs_repo_cache.cache" cache_file = str(cache_file) - update_packages(cache_file, options.repository, options.mapping_file) + update_packages(cache_file, options.mapping_file) logging.info("Complete") if __name__ == "__main__":