#478 Instructions for Outreachy candidates
Closed: Fixed 2 years ago by ankursinha. Opened 2 years ago by ankursinha.

Since a lot of the Outreachy candidate are very new, I thought I'd quickly write up some instructions to get them going in a step by step manner.

Welcome to Fedora

The first step is to familiarise yourself with Fedora. For this we open a Welcome to Fedora ticket for you. You will need:

Once a ticket has been opened for you, please go through the links there to get an idea of what/how/why/where/when the Fedora community does things.

NeuroFedora tasks: packaging

Linux distributions

Fedora Linux (along with Debian/Arch/Ubuntu/Manjaro...) is a Linux distribution. What this means is that the community takes all the great Free/Open Source Software (FOSS) that is out there (on GitHub/GitLab/Bitbucket/Sourceforge and so on) and "packages" it all in a nice integrated way to create a full Fedora Linux Operating System (and lots of variants, see: https://getfedora.org, https://labs.fedoraproject.org, https://spins.fedoraproject.org).

The advantages of "packaging" are:

  • we build every software from source
  • we review every software before it is included in Fedora Linux (for licensing, best software development practices and so on)
  • we can then integrate lots of software to work nicely with each other (like the whole Gnome or KDE desktop)
  • we can produce artefacts of such integrated tools (as you see in the links above).
  • we are middlemen between end users and developers---so people can file bugs at Fedora and we can speak to developers to fix them and so on.

Packaging?

The "package management system" we use is the rpm system: http://rpm.org/

So, essentially, we need to take the source code of software from GitHub (or wherever) and "package" it up to make rpms out of it. Users can then install the rpm on their system using multiple tools (rpm, dnf and so on). I.e., users do not need to go to GitHub and find the software, and then build/install it themselves. We do all the work so that they can just install the software with a click or a command.

Packaging: how

Take a look at these links to begin with:

In short: we have a "spec" file, which is simply a list of commands that need to be run to build the rpm. When this is provided to the rpm tool, it generates the rpm for us to use.

Where do I start

First, if you haven't used Fedora Linux before, I'd suggest you install it and use it a little. This will help you understand how all the software works better together.

Then, for packaging, this document is your starting point:

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

We have a list of neuroscience related software that we'd like packaged in the form of tickets here. You can pick one of the "easy" or "good first issue" tickets:

Prerequisites

You will need

  • to be running a Fedora OS for packaging. So head to https://getfedora.org and download and install Fedora (in a virtual machine if you want, that is fine too)

Notes

Since we're dealing with software, these tasks are slightly technical in nature. You will not be writing code in the traditional sense, and you do not need to understand the source code of the software you are packaging either. Instead, you will learn how to build and install the software correctly.

Anyone can learn the necessary skills required for packaging. In general, you will use these tools:

  • git (for version control)
  • various packaging related tools (mostly fedpkg which provides a majority of the functionality you will touch on).

Thanks so much for this, it is explicit.

CCing all outreachy participants so you get updates from this ticket:

@oluyosola @vyomks5 @vanessa_kris @swirlbabysteph @dashaund @hardeborlaa @pandamasha @rasrbk @barakat-ajadi @vraj21 @prius

You may need to click "subscribe" in the right hand panel too, from the looks of it.

@cynthiamidigo : please take a look at this ticket too (and subscribe to it using the button in the right hand panel)

Thank you, subscribed

Hi
I'm an outreachy candidate and my Fedora user name is codemaven1

Hi
I'm an outreachy candidate and my Fedora user name is codemaven1

Welcome! I've opened a "Welcome to Fedora" ticket for you here: https://pagure.io/fedora-join/Welcome-to-Fedora/issue/184

I'd start there, and then move on to the information here (which is more specific to NeuroFedora).

CCing all outreachy participants so you get updates from this ticket:

@oluyosola @vyomks5 @vanessa_kris @swirlbabysteph @dashaund @hardeborlaa @pandamasha @rasrbk @barakat-ajadi @vraj21 @prius

Hi
I'm an outreachy candidate and my Fedora user name is codemaven1

hi I'm mila , an outreachy candidate . my Fedora user name is @nuzhatmila. I'm looking forward to work with your guideline and expertise @ankursinha

Thanks so much!

Have a wonderful day:)

Vickie

On Mon, Oct 18, 2021 at 4:25 AM Nuzhat Mila pagure@pagure.io wrote:

nuzhatmila added a new comment to an issue you are following:
hi I'm mila , an outreachy candidate . my Fedora user name is @nuzhatmila. I'm looking forward to work with your guideline and expertise .

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/478

Here are recordings from a tutorial we'd done earlier this year on Git, Bash, and Python:

Software WG tutorials at CNS*2021 Online: Bash, Git, andΒ Python | INCF/OCNS Software WG

If you're new to any of these tools, worth taking a quick look.

Thanks so much

On Mon, Oct 18, 2021, 10:49 AM Ankur Sinha pagure@pagure.io wrote:

ankursinha added a new comment to an issue you are following:
``
Here are recordings from a tutorial we'd done earlier this year on Git,
Bash, and Python:

Software WG tutorials at CNS*2021 Online: Bash, Git, and Python |
INCF/OCNS Software WG

If you're new to any of these tools, worth taking a quick look.
``

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/478

hello @ankursinha
I have suscribed to mailing list
how could I introduce myself there?

hello @ankursinha
I have suscribed to mailing list
how could I introduce myself there?

You can

@ankursinha will you please send me this community chat telegram link
I have joined IRC but also wants to join telegram

We're here on Telegram:

https://t.me/NeuroFedora

but IRC/Matrix are preferable because the telegram channel is no longer bridged to them.

PS: all our communication channels are in the team docs at https://neuro.fedoraproject.org (worth a general look anyway).

Oh sorry, I was trying to thumbs-up πŸ‘ on this, mistakenly thumbs-down and it's not removable

On Mon, Oct 18, 2021, 10:49 AM Ankur Sinha pagure@pagure.io wrote:

ankursinha added a new comment to an issue you are following:
``
Here are recordings from a tutorial we'd done earlier this year on Git,
Bash, and Python:

Software WG tutorials at CNS*2021 Online: Bash, Git, and Python |
INCF/OCNS Software WG

If you're new to any of these tools, worth taking a quick look.
``

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/478

Thanks for this.

@ankursinha can you please help me which software I need to install in my local machine?
I'm so much confused because there's a whole list of softwares.

@ankursinha can you please help me which software I need to install in my local machine?
I'm so much confused because there's a whole list of softwares.

sure, what document/step are you at?

@ankursinha can you please help me which software I need to install in my local machine?
I'm so much confused because there's a whole list of softwares.

sure, what document/step are you at?

I have installed git and clone fedora repository
now for packaging what I have to do

@ankursinha can you please help me which software I need to install in my local machine?
I'm so much confused because there's a whole list of softwares.

sure, what document/step are you at?

I have installed git and clone fedora repository
now for packaging what I have to do

Go here:

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

with special focus on the "Adding a new package" section (it takes you to other pages which detail how to go about it). (It's best if you ping us on the channel with queries so we can help you live rather than on this ticket)

hi everyone,

@oluyosola and @hardeborlaa were creating a spec file yesterday and we walked through the full thing on the chat channel. You can go through the conversation here and re-do the steps if you wish:

https://matrix.to/#/!iUqMLwCfEdxthluuvv:fedoraproject.org/$37kZc7DYMs1iie2FIfTjRUBl2do4Vn4wKaM2YEDkEsY?via=libera.chat&via=matrix.org&via=fedora.im

essentially, we just followed the steps noted here:

https://docs.fedoraproject.org/en-US/quick-docs/creating-rpm-packages/index.html

Pasting here from the chat for future reference:

there are a few license related things to check:

  • is the source code under a "Good license" (good licenses are here: https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses). Note that different files in the source may be licensed differently, so all files need to be checked. There's the licensecheck tool that's useful to do this (it's what fedora-review uses to generate the list for you)

  • if the licenses are all good, are the listed in the spec "License:" field correctly? You may need to mention all of them, and include comments to note which files are under which license.

  • are the actual texts of the license included in the %files section (and so in the generated rpm)? For some licenses, it is necessary that the text of the license be included. Usually the LICENSE or COPYRIGHT files contain the license, but they may be called by other names also, so this has to be checked manually.

Note: if a license file is not included by the developers, we never download one from elsewhere and add it. We talk to the developers to add one. Sometimes they may not be included in the PyPi tar, but may be in the GitHub tar, so we'll use the GitHub tar (like we also do for tests).

All of this should be noted here, so you should read it again to make sure you understand it: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/

On checking if the license file is included in the final RPM:

Here's the issue. If we don't use the pyproject_save_files macro, we have to list the license and other files explicitly in the %files section. So, in this case just checking the spec to see if there's a %license ... line in the %files section is enough to verify that a license is included in the built RPM. But, because we're using this macro, if it can find a license file, it automatically includes it in the file list without explicitly listing it---so in this case, we need to check the contents of the final RPM to see if the license text is included.

You can do this using this command:

rpm -ql --licensefiles -p <path to rpm>

Of course, please see man rpm to see what it's doing :)

More links and resources to look at at your own pace:

@ankursinha after creating an rpm what should we do?

@ankursinha after creating an rpm what should we do?

Do you mean the practice package from the docs? Have we assigned a software for you to package yet?

We just follow this document. So which step on this are you at?

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

Hi Ankur,

I'm responding to this message you sent me:)

On Tue, Oct 26, 2021 at 4:45 AM Ankur Sinha pagure@pagure.io wrote:

ankursinha added a new comment to an issue you are following:
``
OK, cool. You'll now proceed from the "Packaging" bit in the instructions
in issue https://pagure.io/neuro-sig/NeuroFedora/issue/478

Once you've gone through a docs a little and think you understand it a
little, let me know and we'll find you a package to practice with :)
``

To reply, visit the link below or just reply to this email
https://pagure.io/fedora-join/Welcome-to-Fedora/issue/184


I then replied

Hi Ankur,

I'm ready for my package to practice with. I read the information that you
suggested Packaging" bit in the instructions in issue
https://pagure.io/neuro-sig/NeuroFedora/issue/478. I'm also trying to get
my code editor in my virtual machine.

Thanks so much :)

Vickie

On Thu, Oct 28, 2021 at 6:50 AM Ankur Sinha pagure@pagure.io wrote:

ankursinha added a new comment to an issue you are following:
``

@ankursinha after creating an rpm what should we do?

Do you mean the practice package from the docs? Have we assigned a
software for you to package yet?

We just follow this document. So which step on this are you at?

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

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/478

@ankursinha after creating an rpm what should we do?

Do you mean the practice package from the docs? Have we assigned a software for you to package yet?

We just follow this document. So which step on this are you at?

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

@ankursinha I have done with the practices and created new rpm package.
Will you assign me to package a new software?

Hi Ankur,

I had major virtual machine issues and then i had problem with Windows Defender not allowing exe commands(files) to run. I just wanted to let you know I'm still trying and at the time i'm booted into Fedora from a 256gb usb flash drive I had to purchase.

Vickie

Hi Ankur,

I had major virtual machine issues and then i had problem with Windows Defender not allowing exe commands(files) to run. I just wanted to let you know I'm still trying and at the time i'm booted into Fedora from a 256gb usb flash drive I had to purchase.

Vickie

@codemaven1 run fedora live station on virtual box. It's the most appropriate way to run fedora while working on windows.

My virtual box kept freezing or getting stuck. Do you suggest vmware or
oracle virtual box?

Thanks for your help!

On Mon, Nov 1, 2021, 1:35 AM khansa Naeem pagure@pagure.io wrote:

khansa added a new comment to an issue you are following:
``

Hi Ankur,

I had major virtual machine issues and then i had problem with Windows
Defender not allowing exe commands(files) to run. I just wanted to let you
know I'm still trying and at the time i'm booted into Fedora from a 256gb
usb flash drive I had to purchase.

Vickie

@codemaven1 run fedora live station on virtual box. It's the most
appropriate way to run fedora while working on windows.
``

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/478

I will install that now and thanks for your help

Vickie:)

On Mon, Nov 1, 2021 at 2:03 AM khansa Naeem pagure@pagure.io wrote:

khansa added a new comment to an issue you are following:
``
@codemaven1 yup oracle VB

``

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/478

Hello team,

Here are some clarifications on filling the outreachy contribution form:

  • For new packages you can use the day the ticket was assigned as the "start date", and the approval date as the "merged" date. If your package has not been approved after creating a review ticket, keep the "merged" date empty.

  • For reviews, use the date you started as "start date" and the day you submitted your comment as the "merged" date---even if it's the same day.

:)

Folks, please do see if you can attend the release party in a few days time:

https://hopin.com/events/fedora-linux-35-release-party/registration

Folks, please do see if you can attend the release party in a few days time:

https://hopin.com/events/fedora-linux-35-release-party/registration

πŸš€πŸš€πŸš€πŸš€πŸš€πŸš€
Is it open to the public?

Yes, free and open for everyone to attend :thumbsup:

Yes, free and open for everyone to attend :thumbsup:

Cool!

I'll be there!

On Tue, Nov 9, 2021 at 2:26 PM Hafsat Ajia-Egbeyemi pagure@pagure.io
wrote:

hafsat added a new comment to an issue you are following:
``

Yes, free and open for everyone to attend :thumbsup:

Cool!
``

To reply, visit the link below or just reply to this email
https://pagure.io/neuro-sig/NeuroFedora/issue/478

Hi everyone,

I hope you are well.

I wanted to thank you all for all the work you've put into this round of Outreachy. You've all done so well in such a short period of time that I really would've accepted all of you on if I could. I'm very sorry that in the real world we're all constrained by the resources that are available to us, and that often means that we have to make rather hard choices to select a few out of such an excellent cohort.

I do hope that you learned something new and found your time here useful.

I also want to note that you can continue to be part of the Fedora community and contribute wherever you wish---it is an excellent way of learning so many skills and building your professional profiles. I'll be honoured to continue helping you, and I'm sure the rest of the community feels the same way. There will also be lots of more opportunities coming up regularly, so please do keep an eye on the magazine and the community blog (or just the planet where all of this comes together: fedoraplanet.org)

Thanks again, and please do make a note on your "Welcome to Fedora" tickets. Even if you're not intending to continue here in the Fedora community (which is perfectly fine, and does not require you to provide any explanation at all!), please do drop a word there along with any feedback.

I'm going to close this now but please feel free to comment here and catch us on any of the usual channels.

Cheers,
Ankur

Metadata Update from @ankursinha:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata