Tag: Development (page 1 of 3)

Base Runtime and the Generational Core

A Quick Primer on Modularity

lego_chicago_city_view_2001Modularity (formerly, Modularization) is an ongoing initiative in Fedora to resolve the issue of divergent, occasionally conflicting lifecycles of different components. A module provides functionality (such as a web server) and includes well-integrated and well-tested components (such as Apache httpd and the libraries on which it depends). It can be deployed into production in various ways: as “classic” RPM packages or a container image, and is updated as a whole. Different modules can emphasize new features, stability, security, etc. differently.

Modules differ from traditional packaging in certain important ways. Perhaps most importantly, they allow us to separate internal implementation details from the exposed interfaces of the module. Historically in Fedora, if a packager wanted to deliver a new web application, that would also often mean that they needed to package and carry the framework or other libraries used by that application. This tended to be a double-edged sword: on the one hand, those libraries were now available for anyone to pick up and use in Fedora. However, in many cases, this meant that the primary maintainer of that package might actually have no specific knowledge or understanding of it except that its lack would mean their application didn’t work. This can be a problem if a person is carrying around a library for the use of a single helper function and don’t want to be responsible for issues in the rest of the library.

Continue reading

What does Factory 2.0 mean for Modularity?

This blog now has a drop-down category called Modularity. But, many arteries of Modularity lead into a project called Factory 2.0. These two are, in fact, pretty much inseparable. In this post, we’ll talk about the 5 problems that need to be solved before Modularity can really live.

Continue reading

AppData content ratings for games shipped in Fedora

GNOME Software developer Richard Hughes recently e-mailed the Fedora developers mailing requesting Fedora package maintainers to update their AppData files to include age ratings using OARS.

“The latest feature we want to support upstream is age classifications
for games. I’ve asked all the maintainers listed in the various
upstream AppData files (using the update contact email address) to
generate some OARS metadata and add it to the .appdata.xml file, but
of course some AppData files do not have any contact details and so
they got missed. I’m including this email here as I know some AppData
files are included in the various downstream spec files by Fedora
packagers. Generating metadata is really as simple as visiting
https://odrs.gnome.org/oars then answering about 20 questions with
multiple choice answers, then pasting the output inside the
<component> tag.

Using the <content_rating> tag means we can show games with an
appropriate age rating depending on the country of the end user. If
you have any comments about the questions on the OARS page please do
let me know. Before the pitchforks start being sharpened it’s an
anti-goal of the whole system to in any way filter the output of
search results dependent on age. The provided metadata is only used in
an informational way.”

If your package ships an AppData file, please consider updating it. If you have any queries about the addition or OARS, please discuss it on the Fedora developers mailing list.

Fedora Hubs: Getting started

Fedora Hubs: Getting started

Image courtesy of The Awkward Yeti

Fedora Hubs provides a consistent contributor experience across all Fedora teams and will serve as an “intranet” page for the Fedora Project. There are many different projects in Fedora with different processes and workflows. Hubs will serve as a single place for contributors to learn about and contribute to them in a standardized format. Hubs will also be a social network for Fedora contributors. It is designed as one place to go to keep up with everything and everybody across the project in ways that aren’t currently possible.

  • Want to hack on Hubs? The latest source code is on the open source git-based forge Pagure.
  • Want to learn more about the history behind Hubs? Máirín wrote a few blog posts on the progress of hubs.

This article will help you set up a Fedora Hubs development environment on your local machine.

Continue reading

FOSS Wave: FOSS and Fedora in Bangalore, India

FOSS and Fedora in Bangalore, India: Special Fedora pin

Shivam, who was leading the Fedora Badges leaderboard with Fedora QA contributions, shows off his pin

On August 20th, 2016, I helped organize the first workshop in my college, Christ University, titled “FOSS and Fedora“. The event was a great success!

Reviving Labyrinth

I have planned to do this for more than two months, but we didn’t have any computer science club in my college. If it was for one event, we could have done it separate, but I wanted to organize multiple workshops (open source, mobile app development, website development, competitions, robotics etc). Thus, we needed a proper platform to easily organize the events without bothering too many people.

Continue reading

Modularity Infrastructure Design

Co-authored by Courtney Pacheco and Ralph Bean

Note: This article is a follow-up to Introduction to Modularity.


The purpose of our Modularity initiative is to support the building, maintaining, and shipping of modular things. So, in order to ensure these three requirements are met, we need to design a framework for building and composing the distribution.

In terms of the framework, in general, we are concerned about the possibility of creating an exponential number of component combinations with independent lifecycles. That is, when the number of component combinations becomes too large, we will not be able to manage them. So that we don’t accidentally make our lives worse, we must limit the number of supported modules with a policy and provide infrastructure automation to reduce the amount of manual work required.
Continue reading

FOSS wave: Bhopal, Madhya Pradesh, India

FOSS virtual meetup, Bhopal, Madhya Pradesh, India

A start of a big journey!

Furthering the efforts of some work around building a strong, tight-knit FOSS community around Fedora, I approached a few people from Bhopal, Madhya Pradesh. I figured out the scope to talk about Fedora and Fedora quality assurance (QA). The target audience was bringing more college students from Bhopal into open source and Fedora.

Talking FOSS and Fedora with Bhopal

The meeting was short and simple. The audience was well-versed with free and open source software (FOSS) and many of them are presently contributing to various FOSS projects. We started off talking about how contributing to FOSS makes contributors industry-ready. As the cog wheel of time revolved, we shifted to “how people can join” the Fedora Project and start contributing!

Continue reading

Heroes of Fedora 23 bonus: Test Days

Heroes of Fedora 23 bonus: Test Days

Heroes of Fedora 23 bonus content – a quick post on Test Day stats.

I realized that in Heroes of Fedora 23 Alpha I promised statistics on Test Days in the Fedora 23 Final post, but forgot to include them when writing it! The Fedora 24 HoF posts will start up soon, but in the mean time, here are the Fedora 23 Test Day stats as a little bonus!

‘Overall fixed %’ is an approximation of what proportion of the bugs reported as part of Test Day events were ‘fixed’. Calculating it involves some subjective choices that have been discussed on the test@ mailing list before, but it’s a reasonable approximation. These stats are generated by this ‘testdays’ tool.

Events: 6
Tests: 318
Bugs: 29
Testers: 28
Overall fixed %: 56.5217391304

Continue reading

New Taskotron tasks

For a while now, Fedora Quality Assurance (QA) is busy with building Taskotron core features and didn’t have resources for additions to tasks that Taskotron runs. That changed a few weeks back when we started running task-dockerautotest, task-abicheck and task-rpmgrill tasks in our development environment. Since then, we are happy with the results of those tasks. We deployed them to the production instance last week. Please note that the results of those tasks are informative only. Let’s introduce the tasks briefly.

Continue reading

Fedora needs you to port a Python package!

Fedora is always moving forward and that means switching to Python 3. There are plenty of upstream projects that already support Python 3. Unfortunately, they are often not packaged in Fedora. We try to keep track of such cases and more in the Fedora Python 3 Porting Database. There, you can see these packages marked with a blue color and listed on the page for Mispackaged packages. Get up to three Fedora badges for updating spec files to support Python 3! Join the porting party, help us move to the future and get your reward. We can port it, but not without your help!

Join the Python 3 Porting Party! Port a package to Python 3

Join the Python 3 Porting Party!

Continue reading


Copyright © 2017 Fedora Community Blog

Theme by Anders NorenUp ↑