Difference between revisions of "Winter 2011 Handout - Fedora-ARM Package Building and Troubleshooting"

From CDOT Wiki
Jump to: navigation, search
Line 105: Line 105:
  
 
[[File:http://msbreezy12.files.wordpress.com/2011/04/5.png]]
 
[[File:http://msbreezy12.files.wordpress.com/2011/04/5.png]]
 
  
  
  
 
[[File:Fedora_ARM.jpeg]]
 
[[File:Fedora_ARM.jpeg]]

Revision as of 21:54, 12 April 2011

Status

This page status is: DRAFT.

Title

Fedora-ARM packaging and troubleshooting

Participants

Michael John Corsame
Andrew Parda
Rocella Jimenez
Chantell McIntosh

Introduction

For this particular project we spent the entire school semester building packages that were fedora 13 package updates for ARM. Not knowing what we were getting into we sure had excitement and determination in our eyes to get this project finished. Little did we know was that, we still haven't fully understood how the process of troubleshooting and building packages was or how big the arm package build farm was. It was indeed a project filled with doubts, hope and fulfillment.

The group of students mentioned at the top, right below "participants" are students that have little knowledge of how helpful the fedora community is. Being introduce to a vast growing community created room for improvement and friendships. It was indeed a huge improvement on how we tackled those packages we built and without the fedora community, we've pretty much would have been clueless throughout the semester.

At first we were just breaking in and had no clue where to start, but as things started to move and had our Build Master guide us toward the right direction we began building. Of course we needed to learn how to build in order to do this project, so we all took the time to learn efficient methods in doing this. As we imported what we learned into building, we began building our very first package. Being our first build, of course we had errors and errors that we have not encountered before as well, but was pretty self explanatory. Once we've figured out what things we had to fix for that package we ran it through once again and thus having an outcome of "Closed" bold in green - meaning it was completed for that arch.

From there on we begun tackling other packages within the fedora 13 update package list that needed to be built for the ARM architecture. If we had issues with one specific package we told one another that we wouldn't dwell on it for long and move to another one, but of course we would have to come back to that package that we couldn't build for ARM. If the errors we encountered for that package was not within our knowledge to fix, we would either research what causes this online or ask the fedora community. As it turns out we've got a long way to go in finishing up this fedora 13 update packages for ARM, but again, it's a process that needs a lot of patience and understanding why this specific package will/or will not build for ARM.

Approach

Our approach was simple; Go through the list of failed packages that aren't building for Fedora ARM and try our best to troubleshoot them. Also, we had to have an understanding of why these packages were failing to build and finally... attempt to build them again. At the beginning of the semester we were provided with a list of failed packages as a point to start off from. As the list of packages grew, so did our experience with building these packages.

We would make tickets for each of the problem packages we came across, in order to provide a reference for the problems we were coming across. The work we did was mostly geared toward the F13-ARM packages. Saying that, Our expected result was resolving problems with the Fedora-ARM builds as quickly as possible and help F13-ARM release before the end of the semester. Fedora 13 ARM Beta Release was released on February 23, 2011. Other resources we used to complete our objective was the Fedora-ARM Koji build system and arm@lists.fedoraproject.org mailing list.

Challenges

The process of building and troubleshooting packages isn't easy. Any project would encounter errors through the process of completing and making it work. For us, it was all about the finishing product. A finish package could result into completing other packages that depends on it. Just like a family tree. These packages need other packages in order for it to work.

The most common problem we encountered is dependency issue. Dependency issue are problems that would need another package in order for one package to build. Those dependency packages tend to need another package to build. This process could go on forever. However, we managed to deal with some and actually got the dependency packages to build, as well as the initial package. Another common error could be that the package does not build on Fedora ARM, therefore, we need to exclude those packages in the spec file so that ARM-KOJI doesn't find the dependency issue.

For example: Dependency issue
Package for (libvirt-0.8.2-1.fc13.src.rpm, armv5tel)
Root.log error
DEBUG util.py:256: No Package Found for numactl-devel

OR

Package for (ocaml-3.11.2-2.fc13.src.rpm)
BuildError: No matching arches were found

The little errors could be in the spec file; such as, version error, URL, source URL, etc.

The best way to resolve any problem is to push through the packages in the architecture (ARM, or KOJI) as a task. If that task fails it will show errors whether it's build.log, or root.log error. Root.log errors are usually dependency problem. Build.log could be a spec file issue. In those logs you can resolve and find out the problems that the packages are having with the architecture that it's trying to build on.


Dependencytree.jpg

Results

Overall, we have all tried to accomplish the task of our build packages to get pushed to the Fedora 13 updates. We had at least finished one or more packages and feel that we helped out even just a tad bit with the updates even if there are thousands more packages. We feel happy about and are still continuing to build to get our 0.3 done in a beneficial way to help out the Fedora community.

Packages Pushed to Fedora 13 Updates:

Chantell McIntosh:
• Mrpt-0.9.0-0.2.fc13.src.rpm

Rocella Jimenez:
• ScientificPython-2.8-12.fc13.src.rpm
• pstoedit-3.45-10.fc13.src.rpm
• netcdf-4.1.1-3.1.fc13.src.rpm
• totem-pl-parser-2.30.3-1.fc13.src.rpm
• gstreamer-0.10.30-1.fc13.src.rpm

MJ Corsame:
• padevchooser-0.9.4-0.11.svn20070925.fc13.src.rpm

Andrew Parda:
• graphviz-2.26.3-2.fc13.src.rpm
• glom-1.14.1-1.fc13.src.rpm
• globus-xio-gsi-driver-0.6-5.fc13.src.rpm


Status 0.3:
Still working on finishing up the packages that we didn't get to finished and get them pushed as soon as possible.

Links


BLOGS Links:

Acknowledgments

Chris Tyler

Paul Whalen

Niels De Vos

Pictures / Graphics

File:Http://msbreezy12.files.wordpress.com/2011/04/5.png


Fedora ARM.jpeg