Skip to content
This repository was archived by the owner on Apr 3, 2023. It is now read-only.

archydragon/buildiot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Buildiot

Automatic DEB package generator from Git or Mercurial branches. Currently in weak alpha.

System requirements

Linux or other UNIX system (not tested, use at your own risc)

Ruby 1.8 or newer with installed Rubygems

Usage

./buildiot.rb <rules_file>

Rules

JSON file. You can see example.buildiot as a simple example.

The first level of JSON tree must contain the following parameters:

  • name — package basic name (string);
  • vcs — version control system you use; currently supported git and hg (string);
  • source — local or remote address of a repo used for package generation (string);
  • maintainer — package maintainer data (string);
  • section — package section
  • versions — parent tree for information which package version you need to build from different branches (details below);
  • destination — contains information about which files must be moved to some directories during package installation (array of hashes).

Optional parameters of the first tree level:

  • arch — package architecture ('all' by default) (string);
  • priority — package priority ('optional' by default) (string);
  • outdir — the directory generated packages will be saved to (string);
  • description — package description (array of strings);
  • deps, predeps, builddeps — basic, pre- and build dependences for package (arrays of strings);
  • dirs — list of empty directories must be created during package installation (array of strings);
  • conffiles — list of configuration files of your software (dpkg asks about re-writing them during package updates) (array of strings);
  • preinst, postinst, prerm, postrm — path to appropriate executable files for DEB package; in case its path starts from / character, they are looked in local filesystem, otherwise they are looked inside repo (strings);
  • prebuild — path to script should be executed before package generation starts e.g. compilation of sources received from a repo (string).

'versions' tree

The first level of versions tree should contain numbers of the versions you need to build (examples: 1.0, 3.3-dev, 1.3.2+squeeze1). Every version number is root for the following tree items:

  • branch — name of the branch you need to build an actual version from (string);
  • any optional parameters (and destination from required) may be overrided there.

For some details about DEB packages please refer official policy.

License

All this project's source codes licensed under WTFPL, but I would be grateful for your contribution whatever that may mean :).

About

inb4 powerful package builder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors