{"id":106631,"date":"2023-02-03T18:48:10","date_gmt":"2023-02-03T16:48:10","guid":{"rendered":"https:\/\/prohoster.info\/?p=106631"},"modified":"2023-02-03T21:50:32","modified_gmt":"2023-02-03T19:50:32","slug":"sboi-v-sistemah-sborki-iz-za-izmeneniya-kontrolnyh-summ-arhivov-v-github","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/sboi-v-sistemah-sborki-iz-za-izmeneniya-kontrolnyh-summ-arhivov-v-github","title":{"rendered":"Build system failures due to changes in archive checksums on GitHub","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>GitHub has changed the method of generating automatically created archives in .tar.gz and .tgz formats on release pages, which has led to changes in their checksums and widespread failures in automated build systems that verify the integrity of the downloaded archives from GitHub against previously saved checksums, such as those placed in package metadata or build scripts.     <\/p>\n<p>Starting with the release of version 2.38, Git's toolkit has included a built-in implementation of gzip by default, allowing for unified support for this compression method across different operating systems and improving archive creation performance. GitHub adopted the change after updating the git version in its infrastructure. The problem arose because the compressed archives generated by the built-in gzip implementation based on zlib differ binary-wise from the archives created by the gzip utility, leading to differing checksums for archives generated by different git versions when executing the 'git archive' command.        <\/p>\n<p>As a result, after the git update on GitHub, slightly different archives began to be delivered on release pages that do not pass checks with the old checksums. This issue manifested in various build systems, continuous integration systems, and tools for building packages from source code. For instance, the build of about 5800 FreeBSD ports, whose source code was retrieved from GitHub, was disrupted.     <\/p>\n<p>In response to the initial complaints about these failures, GitHub representatives initially stated that permanent checksums for archives were never guaranteed. After it was demonstrated that restoring the functionality of the affected build systems would require substantial work to update metadata across various ecosystems, GitHub representatives changed their stance, canceled the modification, and reverted to the old archive generation method.      <\/p>\n<p>Git developers have not yet reached a resolution and are merely discussing possible actions. Options considered include reverting to the default use of the gzip utility, adding a --stable flag to maintain compatibility with old archives, binding the built-in implementation to a specific archive format, using the gzip utility for old commits and the built-in implementation for commits starting from a certain date, and ensuring format stability only for uncompressed archives.     <\/p>\n<p>The complexity of making a decision is explained by the fact that reverting to an external utility call does not fully resolve the checksum immutability issue, as changes in the external gzip program could also lead to changes in the archive format. Currently, a set of patches has been proposed for review that restores the old behavior by default (calling the external gzip utility) and uses the built-in implementation when the gzip utility is absent from the system. The patches also add a note in the documentation stating that the stability of 'git archive' output is not guaranteed and the format may change in the future.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58595\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>GitHub \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u043c\u0435\u0442\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 &#171;.tar.gz&#187; \u0438 &#171;.tgz&#187; \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0441 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0438\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0443\u043c\u043c \u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u043c \u0441\u0431\u043e\u044f\u043c \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0431\u043e\u0440\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0442 \u0441\u0432\u0435\u0440\u043a\u0443 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0445 \u0441 GitHub \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u0441 \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0443\u043c\u043c\u0430\u043c\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d\u043d\u044b\u043c\u0438 \u0432 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438\u043b\u0438 \u0432 \u0441\u0431\u043e\u0440\u043e\u0447\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-106631","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"GitHub \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u043c\u0435\u0442\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 &quot;.tar.gz&quot; \u0438 &quot;.tgz&quot; \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0441 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0438\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0443\u043c\u043c \u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u043c \u0441\u0431\u043e\u044f\u043c \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0431\u043e\u0440\u043a\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/sboi-v-sistemah-sborki-iz-za-izmeneniya-kontrolnyh-summ-arhivov-v-github\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0431\u043e\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438\u0437-\u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0443\u043c\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u0432 GitHub | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"GitHub \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u043c\u0435\u0442\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 &quot;.tar.gz&quot; \u0438 &quot;.tgz&quot; \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0441 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0438\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0443\u043c\u043c \u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u043c \u0441\u0431\u043e\u044f\u043c \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0431\u043e\u0440\u043a\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/sboi-v-sistemah-sborki-iz-za-izmeneniya-kontrolnyh-summ-arhivov-v-github\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-02-03T16:48:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-02-03T19:50:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Build system failures due to checksum changes in archives on GitHub | ProHoster","description":"GitHub has changed the method of generating automatically generated \".tar.gz\" and \".tgz\" archives on release pages, which has led to changes in their checksums and widespread failures in automated build systems.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/sboi-v-sistemah-sborki-iz-za-izmeneniya-kontrolnyh-summ-arhivov-v-github","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0431\u043e\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438\u0437-\u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0443\u043c\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u0432 GitHub | ProHoster","og:description":"GitHub \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u043c\u0435\u0442\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 &quot;.tar.gz&quot; \u0438 &quot;.tgz&quot; \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0441 \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0438\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0443\u043c\u043c \u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u043c \u0441\u0431\u043e\u044f\u043c \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0441\u0431\u043e\u0440\u043a\u0438.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/sboi-v-sistemah-sborki-iz-za-izmeneniya-kontrolnyh-summ-arhivov-v-github","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-02-03T16:48:10+00:00","article:modified_time":"2023-02-03T19:50:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/106631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=106631"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/106631\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=106631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=106631"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=106631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}