LEAP SOP

From CDOT Wiki
Revision as of 23:14, 26 March 2016 by Glaser King San Lo (talk | contribs) (Created page with '= Introduction = This wiki page describes the SOP (Standard Operating Procedure) for releasing LEAP like packaging-related processes. It also includes packaging standards, common…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

This wiki page describes the SOP (Standard Operating Procedure) for releasing LEAP like packaging-related processes. It also includes packaging standards, common fixes, patch resources, and debugging methods.

Package building

Fetching source

Source packages are located under 7.x folder on http://vault.centos.org/. There are several types of repository:

os
Base packages
updates
Package updates
extra
Extra packages such as docker, cockpit, golang, etc.

Source rpms can only be downloaded through yum or curl/wget, since there is no Rsync repository for Centos source rpms.

Fixing build

If a package fails to be built on Koji, there are several possibilities causing it:

  • Package name is not added to the pkg list of the tag
  • Package only supports the architectures on ExclusiveArch list
  • Same version of the package already existed on Koji
  • Repository of the build-tag is being regenerated or broken
  • Package spec contains RHEL or CentOS specific rpm macros
  • Missing Dependency
  • Package has to be patched in order to be built on AArch64 platform

Common build failure

build.log - Code compilation error
Reason: Certain depended library is too old
Solution: Try to build all other packages and then rebuild this one
build.log - Cannot detect system type
Reason: The software uses outdated config.guess and config.sub to autodetect system type
Solution: Replace both files in the source with the latest online version. See https://www.gnu.org/software/gettext/manual/html_node/config_002eguess.html
build.log - Unknown system type
Reason: The software only allows it to be built with kernel 2.6/3.x
Solution: Add 4.x support to the system checking script

Resources

  1. Previous build of the package
  2. Fedora ARM Koji: http://arm.koji.fedoraproject.org
  3. CentOS git repo (for reverting CentOS changes): http://git.centos.org
  4. GOOGLE

More coming ...