gulp-smart-debian

0.1.0 • Public • Published

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:

'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 <apt@nowhere.tld>',
        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:

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 module (npm install --save js-yaml):

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 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
Original Repo
License

MIT

Package Sidebar

Install

npm i gulp-smart-debian

Weekly Downloads

1

Version

0.1.0

License

MIT

Last publish

Collaborators

  • warapitiya