I, Finn Rayk Gärtner, apply for core-dev upload rights.
I am aware that going directly to core dev is a leap. I thought about this step quite a bit and hope that the following application demonstrates enough evidence to support this.
Contact Information:
-
Name:
Finn Rayk Gärtner -
Launchpad Page: https://launchpad.net/~finnrg
-
Matrix username:
@finnrg:ubuntu.com
I am applying because:
-
I’d like to eliminate delays in getting my work sponsored.
-
I’d like to reduce the burden on my sponsors.
-
I’d like to be able to mentor other developers and especially Launchpad members, to re-establish Ubuntu knowledge in the Launchpad team.
-
I’d like to take on further responsibilities and challenges in the future (like ~ubuntu-security membership) which require core developer rights.
Who I am
Hi
, I am Finn and a member of the Launchpad team who joined Canonical roughly 1 year ago (originally as a Rust developer, now I get to write perl code). I am currently living in Germany, specifically in Nordrhein-Westfalen.
My Ubuntu story
Of course I have been using Ubuntu long before joining in Canonical. I think I first used the distro in high school (so likely bionic or focal) and helped installing it on a bunch of old Apple machines. Later I used Ubuntu basically always when I needed to maintain any kind of serious Linux infrastructure, so at school, in my open source projects and in my professional work before Canonical in the cloud.
After joining the Launchpad team I worked a lot on Ubuntu related topics and quickly became very involved in the ftpmaster and PPA publishers which led to me participating in the resolute release sprint to handle the Launchpad specific bits. The sprint and seeing the final release process definitely motivated me to start participating with actual distribution work to better understand all the processes, the pain points of using Launchpad and to be a part of the Ubuntu community. Through the Ubuntu Uploader program I was then assigned to Mate Kukri who brought me up to speed with all the required tools and taught me a lot of the required knowledge to apply for these upload rights.
Examples of my work / Things I’m proud of
Quick links
Core Work
These changes I would describe as some of my core work and uploads, meaning that they actually related to Launchpad in some way.
build-essentialSRU: The patch itself here is trivial (a package from build-essential dropped a dependency and a number of packages expected that dependency to be available without specifying it as a build dependecy), but it required some knowledge about Launchpad chroots and buildd to debug and also an analysis of the impact to determine the best resolution. Specifically I found a set of packages which would have silently regressed due to the issue, which caused me to propose the build-essential SRU as the best path forward.- This later came up again in LP: #2161162 where I then suggested to copy the SRU’d build-essential to the security pocket to prevent regressions from builds in the security PPA
debootstrapSRU: I led the migration on Launchpad side in the stonking archive indices to SHA512 only indices. This was intentionally done early as a scream test during which we caught that debootstrap was not handling these indices at all. I then proposed the fix to Debian, as a devel patch to Stonking and SRUs to Resolute, Noble and Jammy- Debian/Upstream PR: #151
- LP: #2160111
- (ongoing)
rmadison: We won’t migrate themadison.cgiendpoint to the new cloud, so Benjamin reached out to Launchpad a while ago to ask if we could offer a madison compatible endpoint. After some discussions I offered to instead do the necessary changes in rmadison to use the Launchpad API properly. Once this change has landed in Debian I will SRU it to all supported series.- Debian/Upstream PR: #658
Merges
These I mostly picked up early in the development cycle whenever I had some free time. This is chronologically, so the first ones will contain some beginner mistakes ![]()
base-files: #505724 My first merge, so I made some changelog mistakes.jpeg-xl: #2153309gdb: #508242ffmpeg: #508663 — Here I combined a merge with a FTBFS bug fix for arm64 (LP: #2158001)libavif: #508670rspamd: #509130 — Also includes an OpenSSL 4.0 transition fix
Syncs
The interesting ones are tasksel and blendsel where I noticed that they had an Ubuntu delta because of a simple Launchpad bug (it didn’t recognize the section of the package), which I fixed:
pigz: LP: #2153956giflib: LP: #2158776tasksel: LP: #2153361- Not a sync (instead a willsync), but let’s group them:
blendsel: LP: #508642
- Not a sync (instead a willsync), but let’s group them:
freetype: LP: #2163527
MIRs
I am currently working on the MIR for plzip (LP: #2154054), where I am currently collaborating with the Debian maintainer to improve the test situation. This also involved a PR to Debian to swap from lzip to plzip | lzip-decompressor in devscripts (devscripts#664).
SRUs
Besides the debootstrap and build-essential SRU already mentioned above, I did the following SRU(s):
python3.10,python3.11,python3.12: This involved backporting an upstream memory leak fix to the Python versions in Jammy and Noble. Getting all proposed-migration reverse dependency tests to pass was also quite involved.- LP: #507462 (
python3.10) - LP: #507461 (
python3.11) - LP: #507298 (
python3.12)
- LP: #507462 (
- (ongoing)
openssh: A bugfix that was in itself relatively straightforward, but getting the build to succeed was challenging due to changing i386 requirements in the dependencies, ongoing merges and transitions and both series required pulling in other patches to get the autopkgtests to pass.- LP: #507052 (stonking)
- LP: #507056 (resolute, not merged yet)
OpenSSL 4.0 Transition
While I haven’t led any transition, I did try to help out with the OpenSSL 4 transition. Of course most teams fixed their own main packages so a lot of these are universe leaf packages, which was still very interesting to work in and I often had to write the patch myself and forward to upstream.
rspamdLP: #2154903 - also needed an existing armhf-only patch extended to all architectures and two further upstream backports for doctest 2.5.0baculaLP: #2154831 - patch forwarded as bacula#2771duo-unixLP: #2154942 - patch forwarded as duo_unix#410hitchLP: #2154890 - patch forwarded as hitch#406isyncLP: #2154966 - patch reviewed and applied upstream in isync#10pgagroalLP: #2154933 - patch merged as pgagroal#975sogoLP: #2155028 - patch forwarded as sogo#394pam-pkcs11LP: #2155016 - patch forwarded as pam-pkcs11#91pkcs11-proxyLP: #2154943 - patch forwarded as pkcs11-proxy#4thriftLP: #2163688 - patch forwarded in thrift#37621raucLP: #2155007 - patch backported from upstreampgbouncerLP: #2163692 - patch backported from upstream
Launchpad work
I am aware that Launchpad is not part of the Ubuntu project, but I believe that my work specifically around the ftpmaster publisher is so closely related to the Ubuntu project to still be worth mentioning here.
Specifically earlier this year I made multiple very significant changes to the ftpmaster publisher to improve its performance and runtime, which involved understanding the structure of the Ubuntu archive and talking to other developers like mwhudson or cjwatson. In the end the publisher now runs 20 to 30 times more often per day. These are just some of the most significant MP’s
- LP: #503377: Replaced
apt-ftparchivewith direct SQL queries for thePackagesandSourcesindex files - LP: #504220: Fixed a bug where EOL series were incorrectly being published and processed
- LP: #503258: Rewrote the dominator (which marks publications as superseded) to process publications more efficiently
Another change worth mentioning I believe is the change to SHA512 only publishing, which I implemented early in the stonking cycle as a scream test (which led to the debootstrap uploads mentioned above):
- LP: #505278: Implement configurable hash publishing in the ftpmaster publisher
Other
This is mostly a collection of things that didn’t fit in any of the above categories and are supposed to show that I am familiar with the various smaller processes in Ubuntu
- Resolved the Debian bugs lazr.config, lazr.delegates, lazr.restfulclient, lazr.uri with an upstream modernization of all 14
lazr.*Python packages (the Launchpad team maintains these libraries) - I presented in the (sadly internal) Ubuntu knowledge sharing session in Madrid about the publisher and the general structure of the Ubuntu primary archive.
Areas of work
- Launchpad of course, but I also want to continue getting familiar with more areas of Ubuntu but of course I will ask for reviews and communicate with other teams before uploading things that I have no experience with.
- I also want to help out more with the community work and things like +1 maintenance.
Things I could do better
I have a tendency to take on too many things at once, which can lead to delays, or if there is ongoing work, not communicating that so it looks as if a ticket is not moving. I’ve been trying in recent weeks/months to communicate status updates more often on bug tickets that take more time or where I encountered further issues.
Plans for the future
General
As I said above, taking on +1 maintenance tasks and starting with my path towards ~ubuntu-security membership and other roles.
Also very specifically improving packages like lptools, launchpadlib and other packages which are semi-abandoned, taking ownership of them back into Launchpad and properly maintaining them.
What I like least in Ubuntu
Too many different services, sites, pages, reports, tools etc. Also the entire process of creating a PPA, building the package, running autopkgtests is currently way too manual, but a fix is coming soon for that ![]()
Endorsements and Comments
Ask your sponsors and people that closely worked with you to use the template below, and reply to your application with their packaging endorsement (sponsors) or comments (anyone including sponsors).
## Sponsoring feedback
* Please fill us in on your shared experience.
* How many packages did you sponsor? A list of sponsored packages can generated [via UDD here](https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi)
* 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.*
## Areas of improvement and next steps
What is the journey you see ahead of the applicant, the next steps they should take, the next things they likely have to learn and the next mountains to climb?