Google Summer of Code 2019
This is the report for the final evaluation of GSoC 2019 for Katerina.
Final GSoC Report of Katerina for Android SDK Tools in Debian
Project overview
The aim of this project is to package additional Android SDK Tools in Debian and to update some packaged Android SDK Tools to the latest upstream versions.
Why do we need Android SDK Tools in Debian?
As a result of this project users of Debian will be able to install these Android SDK Tools easily from the official Debian repositories. At first these Android SDK Tools will appear in Debian Unstable (version of operating system for developers) repository and then in Debian Testing (for users who want the new software) repository. As a result these Android SDK Tools will be also easily available for installation later not only for Debian users but also for users of many other operating systems, which are based on Debian Testing (such as Kubuntu, Ubuntu, Linux Mint, etc).
My work during GSoC 2019 has been mainly focused on packaging programs, which are necessary for android.jar
. Packaging them is very important as Android.jar file contains the public API of the Android framework and is used to compile Android apps.
Work done
I have discovered the world of free and open source software only in 2019 and became a regular Debian user only in March. Everything was new for me and so I had to learn everything. So working on the project was not only about new programming experience but also about a lot of new knowledge and constant deep learning (what can be tracked by my weekly reports as well).
During the GSoC period I have worked on several Debian packages. The first one was existing android-platform-external-doclava
which was needed to be updated to upstream version 9.0.0+r42. Then I mainly worked on new packages starting from the simplest makeparallel
tool and proceeding with packaging of the more complicated android.jar
build-dependencies:
- android-platform-build-kati
- android-platform-external-nist-sip
- android-platform-external-rappor
- android-platform-system-tools-hidl
- turbine.
Four of seven packages I've worked on are awaiting approval in the NEW queue, which purpose is to work out if the package can be distributed by Debian by special checking. Two have been already accepted.
Comment: New queue
links are temporary. Once the packages are accepted, the links will become invalid. They will be changed to the accepted
later.
All my work is stored on the Git repositories in Debian. All commits that I have made and the information about current package status can be found as follows:
Updated packages
android-platform-external-doclava
status of the package: accepted
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/37fb2b557bb916479d5e05a351d5f1a0724d4aac
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/33bb5928fa0930d1e5518e026a05254ce8931073
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/16920e971771783a716434f092342c6b8d933408
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/933772ea6d5da9ba3c7c15abb53dc6ba93ef63ee
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/7bde025c1db70bd8e780ead593e1f90b1e655ecf
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/aca1748fecccae05871de2117702baa16c625960
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/878d69b1f2c6d77e755df025d308098306022268
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/5107c1fa74beb10356c9f57d5db58a48d239e0b1
- https://salsa.debian.org/android-tools-team/android-platform-external-doclava/commit/2688db4dd17c15660dd91667a4b63c85f08ce6b2
New packages
android-platform-build-kati
status of the package: NEW queue
- https://salsa.debian.org/android-tools-team/android-platform-build-kati/commit/e88b1a391feceb17fcbc3edd1413e91b42b12a76 https://salsa.debian.org/android-tools-team/android-platform-build-kati/commit/085fa42b2f1f1434432444da3ba86b803718a43c
android-platform-external-nist-sip
status of the package: NEW queue
- https://salsa.debian.org/android-tools-team/android-platform-external-nist-sip/commit/2e3e8a1604aee8f0ae92710386a323efc72fec46
- https://salsa.debian.org/android-tools-team/android-platform-external-nist-sip/commit/bdc23ad33acda4df8649e2a6aede2e4a606282b8
android-platform-external-rappor
status of the package: NEW queue
- https://salsa.debian.org/android-tools-team/android-platform-external-rappor/commit/803fd53e529de47e7f81ba89b9f9f3da1e47b1bf
- https://salsa.debian.org/android-tools-team/android-platform-external-rappor/commit/a810819396fb94fcd06d781db32b063d1a1799a9
- https://salsa.debian.org/android-tools-team/android-platform-external-rappor/commit/89ab9266066ed511e1c7be59c4861b8dea8b8505
android-platform-system-tools-hidl
status of the package: NEW queue
- https://salsa.debian.org/android-tools-team/android-platform-system-tools-hidl/commit/68249cbd8e832bc9098fa1c86039569cdb51cecd
- https://salsa.debian.org/android-tools-team/android-platform-system-tools-hidl/commit/523876a6cee8a93645d4b84e202f6e4e0567dcce
- https://salsa.debian.org/android-tools-team/android-platform-system-tools-hidl/commit/6bc79ed536cb1270b9f880d25a637ca596799d80
makeparallel
(the package is a part of android-platform-build
)
status of the package: accepted
In progress
turbine
- https://salsa.debian.org/kt-guest/turbine/commit/3a1006407087e8e34a54e9cc86c6f59137815866
- https://salsa.debian.org/kt-guest/turbine/commit/896912b5b0dd7c7adb654c101e03c8cc96d9f3fd
Weekly reports
Weeks 1&2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Week 12
Current state of the project
Android.jar depends on many source repositories, so it was not possible to package all of them till now. As can be seen one of the packages I have been working on (turbine
) is still in progress as during the work it has been found out that it needs a lot of external dependencies. Thus packaging got more complicated than expected. We also found a way to avoid using it for now, but it's a temporary measure, so we kept it for later.
I am planning to continue working with Debian Android SDK Tools team and to contribute to the project after GSoC 2019 for helping to package android.jar
and other Android SDK Tools in Debian.
Debian community experience
Participating in the project gave me not only a very good professional experience, but also a great communication experience. I want to thank my mentors and other members of the team that helped me to jump into something totally new for me - the world of Debian and Free software: Kai-Chung Yan, Chirayu Desai, Hans-Christoph Steiner, Andrej Shadura, Saif Abdul Cassim. Sometimes it was quite hard to deal with the tasks without prior knowledge and experience. But you have been always kind to help me with your advice and to give a detailed review on my work. I am very grateful to have a chance to participate in Android SDK Tools in Debian GSoC project.
Reach out
Email: ykaterina0319@gmail.com
Salsa: https://salsa.debian.org/kt-guest
IRC nick: kt
Channels: #debian-mobile (https://webchat.oftc.net), #debian-java (https://webchat.oftc.net)
-
There is one crucial information missing: The topic of your own "meta-task", which is to package dependencies for
android.jar
. What you described is the whole android-tools agenda, but in fact the protagonist is your meta-task so you might also need to describe the significance of buildingandroid.jar
in Debian. If you are not absolutely sure about all the details, just ask us.ah yes, I saw you mentioned the meta-task in just one sentence. But I don't think it's enough.
-
I suggest adding the links showing the status of the packages you have worked on.
For the ones still waiting in the NEW queue, you can put e.g. this. The whole NEW queue is here. Would be great if you explain what NEW queue is a little bit, as these are all foreign to other developers.
For the ones already accepted, you can put e.g. this. These micro news can be found at the package tracker page, e.g. this.
-
It looks good! I'm very happy to hear that Debian and GSoC were able to bring you into the world of free software. You took the first giant leap in finding Debian, applying to GSoC, then diving into work that was totally new. That is very hard to do. This is exactly the reason why I participate in GSoC: to help bring more people to free software.
I think this report is complete once you do the corrections that @seamlik requested.
-
Looks good. Glad to have you as a student and see you get so much work done.
Apart from the comments, one thing I think you could add is mentioning why turbine is Work in Progress - just mentioning that turbine needed a lot of external dependencies and thus packaging got more complicated than expected - and we also found a way to avoid using it for now so we kept it for later.