Changes

Jump to: navigation, search

LEAP SOP

839 bytes added, 20:52, 27 March 2016
no edit summary
== Fetching source ==
Source packages are located under 7.x folder directory on http://vault.centos.org/. There are several types of repository:
; os: Base packages
=== Common errors and solutions ===
; build.log - Code compilation error: <u>Reason</u>: Certain depended pulled library is too old
: <u>Solution</u>: Try to build all other packages and then rebuild this one
; build.log - Cannot detect system type
: <u>Reason</u>: The software uses outdated <tt>config.guess</tt> and <tt>config.sub</tt> to autodetect system type
: <u>Solution</u>: 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
: <u>Reason</u>: The software only allows it to be built with kernel 2.6/3.x
: <u>Solution</u>: Add 4.x support to the system checking script
: <u>Reason</u>: Package only supports the architectures on <tt>ExclusiveArch</tt> list in the spec file
: <u>Solution</u>: Checkout the package on Fedora ARM Koji and CentOS AArch64 repo and determine whether the package is possible to support AArch64 or not
 
; Fail to patch
: <u>Reason</u>: Wrong patches or sources were packed into the source rpm
: <u>Solution</u>: Retrieve the original CentOS src.rpm and repack it again, see also: [[#Duplicated source file names]]
=== Resources ===
# * Previous build of the package# * CentOS AArch64 repo: http://buildlogs.centos.org/centos/7# * Fedora ARM Koji: http://arm.koji.fedoraproject.org# * CentOS git repo (for reverting CentOS changes): http://git.centos.org# * GOOGLE!
== Source modification ==
</source>
* Add '''.leap''' after the release version, add '''.leap.1'', '''.leap.2''' ... and so on for further modificationmodifications
* Make sure to specify all the changes under the <tt>%changelog</tt> section:
- Add AArch64 support
- Roll in LEAP Branding
 
</source>
=== Rebranding ===
 
The packages that contain the word ''.centos'' in their release version are branded packages. In order to properly rebranding those packages for LEAP, here is the checklist:
* Replace the word ''CentOS'' or ''CentOS Linux'' with ''LEAP'' in spec package descriptions and patches (make sure they are branding-related)
== Build order ==
It is better safer and more time-saving efficient to build certain essential packages before any other packagesare built, because other packages is are very likely to depend on them:* leap-release- the base of the whole distribution* gcc, glibc, make- basic compiler* coreutils- basic tools* xorg-x11-server- xorg-x11-drv* always require the specific version of xorg-x11-server they are built with == Duplicated source file names ==It is possible that a few packages contain patches or sources having identical names. When installing source rpms to rpmbuild tree (<tt>$HOME/rpmbuild/*</tt>), try to avoid installing too many of them at a time (50+). Wipe the rpmbuild tree after finish modifying and building those packages on Koji. There are a few problematic packages were discovered:* Openjdk 6,7,8 packages* xorg-x11-drv-dummy and xorg-x11-drv-fbdev  
More coming ...

Navigation menu