node-deb
Version:
Debian packaging for Node.js projects
247 lines (208 loc) • 9.4 kB
Markdown
# CHANGELOG
#### 0.10.7 2018-07-16
- Added
- `--preinst-template` CLI option and `node_deb.templates.preinst` for Debian `preinst` templates.
- `--install-dir` CLI option and `node_deb.install_dir` for variable install locations
(e.g., /opt/ instead of /usr/share/)
- Fixed
- Possible NPM related errors on install
#### 0.10.6 2018-05-02
- Fixed
- Bug where Unix user/group names over 32 characters were accepted, thus breaking installs
#### 0.10.5 2018-05-30
- Fixed
- Permissions errors during install for native builds
- Incorrect quoting on app entrypoints
#### 0.10.4 2018-02-20
- Fixed
- Error with `sed` commands on macOS
#### 0.10.3 2018-02-05
- Fixed
- Typo prevented cleanup of symlinks.
#### 0.10.2 2018-01-13
- Added
- `no-default-dependencie` flag to not include the dependency on `nodejs` and `sudo`.
#### 0.10.1 2017-10-07
- Removed
- Creation/removal of Unix user/group for non-service applications
#### 0.10.0 2017-09-20
- Added
- Now includes `package-lock.json` if it exists
- Debian package now has a dependency on `sudo` which is needed for starting the app with Upstart
#### 0.9.1 2017-09-07
- Fixed
- When using the intall strategy `copy` or `auto`, symlinks in `node_modules` are dereferenced
#### 0.9.0 2017-04-23
- **BREAKING**
- Apps are now started with either `.node_deb.entrypoints.cli` or `.node_deb.entrypoints.daemon` and not
`.start` or `.node_deb.start_command` in `package.json`. See `README.md` for more details.
- Fixed
- CLI apps don't `cd` to the install root before executing
#### 0.8.0 2017-04-04
- Fixed
- Broken `node_modules` was fixed by the addition of `--install-strategy` option
- Added
- Parsing of `node_deb.architecture` field in `package.json`
- `--install-strategy` to decide if a package should include dependencies or add them at
install time
#### 0.7.0 2017-03-15
- Fixed
- More minor `bash` errors.
- Added
- `--output-deb-name` option to change the name of the generated debian package.
- System V support via autogenerated `init` scripts.
#### 0.6.1 2017-03-05
- Fixed
- Miscellaneous `bash` errors.
#### 0.6.0 2017-03-05
- Changed
- Automatically include `package.json`, `npm-shrinkwrap.json`, and `node_modules`. These no longer need to be
specified on the command line.
- Allow `md5sums` to not be calculated.
- Deprecated the `--no-md5sums` CLI arg.
- Added
- `--no-rebuild` flag to prevent `postinst` maintainer script from running `npm rebuild`.
- `--arch` CLI option to allow setting the architecture of the target system. Intended to be used primarily with
the `--no-rebuild` option for finecky packages.
- Fixed
- `node_modules` is reduced down to only the production dependencies via `npm ls --prod`.
#### 0.5.3 2017-03-04
- Fixed
- broken `xargs` call
#### 0.5.2 2017-03-03
- Fixed
- removed lingering usage of `rsync`
- fixed broken `postrm` script
- made script `shellcheck` pure
#### 0.5.1 2017-03-01
- Changed
- `node-deb` has reverted back to using `cp` instead of `rsync` for copying files
#### 0.5.0 2016-12-21
- Fixed
- `postrm` now correctly cleans up `/var/log/{{ package }}` on `purge`
- Removed
- `node-deb` no longer creates `/var/run/{{ package }}`. This never worked correctly anyway on systems using `systemd`
because of a typo.
- Changed
- `postinst` and `prerm` default to prioritizing `systemctl` over `service` and `start`/`stop` for stopping
and startin services
#### 0.4.1 2016-11-04
- Added
- Included `LICENSE` in `node-deb`'s Debian package.
- Changed
- Added clarifications to `README`
#### 0.4.0 2016-11-03
- Added
- CLI flag to display the `README`
- CLI flag to display the `CHANGELOG`
- More examples to the `README`
#### 0.3.0 - 2016-10-30
- Added
- Command line flag `--extra-files` that adds a single directory of files to the Debian package. These files are
added to the root of the file system. E.g., if the dir `extra` contains `/var/lib/foo.dat`, then the Debian
package will install `foo.dat` to `/var/lib/` at install time.
#### 0.2.0 - 2016-09-21
- Changed
- Minor formatting changes, updates to `README`
#### 0.1.15 - 2016-07-07
- Added
- Allows the default Debian dependencies in the `control` file to be overridden
#### 0.1.14 - 2016-06-16
- Added
- The dropped commit that fixed `node_modules` install step mentioned in release notes from `0.1.13`
#### 0.1.13 - 2016-06-16
- **BREAKING**
- The `executable` template now by default includes the `bash` variable `$@` as arguments to the `start_command`.
This is breaking in the sense that is a user set their `start_command` to something like `node my-exe-thing $@`,
then this change will pass the arguments twice.
- The build step now forces the usage of `fakeroot` while creating the package to avoid `uid` and `gid` collisions
between the environment where a package is built and where it is deployed.
- Fixed
- `deb` packages that did not include `node_modules` did not do an `npm install` when installed with `dpkg` or `apt`.
The `postinst` now conditionally installs based on the existence of `node_modules`.
- Added
- Template and command line args for default environment variables. Template is empty for now.
#### 0.1.12 - 2016-06-06
- Fixed
- `node-deb` no longer produces `jq` errors about missing `package.json` when run outside a project directory
- Added
- Command line option `--start-command` to allow setting of the start command from the command line
#### 0.1.11 - 2016-04-21
- **BREAKING**
- Reverting the change from `0.1.9` where `node-deb` did *not* include the `node_modules` directory. Now the default
behavior is to include this directory and warn when it is not included on the command line.
- Added
- Less tolerance for shell script failures both in `node-deb` itself and all templates
- `postinst` template now runs `npm rebuild` to recompile platform specific binaries
- This combined with the forced inclusion of `node_modules` and `npm-shrinkwrap.json` aims to make packages and
builds as reproducible as possible.
#### 0.1.10 - 2016-03-09
- Changed
- `postinst` now runs `npm install` with the `--production` option
#### 0.1.9 - 2016-03-08
- **BREAKING**
- `node-deb` will no longer include the `node_modules` directory, but instead will run `npm install` during the
`postinst` step in the install directory. Thus, if `package.json` exists, it will be auto included in the `.deb`.
- Added
- Better script logging
- `package.json` and `npm-shrinkwrap.json` are included by default, and warning messages are displayed if they aren't
included
- If `node_deb.start_command` is not present in `package.json`, default to using `scripts.start`
#### 0.1.8 - 2016-03-01
- Changed
- Using MIT license over GPL license
- Slightly faster copying of files
- Slightly faster md5sum calculations
- Support using `gmd5sum` for packages built on OSX (with `brew install gmd5sum`)
#### 0.1.7 - 2015-11-19
- Changed
- Handling of template injection that includes shell redirects
#### 0.1.6 - 2015-10-31
- Added
- Command line flag `--list-template-variables` so users can see which variables are injected into templates
- Allow the selections of `systemd` and `upstart` to the `--init` flag
#### 0.1.5 - 2015-10-27
- **BREAKING**
- Moved installed files to `/usr/share/$package_name/app/` instead of `/usr/share/$package_name/` to avoid name
conflicts if a user has a directory in their project called `bin`
- Added
- Command line option to list and print available templates
- Command line options to override default templates: `--template-{control, executable, postinst, postrm, prerm,
systemd-service, upstart-conf}`
- Changed
- The executable's start command now defaults to `node_deb.start_command` in the `package.json`
#### 0.1.4 - 2015-10-26
- Added
- Command line flags for:
- `-d | --description`: Debian package description
- `-e | --executable-name`: the name of the runnable file
- `-h | --help`: print help/usage message
- `-i | --init`: select init type (auto, none)
- `-m | --maintainer`: Debian package maintainer
- `-n | --package-name`: the named of the Debian package
- `--no-md5sums`: disable creating of md5sums in Debian package
- `systemd` init support
- Ability to disable init (useful for command line tools)
- Command line options for `test.sh` (dev only)
- Changed
- Changed references from `binary` to `executable` (because that's what it actually is)
- Command line flag `-N` is now named `--no-delete-temp`
#### 0.1.3 - 2015-08-31
- Added
- Automatic removal of the `.deb` staging directory
- Command line flag to prevent deletion of the `.deb` staging directory
- Add md5sums for all files in the `.deb` directory to the `DEBIAN` directory in the package
#### 0.1.2 - 2015-08-28
- Added
- Check to ensure all target files exist before building `.deb`
- `test.sh` and `test/` for automated testing (dev only)
- Fixed
- Correct handling of paths with whitespace
#### 0.1.1 - 2015-08-26
- Added
- Command line flag and `package.json` field for Debian package version
#### 0.1.0 - 2015-08-26
- Added
- Simple command line flags
- Simple modifiers for Debian package, extracted from `package.json`
- Templates for: Debian control file, `preinst`, `postinst`, `prerm`, `binary`, and Upstart script