09 Jul 2025

feedFedora People

Jeremy Cline: Re-designing signing in Fedora

09 Jul 2025 4:17pm GMT

07 Jul 2025

feedFedora People

Akashdeep Dhar: Day Zero - Flock To Fedora 2025

Akashdeep Dhar's avatar Day Zero - Flock To Fedora 2025

The one thing that could help me recover from the arduous journey the day before was, of course, lots of sleep. But given the jetlag that I was affected by, I could not catch a blink of sleep after checking into the hotel at around 0400am Central European Summer Time on 04th June 2025. After struggling with a rather soft berth for a couple of hours, I decided to meet folks staying at the same hotel and get some warm breakfast while I was at it. Coincidentally, Sumantro Mukherjee had the same idea, and we ended up meeting downstairs at the breakfast area after getting freshened up. The two folks we ended up meeting first were Kevin Fenzi and Tim Flink, who were just finishing up with their meals and about to leave the Flock To Fedora 2025 event venue. I decided to get a tray with servings of Pesto Pasta and Scrambled Eggs before settling down at an adjacent table.

We were soon joined by Kevin and Tim, with whom we caught up with after meeting previously at FOSDEM 2025. I was in conversation with Yashwanth Rathakrishnan in the meantime, who wanted help with heading to Vienna House Andel Prague. He had just arrived at his accommodation, Hotel Stary Pivovar, and was having trouble paying for his ride as his payment card was not working. The four of us at the hotel decided to head back to our rooms to freshen up and return to the lobby sometime later to head to the event venue together. Sumantro and I paid a quick visit to a nearby mall, Nový Smíchov Shopping Centre, while we waited for communication from Yashwanth's end. At around 0900am Central European Summer Time, we decided to give up on waiting and head to Vienna House Andel Prague to check on how the preparations for the events were going.

The group of Kevin, Sumantro, and I was accompanied by Hristo Marinov, who had just arrived at our hotel but could not check in. As he had already been to the venue before coming here, he led the way to the place, which was thankfully only a couple of blocks away from our hotel. The event venue and the accommodation spots were strategically chosen by the organizers to make it convenient for the attendees. As we headed into Vienna House, we met up with the likes of Neal Gompa, David Cantrell, and others who were just about finishing up with breakfast. I also met up with Dorota Volavkova in an adjacent meeting room, but as there was nothing planned for that day, Sumantro, Hristo, and I decided to leave while Kevin stayed back at the venue. We browsed the nearby shops while sharing conversations before heading back to the mall again for some selections.

Day Zero - Flock To Fedora 2025
From left to right - Sumantro Mukherjee, Hristo Marinov and Akashdeep Dhar at Charles Bridge

We were going with the flow on that day. We decided to leave for the Charles Bridge at around 1100am Central European Summer Time purely for exploration. With a bunch of photographs taken at the place and history lessons shared by Sumantro, we were soon back from the relatively crowded spot. While the bridge had an interesting group of historically significant statues to admire, we were all about the river beneath us and the boats passing through. On our way back to the nearby tram station, we were taken aback by the sounding air siren, and given the recent skirmish between the Indian Armed Forces and Pakistani terrorists, Sumantro and I could not help but be concerned. Thankfully, it was not anything serious, and we were soon back at the Andel tram station, where we decided to grab some no-brainer KFC meals after placing our backpacks in our rooms.

We left Hristo at the reception at around 0100pm Central European Summer Time, where he was waiting for Timothee Ravier, with whom he was sharing a hotel room. While having food in my room, I decided to connect with Yashwanth again to see if he was responsive then. He was not feeling well, so I decided to book the cabs for his arrival at the event venue, as I had some medicines to share. I provided him a share of French Fries while he was recuperating in my room, before heading downstairs to meet with the likes of Tomas Hrcka and Zbigniew Jędrzejewski-Szmek in the reception area at around 0300pm Central European Summer Time. Zbigniew remarked that I looked fresh at that time, which was anything but true, and I mentioned that I had seen him at the Charles Bridge earlier that day but avoided contact as I was not 100% sure if it was indeed him.

Yashwanth and I headed back to my room, as Tomas had to immediately leave for the Fedora Project Leadership meeting in the early evening. I decided to spend some time preparing the speaker notes for the presentations that were scheduled on the first and second days of the Flock To Fedora 2025 conference. I ended up preparing only for the talk titled "From Indifference to Engagement" for the Fedora Mentor Summit 2025 proceedings and decided to wing the talks titled "I AM FEDORA - How to Onboard (and Retain) Friends with Fedora Join SIG" and "Introducing SyncStar - Create Bootable Media at Conference Kiosks" I received a call from Sumantro at around 0400pm Central European Summer Time, and we headed for Nový Smíchov Shopping Centre again-this time, to actually purchase something, as Yashwanth was not carrying his dental hygiene kit with him.

The three of us ran into Troy Dawson at TESCO, and it turned out that even he was looking for the same things as we were. With him joining our party, looking for the supplies we needed became a whole lot easier. Sumantro had to leave soon after, which led to yet another funny incident to brighten up the day. The three folks trained in the Software Engineering trade - i.e., Troy, Yashwanth, and I - could not figure out the automated checkout devices at the store, and we had to be assisted by the staff there. Trust me, it was not about the language barriers but rather about how there was minimal information available on how to utilize the services. We hilariously managed to trigger the alarm at the store just because we were not aware that the purchase invoice had to be rescanned to open the exit, and the defeated staff just asked us to leave without causing any more headaches for her.

After a quick trip to the Vienna House Andel Prague to look for Tomas, who had notified us of his availability, we decided to head back to our hotel, where we met up with Michal Konecny and Patrik Polakovic, who were checking in at that time. The five of us decided to head off for a walking tour in an adjacent biodiversity park, followed by dinner. There was another walking tour arranged for the Flock To Fedora 2025 attendees, but I decided I would be better off catching up with my friends from Fedora Infrastructure. The walk (read, trek) that Tomas took us on had crazy steep inclines, and it almost felt like it was a climbing place disguised as a biodiversity park. We took breaks in between to discuss various things, including topics like hardware enablement of RISC-V, hiring a scrum master, the state of community governance, and of course, bad dad jokes around software engineering.

Unfortunately, Patrik had to leave our exploration group soon after to head back to the hotel, but that did not stop the four of us from continuing to visit a bunch of high places there. After getting some beverages from a nearby store at the peak of the biodiversity park, Tomas left us to attend yet another meeting dinner. At around 0600pm Central European Summer Time, we started on our descent, briefly halting every now and then to take some pictures of the scenic beauty in the summer evening. I took charge of navigating the three of us back to our hotel, and after about a thirty-minute walk from the biodiversity park, we ran into Greg Sutcliffe, David Kirwan, Fabian Arrotin, and Kashyap Chamarty in the reception area. As they had already made dinner plans with the likes of Samyak Jain and others, we decided it was best to make our own plans for dinner at a nearby place.

Michal, David, Patrik, Yashwanth, and I decided to head over to an adjacent Vietnamese dining place near the Andel tram station for dinner. After walking for almost fifteen kilometers throughout the day and barely sleeping for a couple of hours, you can imagine that I had the appetite of a beast. The meals were served fairly quickly, and I decided to get myself some Fried Duck Meat for the main course and Orange Fanta for the beverage. We decided to pay for the dinner using our recently issued Red Hat Corporate Card, each of us paying for our own meals to ensure convenience while doing expenses. On our way back to the hotel, Yashwanth and I met up with Tomas briefly to retrieve the hardware I had ordered from Europe with his assistance. I decided to book Yashwanth a taxi using the much-recommended Bolt service and called it a day after getting freshened up.

Day Zero - Flock To Fedora 2025
This was definitely better than the taste I had expected

07 Jul 2025 6:30pm GMT

Marcin Juszkiewicz: Arm desktop: 2025 attempt, part one

Marcin Juszkiewicz's avatar

Almost ten years ago, I tried to use an Applied Micro Mustang as a desktop. And it was painful.

Now, with my Altra-based system, I decided to try it again.

Hardware used

Compared to the Pinkiepie (the Mustang), Wooster (the current system) looks beefy:

component Pinkiepie Wooster
cpu model X-Gene 1 Altra Q80-30
core model X-Gene 1 Neoverse-N1
core arch v8.0 v8.2
core count 8 80
memory speed 1866 MHz 3200 MHz
memory amount 16 GB 128 GB
storage SATA SSD (500 MB/s) PCIe 4.0 NVME (6200 MB/s)
graphics card Radeon HD5450 Radeon RX6700XT
resolution 1920x1080 3440x1440

Both systems ran the latest, stable release of Fedora with the KDE desktop.

Generic use

I started by rsyncing my home directory from Puchatek (my x86-64 desktop) to Wooster (the AArch64 system). To have the same environment in both places. Of course, I had to replace a few binaries in the ~/.local/bin directory with their AArch64 equivalents. And I regenerated some Python virtual environments.

The desktop worked as before, Thunderbird fetched mail and sent it, files could be edited in Neovim-qt as before etc.

Films from the local NAS share worked just fine using the same "mpv" as on Puchatek.

Multimedia online

But then you realise that it would be nice to listen to some music. For several reasons, I am using Spotify for this. And their app is x86-64 only…

Firefox refused to play anything. So did Chromium. I Installed the "widevine-installer" package, ran one command and, thanks to binaries from ChromeOS, both web browsers started playing. But Firefox was stopping after each song, so I had to revert to Chromium for it. Widgets on the KDE Plasma desktop recognised it, and I had information and playback controls embedded in the top panel.

Films on streaming services

But what about films on streaming services? Well, let me create a table, as I was surprised by the results:

Streaming service Firefox Chromium
Amazon Prime Video Works Works
Disney Plus Works Works
Max Works Works
Netflix Fails (E100) Fails (E100)
YouTube Works, up to 4320p Works, up to 1440p*

Chromium

For Chromium it depends which build of it you are using. I used Fedora package and then was pointed to Flathub build of Chromium as better one.

Flathub's Chromium plays 2160p videos on YouTube and does not have an option to choose higher resolutions so I could not test 4320p ones.

Again, let make a table of "Graphics Feature Status" information:

Entry Fedora build Flathub build
Canvas Software only Hardware accelerated
Direct Rendering Display Compositor Disabled Disabled
Compositing Software only Hardware accelerated
Multiple Raster Threads Enabled Enabled
OpenGL Disabled Enabled
Rasterization Software only Hardware accelerated
Raw Draw Disabled Disabled
Skia Graphite Disabled Disabled
TreesInViz Disabled Disabled
Video Decode Software only Hardware accelerated
Video Encode Software only Software only
Vulkan Disabled Disabled
WebGL Software only Hardware accelerated
WebGL2 Software only Hardware accelerated
WebGPU Disabled Disabled
WebNN Software only Disabled

WebGL

How does the 3D hardware acceleration situation look? I tested it with the WebGL Aquarium.

Amount of fish Firefox Chromium/Fedora Chromium/Flathub
1 75 18 75
1000 75 9 75
5000 42-71 4 29-37
10000 33-39 1 15-17

I do not remember numbers I got with the same graphics card in my x86-64 system.

To be continued…

I am planning to write a few more posts about using my Ampere Altra-based system as a desktop. So stay tuned.

07 Jul 2025 5:09pm GMT

05 Jul 2025

feedFedora People

Kevin Fenzi: whew. Datacenter move (mostly) over

Kevin Fenzi's avatar Scrye into the crystal ball

Hey everyone. Welcome to the far side of the 2025 Datacenter Move. Everything is now moved over and (mostly) working from the new location.

There are of course some things to fix still. We have been tracking the smaller items in: https://pagure.io/fedora-infrastructure/issue/12620 and larger ones in their own tickets. At this point if you see an issue please check if it's been mentioned above or in another infra ticket and if not, let us know.

Things did not go as smoothly as I was hoping they would. I was hoping to have the build pipeline up and running on wed, but it took us until thursday morning to finish bringing it up.

We are collecting items for a retrospective now and should hold that in the next week or two, but a few I will be mentioning:

The good:

The bad:

Next week there's still some work to do. We need to power off all the machines in our old datacenter. Some of the newer hardware will be shipped to the new datacenter and we will use them to augment capacity. Some will be more builders, more openqa workers, etc.

Finally, I've been super focused on this move, now that we are done after next week I hope to start in on the backlog of other things that I put off: packaging work, emails to reply to, AI scraper mitigation, and such.

It's great to have this in the rear view mirror!

comments? additions? reactions?

As always, comment on mastodon: https://fosstodon.org/@nirik/114802872655170817

05 Jul 2025 9:05pm GMT

Akashdeep Dhar: Arriving At Flock To Fedora 2025

Akashdeep Dhar's avatar Arriving At Flock To Fedora 2025

On 03rd June 2025, it was that time of the year again when we departed for the annual Fedora Project community conference, Flock To Fedora 2025. Waking up at 05:00AM Indian Standard Time, I was soon on my way to the Netaji Subhash Chandra Bose International Airport (CCU) after some quick breakfast bites from my aunt. It roughly took around twenty minutes for me to make it to the airport with my luggage, where I met up with Sumantro Mukherjee, who was waiting for me at around 06:30AM Indian Standard Time. We got ourselves checked in at the Emirates counter for the flight EK0571 to Dubai International Airport (DXB) and headed towards the lightly populated immigration queue. Weirdly enough, I was held back for some superficial questioning at the security queue, but it was nothing to worry about as we were quite ahead of the schedule for the flight.

Arriving At Flock To Fedora 2025
Our Emirates flight EK0571 getting ready for departure

We were at the departure gates by 07:30AM Indian Standard Time, which was a little under three hours from the estimated departure time for the Emirates EK0571 flight. After connecting with my friends and family about having made it to the departure gates, Sumantro and I had conversations about a bunch of things. Starting from community affairs and agile implementation, it was fun catching up with Sumantro after FOSDEM 2025. The time until the boarding passed quite quickly, and we soon made it inside the flight, capturing the painstakingly booked window seats of Zone E, with me seated at 29K and Sumantro seated at 30K. The first flight from Kolkata (CCU) to Dubai (DXB) was expected to be around five hours long, so I decided to spend time watching a couple of movies, namely Unthinkable (2010) and Despicable Me 4 (2024) from the seat display.

Arriving At Flock To Fedora 2025
Bountiful meals for the in-flight lunch satisfaction

At around 11:45AM Indian Standard Time, the breakfast was served, and I decided to catch some sleep after I was done with the food. The seemingly short sleep did help reduce the apparent duration of the flight because at around 04:00PM Gulf Standard Time, the flight started landing at the Dubai International Airport (DXB). As our next flight, Emirates EK0125 towards Airport Flughafen Wien-Schwechat (VIE), was departing from the same terminal, we had some time in our hands to traverse through the gates. Sumantro and I had to catch a subway that would take us from the A Gates to the B Gates after we passed through a crowded security queue. In about thirty minutes, we found ourselves at the departure Gate B20, from where our flight was designated to depart. We went around browsing the Duty Free stores as we waited for the boarding announcement to be made.

Arriving At Flock To Fedora 2025
If flights, buses and taxis were not enough - Let us add a subway into the mix too

Of course, we kept ourselves from purchasing goodies from the stores, and the boarding announcement that was made some time later helped fortify our resolve. As Sumantro was planning on traveling ahead with his partner from DevConf.CZ 2025 and I was planning on doing loads of shopping in Prague, it made little sense to get encumbered there. Just like the previous flight, we were seated at the window seats, with me on 39K and Sumantro on 40K on this flight. An odd event ended up changing that arrangement as the passengers traveling beside Sumantro wanted us to switch seats for the window seats that we had coordinated and selected well in advance from the web check-in. In the end, I was seated beside Sumantro on an aisle seat, 40I, while Sumantro retained his seat, 40K, as the two belligerent passengers went somewhere else after some arrangements were made.

Arriving At Flock To Fedora 2025
A LEGO paradise for those who want to visit one while travelling

While not dwelling much on this uncomfortable encounter with some entitled passengers, I decided to watch Fast X (2023) from the in-flight entertainment system as the flight took off. Sumantro decided to catch up on some assignments and finish preparing his slide decks, as this was supposed to be a longer flight of around six hours. We were looking into the renewed Test Days application, which was recently deployed in the Fedora Infrastructure, and we ended up finding various bugs and oversights with the production deployment. I decided to watch Inglourious Basterds (2009) after having lunch, but I found myself dozing off every now and then. I decided to use the time to catch up on some sleep, as both Sumantro and I had to travel on an overnight bus from Airport Flughafen Wien-Schwechat (VIE) to Prague Central Station and finish the movie at a later time.

Arriving At Flock To Fedora 2025
Bountiful meals for the in-flight dinner satisfaction

The next time I opened my eyes - I was gifted with the wonderful vistas of the country skyline as the flight was slowly descending into Airport Flughafen Wien-Schwechat (VIE). It was around 08:30PM Central European Summer Time then, and the sun was barely setting in summertime Vienna. We got off the flight at around 09:00PM Central European Summer Time and made our way into the crowded immigration queue before picking up our checked-in luggage from the belts. I wished that our onward journey had ended there, as the time zone shift and the lack of sleep were taking a toll on my body. The one silver lining that kept us going was that the bus taking us from Airport Flughafen Wien-Schwechat (VIE) to Prague Central Station departed from the arrival gates at around 11:00PM Central European Summer Time, so we did not have to rush anywhere anymore.

Arriving At Flock To Fedora 2025
Glimpses from outside the flight window near Vienna

After sharing some conversations with friends and family back at home and from the Fedora Project, we kicked around at the arrival gates. The waiting was most certainly easier said than done, but I would much rather be in a situation where I was ahead of the schedule than one where I was running behind. Sumantro and I discussed just how long we would have been active by the time we ended up getting to the hotel, and the calculation did help keep us from getting bored. At around 10:50PM Central European Summer Time, a bus #N60 operated by Flixbus arrived at Station #04 for the pickup. After getting our passports checked before boarding the bus, we decided to keep ourselves to the bottom deck of the double-decker bus. It would have been fun visiting the top deck, but at the twenty-fourth hour of being active, all we wanted was to get some sleep at the hotel.

Arriving At Flock To Fedora 2025
Felt both quieter and busier at the same time in this airport

We had a couple of stops before making it to Prague Central Station, so we were seated near the gates for convenience. While the evening started off with some pretty mild temperatures and normal humidity, the temperature started falling and the humidity started rising as the night grew darker. I knew for a fact that I would doze off as soon as I found a soft seat to place myself on, so I decided to schedule some alarms for 03:30AM Central European Summer Time, which was still over three hours away from then. It was just as important to schedule multiple alarms in the rare occurrence of one not being enough, and the last thing that we wanted to do then was end up in Berlin, where the bus was actually headed. We soon found ourselves at our stop after a combination of looking into the darkness from the window and failing miserably to catch some well deserved slumber.

Arriving At Flock To Fedora 2025
Some place we kicked around for a couple of hours

Prague Central Station welcomed us with 14 degrees Celsius and 75% humidity on the early morning of 04th June 2025. Sumantro booked an Uber for us, and after an uneventful yet swift fifteen minutes, we found ourselves at the entrance of the Ibis Praha Mala Strana hotel. Thankfully, we had the reservation done from the day before, so we could easily find ourselves a bed to rest on and not wait until the scheduled check-in time of 03:00PM Central European Summer Time. Sumantro had some issues with the inclusion of breakfast in his booking, but we decided that it was for the best that he took it up with Julia Bley the next day. Thanks to the Red Hat Corporate Card that we were provided with weeks before the commencement of our journey, Sumantro and I were able to retire to rooms #239 and #225 at around 04:00AM Central European Summer Time, ending the onward journey.

05 Jul 2025 6:30pm GMT

Ankur Sinha: Splitting Taskwarrior tasks to sub-tasks

Ankur Sinha's avatar

Logo for Taskwarrior

A feature that I often miss in Taskwarrior (which I use for managing my tasks in a Getting Things Done method) is the ability to split tasks into sub-tasks.

A common use case, for example, is when I add a research paper that I want to read to my task list. It's usually added as "Read <title of research paper>", with the URL or the file path as an annotation. However, when I do get down to read it, I want to break it down into smaller, manageable tasks that I can do over a few days such as "Read introduction", "Read results". This applies for lots of other tasks too, which turn into projects with sub-tasks when I finally do get down to working on them.

The way to do it is to create new tasks for each of these, and then replace the original task with them. It is also a workflow that cab be easily scripted so that one doesn't have to manually create the tasks and copy over annotations and so on.

Here is a script I wrote:

#!/usr/bin/env python3
"""
Split a taskwarrior task into sub-tasks

File: task-split.py

Copyright 2025 Ankur Sinha
Author: Ankur Sinha <sanjay DOT ankur AT gmail DOT com>
"""


import typing
import typer
import subprocess
import json


import logging


logging.basicConfig(level=logging.NOTSET)
logger = logging.getLogger("task-split")
logger.setLevel(logging.INFO)
logger.propagate = False

formatter = logging.Formatter("%(name)s (%(levelname)s): %(message)s")
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
handler.setFormatter(formatter)

logger.addHandler(handler)


def split(src_task: int, new_project: str, sub_tasks: typing.List[str],
          dry_run: bool = True) -> None:
    """Split task into new sub-tasks

    For each provided sub_tasks string, a new task is created using the string
    as description in the provided new_project. Annotations from the provided
    src_task are copied over and the src_task is removed.

    If dry_run is enabled (default), the src_task will be obtained but not
    processed.

    :param src_task: id of task to split
    :type src_task: int
    :param sub_tasks: list of sub-tasks to create
    :type sub_tasks: list(str)
    :returns: None

    """
    # Always get info on the task
    ret = None
    get_task_command = f"task {src_task} export"
    logger.info(get_task_command)
    ret = subprocess.run(get_task_command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)

    if ret.returncode == 0:
        task_stdout = ret.stdout.decode(encoding="utf-8")
        task_json = (json.loads(task_stdout)[0])
        logger.info(task_json)
        tags = task_json.get('tags', [])
        priority = task_json.get('priority', 'L')
        due = task_json.get('due', 'eod')
        estimate = task_json.get('estimate', '1h')
        impact = task_json.get('impact', 'L')
        annotations = task_json.get('annotations', [])
        description = task_json.get('description')
        uuid = task_json.get('uuid')

        # clear ret for future dry runs
        ret = None

        for sub_task in sub_tasks:
            new_task_command = f"task add project:{new_project} tags:{','.join(tags)} priority:{priority} due:{due} impact:{impact} estimate:{estimate} '{sub_task}'"
            logger.info(new_task_command)

            if not dry_run:
                ret = subprocess.run(new_task_command.split())

            annotate_task_command = f"task +LATEST annotate '{description}'"
            logger.info(annotate_task_command)
            if not dry_run and (ret is not None and ret.returncode == 0):
                ret = subprocess.run(annotate_task_command.split())

            for annotation in annotations:
                annotation_description = annotation['description']
                annotate_task_command = f"task +LATEST annotate '{annotation_description}'"
                logger.info(annotate_task_command)
                if not dry_run and (ret is not None and ret.returncode == 0):
                    ret = subprocess.run(annotate_task_command.split())

        mark_original_as_done_command = f"task uuid:{uuid} done"
        logger.info(mark_original_as_done_command)
        if not dry_run:
            ret = subprocess.run(mark_original_as_done_command.split())


if __name__ == "__main__":
    typer.run(split)

It uses typer to provide command line features:

task-split --help

Usage: task-split [OPTIONS] SRC_TASK NEW_PROJECT SUB_TASKS...

Split task into new sub-tasks

Arguments
*    src_task         INTEGER       [default: None]
*    new_project      TEXT          [default: None]
*    sub_tasks        SUB_TASKS...  [default: None]

Options
--dry-run    --no-dry-run      [default: dry-run]
--help                         Show this message and exit.

So, if one has a task "Put up shelves" with ID 800, it can now be broken into a number of smaller tasks:

task-split 800 "personal.shelves" "Buy shelves" "Buy drill" "Buy tools"

This will add the new tasks to the "personal.shelves" topic, and copy over meta-data from the original task, such as annotations, priority, due date and other user defined attributes. It runs in "dry-run" mode by default to give me a chance to double-check the commands/tasks. To carry out the operations, pass the --no-dry-run flag to the script too.

The script is heavily based on my personal workflow, but can easily be tweaked. It lives here on GitHub and you are welcome to modify it to suit your own workflow.

Please remember to make it executable and put it in your PATH to be able to run the command on your terminal, and do remember to install typer. On Fedora, this would be sudo dnf install python3-typer.

05 Jul 2025 12:11pm GMT

04 Jul 2025

feedFedora People

Fedora Infrastructure Status: Datacenter Move Complete

04 Jul 2025 6:00pm GMT

Hans de Goede: Recovering a FP2 which gives "flash write failure" errors

04 Jul 2025 4:14pm GMT

Fedora Community Blog: Infra and RelEng Update – Week 27, 2025

Fedora Community Blog's avatar

This is a weekly report from the I&R (Infrastructure & Release Engineering) Team. We provide you both infographic and text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in depth details look below the infographic.

Week: 30 June - 04 July 2025

Infrastructure & Release Engineering

The purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It's responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
List of planned/in-progress issues

Fedora Infra

CentOS Infra including CentOS CI

Release Engineering

Fedora Data Center Move: "It's Move Time!" and Successful Progress!

This week was "move time" for the Fedora Data Center migration from IAD2 to RDU3, and thanks to the collective effort of the entire team, it's been a significant success! We officially closed off the IAD2 datacenter, with core applications, databases, and the build pipeline successfully migrated to RDU3. This involved meticulously scaling down IAD2 OpenShift apps, migrating critical databases, and updating DNS, followed by the deployment and activation of numerous OpenShift applications in RDU3. While challenges arose, especially with networking and various service configurations, our dedicated team worked tirelessly to address them, ensuring most services are now operational in the new environment. We'll continue validating and refining everything, but we're thrilled with the progress made in establishing Fedora's new home!

If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on matrix.

The post Infra and RelEng Update - Week 27, 2025 appeared first on Fedora Community Blog.

04 Jul 2025 11:55am GMT

Fedora Magazine: 🧱 Building better initramfs: A deep dive into dracut on Fedora & RHEL

Fedora Magazine's avatar

Understanding how to use dracut is critical for kernel upgrades, troubleshooting boot issues, disk migration, encryption, and even kernel debugging.

🚀 Introduction: What is dracut?

dracut is a powerful tool used in Fedora, RHEL, and other distributions to create and manage initramfs images-the initial RAM filesystem used during system boot. Unlike older tools like mkinitrd, dracut uses a modular approach, allowing you to build minimal or specialized initramfs tailored to your system.

📦 Installing dracut (if not already available)

dracut comes pre-installed in Fedora and RHEL. If it is missing, install it with:

$ sudo dnf install dracut

Verify the version:

$ dracut --version

📂 Basic usage

📌 Regenerate the current initramfs

$ sudo dracut --force

This regenerates the initramfs for the currently running kernel.

📌 Generate initramfs for a specific kernel

$ sudo dracut --force /boot/initramfs-$(uname -r).img $(uname -r)

Or Manually!

$ sudo dracut --force
$ sudo dracut --force /boot/initramfs-5.14.0-327.el9.x86_64.img 5.14.0-327.el9.x86_64

🧠 Understanding key dracut options (with examples)

-force

Force regeneration even if the file already exists:

$ sudo dracut --force

-kver <kernel-version>

Generate initramfs for a specific kernel:

$ sudo dracut --force --kver 5.14.0-327.el9.x86_64

-add <module> / -omit <module>

Include or exclude specific modules (e.g., lvm, crypt, network).

Include LVM module only:

$ sudo dracut --force --add lvm

Omit network module:

$ sudo dracut --force --omit network

-no-hostonly

Build a generic initramfs that boots on any compatible machine:

$ sudo dracut --force --no-hostonly

-hostonly

Create a host-specific image for minimal size:

$ sudo dracut --force --hostonly

-print-cmdline

Show the kernel command line:

$ dracut --print-cmdline

-list-modules

List all available dracut modules:

$ dracut --list-modules

-add-drivers "driver1 driver2"

Include specific drivers:

$ sudo dracut --add-drivers "nvme ahci" --force

🧪 Test cases and real-world scenarios

1. LVM root disk fails to boot after migration

$ sudo dracut --force --add lvm --hostonly

2. Initramfs too large

Shrink it by omitting unused modules:

$ sudo dracut --force --omit network --omit plymouth

3. Generic initramfs for provisioning

$ sudo dracut --force --no-hostonly --add network --add nfs

4. Rebuild initramfs for rollback kernel

$ sudo dracut --force /boot/initramfs-5.14.0-362.el9.x86_64.img 5.14.0-362.el9.x86_64

🪛 Advanced use: Debugging and analysis

Enable verbose output:

$ sudo dracut -v --force

Enter the dracut shell if boot fails:

Use rd.break in the GRUB kernel line.

📖 Where is dracut configuration stored?

There are two locations where configuration setting may occur.

The global settings location is at:

/etc/dracut.conf

and the drop-in location is at:

/etc/dracut.conf.d/*.conf

Example using the drop-in location:

$ cat /etc/dracut.conf.d/custom.conf

The contents might appear as follows for omitting and adding modules:

omit_dracutmodules+=" plymouth network "
add_dracutmodules+=" crypt lvm "

⚠ Note: Always include a space at the beginning and end of the value when using += in these configuration files. These files are sourced as Bash scripts, so

add_dracutmodules+=" crypt lvm "
ensures proper spacing when multiple config files are concatenated. Without the spaces, the resulting string could concatenate improperly (e.g., mod2mod3) and cause module loading failures.

🧠 Deep dive: /usr/lib/dracut/modules.d/ - the heart of dracut

The directory /usr/lib/dracut/modules.d includes all module definitions. Each contains:

List the modules using the following command:

$ ls /usr/lib/dracut/modules.d/

Example output:

01fips/ 30crypt/ 45ifcfg/ 90lvm/ 95resume/
02systemd/ 40network/ 50drm/ 91crypt-gpg/ 98selinux/

Inspect specific module content (module-setup.sh, in this example) using this:

$ cat /usr/lib/dracut/modules.d/90lvm/module-setup.sh

You can also create custom modules at this location for specialized logic.

🏁 Final thoughts

dracut is more than a utility-it's your boot-time engineer. From creating lightweight images to resolving boot failures, it offers unparalleled flexibility.

Explore man dracut, read through /usr/lib/dracut/modules.d/, and start customizing.

💡 This article is dedicated to my wife, Rupali Suraj Patil, for her continuous support and encouragement.

04 Jul 2025 8:00am GMT

Remi Collet: 🎲 PHP 8.5 as Software Collection

Remi Collet's avatar

Version 8.5.0alpha1 has been released. It's still in development and will enter soon in the stabilization phase for the developers, and the test phase for the users (see the schedule).

RPM of this upcoming version of PHP 8.5, are available in remi repository for Fedora ≥ 41 and Enterprise Linux ≥ 8 (RHEL, CentOS, Alma, Rocky...) in a fresh new Software Collection (php85) allowing its installation beside the system version.

As I (still) strongly believe in SCL's potential to provide a simple way to allow installation of various versions simultaneously, and as I think it is useful to offer this feature to allow developers to test their applications, to allow sysadmin to prepare a migration or simply to use this version for some specific application, I decide to create this new SCL.

I also plan to propose this new version as a Fedora 44 change (as F43 should be released a few weeks before PHP 8.5.0).

Installation :

yum install php85

⚠️ To be noticed:

ℹ️ Also, read other entries about SCL especially the description of My PHP workstation.

$ module load php85
$ php --version
PHP 8.5.0alpha1 (cli) (built: Jul  1 2025 21:58:05) (NTS gcc x86_64)
Copyright (c) The PHP Group
Built by Remi's RPM repository  #StandWithUkraine
Zend Engine v4.5.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.5.0alpha1, Copyright (c), by Zend Technologies

As always, your feedback is welcome on the tracking ticket.

Software Collections (php85)

04 Jul 2025 6:14am GMT

Remi Collet: 🛡️ PHP version 8.1.33, 8.2.29, 8.3.23 and 8.4.10

Remi Collet's avatar

RPMs of PHP version 8.4.10 are available in the remi-modular repository for Fedora ≥ 40 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).

RPMs of PHP version 8.3.23 are available in the remi-modular repository for Fedora ≥ 40 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).

RPMs of PHP version 8.2.29 are available in the remi-modular repository for Fedora ≥ 40 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).

RPMs of PHP version 8.1.33 are available in the remi-modular repository for Fedora ≥ 40 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...).

ℹ️ The packages are available for x86_64 and aarch64.

⚠️ PHP version 8.0 has reached its end of life and is no longer maintained by the PHP project.

These versions are also available as Software Collections in the remi-safe repository.

🛡️ These Versions fix 3 security bugs (CVE-2025-1220, CVE-2025-1735, CVE-2025-6491), so the update is strongly recommended.

Version announcements:

ℹ️ Installation: use the Configuration Wizard and choose your version and installation mode.

Replacement of default PHP by version 8.4 installation (simplest):

dnf module switch-to php:remi-8.4/common

Parallel installation of version 8.4 as Software Collection

yum install php84

Replacement of default PHP by version 8.3 installation (simplest):

dnf module switch-to php:remi-8.3/common

Parallel installation of version 8.3 as Software Collection

yum install php83

And soon in the official updates:

⚠️ To be noticed :

ℹ️ Information:

Base packages (php)

Software Collections (php83 / php84)

04 Jul 2025 4:49am GMT

03 Jul 2025

feedFedora People

Akashdeep Dhar: Loadouts For Genshin Impact v0.1.9 Released

Akashdeep Dhar's avatar Loadouts For Genshin Impact v0.1.9 Released

Hello travelers!

Loadouts for Genshin Impact v0.1.9 is OUT NOW with the addition of support for recently released characters like Skirk and Dahlia and for recently released weapons like Azurelight from Genshin Impact v5.7 Phase 1. Take this FREE and OPEN SOURCE application for a spin using the links below to manage the custom equipment of artifacts and weapons for the playable characters.

Resources

Changelog

Characters

Skirk

Escoffier is a sword-wielding Cryo character of five-star quality.

Dahlia

Dahlia is a catalyst-wielding Hydro character of four-star quality.

Weapons

Azurelight

Loadouts For Genshin Impact v0.1.9 Released

Appeal

While allowing you to experiment with various builds and share them for later, Loadouts for Genshin Impact lets you take calculated risks by showing you the potential of your characters with certain artifacts and weapons equipped that you might not even own. Loadouts for Genshin Impact has been and always will be a free and open source software project, and we are committed to delivering a quality experience with every release we make.

Disclaimer

With an extensive suite of over 1428 diverse functionality tests and impeccable 100% source code coverage, we proudly invite auditors and analysts from MiHoYo and other organizations to review our free and open source codebase. This thorough transparency underscores our unwavering commitment to maintaining the fairness and integrity of the game.

The users of this ecosystem application can have complete confidence that their accounts are safe from warnings, suspensions or terminations when using this project. The ecosystem application ensures complete compliance with the terms of services and the regulations regarding third-party software established by MiHoYo for Genshin Impact.

All rights to Genshin Impact assets used in this project are reserved by miHoYo Ltd. and Cognosphere Pte., Ltd. Other properties belong to their respective owners.

03 Jul 2025 6:30pm GMT

Peter Czanik: openSUSE turned 20

03 Jul 2025 12:34pm GMT

02 Jul 2025

feedFedora People

Emmanuel Seyman: A COPR for Ansible roles

Emmanuel Seyman's avatar

Packaging Ansible roles

Since Fedora's Server SIG has decided to promote using Ansible, I've decided to package a number of roles I find interesting. Packaging solves two problems in my opinion:

  1. This allows users to get roles and playbooks without having to learn how to get them from Ansible Galaxy
  2. It allows us to patch the roles to work properly on Fedora systems

I've started submitting rpms to Fedora but I thought having a copr in the meantime that includes all my ansible rpms would make it easier for people to install and test them.

Activating the COPR on a Fedora system:

You can run the command "dnf copr enable eseyman/ansible" on a F42 or rawhide system. From there, you'll be able to "dnf search" or "dnf install" any of the packages in the copr. On that system, you'll be able to run a playbook that uses the role on any host you can ssh to.

02 Jul 2025 4:53pm GMT

Ben Cotton: Using AI moderation tools

Ben Cotton's avatar

Ben Balter recently announced a new tool he created: AI Community Moderator. This project, written by an AI coding assistant at Balter's direction, takes moderation action in GitHub repositories. Using any AI model supported by GitHub, it automatically enforces a project's code of conduct and contribution guidelines. Should you use it for your project?

For the sake of this post, I'm assuming that you're open to using large language model tools in certain contexts. If you're not, then there's nothing to discuss.

Why to not use AI moderation tools

Moderating community interactions is a key part of leading an open source project. Good moderation creates a safe and welcoming community where people can do their best work. Bad moderation drives people away - either because toxic members are allowed to run roughshod over others or because good-faith interactions are given heavy-handed punishment. Moderation is one of the most important factors in creating a sustainable community - people have to want to be there.

Moderation is hard - and often thankless - work. It requires emotional energy in addition to time. I understand the appeal of offloading that work to AI. AI models don't get emotionally invested. They can't feel burnout. They're available around the clock.

But they also don't understand a community's culture. They can't build relationships with contributors. They're not human. Communities are ultimately a human endeavor. Don't take the humanity out of maintaining your community.

Why you might use AI moderation tools

Having said the above, there are cases where AI moderation tools can help. In a multilingual community, moderators may not have fluency in all of the languages people use. Anyone who has used AI translations know they can sometimes be hilariously wrong, but they're (usually) better than nothing.

AI tools are also ever-vigilant. They don't need sleep or vacations and they don't get pulled away by their day job, family obligations, or other hobbies. This is particularly valuable when a community spans many time zones and the moderation team does not.

Making a decision for your project

"AI" is a broad term, so you shouldn't write off everything that has that label. Machine learning algorithms can be very helpful in detecting spam and other forms of antisocial behavior. The people who I've heard express moral or ethical objections to large language models seem to generally be okay with machine learning models in appropriate contexts.

Using spam filters and other abuse detection tools to support human moderators is a good thing. It's reasonable to allow them to take basic reversible actions, like hiding a post until a human has had the chance to review it. However, I don't recommend using AI models to take more permanent actions or to interact with people who have potentially violated your project's code of conduct. It's hard, but you need to keep the humanity in your community.

This post's featured photo by Mohamed Nohassi on Unsplash.

The post Using AI moderation tools appeared first on Duck Alignment Academy.

02 Jul 2025 12:00pm GMT