Package Splitting

From RockWiki

Jump to: navigation, search

Note: This is not Package Forking!

Originally, ROCK prebuilt packages contained each and every file the program installed. This includes:

  • executables
  • header files
  • static libraries
  • documentation

This changed during the ROCK 2.1 development. Packages are now automatically split into at least three packages:

  • <package>:dev
    contains header files and static libraries
  • <package>:doc
    contains documentation
  • <package>
    contains everything else

Using package splitting

Package splitting consists of regular expressions matching files in the flist, a name of the split and a function that adapts information for the split package. A split can have more than one regular expression.

The Apache Portable Runtime library is split from the apache package like this:

splitdesc_apr(){
	desc_I="the Apache Portable Runtime libraries";
}
splitreg 80 apr 'apr'

The subversion server binaries are split from the subversion package like this:

splitdesc_server() {
	desc_I="$desc_I (server binaries)"
}
splitreg 51 server /svn[^.]\+[^th]$
splitreg 52 server rc\.d
Personal tools