{"id":67,"date":"2012-08-22T14:51:42","date_gmt":"2012-08-22T12:51:42","guid":{"rendered":"http:\/\/blogs.gentoo.org\/ago\/?p=67"},"modified":"2012-08-22T14:53:37","modified_gmt":"2012-08-22T12:53:37","slug":"when-you-should-block-a-stabilization","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/ago\/2012\/08\/22\/when-you-should-block-a-stabilization\/","title":{"rendered":"When you should block a stabilization"},"content":{"rendered":"<p>Many times in the past, a lot of people found bugs for packages actually in a STABLEREQ.<\/p>\n<p>Every time my answer was: make it as a block only if is a regression; and every time the next question was: &#8220;What is a regression?&#8221;.<\/p>\n<p>Well, seems that word is not familiar for all, let me explain this concept.; first, see the word regression as a\u00a0synonymous of worsening.<\/p>\n<p>I guess, for this concept, an example should give you &#8216;the basic idea&#8217;<\/p>\n<p>Imagine we are testing\u00a0app-arch\/tar-1.26-r1 (at this moment it is really ~arch).<\/p>\n<p>During the testing we find 4 issue:<\/p>\n<p>1)the CFLAGS variable is not respected.<br \/>\n2)there is a sed failure in the ebuild.<br \/>\n3)there is a test failure.<br \/>\n4)tar fails to extract some archives in a specific mode.<\/p>\n<p>I chose these four problems as an example for a reason. The regressions must block the stabilization, independently of the type of problem.<br \/>\nEach of them represents a problem of a &#8220;different nature&#8221;.<\/p>\n<p>1)means builsystem issue<br \/>\n2)means ebuild issue<br \/>\n3) and 4) means specific software problem<\/p>\n<p>What you should do now? You should test the <strong>last<\/strong> stable version of tar (1.26 in this case) and check if you are able to reproduce these problems.<\/p>\n<p>From the subsequent tests, you can see that tar-1.26 fails to respect CFLAGS(1), fails to sed one or more files(2), there are <strong>no<\/strong> test failures, and you can reproduce the extract issue.<\/p>\n<p>Now, go to our bugzilla, and check if there are open bugs about these problems. If not, please open the bugs but pay attention about the blocks.<\/p>\n<p>Since the first is reproducible in the last stable, is not a regression, it means no block.<br \/>\nSince the second is reproducible in the last stable, is not a regression, it means no block.<br \/>\nSince the third is <strong>not<\/strong> reproducible in the last stable, is a regression, it means block.<br \/>\nSince the fourth is reproducible in the last stable, is not a regression, it means no block.<\/p>\n<p>For this case, you should open a new bug about the test failures and make it as a block for the current stabilization. Obviously, if there are open bugs that need a block, do it instead of open new(duplicate) bugs.<\/p>\n<p>Now, apart the test failures and ignoring the failures 1 and 2, the obvious question is: &#8220;Why we should mark stable tar-1.26-r1 if it fails to extract stuff?&#8221;.<br \/>\nHere you should learn the regression concept; imagine you are an user, you are using tar-1.26 and you can&#8217;t extract some archives; we mark stable 1.26-r1 and you can&#8217;t do it too. There are\u00a0<strong>no<\/strong> changes for you and no worsening. You can&#8217;t do before and you can&#8217;t do now again.<\/p>\n<p>Probably this post is documented elsewhere, but I hope that can helps.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many times in the past, a lot of people found bugs for packages actually in a STABLEREQ. Every time my answer was: make it as a block only if is a regression; and every time the next question was: &#8220;What &hellip; <a href=\"https:\/\/blogs.gentoo.org\/ago\/2012\/08\/22\/when-you-should-block-a-stabilization\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":140,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[4,3],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2EaBc-15","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/posts\/67"}],"collection":[{"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/users\/140"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/comments?post=67"}],"version-history":[{"count":8,"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/posts\/67\/revisions"}],"predecessor-version":[{"id":75,"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/posts\/67\/revisions\/75"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/media?parent=67"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/categories?post=67"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/ago\/wp-json\/wp\/v2\/tags?post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}