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.
Source packages are located under 7.x folder on http://vault.centos.org/. There are several types of repository:
- Base packages
- Package updates
- 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.
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
- Previous build of the package
- Fedora ARM Koji: http://arm.koji.fedoraproject.org
- CentOS git repo (for reverting CentOS changes): http://git.centos.org
More coming ...