{"id":340,"date":"2019-08-01T11:34:02","date_gmt":"2019-08-01T11:34:02","guid":{"rendered":"http:\/\/thomas.goirand.fr\/blog\/?p=340"},"modified":"2019-08-01T11:34:02","modified_gmt":"2019-08-01T11:34:02","slug":"my-work-during-debcamp-debconf","status":"publish","type":"post","link":"http:\/\/thomas.goirand.fr\/blog\/?p=340","title":{"rendered":"My work during DebCamp \/ DebConf"},"content":{"rendered":"\n<p><strong>Lots of uploads<\/strong><\/p>\n\n\n\n<p>Grepping my IRC log for the BTS bot output shows that I uploaded roughly 244 times in Curitiba.<\/p>\n\n\n\n<p><strong>Removing Python 2 from OpenStack by uploading OpenStack Stein in Sid<\/strong><\/p>\n\n\n\n<p>Most of these uploads were uploading OpenStack Stein from Experimental to Sid, with a breaking record of 96 uploads in a single day. As the work for Python 2 removal was done before the Buster release (uploads in Experimental), this effectively removed a lot of Python 2 support.<\/p>\n\n\n\n<p><strong>Removing Python 2 from Django packages<\/strong><\/p>\n\n\n\n<p>But once that was done, I started uploading some Django packages. Indeed, since Django 2.2 was uploaded to Sid with the removal of Python 2 support, a lot of dangling python-django-* needed to be fixed. Not only Python 2 support needed to be removed from them, but often, patches were needed in order to fix at least unit tests since Django 2.2 removed a lot of things that were deprecated since a few earlier versions. I went through all of the django packages we have in Debian, and I believe I fixed most of them. I uploaded 43 times some Django packages, fixing 39 packages.<\/p>\n\n\n\n<p><strong>Removing Python 2 support from non-django or OpenStack packages<\/strong><\/p>\n\n\n\n<p>During the Python BoF at Curitiba, we collectively decided it was time to remove Python 2, and that we&#8217;ll try to do as much of that work as possible before Bullseye. Details of this will come from our dear leader p1otr, so I&#8217;ll let him write the document and wont comment (yet) on how we&#8217;re going to proceed. Anyway, we already have a &#8220;python2-rm&#8221; release tracker. After the Python BOF, I then also started removing Python 2 support on a few package with more generic usage. Hopefully, touching only leaf packages, without breaking things. I&#8217;m not sure of the total count of packages that I touched, probably a bit less than a dozen.<\/p>\n\n\n\n<p><strong>Horizon broken in Sid since the beginning of July<\/strong><\/p>\n\n\n\n<p>Unfortunately, Horizon, the OpenStack dashboard, is currently still broken in Debian Sid. Indeed, since Django 1.11, the login() function in views.py has been deprecated in the favor of a LoginView class. And in Django 2.2, the support for the function has been removed. As a consequence, since the 9th of July, when Django 2.2 was uploaded, Horizon&#8217;s openstack_auth\/views.py is boken. Upstream says they are targeting Django 2.2 for next February. That&#8217;s a way too late. Hopefully, someone will be able to fix this situation with me (it&#8217;s probably a bit too much for Django my skills). Once this is fixed, I&#8217;ll be able to work on all the Horizon plugins which are still in Experimental. Note that I already fixed all of Horizon&#8217;s reverse dependencies in Sid, but some of the patches need to be upstreamed.<\/p>\n\n\n\n<p><strong>Next work (from home): fixing piuparts<\/strong><\/p>\n\n\n\n<p>I&#8217;ve already written a first attempt at a patch for piuparts, so that it uses Python 3 and not Python 2 anymore. That patch is already as a merge request in Salsa, though I haven&#8217;t had the time to test it yet. What&#8217;s remaining to do is: actually test using Puiparts with this patch, and fix debian\/control so that it switches to Python 2.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lots of uploads Grepping my IRC log for the BTS bot output shows that I uploaded roughly 244 times in Curitiba. Removing Python 2 from OpenStack by uploading OpenStack Stein in Sid Most of these uploads were uploading OpenStack Stein from Experimental to Sid, with a breaking record of 96 uploads in a single day. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/340"}],"collection":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=340"}],"version-history":[{"count":1,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/340\/revisions"}],"predecessor-version":[{"id":341,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/340\/revisions\/341"}],"wp:attachment":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=340"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}