Skip to Main Content
Workshop Intermediate

A Guide to Packaging: Arch Linux and Beyond

Approved
Session Description

Expected duration: 25 mins

Reference doc: x.snehit.dev/pkt

Presentation: [[PENDING]]


Introduction

This workshop intends to put forth the intuition and ideas behind packaging software. The practical focus in this workshop shall be Arch Linux, however, evolving packaging systems shall be discussed by the end of the session.


Expected outcome

I'm expecting to provide a primer to packaging. Despite the demonstration on Arch Linux, I am expecting attendees to appreciate the process and build an intuition about how the process is similar whether they're building package for any Linux distribution or language library registries (npm, pip, cargo etc).


A secondary goal is to convey the ease with which its possible to compose packages and contribute back to the FOSS community. Despite a lot of students using Linux distributions, many never even think about contributing back to the distribution they're using. Packaging happens to be one of the tasks which is easy to do and a good starting point for contribution.


Details

The session starts with a brief introduction to the process of installing software and appreciating the difference between installers and package managers.


We then spend some time studying the anatomy of a package. For the purpose of this workshop, I'll open up two Arch Linux packages and discuss the structure file by file.


Once we have an idea about what a package is composed of, we then move on to building one. I'll write a PKGBUILD that builds a package from a simple hello world application using CMake.


After the demo, we'll end the session by discussing challenge in older package managers and newer innovations.



References

Session Categories

FOSS

Speakers

Snehit Sah
Trainee Scientific Officer Bhabha Atomic Research Center
Snehit Sah

I am an under Trainee Scientific Officer at Bhabha Atomic Research Center. Previously I've interned at Tower Research Capital. On the open source side, I am a team member on EndeavourOS while having contributed to various other distros. I am also a past contributor to KDE.


I am a tinkerer and love open source for the very reason that one can dive deep into the internals to learn how everything works in tandem. Thanks to this, I've been using Linux distros for over a decade now, having developed a deep interest in understanding software down to the very basics.


I code in C++, Rust and Python. I find devops interesting and have professionally worked with tools like Kubernetes, OpenTelemetry, Grafana etc.

Reviews

❤️
Reviewer #1 Approved