VCS package guidelines
Revision as of 20:17, 30 November 2009 by Keiichi (fixed what I caused)
|Summary help replacing me|
|Creating PKGBUILDs for software managed with version control systems.|
|Available in languages|
|Arch Build System|
|Building Packages in Arch Linux|
|Arch Linux User-Community Repository (AUR)|
Guidelines for creating PKGBUILDs for software managed with version control systems.
- Suffix Template:Codeline with Template:Codeline, Template:Codeline or Template:Codeline where applicable -- this prevents confusion with non-development versions of packages (e.g. fluxbox-svn or fvwm-cvs compared to fluxbox or fvwm).
- When makepkg is run, by default it will check for newer revisions and then update the Template:Codeline in the PKGBUILD. Look at Template:Codeline in man makepkg if you want otherwise. Template:Codeline only works correctly for cvs and svn, which allow checkout of older revisions.
- Check for package conflicts. For example fluxbox-svn will conflict with fluxbox. In this case, you need to use Template:Codeline.
- Use the Template:Codeline field so that packages that require the non-VCS package can be installed (Template:Codeline).
- You should AVOID using Template:Codeline as it generally causes unnecessary problems
- When using/defining the cvsroot use Template:Codeline rather than Template:Codeline to avoid having to press enter to give blank password OR Template:Codeline if a password is required.
- Though it is often unnecessary to use the Template:Codeline field when building CVS/SVN/GIT packages (any changes to the package will often be on another day and so are usually accounted for by a change in Template:Codeline [assuming Template:Codeline is used to hold a date format], 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. e.g. having checked out source code to Template:Filename from Template:Filename you can use:
mkdir src/$_cvsmod-build cd src/$_cvsmod-build ../$_cvsmod/configure
cp -r src/$_cvsmod src/$_cvsmod-build cd src/$_cvsmod-build