Fedora Magazine http://fedoramagazine.org Tue, 03 Mar 2015 16:41:31 +0000 en-US hourly 1 http://wordpress.org/?v=4.1.1 Firefox 36 available in Fedora 21 and Fedora 20 http://fedoramagazine.org/firefox-36-available-in-fedora-21-and-fedora-20/ http://fedoramagazine.org/firefox-36-available-in-fedora-21-and-fedora-20/#comments Tue, 03 Mar 2015 16:41:31 +0000 http://fedoramagazine.org/?p=7674 Last week, Mozilla released version 36 of the Firefox web browser, and the updated packages are now also available from the Fedora repositories. This new update provides a handful of new features, and over 3600 bugfixes, changes, and added support for the HTML5 / CSS3 specifications.

Some of the notable few features include the ability to sync pinned tiles on the new tab page and support for the full HTTP/2 protocol.

firefoxThe updated packages are now available in the repositories for Fedora 20 and Fedora 21. To update to these new packages on your system, either apply the update in the Software application on Fedora Workstation, or run yum update in the Terminal.

]]>
http://fedoramagazine.org/firefox-36-available-in-fedora-21-and-fedora-20/feed/ 0
Fedora community in Mumbai, India celebrates the Fedora 21 release http://fedoramagazine.org/fedora-community-in-mumbai-india-celebrates-the-fedora-21-release/ http://fedoramagazine.org/fedora-community-in-mumbai-india-celebrates-the-fedora-21-release/#comments Tue, 03 Mar 2015 16:00:38 +0000 http://fedoramagazine.org/?p=6995 Every time a new release of Fedora becomes available, Fedora user communities around the world gather to share the new release with each other, upgrade their systems, and eat celebratory cake.

On 21st of December 2014, we had such a release party for Fedora21 at +Homi Bhabha Centre For Science Education, Mumbai, India. It was again one of the awesomely arranged software release party by Fedora, Mumbai.

The session began at half past two with a quick introduction of all enthusiasts present. Various organizations like IIT Bombay, Red Hat & C-DAC Pune had participated in the event.

A brief introduction to Fedora21 was presented by Pravin Satpute. He demonstrated that Fedora21 has GNOME desktop environment. It is quite interactive than Ubuntu OS. There are few interesting applications in Fedora21. Fedora 21 includes OpenStack Icehouse  which means one can directly upload videos and images on any social media in one click. There is Docker cloud. In simple terms, it is like sandbox or virtualenv in python. Here there is no limitation with the hardware space and you can experiment whatever you feel like which wont directly affect your machine. Even if you restart your machine, the docker experiments can be saved forever. The minimum System Requirements for Fedora21 is 15GB Hard disk & 1GB RAM.

The event was concluded by Rahul Bhalerao with a presentation on how to contribute & participate actively in the Fedora Project.
Lastly, there was an openhouse, a kind of group discussion where we discussed about difference between Free Software, OSS and FOSS. The concept was genuinely explained by Dr. Nagarjuna. He said that, a free software charges you for their service. Rest you have all freedom to do whatever with the software unlike proprietary stuffs which charge you and even restrict you.
He even explained how Android, though open source, forces users to have a Gmail account. This is just to scrape users’s personal information. We shell out so much on servers which scrapes our personal information. Instead it is very cheap to host and manage our own servers. He urged us to read about FreedomBox.
After the discussion, a group photo was captured and they gave away goodies like Fedora21 stickers, workstation and server DVDS and Red Hat keychains.
]]>
http://fedoramagazine.org/fedora-community-in-mumbai-india-celebrates-the-fedora-21-release/feed/ 0
FUDCon Pune 2015 – Open for sponsorship requests http://fedoramagazine.org/fudcon-pune-2015-open-for-sponsorship-requests/ http://fedoramagazine.org/fudcon-pune-2015-open-for-sponsorship-requests/#comments Wed, 25 Feb 2015 11:00:51 +0000 http://fedoramagazine.org/?p=7423 We are now accepting funding requests for FUDCon Pune 2015. So, all Fedora contributors who want to attend FUDCon Pune during 26-28 June, 2015 and need sponsorship for travel and/or accommodation, please open a Fedora trac ticket for funding request here.

Here are some more details ::

What does sponsorship mean?
It means, Fedora Project will subsidize or reimburse your cost for travel and/or accommodation.

How to apply?
Read this guide and file a ticket here. You need a Fedora account to apply.

Am I eligible?
Typically, if you are a Fedora contributor who is planning to present a talk or organize a hackfest or a workshop, you will be considered eligible. However if you are unsure or you feel that you have a good justification,  go ahead and apply anyway. There is a much better of chance of getting sponsored if you request!

Will everyone who applies get sponsorship?
Probably not. We will do our best to sponsor contributors who are within APAC to attend the event. We can potentially subsidize the costs of some non-APAC participants but our budget is tight. We would love to bring a global community to the FUDCon and welcome everyone to participate but we have to do it within the budget we have been granted.

How will I know I am getting sponsored?
We will update your ticket when we make a decision.

How will you decide who gets sponsored?
All the organizers and other Fedora community members who will participate in the meetings get a vote. All discussions will happen transparently on #fudcon-planning and meeting minutes will be posted to the fedora-india mailing list. FUDCon meetings are open for everyone for participate. You are welcome to join us. There are no side way entrances. This is the same process  for everyone in fedora. Please see sponsoring event attendees wiki page for more information.

When is the deadline?
April 30th, 2015. We will keep it open for a while more if we can but don’t wait to apply. You have a much higher chance of being sponsored if you apply early while funds are available.

]]>
http://fedoramagazine.org/fudcon-pune-2015-open-for-sponsorship-requests/feed/ 0
Eric Mesa: How do you Fedora? http://fedoramagazine.org/eric-mesa-how-do-you-fedora/ http://fedoramagazine.org/eric-mesa-how-do-you-fedora/#comments Mon, 23 Feb 2015 18:39:13 +0000 http://fedoramagazine.org/?p=7402 We recently interviewed Fedora user Eric Mesa on how he uses Fedora.  This is part of a series here on the Fedora Magazine where we will profile Fedora users and how they use Fedora to get things done. If you are interested in being interviewed for a further installment of this series you can contact us on the feedback form.

e

Who are you, and what do you do?

My name’s Eric Mesa and I love Fedora. I manage programmers, but we’re a Windows shop, so that’s not important to this discussion. I am also a blogger and I write comic comic criticism. I am currently going through the approval process to join the Fedora Ambassadors team.

The reason I listed my involvement in the blogs has to do with how I came to be a Fedora user. Back in 2003 my parents wanted to start a new business and have an accompanying website. I did some research and found out that if I installed some thing called “Linux” onto a computer, I could run my own server. This was quite fascinating to me, I had no idea such a thing existed. So I figured I’d experiment by running my own website and blog before I created the server for their business. I went to the local Borders bookstore near my university and went to the computer section to figure out how to do this. Under the Linux section there was a Debian box with a book inside and a Fedora Core 1 book with DVDs/CDs at the back. Because I was able to look through the book for Fedora, I saw that it would show me how to set up a server, so I went with Fedora.

I’ve been involved with Fedora since then and for most of the time my blog has existed it’s either run on Fedora or CentOS. (I did eventually go to a VPS since most residential internet in the USA consider it a violation of terms of service to run a server.

As I learned about FLOSS I ended up slowly working towards getting another computer to use as a main computer. As both Fedora (and Linux in general) made strides towards better desktop use AND most of what we need to do on a daily basis moved to the web I’ve been able to make my Linux computer my main computer. I’d say that for about the last 5 or so years, my Linux computer has been my main computer. Some days I don’t even turn on my Windows computer – at this point it’s only used for gaming and, thanks to Valve’s Steam, maybe not for much longer.

What hardware do you use to get the job done?

I have lots of hardware, including lots of old laptops. For myself I use Fedora almost exclusively. My desktop is a custom build with the an AMD processor, 8 GB RAM, an nVidia graphics card, an a CD burner. I also have a 4 disk external enclosure attached via USB3. I have a dual monitor setup with a Samsung and a Viewsonic monitor.

My mouse is a $10 logitech with a click-scrollwheel and my keyboard is a simple PS/2 multimedia keyboard with play/skip/volume buttons. The keyboard is on a KVM so I can share it between my Windows and Linux computer. All my hardware works perfectly with Fedora. Because of gaming and because I used to be big into 3D animation, I use nVidia’s proprietary driver. This only ever causes problems for me during upgrades due to the way it wants to hang on to the older kernel. Usually it only adds a teensy bit of extra work.

I have an Acer Aspire One netbook that I bought for travel that runs Fedora. Everything works as of the last time I remember using any particular bit of tech (eg the webcam).

What software do you use?

Software is the biggest reason I love FLOSS and love Fedora. I love that the software is libre and it’s nice that it’s very often gratis. On both my desktop and netbook I’m running the latest Fedora (21 at this time). On my desktop I LOVE using KDE. Its use of Activities along with Virtual Desktops helps me to organize my work so perfectly.

The fact that I have a multi-monitor setup means that in many contexts I have one monitor in full use and the other one only gets used when I need to reference two things at once. So I’m able to make full use of KDE’s widgets which have evolved from SuperKaramba’s Conky-like functionality to very useful things folder views. For example, on my web desktop I have a folder view of my /home/user/Download folder so I can quickly access files I’ve just downloaded.

KDE also tends to have some pretty amazing software under its umbrella. I used to be a diehard Emacs user, but now I can’t see myself going away from using Kate. It has everything you could ever want – code folding, code highlighting, code completion, a folder view, a commandline interface. And if you’re doing something of a huge project, KDevelop uses the same Kate tech (something very Unix-like that KDE does well – reusing code) and then gives you all you need and expect from a high class IDE. I used Kate to develop my btrfs snapshot program. Speaking of commandlines, I truly love that with a simple press of F4 you can bring up a commandline in the Dolphin file manager. This lets me have the best of both worlds. I can do with a mouse the things that are easiest with a mouse (selecting multiple files that don’t have a regex pattern) and do the things that are easiest with text and scripts.

There’s no way I enjoy listening to my music more than to use Amarok 2. I use KDEnlive to create videos – it’s one of the best medium-level non-linear video editors I’ve come across in the FLOSS world. Digikam is more or less just as good as Adobe Lightroom for image management. If I wasn’t already so entrenched in Lightroom, I’d definitely be using it. (My wife uses digikam for her photos).

What else do I use on a regular basis? Well, I use Calibre to organize my ebook and convert everything to the open EPUB standard. For my comic criticism website I use qComicBook and Okular to read the advanced review copies I get from the companies.

Finally, I want to mention two stellar KDE web technologies that are invaluable to me. First is ktorrent. Despite what the media companies would have you believe, there are so many legitimate reasons to use torrents. I always get my Linux ISOs that way to help reduce strain on the official servers. I also use it whenever I buy ebooks or comics from Humble Bundle. What makes ktorrent awesome is that I was able to create categories that have destination folders associated with them.

When I get a Linux ISO, it automatically goes to my ISO folder. Comics to to the comics folder, etc. It saves me a lot of headache.

Similarly useful is the second bit of KDE net technology – KGet. You may think that download managers are unimportant when Firefox and Chrome have them built in. Gone are the days of being unable to pause and resume downloads unless you used a download manager. But KGet works exactly like ktorrent in that I can setup groups to dictate where files download to. It’s very convenient. Even more-so is the ability to feed it a list of URLs and have it automatically grab them. The only thing that seems to keep KGet from being the most awesome thing ever is that certain websites do weird tricks (I guess to control access to downloads?) that make it feed the wrong URL to KGet at times. In those circumstances I have no choice but to use Firefox or Chrome’s download managers.

I would love to use KDE’s netbook interface on my netbook, but unfortunately the hardware within is too ancient to run KDE. So I use my second favorite desktop environment: Xfce. I don’t have any special customizations because the screen resolution is so low, there’s not much I can do on there that wouldn’t take up valuable space. I already use fullscreen mode in Firefox or any other applications I run on there (to get back taskbar real estate). Still, it’s great to have Fedora technology with me when I am on vacation or a business trip. I find it useful enough to carry in addition to a tablet or ereader rather than being replaced by them.

]]>
http://fedoramagazine.org/eric-mesa-how-do-you-fedora/feed/ 4
FUDCon1 Flashback, Getting Involved, Sandboxed Apps, Fedora Planet, and Google Summer of Code http://fedoramagazine.org/5tftw-2015-02-18/ http://fedoramagazine.org/5tftw-2015-02-18/#comments Wed, 18 Feb 2015 18:06:12 +0000 http://fedoramagazine.org/?p=7361 Fedora is a big project, and it’s hard to keep up with everything. This series highlights interesting happenings in five different areas every week. It isn’t comprehensive news coverage — just quick summaries with links to each. Here are the five things for February 18th, 2015:

FUDCon1 Flashback

Ten years ago today, we had the very first FUDCon — the “Fedora User and Developer Conference”. Check out this awesome video put together at the time, with a lot of familiar faces and good memories.

(And if you’re curious, read more about the Historic Event in our wiki archive.)

Get Invoved, with What Can I Do?

Fedora hacker Ralph Bean put together a slick new site http://whatcanidoforfedora.org/, in the style of Mozilla’s original. If you’re interested in getting involved as a Fedora contributor but don’t know where to begin, this site can help you find something that fits your interests and skills. Flip through until you find a match, and hit the “tell me more” button.

(Or, if you’re part of a Fedora subproject looking for help, you can add your own by submitting a pull request or filing RFEs on GitHub.)

Fully-Sandboxed App Proof-of-Concept

At the DevConf.cz conference last week, Alexander Larsson spoke about his work on a better way to ship apps — a model which allows applications to be securely sandboxed and also only loosely coupled to distro version. Now, on his blog, Alex demonstrates an actual program running in a real sandbox. We have a long way to go, but many of the technologies required to make this happen are coming into place, including kdbus and Wayland.

Docker and related container technologies are all the rage on the server side and in cloud computing. These efforts bring some of the same ideas and benefits to the Linux desktop — a very ambitious effort which is finally starting to become reality.

Fedora Planet Blog Aggregator

A few weeks ago, I mentioned the new Fedora Start Page. One of the key changes is that the new page focuses on content from Fedora Magazine, while the older one drew from the Fedora Planet Blog Aggregator. Sumit Bhardwaj asked about this change on the Fedora devel list, and some conversation followed.

I think the key thing is: since there are many times more users than developers, we are trying to keep the Fedora Magazine articles user focused, while the Planet presents a firehose of often very technical blog posts. We don’t want to overwhelm users with a torrent of insider, developer content, while at the same time, we do want users to know what’s going on and to feel a part of (and drawn into) the Fedora community. We’re still working on that balance for the Magazine, and for the Start page. In the meantime, if you like the firehose, suggest setting your start page directly to http://planet.fedoraproject.org/ — that’s not going away.

(Personally, I’m subscribed to it using rss2email, so all of your blog posts show up in my inbox next to all of my Fedora mail — speaking of information firehoses….)

Google Summer of Code Proposals (Hurry!)

This almost slipped through the cracks, but Stephen Gallagher and Kushal Das are picking it up just in time. Every year, Google offers stipends to students for contributions to open source projects; in order for us to be one of those projects, we need to apply as a mentoring organization. And to do that, we need to get our proposal in this week: which means, basically, if you have an aspect of Fedora which could benefit from a student code contribution, go here and add your name and prospective project right now.


 

5tftw-large

]]>
http://fedoramagazine.org/5tftw-2015-02-18/feed/ 1
Remy DeCausemaker hired, DevConf videos, FUDCon APAC planning, F22 branches, and discussion about Fedora Rings http://fedoramagazine.org/5tftw-2015-02-13/ http://fedoramagazine.org/5tftw-2015-02-13/#comments Fri, 13 Feb 2015 21:09:49 +0000 http://fedoramagazine.org/?p=7299 Fedora is a big project, and it’s hard to keep up with everything that goes on. This series highlights interesting happenings in five different areas every week. It isn’t comprehensive news coverage — just quick summaries with links to each. Here are the five things for February 13th, 2015:

Welcoming Remy!

At the DevConf.cz conference last weekend, I was given the okay to let it slip that Remy DeCausemaker will be joining Red Hat to work full-time on Fedora Community Action and Impact. Remy has been around Fedora a long time, and from his previous position at the Rochester Institute of Technology, was instrumental in launching the first minor in Free and Open Source Software. Remy will join the Fedora Council and lead initiatives for even greater Fedora community success and growth.

DevConf.cz Videos

And speaking of DevConf.cz, note that video from many sessions is available at the the Red Hat Czech Youtube Channel. I know several people were taking notes for Fedora Magazine articles too, so look forward to additional converage soon.

FUDCon APAC Call for Papers

This year’s Fedora Users and Developers Conference (FUDCon) for Asia/Pacific will be held in Pune, India. Organizer Pravin Satpute recently issued the call for papers — please submit your proposals for talks, workshops, or hackfests by March 9th.

Fedora 22 Milestone: the Branch

Fedora Release Engineering has branched Fedora 22 from Rawhide.

What does this mean as a Fedora developer? First, it means that there’s no automatic inheritance from the Rawhide always-open development tree, so if you want a package update to go into F22, you have to build it there. It also means that if you’ve got bigger changes planned for F23, you can actually start working on them now. (And consider filing a Change proposal for F23, if you haven’t already.

What does this mean as a Fedora user? It means that we’ve started down the path towards our May release — and if you’re the adventurous type, but not so adventurous that you want to run Rawhide, you can switch to this branch and get a pre-alpha preview of what will become Fedora 22.

Fedora Rings Proposal Discussion

Over on the Fedora devel list, Stephen Gallagher put forth a conversation-starting proposal for Ring-based Packaging Policies, suggesting that a policy distionction could be drawn for packages that are on the release-blocking media we ship (currently, Fedora Atomic, Fedora Cloud, Fedora Server, Fedora Workstation, the KDE Spin and several ARM images) vs. everything else. The ensuing thread has a lot of good discussion both for and against, and possibly working towards some alternatives. There’s certainly no consensus now, but more on this as it develops. Follow along and contribute if you’re interested in helping figure out how to keep Fedora growing as the computing world changes.


 

5tftw-large

]]>
http://fedoramagazine.org/5tftw-2015-02-13/feed/ 0
Fedora is sponsoring HackRU Spring 2015! http://fedoramagazine.org/fedora-is-sponsoring-hackru-spring-2015/ http://fedoramagazine.org/fedora-is-sponsoring-hackru-spring-2015/#comments Fri, 13 Feb 2015 19:29:02 +0000 http://fedoramagazine.org/?p=7057 logo
After much anticipation, we have decided to sponsor HackRU, a hackathon occurring on April 18-19th 2015 at Rutgers University (New Brunswick, NJ). As a hackathon attendee, I have noticed relatively little FOSS activity within the recent collegiate hackathon scene — as an organisation that strives to lead, not follow, Fedora will be sponsoring HackRU in April.

HackRU is a hackathon, a collaborative event in which college and high school students from over the country flock together to compete, share, and connect. Hackathons are especially great for learning new things, and we feel like FOSS should be represented at hackathons, where most sponsors are startups. We believe in Freedom, Friends, Features, First; we also believe in giving back, and open sourcing creations for everybody to share and reuse.

The same way that Fedora contributors collaborate to deliver bleeding-edge advances in software, we hope that tech’s future (and present!) leaders will work together to achieve more innovation through FOSS and collaboration.

We will have a booth with plenty of swag and media. Come see us if you are attending! We will also be walking around and helping out as mentors. Stay tuned for a post-event report :)

More Info: https://fedoraproject.org/wiki/HackRU_Spring_2015
HackRU: http://hackru.org

]]>
http://fedoramagazine.org/fedora-is-sponsoring-hackru-spring-2015/feed/ 1
You can still catch the bus/bug – Anaconda DNF-test-day http://fedoramagazine.org/you-can-still-catch-the-busbug-anaconda-dnf-test-day/ http://fedoramagazine.org/you-can-still-catch-the-busbug-anaconda-dnf-test-day/#comments Thu, 12 Feb 2015 11:11:40 +0000 http://fedoramagazine.org/?p=7244 It was total fun participating in anaconda test day, I have tested few test cases listed in the result page, also opened bug. Just be careful about the build you are testing, as the 2015-02-11 f22 nightlies are known broken, 02-10 nightly are good to test.

I have tested some negative test cases too, during installation , for example super duper famous new feature “Anaconda 22.17 will enforce ‘good’ passwords”, which is a very hot topic of discussion in fedora mailing lists nowadays. I have tried giving some weak passwords for root and it did not accept it, so it is working well.

Similarly, there are lots of things to test. You can validate anaconda using different install repositories like FTP, NFS, http and mirror list. You can choose various different options while doing configurations in the Anaconda GUI.

Help is available at #fedora-qa and #fedora-test-day IRC channels. Anaconda developer Vratislav Podzimek (vpodzime) is actively looking at bugs and issues. People from fedora QA team are also helping out.

So, don’t miss the boat. You can still join and contribute to make anaconda much more better in Fedora22. Happy Testing :)

]]>
http://fedoramagazine.org/you-can-still-catch-the-busbug-anaconda-dnf-test-day/feed/ 0
Participate in the Anaconda/DNF Testday tomorrow http://fedoramagazine.org/participate-in-the-anacondadnf-testday-tomorrow/ http://fedoramagazine.org/participate-in-the-anacondadnf-testday-tomorrow/#comments Wed, 11 Feb 2015 23:30:16 +0000 http://fedoramagazine.org/?p=7185 Are you interested in contributing to the Fedora Project? If you are, there is no better way to get started than to join a Fedora Test Day! The QA team helps to host and facilitate test days for several teams (developers and product working groups) throughout a release. This Thursday (2014-02-12)  we will be hosting a test day for the Fedora installer, Anaconda. We need your help to make it a success! Fedora 22 is bringing us a brand new default package manager (dnf) and the developers behind Anaconda are diligently working on dnf support.

To ease this transition, the Anaconda team wanted to get in an early test day. The goal is to try every package installation option anaconda offers – especially all the kickstart directives. Adam wrote about the test day on his blog and created a wiki page with all the information you could possibly want. If you have some time and the ability to run through some installs with the new anaconda, come join us! It’s easy to participate, whether you have a spare machine or want to leverage the virtualization tools Fedora provides. The Anaconda development team and the QA team will be hanging out on IRC in the #fedora-test-day channel on freenode if you want to chat while we test, or if you have any questions.

]]>
http://fedoramagazine.org/participate-in-the-anacondadnf-testday-tomorrow/feed/ 0
GCC 5 in Fedora (What’s an ABI, and what happens when we change it?) http://fedoramagazine.org/gcc-5-in-fedora-whats-an-abi-and-what-happens-when-we-change-it/ http://fedoramagazine.org/gcc-5-in-fedora-whats-an-abi-and-what-happens-when-we-change-it/#comments Wed, 11 Feb 2015 16:30:49 +0000 http://fedoramagazine.org/?p=7102 gnu logoFedora 22 will ship with GCC 5, which brings a whole host of enhancements, among which is a new default C++ ABI. In this article, we’ll cover how that ABI transition will work in Fedora.

Background – what’s an ABI, why is it changing, and what does this mean for developers?

Put simply, binary compatibility means applications that are compiled on a combination of an operating system and a particular hardware architecture will load and run similarly across different instances of the operating environment. Application binaries consist of executable files and Dynamic Shared Objects (DSOs – the formal name for shared libraries), and the level of compatibility is defined by a specific application binary interface (ABI).

The development of new features in compilers, libraries and related tools – and notably any new language standard those tools support – can result in changes to the ABI, requiring that certain binaries need to be re-built, or that newly built binaries are not directly compatible with existing binaries.

GCC 5 implements such an ABI change when the compiler is built with default options from the upstream community sources. It does this order to implement the new C++11 language standard. That provides new features to developers at the cost of binary compatibility – the C++11 requirements on certain C++ core classes requires an ABI change.

GCC 5 also provides, out of the box, a compiler switch to switch back to using the older ABI by default, at the cost of some C++11 conformance. Whichever ABI GCC is configured to use by default, developers can use the other one on a per-file basis by defining a macro to override the default.

FESCo’s decision and rationale around GCC 5 and Fedora 22

In mid-January, the maintainer of GCC in Fedora made a proposal for GCC 5 to be included in Fedora 22. That proposal was made to FESCo,the body that has overall authority to determine what major features get into each release of Fedora.

The issue was debated during the recent FESCo meetings, which the maintainer attended, and ultimately the decision was made to ship GCC 5, but with
the old ABI enabled by default.

At the heart of this decision was the priority placed by FESCo on the Fedora 22 schedule.  A mass rebuild of all Fedora packages would not be possible if Fedora 22 is to ship on time. A “mini-mass-rebuild” was considered, where only C++ packages would be rebuilt (so Fedora could move to using C++11 and the new ABI).  The idea here would be to reduce the number of packages that must be rebuilt to save time.  That proposal was also rejected, however, as FESCo felt even the mini-mass-rebuild would impact the Fedora 22 schedule.

That left FESCO with two options.  Either to remain with GCC 4.9 through the Fedora 22 cycle, then upgrade to GCC 5 in Fedora 23, or to use GCC 5, but with the old C++ ABI in Fedora 22, then step forward with the new ABI in Fedora 23.

Staying with GCC 4.9 would have minimized the work required for Fedora 22 GCC packaging, Fedora 22. The Fedora and GCC development cycles are mutually beneficial, however, and so removing GCC 5 from Fedora has side effects in terms of GCC 5’s development upstream.

Staying with GCC 4.9 would also leave Fedora users without easy access to all the other benefits GCC 5 brings. The removal of GCC 5 could even be misconstrued as signalling that GCC 5 wasn’t ready for production use.

Finally, staying with GCC 4.9 would also impact developers using Red Hat’s tools for RHEL, such as Red Hat Developer Toolset – GCC 5 wouldn’t have the widespread Fedora testing Red Hat desires before addition to Red Hat’s product portfolio.

The option to use GCC 5, but with the old ABI, allows developers to benefit from all the upstream community’s work on features and bugfixes. Those active users in turn benefit both the GCC and Fedora projects directly. Fedora will not enable the new C++11 ABI by default, but that will also allow developers to handle the general upgrade to GCC 5 separately to the new ABI, which is expected to be enabled in Fedora 23.

So what do I need to know about Fedora 22 and Fedora 23 as a developer?

One consequence of this decision will be that Fedora 22 and Fedora 23 will both have GCC 5, but they’ll be fundamentally different. The C++ library (libstdc++.so) will be
compatible between F22 and F23 (in fact, it will be almost exactly the same,
modulo some extra patches from upstream that might be pulled into the later F23 build). The difference will be all the other DSOs that link to it. That’s important for Fedora developers to note.

Specifically, FESCo’s decision means the C++ standard library headers installed by the
libstdc++-devel RPM will have a different default value for the _GLIBCXX_USE_CXX11_ABI macro (0 in F22 and 1 in F23) but the libstdc++.so library will be largely the same in F22 and F23, because that library contains all the symbol definitions for both the old ABI and the new ABI, so that the same library works for both cases.

However, when another DSO such as libboost_filesystem.so is compiled with GCC 5 it will be compiled using either the old ABI or the new one, but not both, and programs linking to that DSO will usually need to use the same ABI to avoid linker errors. The C++ libraries that are part of Fedora 22 will be built using the old ABI, but they will be built using the new ABI in Fedora 23. Developers might need to recompile their programs using the new ABI in order to link to C++ libraries in Fedora 23. Similarly, developers who use the _GLIBCXX_USE_CXX11_ABI macro to override the default might need to rebuild other libraries they depend on to ensure those libraries are also built with the non-default ABI.

If you happen to maintain a package in Fedora that provides a library for consumption by other packages, you might even consider doing something similar to libstdc++ for Fedora 22/23, i.e. provide two sets of your public symbols – one for the old ABI and one for the new ABI. Whether that would be worth the effort to implement depends largely on the number of consumers of your library, the number of symbols your library contains, and how sensitive your users are to ABI changes. Essentially, you need to work out which symbols are affected. One way to do this is to build for C++98 [gcc -D_GLIBCXX_USE_CXX11_ABI=0 -Wabi-tags in your rpmbuild], then separately for C++11 [gcc -D_GLIBCXX_USE_CXX11_ABI=1 -Wabi-tags in your rpmbuild], and then compare the two DSOs with abidiff (part of libabigail) [abidiff old-abi/libfoo.so new-abi/libfoo.so]. Having identified the symbols affected, make sure those symbols are compiled in their own files separately from unaffected symbols, so you can compile them twice (without duplicates of the unaffected symbols). It’s non-trivial, but something to consider.

Overall, there are three key things to keep in mind about GCC 5 in Fedora 22. Firstly, the Fedora 22 GCC component will still be from a full upstream release. Secondly, selection of the ABI is done by way of a standard configure time flag – the option is there to rebuild with that switch reversed. Thirdly, ABI compatibility with F21 is actually maintained in Fedora 22 (though developers will have the option to enable the newer C++11 ABI via -D_GLIBCXX_USE_CXX11_ABI=1).

What does this mean for RHEL developers?

Developers building applications for Red Hat Enterprise Linux, using Red Hat tools to build binaries and shared libraries, are unaffected by these changes.

Final Thoughts

Hopefully this article has been useful in explaining what the plan is for GCC 5’s release in Fedora, how FESCo arrived at their decision, and what it means for Fedora and Red Hat Enterprise Linux developers.

Feel free to ask questions or provide feedback.

]]>
http://fedoramagazine.org/gcc-5-in-fedora-whats-an-abi-and-what-happens-when-we-change-it/feed/ 8