GSoC – 2021 OpenWRT PPA final evaluation

Hey all hope you all are doing. With heavy heart I would like to conclude this beautiful journey of GSoC 2021 with one last blog.

First I would like to start by thanking Freifunk, Google and my mentor Mr. Benjamin Henrion for guiding me to become a better developer during the course of this program.

The link to my work can be accessed from here

Work done till now

As stated in the first blog, the main project revolved around making a working OpenWRT SDK available to users with an abstraction layer for their easy use.

First order of business was to present the user with a web interface where they just have to provide with their repository link, which can then be build using the OpenWRT SDK and final packages and targets could be hosted on a server.

The website looks like :-

The final build are hosted on a httpd server running on the background

Challenges encountered

During the development of this project the issue I faced was that of building the user scripts in the docker container containing the SDK. Also the default config file had to be implemented to override the menuconfig settings.

To overcome this I created a docker image containing the SDK which automatically builds the user packages. You can find it here.

The second challenge was for the build container to run in the background, without disturbing the the web-interface functionality.

For this I have used multiprocessing module and subprocess’s Popen module respectively. What they do is simply create a separate process for build step and running it parallelly alongside the web-interface thereby achieving concurrency.

Future Plans

  1. Improve Web-portal with added UI/UX
  2. Finding more ways to host these packages.
  3. Improving the build process by running them in Kubernetes cluster.
  4. Having a provision for multiple builds.
  5. Possibly include CI/CD pipeline for the same.

Conclusion

During this program I learnt many different things ranging from tools to technologies.

There is still a lot to be achieved for the project, which is why I’ll keep on working on it. Contributions, suggestions and feedback are always welcomed.

At the end it is just the beginning of another journey. Good day and fare the well everyone.

 

Leave a Reply

Your email address will not be published. Required fields are marked *