UbuntuCoreDeveloperApplication
This application was announced in the devel-permissions mailing list and was approved in the DMB meeting on 2022-08-08
I, Athos Ribeiro, apply for the Ubuntu Core Developer status within the Ubuntu community.
Name |
Athos Ribeiro |
Launchpad Page |
|
Wiki Page |
While my current permissions (MOTU + Server package set) already allow me to perform most of the work I am interested in, being a core developer will grant me broader access to the distro infrastructure, allowing myself to be more helpful to the distro. For instance, this will allow me to re-trigger tests for packages out of the (universe + Server package set) set, use bileto, and upload non-(universe + Server package set) packages when needed.
Who I am
I am a software engineer working on the Ubuntu Server team. In the Server team, other than the usual bug/merge/maintenance work performed through the Server team package set, I currently focus in maintaining
the Ubuntu based OCI images shipped in DockerHub and in Amazon's Elastic Container Registry;
- PHP (merges, bug fixes, and overall maintenance over PHP and related packages); and
- PostgreSQL (merges, bug fixes, MREs and overall maintenance over PostgreSQL and related packages).
I have a Master's degree in CS from the University of São Paulo, in Brazil, where I am originally from and currently based in. That master's degree was focused on extending the work I performed as a guest researcher in the National Institute of Standards and Technology (NIST), in Maryland, regarding source code static analysis and static analysis tools evaluation.
From 2018 to early 2021, I lived in the Czech Republic, while working for Red Hat, where I worked on the development and maintenance of a container image build system, which is also used by Fedora to build the images available in their registry. I come from a Python background and also have previous experience with RPM packaging both from my previous job and from contributions to the Fedora project.
My Ubuntu story
Ubuntu was the first distribution I have used. This was at school, during my bachelor degree, many years ago. After I started getting comfortable as a Ubuntu user, I started trying different distributions. In that process, I got involved with the Fedora community and did stick with it for the past few years.
Right before joining the Server team, I migrated most of my systems to Ubuntu, where I usually run the development version both on work, and personal use machines.
In December 2021, I was granted PPU rights for the Ubuntu Server package set. My Server package set application can be fount at AthosRibeiro/UbuntuServerDeveloperApplication.
In April 2022, I was granted MOTU rights. My MOTU application can be fount at AthosRibeiro/MOTUDeveloperApplication.
My involvement
Examples of my work / Things I'm proud of
In the following subsections you will find a list of bugs, merge proposals, uploads, and repositories I have worked on in the past few months divided by topics (package merges, SRUs, etc). Since the list is somewhat extensive, I discuss a few issues below which should hopefully demonstrate my packaging, debugging, and Ubuntu processes skills.
PHP performance improvements: in LP: #1882279, The bug reporter noticed a PHP Ubuntu/upstream performance difference. A thorough investigation showed that a bug in a GCC macro embedded in the upstream project was preventing distribution PHP binaries from using x86_64 v2 and v3 instructions when they are available.
postgresql-common regression due to recent debhelper changes: in LP: #1973382, our investigations showed that recent changes in debhelper preinst injected snippets introduced a regression in this package's preinst script, forcing undesired service restarts upon package upgrades.
squid ROCK service investigation and patch: while LP: #1978272 is not related to a deb package, but to a ROCK image, the fix involved investigating how the deb package service relies on systemd defaults for the maximum number of open file descriptors. Without the cap, the squid process crashes in systems where the ulimit for file descriptors is too high (squid tries to allocate memory based on that value). We then crafted the squid ROCK's configurations to mimic the Ubuntu package service behavior, capping the number of maximum open files to systemd's default.
mdevctl MIR - Rust MIR, multiple upstream tarball delta: LP #1942394 shows a non-trivial MIR process being pushed forward by ~paelzer and I, where an older version of the package is already in main, but the latest version has been re-written in Rust, whose packages had no clear MIR path until this bug was filed. Moreover, the attached MP shows non-trivial packaging to include vendorized sources as a delta to the package and means for the security team to track those.
nss sync/delta analysis: LP: #1971299 shows a detailed delta analysis. Ubuntu carried several patches in nss up to this point. After checking each of them, we decided that we could sync the package instead, reducing our delta back down to zero, which, IMO, is something we should generally seek to reduce technical debt.
multipath-tools -Bsymbolic-functions dropped from LDFLAGS: LP: #1946834 Shows an interesting case where the usage of the -Bsymbolic-functions in LDFLAGS results in undesired codepaths being executed. While the fix for the issue was straightforward, the debugging process was quite time consuming and involved some offline discussion and a few debugging sessions with sergiodj.
cl-plus-ssl OpenSSL 3 support and pgloader follow-up fix: I personally enjoyed working on LP: #1960615. This included a feature freeze exception for jammy, a OpenSSL 3 support fix, and an upstream patch. I had no previous lisp experience then. To fix pgloader, a follow-up bug (LP: # 1968594) was needed, which needed careful analysis of lisp hooks and resulted in another upstream patch. While working on these bugs, we realized sbcl needed bootstraping for ppc64el, described below.
sbcl ppc64el bootstrap: in LP: #1968579, we bootstrapped sbcl for ppc64el. The process was described in the ubuntu-devel mailing list at https://www.mail-archive.com/ubuntu-devel@lists.ubuntu.com/msg10518.html and require a few reverse-dependencies rebuilds to provide ppc64el binaries for those dependencies as well.
MIRs
LP: #1942394 mdevctl.
Package Merges and Syncs
LP: #1972833 cacti.
- For further references:
LP: #1973074 php-symfony-polyfill.
- For further references:
LP: #1973818 php-symfony-contracts.
LP: #1979234 php-symfony-contracts.
LP: #1980660 php-symfony-contracts.
LP: #1976007 phpunit. A change was added to deal with a circular dependency
LP: #1971271 crmsh.
LP: #1976624 php-doctrine-cache.
- kinetic/civicrm.
LP: #1980139 civicrm.
LP: #1973123 symfony. This was a 2 step build due to a build dependency (polyfill). A doctrine rebuild was also needed.
LP: #1980365 symfony.
LP: #1978147 composer.
- kinetic/composer/2.
LP: #1978364 php8.1.
LP: #1979240 php-parser.
LP: #1972904 php-cache-tag-interop. Sync
LP: #1971311 php-pear. Sync
LP: #1973036 php-pecl-http. Sync
LP: #1973062 php-imagick. Sync
- kinetic/libphp-swiftmailer. Sync
- kinetic/php-symfony-polyfill/2. Sync
- kinetic/php-twig. Sync
LP: #1976310 php-doctrine-persistence. Sync
LP: #1976635 doctrine. Sync
LP: #1976663 php-symfony-mercure. Sync
LP: #1977509 php-doctrine-dbal. Sync
LP: #1979213 composer. Sync
LP: #1979527 phpunit. Sync
LP: #1979567 php-doctrine-data-fixtures. Sync
LP: #1971294 nbd. Sync
LP: #1971313 postgresql-14. Sync
LP: #1971299 nss. Sync. The Linked bug and MP provided a complete delta analysis before deciding on the sync.
- For further references:
LP: #1980144 pgloader. Sync
LP: #1971332 unbound. Sync
- For further references:
LP: #1964125 php-solr. Sync request during feature freeze. No FFe needed: this was a fix to allow package migration
2.5.1+2.4.0-15 upload sponsored by ~schopin
- For further references:
LP: #1959126 nss. Packaging an LTS version not present in Debian for the next Ubuntu LTS release
2:3.68.2-0ubuntu1 upload sponsored by ~lucaskanashiro
- For further references:
LP: #1946834 multipath-tools. This was an interesting merge which required lots of debugging on a -Bsymbolic-functions issue.
LP: #1946833 bind9.
1:9.18.0-2ubuntu1 upload sponsored by ~ahasenack
- For further references:
LP: #1958978 crmsh.
- For further references:
- impish/adcli.
0.9.1-1ubuntu1 upload sponsored by ~sergiodj
- For further references:
- impish/bind9.
1:9.16.15-1ubuntu1 upload sponsored by ~paelzer
- For further references:
- impish/openvpn.
2.5.1-2ubuntu1 upload sponsored by ~sergiodj
- For further references:
- impish/cyrus-sasl2. This ended up being a sync request. See the merge for further reference.
- For further references:
- impish/samba.
2:4.13.5+dfsg-2ubuntu1 upload sponsored by ~lucaskanashiro
- For further references:
- impish/kerberos-configs.
2.6+nmu1ubuntu1 upload sponsored by ~bryce
- For further references:
- impish/squid. This was performed in a pairing session with Robie and was merged right away after his review. Therefore, no MP is available
4.13-9ubuntu1 upload sponsored by ~racb
- For further references:
- impish/dovecot. This was rejected due to the size of the changes provided by Debian and due to the fact it was proposed 2 days away from the feature freeze
- For further references:
LP: #1946908 thin-provisioning-tools.
0.9.0-2ubuntu1 upload sponsored by ~sergiodj
- For further references:
Bug Fixes and SRUs
LP: #1903516 openssh. This was a staged SRU for impish, due to the low impact of the bug. For bionic and focal, it was uploaded with a different SRU.
bionic SRU 1:7.6p1-4ubuntu0.7 upload sponsored by ~sergiodj
focal SRU 1:8.2p1-4ubuntu0.5 upload sponsored by ~sergiodj
impish SRU 1:8.4p1-6ubuntu2.2 upload sponsored by ~sergiodj
LP: #1972730 crmsh. This is an SRU I sponsored for someone else after the fix landed in kinetic with the first kinetic merge.
jammy SRU 4.3.1-1ubuntu3
LP: #1968228 php7.4.
focal SRU 7.4.3-4ubuntu2.11
LP: #1968200 squid.
- For further references:
LP: #1772915 php8.1.
LP: #1882279 php8.1. A buggy GCC macro has been hindering PHP's configuration step for x86_64, making distribution binaries performance worse for specific operations than binaries shipped by the upstream project.
LP: #1968594 pgloader.
LP: #1973382 postgresql-common.
- For further references:
LP: #1974202 rainloop.
LP: #1967796 php-klogger.
- civicrm - PSR stack compatibility.
- php-malkusch-lock - PSR stack compatibility.
LP: #1968579 sbcl.
- For further references:
LP: #1951031 php7.4.
focal SRU 7.4.3-4ubuntu2.8 upload sponsored by ~sergiodj
hirsute SRU 7.4.16-1ubuntu2.3 upload sponsored by ~sergiodj
- For further references:
LP: #1964709 php-symfony-polyfill.
LP: #1961556 bind9.
1:9.18.0-2ubuntu2 upload sponsored by ~sergiodj
- For further references:
LP: #1961136 multipath-tools.
0.8.8-1ubuntu1 upload sponsored by ~lucaskanashiro
LP: #1958393 crmsh.
- For further references:
LP: #1958247 crmsh.
- For further references:
LP: #1958246 crmsh.
LP: #1958243 crmsh.
- For further references:
LP: #1958241 crmsh.
- For further references:
LP: #1947022 crmsh.
- For further references:
LP: #1947810 autopkgtest.
impish SRU 5.16ubuntu2 upload sponsored by ~juliank
- For further references:
LP: #1928311 python-certbot.
- For further references:
LP: #1845765 asterisk.
LP: #1923845 python-debian.
0.1.39ubuntu1 upload sponsored by ~sergiodj
- For further references:
LP: #1945993 python-django.
2:2.2.24-1ubuntu1 upload sponsored by ~sergiodj
LP: #1940586 dh-cmake.
LP: #1939916 sane-airscan.
LP: #1927877 unbound.
1.13.1-1ubuntu1 upload sponsored by ~bryce
LP: #1631104 openvpn. This is a follow-up and reproducer I decided to add to the bug after working on a different bug.
- Telegraf CVE fix on unpublished branch for OCI image.
- For further references:
LP: #1898593 cyrus-sasl2.
LP: #1899902 bind9.
1:9.16.8-1ubuntu3.2 upload sponsored by ~sergiodj
- For further references:
LP: #1905285 openssh.
1:8.4p1-5ubuntu2 upload sponsored by ~paelzer
focal SRU 1:8.2p1-4ubuntu0.3 upload sponsored by ~bryce
hirsute SRU 1:8.4p1-5ubuntu1.1 upload sponsored by ~sergiodj
- For further references:
LP: #1813003 golang-github-docker-docker-credential-helpers.
bionic SRU 0.5.0-2ubuntu0.1 upload sponsored by ~sergiodj
LP: #1934781 openvpn.
focal SRU 2.4.7-1ubuntu2.20.04.3 upload sponsored by ~bryce
bionic SRU 2.4.4-2ubuntu1.6 upload sponsored by ~bryce
LP: #1890406 tmux.
focal SRU 3.0a-2ubuntu0.3 upload sponsored by ~sergiodj
LP: #1905387 samba.
focal SRU 2:4.11.6+dfsg-0ubuntu1.9 upload sponsored by ~sergiodj
groovy SRU 2:4.12.5+dfsg-3ubuntu4.4 upload sponsored by ~sergiodj
LP: #1453463 lighttpd.
bionic SRU 1.4.45-1ubuntu3.18.04.1 upload sponsored by ~sergiodj
focal SRU 1.4.55-1ubuntu1.20.04.1 upload sponsored by ~sergiodj
LP: #1939406 ocfs2-tools. Reported to Debian and fixed by the Debian maintainer.
LP: #1780746 liboping. The Proposed SRU was rejected. Reason: "No users evidently still affected or expected to be affected."
LP: #1951952 python-gear.
0.5.8-6ubuntu1 upload sponsored by ~sergiodj
LP: #1951877 python-testtools.
2.5.0-2ubuntu1 upload sponsored by ~rafaeldtinoco
LP: #1919965 nginx.
- For further references:
LP: #1964514 php-dapphp-radius.
2.5.8-1ubuntu1 upload sponsored by ~schopin
- For further references:
Autopkgtest & DEP8
LP: #1679377 python-oauth.
- For further references:
- [debian] samba.
- For further references:
- [debian] tmux.
- For further references:
Milestones and Exceptions
LP: #1960615 cl-plus-ssl.
LP: #1973627 postgresql MRE.
LP: #1961127 postgresql MRE.
- For further references:
LP: #1963695 dh-php.
- For further references:
LP: #1945205 python-debian.
+1 maintenance
- udo - badtest udo for i386.
- For further references:
LP: #1934829 universal-ctags.
LP: #1935066 golang-github-go-sourcemap-sourcemap.
- For further references:
- piuparts - FTBFS.
LP: #1949778 unittest2.
- For further references:
LP: #1950335 python-werkzeug.
- For further references:
LP: #1950391 python-pyscss.
LP: #1950521 testresources.
2.0.1-2ubuntu1 upload sponsored by ~brian-murray
- For further references:
LP: #1950646 python-agate.
Bug reports
LP: #1964928 multipath-tools.
- For further references:
LP: #1957320 nginx.
LP: #1961633 multipath-tools.
LP: #1958594 initramfs-tools.
LP: #1945788 soupsieve.
LP: #1947022 crmsh.
LP: #1947751 python-molotov.
Reviews
- openldap MRE.
- For further references:
- postgresql MRE.
- For further references:
- puppet - link issues.
- For further references:
MP: #418102 openssh focal SRU.
MP: #418101 openssh bionic SRU.
MP: #417740 python-tempita: Fix FTBFS.
LP: #1964813 ruby3.0: Script to generate Provides is broken.
- jammy/resource-agents updates.
- For further references:
- jammy/adcli merge.
- For further references:
- jammy/freeradius merge.
- For further references:
- ubuntu-advantage-client - Dockerfile tests and docs.
- For further references:
LP: #1956456 ubuntu-advantage-tools.
- For further references:
- sendmail MP.
- For further references:
LP: #1934902 ubuntu-advantage-tools.
- For further references:
- ubuntu-maintainers-handbook documentation update.
- For further references:
LP: #1940104 r10k.
LP: #1930752 prometheus.
- openldap merge - impish cycle.
- For further references:
- corosync SRU.
- For further references:
LP: #1942929 ubuntu-advantage-tools.
- For further references:
LP: #1949634 ubuntu-advantage-tools.
- For further references:
LP: #1951705 ubuntu-advantage-tools.
- For further references:
Snaps and OCIs
Misc
- buildapp - no-change rebuild for sbcl ppc64el bootstrap.
- cafeobj - no-change rebuild for sbcl ppc64el bootstrap.
- pgloader - no-change rebuild for sbcl ppc64el bootstrap.
- pgcharts - FTBFS fix plus ppc64el support after sbcl bootstrap.
LP: #1960615 pgloader.
- php-psr-http-factory - no-change rebuild for new autoloader path.
- php-http-message-factory - no-change rebuild for new autoloader path.
- xmlsec1 - no-change rebuild for kinetic nss sync.
- squid ROCK - reducing gaps with deb package. Thorough bug analysis followed by a change to match deb package behavior
- For further references:
- podman-compose - new package.
- For further references:
LP: #1980380 postgresql-14.
LP: #1931315 adldap2.
LP: #1980695 pgloader.
- phpunit-cli-parser - fixing migration issues.
- For further references:
- rainloop - licensing issues.
[git-ubuntu] MP: #416951 Fix dpkg fallbacks and leaking snap perl dependencies
- [Debian] php-dapphp-radius: d/watch cannot detect new upstream tags.
- ubuntu-server-triage patches.
LP: #1118815 python-oauth.
- [Docs] Updates to ubuntu-maintainers-handbook.
- For further references:
https://github.com/canonical/ubuntu-maintainers-handbook/pull/39
https://github.com/canonical/ubuntu-maintainers-handbook/pull/40
https://github.com/canonical/ubuntu-maintainers-handbook/pull/43
https://github.com/canonical/ubuntu-maintainers-handbook/pull/44
https://github.com/canonical/ubuntu-maintainers-handbook/pull/45
- For further references:
LP: #1215287 python-debian.
- [Debian] adcli: update adcli version.
- [Debian] Updated python-email validator upstream version.
I used to maintain a small python package to create LP PPAs from the command line (see lppa). I halted the development efforts on this one after I realized there are more mature solutions available in Launchpad
- [Debian] update cyrus-sasl2 broken watchfile.
- For further references:
Work in progress
LP: #1975626 php8.1.
- For further references:
LP: #1926119 samba. waiting for an upstream reply
LP: #1897545 bind9.
LP: #1492212 bind9.
- For further references:
Areas of work
- The Ubuntu Server package set
- PHP
- PostgreSQL
- Ubuntu OCI images
- Ubuntu OCI images QA
- Snaps used to build Ubuntu OCI images
Things I could do better
- Read more docs to better understand the work, tooling, and processes of different teams, such as MIR, SRU, archive admins, the technical board, the DMB, etc.
- Increase participation in Ubuntu mailing lists and IRC channels.
Plans for the future
General
- Increase my participation in and interactions with Debian.
- Help making Ubuntu a better distribution by taking part in discussions, producing automation tools, and improving documentation.
What I like least in Ubuntu
Finding resources around may be difficult at times. For instance, if one does not keep track of their work and/or does not properly set fields in launchpad, compiling a list of work performed around Ubuntu, such as this one, may become a hard task. Working on both documentation and automation tools could help the community and decrease the efforts when one applies for membership.
Endorsements
As a sponsor, just copy the template below, fill it out and add it to this section.
Bryce Harrington
General feedback
I've reviewed many of Athos' merge proposals and always find his work solid. Where I've suggested improvements they are well received, and adopted into his common practice. As he mentioned in his introduction, he has the necessary permissions to do his day-to-day work; his coredev membership will be more for the benefit of Ubuntu itself, since it will let us tap him for a broader array of work beyond that such as +1 maintenance and review/sponsorship of new developers. He will make a great addition to the larger development community, and I would encourage him to think about continuing his development towards participation in one of the higher level boards, administrative teams, or other roles.
Specific Experiences of working together
Athos has provided a thorough list above of packaging items we've worked together on, but I'd like to specifically note the PHP work.
I've handled the PHP transitions up until now, but wanted to hand it off. Athos was looking for opportunities to learn a lot more about advanced packaging techniques and was eager to take it on. Serendipitously, for 22.10 the team was not planning on doing a PHP transition (Debian still has 8.2 as experimental), but there was ample re-merging and cleanup work from the PHP 8.1 transition. I gave Athos a todo list at the start of the cycle, and he polished it off quicker than I expected, and then proceeded to merge and fix a number of more challenging packages I had been expecting to do myself. Through all of this he was diligent at pushing delta up to debian or upstream, or dropping it after verifying it was no longer needed. This should make the 8.2 transition next cycle easier, and gives me a lot of confidence he's up to the task. I bet he'll do a better job at it than me!
Beyond PHP, Athos has also worked with me as a reviewer for my own packaging work and python coding. He always has good suggestions for improvements and is quick to respond with his reviews.
Areas of Improvement
Just keep up the great work!
Sergio Durigan Junior
General feedback
This is the third endorsement I write for Athos, and I am very happy to know it will be the last one in Ubuntu: I strongly support Athos' Core Dev application and know that he will continue to be a valuable member of the project.
He and I have continued to work close together since he became MOTU; we really get along and I absolutely enjoy having discussions about debugging stuff with him. I joke that whenever he comes to me with an package issue, it's always a hairy, difficult and fun one to work on.
I am very satisfied to see his progress since he joined the Server team last year. I said this already, but I like his attention to details and his commitment to always do a good job when he works on Ubuntu packages. Lastly, sometimes we (the Server team) forget that Athos is not a Core Dev already. This, to me, is a testament to the fact that he *should* be one.
Specific Experiences of working together
As I said, Athos and I have done many things together these past months. I liked to see the work he did on performance improvements for PHP. I also had fun bootstrapping sbcl on ppc64el with him; it was nice finding hairy bugs and seeing his diligence in working on them.
Areas of Improvement
I really cannot think of any improvement areas for Athos right now. And I can say that it will be a pleasure having him as a fellow Core Dev, helping with +1 maintenance and other things.
-- sergiodj 2022-07-20 19:21:30
Christian Ehrhardt
General feedback
The quality of Athos work is great, since he joined our team he was always eager to do a step more - add one more test or "I have found this should now be done that way in d/rules" and such. Due to that his proposed changes were always exactly as needed or better.
Athos has a good connection into the Server Team, the Ubuntu Developers in general and also into Debian which provides him ample opportunity to pre-discuss options and solutions enabling him to provide that great work.
Specific Experiences of working together
There would be many small things, but the other endorsements above covered a lot of the same. Instead I'd like to talk about postgresql. I have myself taken that over years ago from Pitti when he left and recently just got so overloaded with other tasks that I needed help. Athos (and Sergio) were very kind to help taking over that work and I'm pleased with it. Athos did not only continue my work including merges, re-occurring MREs and general triage and bug work. He also came up with little improvements here and there of his own - furthermore I connected him with the Debian maintainer who is kind and works with us (=Ubuntu) well. Athos took that connection as well and communicated proactively with Debian which is just the right path on the postgresql packages.
Areas of Improvement
No single big thing comes to my mind. Being a core-deve soon (hopefully) I'd like to see him join our +1 maintenance rotation to broaden his scope even further - but that isn't critique, more an obvious next step.
-- paelzer 2022-08-02 06:53:10
Comments
If you'd like to comment, but are not the applicant or a sponsor, do it here. Don't forget to sign with @SIG@.
TEMPLATE
== <SPONSORS NAME> == === General feedback === ## Please fill us in on your shared experience. (How many packages did you sponsor? How would you judge the quality? How would you describe the improvements? Do you trust the applicant?) === Specific Experiences of working together === ''Please add good examples of your work together, but also cases that could have handled better.'' ## Full list of sponsored packages can be generated here: ## https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi === Areas of Improvement ===
AthosRibeiro/UbuntuCoreDeveloperApplication (last edited 2022-08-08 20:03:10 by athos-ribeiro)