DeveloperApplication-MOTU
I, Pragyansh Chaturvedi, hereby apply for upload rights to the raspi packageset and MOTU.
Name |
Pragyansh Chaturvedi |
Launchpad Page |
|
Wiki Page |
|
IRC |
r41k0u |
Matrix |
@r41k0u:ubuntu.com |
I am applying because:
- I'd like to smoothen my work with packages relevant to the Raspberry Pi ecosystem.
- I'd like to be able to help more effectively during +1 maintenance shifts, which largely consists of packages in universe.
Who I am
My name is Pragyansh Chaturvedi, but you can also call me Raikou.
My Ubuntu story
I first installed Ubuntu in 2020 when I started studying at the university. Soon after, I installed it on one of my older laptops to breathe some life into it and installed and maintained Ubuntu Server on all my university lab’s machines.
My involvement
I now work for Canonical as part of the Foundations/Architectures team (started Aug 2024). You can also learn more about my work from the weekly Foundations updates at https://discourse.ubuntu.com/u/r41k0u/activity.
Examples of my work / Things I'm proud of
Exhaustive list of my uploads is available here:
Below is a selection of those with some quick description and pointers, to make it easier to get an idea of my work. Please ask me about specific uploads that piques your interest and are not in the list.
Feature and bugfix uploads
libcamera
Add preliminary support for PiSP in libcamera. This was a huge patch, a large delta we had to carry against Debian as this was derived from Raspberry Pi's fork of libcamera (that too not in a linear way. I took the diff between the Raspberry Pi fork and the version in Debian, and stripped out parts that were not required). https://code.launchpad.net/~r41k0u/ubuntu/+source/libcamera/+git/libcamera/+merge/477052
Add support for all sensors supported by Raspberry Pi after getting libpisp in the archive: https://code.launchpad.net/~r41k0u/ubuntu/+source/libcamera/+git/libcamera/+merge/481036
Add support for AI camera functionality and version bump: https://code.launchpad.net/~r41k0u/ubuntu/+source/libcamera/+git/libcamera/+merge/485502
libpisp
Fix ABI breakage which caused FTBFS in rpicam-apps: https://code.launchpad.net/~r41k0u/ubuntu/+source/libpisp/+git/libpisp/+merge/487729
Fix things according to MIR team's recommendations: https://bugs.launchpad.net/ubuntu/+source/libpisp/+bug/2093321
rpicam-apps
I introduced this package in the archive and have been maintaining it since. This package is not in Debian as it needs the patches on top of libcamera to build, something that has not been introduced in Debian by Raspberry Pi yet. I do the version bumps, removed the proprietary features from the package, and enabled the AI camera functionality. https://code.launchpad.net/~r41k0u/ubuntu/+source/rpicam-apps/+git/rpicam-apps/+merge/485631
flash-kernel
- A merge and SRU of a kernel flavor fix and DTB for CM5 Lite
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2109835
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2097008
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2092737
- A bunch of new packages were added/MIR'd to satisfy the dependencies of the Raspberry Pi camera stack. These are mentioned in the NEW packages section below.
ubuntu-raspi-settings
raspi-utils
- Addressed the issues raised in the MIR review
https://code.launchpad.net/~r41k0u/ubuntu/+source/raspi-utils/+git/raspi-utils/+merge/479362
https://code.launchpad.net/~r41k0u/ubuntu/+source/raspi-utils/+git/raspi-utils/+merge/480344
Package Merges and Syncs
armci-mpi merge
mdadm merge
bug: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/2111802
MP: https://code.launchpad.net/~r41k0u/ubuntu/+source/mdadm/+git/mdadm/+merge/486139
- Dropped some delta merged upstream
libcap2 merge
bug: https://bugs.launchpad.net/ubuntu/+source/libcap2/+bug/2111776
MP: https://code.launchpad.net/~r41k0u/ubuntu/+source/libcap2/+git/libcap2/+merge/486131
- Dropped some delta merged upstream
flash-kernel merge
bug: https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2109835
MP: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485421
- Package with a lot of patches on top. Added a patch for CM5 Lite devices and prepared the merge.
lintian merge
bug: https://bugs.launchpad.net/ubuntu/+source/lintian/+bug/2109768
MP: https://code.launchpad.net/~r41k0u/ubuntu/+source/lintian/+git/lintian/+merge/485342
- Added questing as a new distribution (and SRU'd this change), then prepared the merge
libdebian-installer merge
bug: https://bugs.launchpad.net/ubuntu/+source/libdebian-installer/+bug/2098951
- Straightforward merge, but this got merged before the PPA build passed, so needed another MP to fix a failing build
needrestart merge
bug: https://bugs.launchpad.net/ubuntu/+source/needrestart/+bug/2091347
MP: https://code.launchpad.net/~r41k0u/ubuntu/+source/needrestart/+git/needrestart/+merge/478237
- My first merge, so might be a bit rough
clanlib sync
rakarrack sync
powerpc-utils sync
SRUs
lintian Add questing as a known distribution:
SRU bug: https://bugs.launchpad.net/ubuntu/plucky/+source/lintian/+bug/2109817
MP Devel: https://code.launchpad.net/~r41k0u/ubuntu/+source/lintian/+git/lintian/+merge/485342
MP Plucky: https://code.launchpad.net/~r41k0u/ubuntu/+source/lintian/+git/lintian/+merge/485394
MP Oracular: https://code.launchpad.net/~r41k0u/ubuntu/+source/lintian/+git/lintian/+merge/485393
MP Noble: https://code.launchpad.net/~r41k0u/ubuntu/+source/lintian/+git/lintian/+merge/485392
MP Jammy: https://code.launchpad.net/~r41k0u/ubuntu/+source/lintian/+git/lintian/+merge/485391
flash-kernel Add CM5 Lite DTB to flash-kernel
SRU bug: https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2097008
MP Devel: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485421
MP Plucky: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485457
MP Oracular: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485458
MP Noble: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485460
flash-kernel Fix invalid entries in db
SRU bug: https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2092737
MP Devel: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485421
MP Plucky: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485457
MP Oracular: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485458
MP Noble: https://code.launchpad.net/~r41k0u/ubuntu/+source/flash-kernel/+git/flash-kernel/+merge/485460
libtraceevent Fix wrong endianness on s390x, which caused autopkgtest segfault in libtracefs
SRU bug: https://bugs.launchpad.net/ubuntu/oracular/+source/libtraceevent/+bug/2062118
MP Devel: https://code.launchpad.net/~r41k0u/ubuntu/+source/libtraceevent/+git/libtraceevent/+merge/477042
MP Oracular: https://code.launchpad.net/~r41k0u/ubuntu/+source/libtraceevent/+git/libtraceevent/+merge/482499
MP Noble: https://code.launchpad.net/~r41k0u/ubuntu/+source/libtraceevent/+git/libtraceevent/+merge/482500
Proposed Migrations
Most of my distro work is around fixing issues that show up on the update-excuses page: https://ubuntu-archive-team.ubuntu.com/proposed-migration/update_excuses.html
- If you look at my +1 reports, it is mostly trying to fix autopkgtest failures to allow stuck packages to migrate.
A couple of early examples are libmaa: https://code.launchpad.net/~r41k0u/ubuntu/+source/libmaa/+git/libmaa/+merge/473606, newt: https://code.launchpad.net/~r41k0u/ubuntu/+source/newt/+git/newt/+merge/473679 and bpftrace: https://code.launchpad.net/~r41k0u/ubuntu/+source/bpftrace/+git/bpftrace/+merge/472767
You can visit https://code.launchpad.net/~r41k0u/+git to find out more.
NEW packages
Picamera2 - Python library for controlling the camera stack on Raspberry Pi
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+bug/2092279
PiDNG - Converts Bayer RAW data to Adobe DNG image
- Runtime dependency of Picamera2
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+bug/2092277
kms++ - C++ library for kernel mode setting
- Runtime dependency of Picamera2 and rpicam-apps
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+bug/2092065
python-v4l2 - Python bindings for the V4L2 userspace API
- Runtime dependency of Picamera2
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+bug/2091998
python3-simplejpeg - fast JPEG encoder/decoder
- Runtime dependency of Picamera2
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+bug/2091974
libpisp - helper library for the Pi ISP
- Runtime dependency for libcamera
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+bug/2089646
raspi-utils - replacement for raspi-userland
- Took over the bug from Dave Jones
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+source/raspberrypi-userland/+bug/2046250
rpicam-apps - userspace camera apps for Raspberry Pi
- Took over the bug from Dave Jones
needs-packaging bug: https://bugs.launchpad.net/ubuntu/+bug/2020101
+1 maintenance
2025, week 29: https://discourse.ubuntu.com/t/1-maintenance-report-week-29-2025/65212
2025, week 26: https://discourse.ubuntu.com/t/1-maintenance-report-week-26-2025/63731
2025, week 22: https://lists.ubuntu.com/archives/ubuntu-devel/2025-June/043361.html
2025, week 16: https://lists.ubuntu.com/archives/ubuntu-devel/2025-April/043343.html
MIRs
libpisp - The library for the ISP on Raspberry Pi (PiSP), which was a new dependency for libcamera. libcamera was already in main and it had to go in as well.
nlohmann-json - Runtime dependency of libpisp and a popular JSON library for C++.
raspi-utils - Replacement of libraspberrypi-bin from the raspi-userland src package. It has utilities to work with device-tree overlays and the SoC.
Working with upstream
python-lua:
After figuring out what's wrong with the tests, I came to the understanding that this is a project roadmap decision which the author has to make. So filed a bug: https://github.com/wijnen/python-lua/issues/5. Detailed in my +1 report.
node-form-data:
Fix a CVE patch which introduces a test regression: https://salsa.debian.org/js-team/node-form-data/-/merge_requests/2
endless-sky:
Fix tests on arm64: https://github.com/endless-sky/endless-sky/pull/11672
rust-zune-jpeg:
Path for build failure on arm64 was upstreamed: https://github.com/etemesi254/zune-image/pull/279
libpisp
Fix for an ABI breakage upstreamed: https://github.com/raspberrypi/libpisp/pull/45
rpicam-apps
Fix a deprecated call from ffmpeg: https://github.com/raspberrypi/rpicam-apps/pull/792
libtraceevent
Endianness fix: https://bugzilla.kernel.org/show_bug.cgi?id=219543
linux-raspi
Forwarded my bug investigation to LKML: https://lore.kernel.org/all/75d0bb19-b2c5-43ba-a323-dfa18507dce5@ubuntu.com/ and Raspberry Pi linux: https://github.com/raspberrypi/linux/issues/6049#issuecomment-3083379554
apport
Ignore crash reporting for Teamviewer: https://github.com/canonical/apport/pull/394
rpi-imager snap
Version bump: https://github.com/waveform80/imager-snap/pull/7
- My +1 maintenance section also has examples of this.
Transitions
I haven't triggered a transition. I have helped complete the transition of libcamera0.3 to licamera0.4 by fixing the build failures for rpicam-apps. I also helped Ravi in fixing the autopkgtest failures of cpp-jwt, freeradius and qca2 for migrating openssl recently.
Misc
- Contribution to Ubuntu Boards Documentation:
Add docs for using the camera on Ubuntu: https://github.com/canonical/ubuntu-boards-documentation/pulls?q=is%3Apr+author%3Ar41k0u
- Adding automated hardware testing to QA's Jenkins instance:
- ISO testing of new releases on Raspberry Pi devices
Bug Triage and reporting
I'm often exposed to bugs, either directly or indirectly through colleagues hitting them, so I try to report them as much as possible: Just a few examples:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-raspi-settings/+bug/2091380
https://bugs.launchpad.net/ubuntu/+source/ubuntu-raspi-settings/+bug/2086712
https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/2112327
https://bugs.launchpad.net/ubuntu/+source/libpisp/+bug/2115319
https://bugs.launchpad.net/ubuntu/+source/ubuntu-raspi-settings/+bug/2119668
I am also subscribed to the bugs of a bunch of packages (mostly in the raspi packageset) and triage them:
https://bugs.launchpad.net/ubuntu/+source/libcamera/+bug/2110144
https://bugs.launchpad.net/ubuntu/+source/rpicam-apps/+bug/2109901
https://bugs.launchpad.net/ubuntu/+source/linux-raspi/+bug/2063255
https://bugs.launchpad.net/ubuntu/+source/linux-raspi/+bug/2063365
Packages of raspi packagset I have worked on
kms++
libpisp
picamera2
pidng
python-v4l2
raspi-utils
rpi-imager
rpicam-apps
simplejpeg
ubuntu-raspi-settings
Areas of work
I work at Canonical on the Raspberry Pi platform, where most of our work is to achieve parity with RaspiOS in terms of features and performance. For the past couple of months I have been working on automated hardware testing of Raspberry Pis for each Ubuntu release. This eliminates the need for the gruelling manual testing we had to do afte feature freeze, beta release and the last week of release for each cycle, and also falls in line with the Release team's goal of releasing Ubuntu whenever they want (some time in the future).
In the past cycle I worked on adding support for the Raspberry Pi camera stack on Ubuntu.
In my free time, I do some technical reading and personal projects. I recently read about optimizing compilers for BPF bytecode: https://arxiv.org/abs/2103.00022 and https://dl.acm.org/doi/10.1145/3620666.3651387. I have been reading and trying out smaller examples / projects of Modern C++, which seems to be a bottomless pit. My website: https://people.ubuntu.com/~r41k0u/portfolio/
Things I could do better
There are a few things I'd like to improve:
- Write more documentation in the Ubuntu Project Docs.
- Review MPs. This is something I have not done before but is one way of contributing to the distro.
- Tinker more with my Pis during my free time.
Plans for the future
General
- More hardware enablement, where we have better performance and support for the most widely used software on the Raspberry Pi.
- Adding secureboot to Ubuntu on Raspberry Pi.
- For the longer term, our goal is to make Ubuntu a strong and practical choice for Raspberry Pi users, where they don’t have to compromise on features, usability and stability.
What I like least in Ubuntu
- The tooling around Ubuntu development. Things like a No Change Rebuild can easily be implemented by a bot or a button functionality instead of using our own scripts. These bots can also trigger NCRs in PPAs and if it fails, the creators can be notified of this (as LP can already fetch package versions from untrusted archives).
- No autosync from upstream. There are a bunch of packages where we are either ahead of Debian, or which simply do not exist in Debian. While packaging multiple NEW packages, we have to make sure we have a well-formed d/watch file. We can make a bot for autosyncing directly from the upstream instead of Debian for such cases, which utilises the d/watch file.
- Missing and fragmented documentation for some things. There are multiple sources of documentation, and they still might not cover all of the things. Though this is being fixed by the introduction of the Ubuntu Project Docs and I should contribute to it instead of complaining.
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@.
Endorsements
Dave Jones ('waveform')
General feedback
I've been working with / mentoring Pragyansh for a couple of releases now and, frankly, "mentoring" feels like an exaggeration, as it implies that I've actually done something. In reality I've mostly pointed him at issues and watched him plough through them like some sort of problem-solving guided munition. He picked up the git-ubuntu merge style far quicker than I recall doing so, has handled numerous SRUs, a good number of MIRs, and several quite complex bug fixes. In my view, he's ready for MOTU, and maybe only a cycle or two removed from CoreDev (I don't think he's done much in the way of seeds yet, but that's not relevant for MOTU).
Specific Experiences of working together
The packages I have sponsored for Pragyansh may be found here. In particular, I've been impressed with his work on nbd's autopkgtests. This had a couple of thorny cross-architectural issues, and Pragyansh has handled them with diligence and enthusiasm.
I was further impressed with the ease with which he handled the flash-kernel merge. This is a native package with a large delta and, although the split was already done, I've seen several others struggle with some of the ideas involved in a git-ubuntu style merge. Despite this being one of his first merges with git-ubuntu (and a native package), he breezed through it with apparent ease.
His work on the libraries and applications supporting the Raspberry Pi camera module has also been excellent -- I've been wishing to get back into using these for literally years at this point and finally, thanks in large part to Pragyansh's work, I may be able to!
Areas of Improvement
"Please add [...] cases that could have [been] handled better."
He almost certainly needs more experience in sponsoring things for other people, but that's scant criticism as, without any upload rights, he literally cannot have any experience in this area. Still, as a MOTU this is likely to come up, and will involve a learning curve (not least in patch pilot shifts, which he should absolutely be encouraged to join ;).
Other than that, not much is springing to mind! Sure, Pragyansh has more to learn about Debian packaging, or image-building seeds, or insert-obscure-bit-of-livecd-rootfs-here, but I could say that of absolutely anybody, myself (or even members of the DMB) included. Put another way, what areas of improvement exist are either universal, or are likely to be enabled by his promotion to MOTU.
-- waveform 2025-08-28 20:51:40
Vladimir Petko
General feedback
I have sponsored two uploads for Pragyansh[1], and both were smooth experiences. Looking at other examples of the things he has done, e.g.[2] - those are good quality uploads without much to comment on.
Specific Experiences of working together
Although I did not sponsor Pragyansh[1] much, when I did, it was always simple and straightforward. A good example is lintian SRU[3], which was properly documented and easy to sponsor.
Areas of Improvement
Not much to comment about - I believe Pragyansh is definitely ready for MOTU.
[1] https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi?render=html&sponsor=*petko*&sponsor_search=name&sponsoree=*prag*&sponsoree_search=name [2] https://code.launchpad.net/~r41k0u/ubuntu/+source/libpisp/+git/libpisp/+merge/487729 [3] https://bugs.launchpad.net/ubuntu/+source/lintian/+bug/2109817
Simon Chopin
General Feedback
I hereby give a partial endorsement to Pragyansh for MOTU.
While it seems I have sponsored a handful of packages for him, most of my experience of his work has been through my NEW queue reviews, and through discussions around -proposed migrations.
I trust that Pragyansh would use MOTU powers properly in both of those contexts: the quality of his NEW uploads has steadily improved over time to the point that I've been left with only nitpicks and stylistic advice for the last 2, and I believe he's knows enough about merges, syncs, and the particular dynamics of our development cycle.
Please do not view this partial endorsement as an indictment of Pragyansh in the *other* contexts: absence of evidence is not evidence of absence
Areas of improvement
I'm sure Pragyansh will do his fair share of blunders, as we all did... They who have never broken the archive throw the first exception or something.
He can bring us a fresh perspective, so I can only encourage him to be more assertive and push back when old farts like us tell him his ideas are too risky.
-- schopin 2025-09-12 15:36:19
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 ===
r41k0u/DeveloperApplication-MOTU (last edited 2025-09-12 15:36:19 by schopin)