KDE ISO Image Writer
KDE ISO Image Writer, which is part of the KDE neon project, is a tool to write ISO images into USB drives. It was forked from ROSA Image Writer and extended using the KDE Frameworks. Currently, the KDE neon website advises to use Rosa Image Writer because KDE ISO Image Writer is still under development.
The aim of this project is to revamp the user interface of the KDE ISO Image Writer following the designs made by the KDE community. I am also planning of packaging the application for various Linux distribution using their respective packaging system as well as Snap and Flatpak, for Windows and eventually for macOS. In addition, I would like to write documentation explaining how to use the application with the aim of including a tutorial showing how to write the KDE neon ISO images on a USB drive using KDE ISO Image Writer which could then be added to the KDE neon download page.
Mentors: Jonathan Riddell and Harald Sitter
Building a new user interface for KDE ISO Image Writer was one of the main goals I set for this GSoC project. The new user interface is based on a design made by the KDE community. Most of the design was implemented by the end of the first coding period and the new user interface can be seen in the following screenshot:
In addition to revamping the user interface, an important goal of the this GSoC project was to make KDE ISO Image Writer run on Windows. I used Craft, which is a cross-platform build system and package manager, to compile the code on Windows. In order for Craft to fetch the necessary packages needed by the application, I wrote a Craft blueprint which is a Python file that describes an application (or library) and list its dependencies.
You can see the Windows build of KDE ISO Image Writer in action in the screenshot below:
Before writing an ISO image, you have the possibility to verify the ISO image using various means such as a GPG signature or a checksum. Distributions use different means to certify their ISO images and the user generally has to go through a complicated process to verify the validity of ISO images. KDE ISO Image Writer features ISO verification within the graphical user interface which facilitates the process of verifying ISO images before writing them to USB flash drives. It will identify the Linux distribution based on the ISO image file name and perform the verification accordingly.
During this GSoC, I refactored the ISO verification code to ease the addition of new verification means as well as new distributions.