grunt-deb
Performs cross platform debian packaging
This task allows you to create your .deb without debhelper or Java. It's pure javascript. You only need tar
and ar
.
Getting started
This plugin requires Grunt ~0.4
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-deb --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt;
deb_package
task
The Overview
In your Gruntfile (inside the initConfig object), add a section named deb_package
.
A lot of options in this section are provided by the package.json
file, but if you want to override them here's what to do:
grunt;
This will create a package with the name my-package_1.0.0-1_all.deb
taht can be installed with sudo dpkg -i my-package_1.0.0-1_all.deb
on all debian based architectures.
Options
options.maintainer
Type: String
Default value: process.env.DEBFULLNAME <process.env.DEBEMAIL>
or package.json author.name <author.email>
This value defines the maintainer of the package.
options.uploaders
Type: String
Default value: package.json uploaders array { name, email }
This value defines the uploaders of the package. Take maintainers array from package.json
options.version
Type: String
Default value: package.json version
This value defines the version of the package.
options.name
Type: String
Default value: package.json name
This value defines the name of the package.
options.short_description
Type: String
Default value: First line of package.json description
This value defines the short description of the package.
options.long_description
Type: String
Default value: All line of package.json description
except the first one
This value defines the long description of the package.
options.target_architecture
Type: String
Default value: all
This value defines the architecture of the package.
options.revision
Type: String
Default value: process.env.GIT_REVISION || process.env.SVN_REVISION || false
This value defines the revision of the package (use in name and package version).
options.build_number
Type: String
Default value: process.env.BUILD_NUMBER || process.env.DRONE_BUILD_NUMBER || process.env.TRAVIS_BUILD_NUMBER || 1
This value defines the build number of the package.
options.category
Type: String
Default value: misc
The software category. Used to fill the "section" field of the control file
options.extra_headers
Type: object
Default value: {}
Extra headers to add to the package's control file, e.g. {"Foo": "1.2.3", "Bar": "abc"}
There is more to do:
- Write tests
- generation of the .changes and .dsc files
This task was developped with the help of Loïc Marie