There Is No Real Ending

Hello, everyone!

I am Shalom from Hyderabad, India working (yes, present tense and will ever be) on One Click Installer project as part of GSoC, 2016. Just a quick irrelevant update – I have received my UK Tier 4 visa, and my travel date is on Sept 9, 2016. I am very excited to pursue Master of Science (Computer Science) course at University of Edinburgh.
Note: Sorry for the long post. Tried my best to make it interesting.

Well, GSoC – 2016 has come to an end. So, credit where credit is due:

  • GOD – For being gracious
  • Antonio Larrosa, and Cornelius Schumacher – For mentoring, and putting up with me even when project unexpectedly became very tough at the latter stage 
  • OpenSUSE Community – For awesome support
  • Google – For this awe-inspiring opportunity 

The end of something is the beginning of something new! So, technically, there is no real ending.


GSoC Report

Let’s swift through the new features of One Click Installer.

Summary of the project: One Click Installer makes it easy for users to install software, no matter where that software is located.

New Features of One Click Installer / Milestones Achieved

  • Fully based on Qt5
  • Improved localization
  • Direct zypper execution replaced with Libzypp API calls.
  • DBus Support to the application
  • Asynchronous communication between OCI and OCIHelper using DBus
  • Handling of package conflicts and dependencies at the back-end
  • Handling of file conflicts
  • Installation of Packages, and media callbacks
  • Better progress interface, and Improved GUI

Git/GitHub Statistics

  • Link:  Official Repository
  • LOC: 4,393 ++ / 1,805 — ( a bad metric, IMHO )
  • 70 Commits
  • 5 Pull Requests ( final midterm – as of now )

Challenges, Skills Obtained, Experience
To write an application that installs software on an operating system is no easy/medium task: even a slightest error results in a broken system.

I had trouble going through the Libzypp API as it is not public friendly  __be it far from me that I should complain__ that is because product and distribution release dates don’t delay for it. Nevertheless, it somehow increased my programming ability and knowledge as I had to read some of its source code to understand.

Another major challenge was to establish asynchronous communication between one click installer and its helper. Thanks to Antonio Larrosa, we have overcome this together.

I have learnt a lot of things over the course of GSoC especially Patience, Patience, Patience, Programming Knowledge, New Technologies, Coding Constructs, Coding Style, and const QString & (insider joke 😉 ). I went through *not so great*, *wonderful*, *disappointing*, *encouraging* moments and as a result I’m a much better programmer, and a human being now than I set out to be.

Follow up Project / Contribution to openSUSE in the Future
     Participating in GSoC with openSUSE has created new opportunities for me to contribute to SuSE’s mainstream projects such as zypper, and libzypp API. I can’t wait to hone my skills and start contributing to the above mentioned projects. And yes, I will continue to enhance, and maintain my project – One Click Installer.

Humble Request: Lot of important GUI/core changes are to be made before the official release but for now please watch this video of one click installer installing “VLC Media Player” from its official tumbleweed repo. When the new version of one click installer is released, please use it and should you find any issue, create one on the official repository. Thank you.


Summary

So far, it has been an awesome journey with openSUSE. A huge shout out to my mentors – Antonio Larrosa and Cornelius Schumacher, and openSUSE community – especially, Michael Andres (libzypp), Christian Bruckmayer, and Henne Vogelsang. Thank you for all the critique, and support you have given me.

Until next time! God bless!

Links: GitHub FaceBook Email

Put Succinctly, Everything!

Hello again! It has been a long time since I published my first article. Things have changed a lot since then. A close friend of mine asked me a simple question –

“What is your favorite part of contributing to openSUSE?”
“Put succinctly, everything!” I said

It is a simple question but with no easy answer. I love the way I am introduced to opensource community through openSUSE. Contributing to openSUSE surely made me feel special. My sincere thanks and genuine appreciation to my mentors Antonio Larrosa, Cornelius Schumacher, and openSUSE team for their constant support and feedback.

The Work I Have Done So Far

It is mid term evaluation already! Let’s swift through the work I done so far.
Milestones Crossed/Achieved

  • Port the application to use Qt5 instead of Qt4
  • Introduce translation architecture using KF5I18N (KI18n)
  • Improve localization
  • Replace system calls with library calls to get package information

Git/GitHub Statistics

  • 1,307 ++ / 429-­- LOC
  • 33 Commits
  • 6 Pull Requests

The Work I Have Yet To Complete

  • Replace system calls with library calls to install packages
  • Handle conflicts and dependencies in the back-end
  • Better progress interface
  • Show which repository each package is coming from

Please click on continue reading below to know more about the work I’ve done. I once again thank my mentors Antonio Larrosa, and Cornelius Schumacher for their guidance and critique. It has been great working on One Click Installer so far and I hope it will be the same in the future as well. Thank you.

Continue reading