VCS package guidelines

From ArchWiki
Revision as of 16:25, 11 December 2009 by Gen2ly (Talk | contribs) (Guidelines: - removed unnecessary 'correctly', minor rewording for cvsroot password prompt, removed date format from pkgrel note (VCS packages use date and versioning so not a prob.))

Jump to: navigation, search
Summary help replacing me
Creating PKGBUILDs for software managed with version control systems.
Available in languages

Template:I18n entry

Related articles
Arch Build System
Building Packages in Arch Linux
Arch Linux User-Community Repository (AUR)
PKGBUILD Variables

Guidelines for creating PKGBUILDs for software managed with version control systems.


The Template:Package Official package provides prototypes for cvs, svn, git and darcs PKGBUILDs. When abs is installed, you can find them in Template:Filename.


  • Check for package conflicts. For example fluxbox-svn will conflict with fluxbox. In this case, you need to use Template:Codeline.
  • You should AVOID using Template:Codeline as it generally causes unnecessary problems.
  • Though it is often unnecessary to use the Template:Codeline field when building CVS/SVN/GIT packages (changes to the package are usually often and will be reflected in the Template:Codeline), makepkg will require it.
  • Don't forget to include the appropriate VCS tool (cvs, subversion, git, ...) in Template:Codeline.
  • To preserve the integrity of the checked-out code consider copying the original build directory if you have to make edits. For example, having checked out source code to Template:Filename from Template:Filename you can use:
mkdir src/$_cvsmod-build

cd src/$_cvsmod-build


cp -r src/$_cvsmod src/$_cvsmod-build
cd src/$_cvsmod-build
  • With the introduction of the AUR, it is most important to avoid using backtick execution to create package variables. makepkg will automatically bump the Template:Codeline anyway when building the package (unless Template:Codeline is used).