Google Summer of Code 2022

This page is to document the work done during Google Summer of Code 2022 by Raman Sarda for the Android SDK Tools in Debian project.
The page also serves as the final report for Google Summer oF Code 2022.
Mostly packaging was done during the duration of the Project. All of the work has been pushed to salsa.

Initial Project Aim

The end goal of the project is to package newflasher and the a version of android-build-tools. The build tools is inspired by the android -platform-tools project from last year where we use a single source package to build all the dependencies and the binaries.

Overview of the work done

As a part of the project, newflasher packaging has been completed and android-build-tools is almost completed.

Newflasher

Newflasher is an experimental software that allows users to flash firmware acquired through XperiFirm to Sony phones including and newer than the XZ Premium.

We track the progress of packaging Newflasher into Debian repositories in this issue on salsa. Cdesai packaged it initially. Upstream cleaned their repo around release 32 and included a lot of changes. I have updated the package to v52. The updated package can be found at theloudspeaker/newflasher. A merge request for the same can be found here.
The merge request is ready for review and Newflasher can be uploaded to archives once it is merged.

Build Tools

The idea of the is to include all the binaries provided by google under build-tools under the android-build-tools package in Debian. The source is built in a similar fashion to the last year’s android-platform-tools package where the required sources are moved into one source and built using debian makefiles. Cdesai’s comment here outlines the steps in 3 different phases.

1. Phase 1 includes setting up the package to download the sources from AOSP. Keeping the same version and same debian build system. Only the source is moved.
2. Phase 2 includes removing internal non-binary packages. SInce all the libraries built using the source package are used only inside build-tools.
3. Phase 3 focuses on updating the package to a recent tag and keep using the existing debian makefiles for building the project.

We are almost at the end of phase 2 for the build-tools package. All the required packages are moved to the source and internal non binary packages have been removed.
Biggest challenge during this has been the fact that builds keep failing because of missing or older headers used due to the makefiles. I am working on those and have updated the debian/rules to build most the package correctly as it built before removal of non binary packages.
The merge request for android-build-tools project can be found here. I am still working on it and hope to move the merge request out of drafts soon.

Blogs

I have written a mid term progress report blog about this project on my personal website here.
I plan to write a follow up on it once I complete the draft merge requests for build-tools. I will update this page to point to it.

Overall, this has been a great project with lots of learning and fun. I plan to continue to work with the team and finish what I started. Thank you!

theloudspeaker/SummerOfCode2022 (last modified 2022-09-12 22:16:08)