Vanessa's Blog

Jan 04, 2022

Week5 Blog Post

Hi again!

This should be a very interesting one, let's dive right into it...

What makes Fedora packaging project exciting?

Well...Anyone can be a package maintainer (cool right?!) yes you must not know how to code! You just need to be willing to learn and be persistent.

This particular project is not just exciting but important as well

How?

RPM is an open source program for installing, uninstalling and managing software packages in Linux.

So here's how this works

RPM packaging helps you install softwares using a simple command line ... let's use chrome for an example.

Steps to install chrome using the Fedora Linux Terminal

Install Third Party Repositories

$ sudo dnf install fedora-workstation-repositories

Enable the Google Chrome repo

$ sudo dnf config-manager --set-enabled google-chrome

Finally, install Chrome

$ sudo dnf install google-chrome-stable

How Packages Are Made

Fedora docs gives us detailed expalanations so let's get right into it.

Getting started

https://docs.fedoraproject.org/en-US/package-maintainers/Joining_the_Package_Maintainers/

Setting up envirnonment / Building the RPM

https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/

https://docs.fedoraproject.org/en-US/package-maintainers/New_Package_Process_for_New_Contributors/

Creating a review request

https://docs.fedoraproject.org/en-US/package-maintainers/New_Package_Process_for_New_Contributors/#create_your_review_request

Add package to source code management (SCM)

https://docs.fedoraproject.org/en-US/package-maintainers/New_Package_Process_for_New_Contributors/#add_package_to_source_code_management_scm_system_and_set_owner

And for another interesting part. When packages are made, after a period of time the spec files needs to be updated, and here's how packages are updated.

RPM Package Updates

1) Fork the project from upstream

Forking the project simply means creating a copy of the upstream project for yourself. That way you can make modifications without affecting the original project.

2) Create a pull request (PR)

After making modifications to your copy of the project (fork), you may want to add those changes to the main project (upstream). In that case you create a PR and wait for your changes to be merged to the main project (upstream)

3) Build for the Fedora system

  • Clone your project
fedpkg co <package name> 
  • Navigate to the Project directory
cd <package name> 
  • Because the repo is up to date for rawhide after the PR is merged, we just build
fedpkg build 
  • For other branches: f35/f34
fedpkg switch branch <branch name>
git merge rawhide
git push
fedpkg build
  • Push the update using the bodhi web interface because you can choose both the f35 and f34 builds and select the bug ID etc. all at once there.

Before the outreachy program I didn't know softwares are even packaged by people :smile: I thought we had bots doing all the work. Fedora is just like any other Linux distro like Ubuntu, Manjaro and the likes, but fedora has its own unique commands.

Some packages takes longer than the others to finish because it is an endless journey of learning . Through this exciting journey I learnt how to set up my Fedora work station, how to package, and i feel this great fufilment that i am contributing to the society and to open source! Thank you Outreachy.

Dec 21, 2021

Everybody Struggles

What am I really doing?

RPM packaging with Fedora. RPM files are like zip files (compressed) composed of different softwares mixed to work together.

Let's just say an RPM packager does the packaging so users can simply use a command line to install softwares e.g

$ sudo dnf install fedora-packager

Before Outreachy I did not have the slightest idea of what packaging was all about as a matter of fact it was completely new to me.

How it all started

Scrolling through lists of outreachy projects, I came accross the NeuroFedora project and I picked interest in it because it did not require much (lol) ... I joined the Fedora community and jeez I was lost, everything was so new I just wanted to give up, but I saw other applicants curious and asking questions. So I decided to give it a try.

I read the docs sent by our mentor (Ankur Sinha)

Well... I was getting a hang of it but not so much and gosh I was intimidated by how much my collegues were picking up already. I decided to write my mentor (private) and he replied! He led me to the open chat where I mustered up courage to ask questions about my uncertainties and within few weeks I was already packaging for Fedora.

The most interesting part is till now I "always" get stuck on projects and still seek help from my mentor and community members. I've learnt through the journey that no one really knows it all but you can strive for mastery by consistency, openess, and willingness.

Dec 10, 2021

Introduction

I am Vanessa Christopher (she/her) a Cameroonian, I am 21.

My core values are intelligence, growth and freedom.

most people really underestimate their brain power, but as for me I believe I can do anything I put my mind to! I wanna know more, explore and grow!

That’s where growth comes in, I value growth even in the smallest scale as long as you are making progress and not giving up !

And lastly freedom! I believe everyone should be free to practice whatever, go into any field of choice as long as no one is getting hurt!

When I heard about outreachy, an internship that welcomes total beginners that was a very good motivation and the stipends?? Free mentoring from professionals? This was definitely my chance to broaden my scope.

You should definitely apply for the next round.