Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/warapitiya/gulp-smart-debian
Gulp plugin to create a Debian package
https://github.com/warapitiya/gulp-smart-debian
debian gulp gulp-plugin linux npm
Last synced: 18 days ago
JSON representation
Gulp plugin to create a Debian package
- Host: GitHub
- URL: https://github.com/warapitiya/gulp-smart-debian
- Owner: warapitiya
- License: other
- Created: 2017-04-21T11:34:19.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-04-21T17:49:04.000Z (over 7 years ago)
- Last Synced: 2024-11-05T20:10:40.398Z (2 months ago)
- Topics: debian, gulp, gulp-plugin, linux, npm
- Language: JavaScript
- Size: 48.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
gulp-smart-debian
Fork from gulp-debian, But support `gulp 4` and `upto-date`.##### Install
$ yarn add gulp-smart-debian -D
##### Usage
Define package in-line:
```js
'use strict'const gulp = require('gulp')
const deb = require('gulp-smart-debian')function createDebTask() {
return gulp.src(['demo.sh','blob.bin'])
.pipe(deb({
package: 'demo',
version: '0.1-2',
section: 'base',
priority: 'optional',
architecture: 'i386',
maintainer: 'Mr. Apt ',
description: 'A dummy package',
preinst: [ 'echo "hello from dummy package"' ],
postinst: [ 'cat -n /opt/demo/.npmignore' ],
changelog: [
{
version: '0.1-2',
distribution: 'unstable',
urgency: 'low',
date: new Date('2016-12-24T12:40:10'),
changes: [
'Added another feature.',
'Fixed feature X.'
]
},
{
version: '0.1-1',
distribution: 'unstable',
urgency: 'low',
date: '2016-12-23T11:24:00',
changes: [
'First release.'
]
}
],
_target: 'opt/demo',
_out: 'dist',
_verbose: true
}));
}gulp.task('default', gulp.parallel(createDebTask));
```Alternatively, you can define your package in an external [JSON file](demo_0.1-2_i386.json):
```js
function task() {
return gulp.src(['demo.sh', 'blob.bin'])
.pipe(deb('demo_0.1-2_i386.json'));
}
```You can also use a YAML file to define your package. Just convert it to an Object first using
the [js-yaml](https://github.com/nodeca/js-yaml) module (`npm install --save js-yaml`):```js
const YAML = require('js-yaml')
const fs = require('fs')function task() {
return gulp.src(['demo.sh', 'blob.bin'])
.pipe(deb(YAML.load(fs.readFileSync('demo_0.1-2_i386.yml').toString())));
}
```##### Options
* Options: Object containing properties for a Debian file and the following parameters:
* preinst: Array of commands to run for the package's *pre-install* script (optional).
* postint: Array of commmands to run for the package's *post-install* script (optional).
* changelog: Array of versions and their changes to write to the package's *changelog* (optional, but recommended). Options are:
* version: String for version with changes.
* distribution: String for version distribution.
* urgency: String for version urgency.
* date: Date object or String in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) notation for version date.
* changes: Array of changes made.
* _target: string - The installation target for the created Debian package (mandatory).
* _out: string - The target directory to create the Debian package in (mandatory).
* _verbose: boolean - Verbose output from dpkg-deb utility (optional; true if omitted).(or)
* String containing filename for external JSON file defining package.
##### Contributors
* [Malindu Warapitiya](https://github.com/warapitiya)
##### Original Repo
* [gulp-debian](https://github.com/stpettersens/gulp-debian)##### License
[MIT](https://opensource.org/licenses/MIT)