||<>|| '''I, Pragyansh Chaturvedi, hereby apply for upload rights to the raspi packageset and MOTU.''' || '''Name''' || Pragyansh Chaturvedi || || '''Launchpad Page''' || https://launchpad.net/~r41k0u || || '''Wiki Page''' || https://wiki.ubuntu.com/r41k0u/ || || '''IRC''' || r41k0u || || '''Matrix''' || @r41k0u:ubuntu.com || || '''Email''' || 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: * Launchpad: https://launchpad.net/~r41k0u/+uploaded-packages * UDD: https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi?render=html&sponsor=&sponsor_search=name&sponsoree=*prag*&sponsoree_search=name 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}}} * Fixed: https://bugs.launchpad.net/ubuntu/+source/ubuntu-raspi-settings/+bug/2086712 * {{{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 * bug: https://bugs.launchpad.net/ubuntu/+source/armci-mpi/+bug/2115608 * MP: https://code.launchpad.net/~r41k0u/ubuntu/+source/armci-mpi/+git/armci-mpi/+merge/487982 * Simple rebase * {{{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 * MP: https://code.launchpad.net/~r41k0u/ubuntu/+source/libdebian-installer/+git/libdebian-installer/+merge/481622 * 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 * bug: https://bugs.launchpad.net/ubuntu/+source/clanlib/+bug/2115623 * {{{rakarrack}}} sync * bug: https://bugs.launchpad.net/ubuntu/+source/rakarrack/+bug/2115620 * {{{powerpc-utils}}} sync * bug: https://bugs.launchpad.net/ubuntu/+source/powerpc-utils/+bug/2098927 === 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. * MIR bug: https://bugs.launchpad.net/ubuntu/+source/libpisp/+bug/2093321 * {{{nlohmann-json}}} - Runtime dependency of {{{libpisp}}} and a popular JSON library for C++. * MIR bug: https://bugs.launchpad.net/ubuntu/+source/nlohmann-json3/+bug/2093868 * {{{raspi-utils}}} - Replacement of {{{libraspberrypi-bin}}} from the {{{raspi-userland}}} src package. It has utilities to work with device-tree overlays and the SoC. * MIR bug: https://bugs.launchpad.net/ubuntu/+source/raspi-utils/+bug/2094805 === 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: * https://code.launchpad.net/~r41k0u/qa-jenkins-jobs/+git/qa-jenkins-jobs/+merge/488949 * 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/apport/+bug/2041830 * 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 [[https://udd.debian.org/cgi-bin/ubuntu-sponsorships.cgi?render=html&sponsor=dave.jones%40canonical.com&sponsor_search=email&sponsoree=Pragyansh+Chaturvedi&sponsoree_search=name|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. -- [[LaunchpadHome:waveform]] <> == 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. -- [[LaunchpadHome:schopin]] <> == TEMPLATE == {{{ == == === 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 === }}} ---- [[CategoryMOTUApplication]] ---- CategoryPerPackageUploaderApplication