- Fixed
- delete nodejs from .deb dependencies
- Fixed
- delete /app from service script template
- Removed
- the copy of node_modules
- Added
--preinst-templateCLI option andnode_deb.templates.preinstfor Debianpreinsttemplates.--install-dirCLI option andnode_deb.install_dirfor variable install locations (e.g., /opt/ instead of /usr/share/)
- Fixed
- Possible NPM related errors on install
- Fixed
- Bug where Unix user/group names over 32 characters were accepted, thus breaking installs
- Fixed
- Permissions errors during install for native builds
- Incorrect quoting on app entrypoints
- Fixed
- Error with
sedcommands on macOS
- Error with
- Fixed
- Typo prevented cleanup of symlinks.
- Added
no-default-dependencieflag to not include the dependency onnodejsandsudo.
- Removed
- Creation/removal of Unix user/group for non-service applications
- Added
- Now includes
package-lock.jsonif it exists - Debian package now has a dependency on
sudowhich is needed for starting the app with Upstart
- Now includes
- Fixed
- When using the intall strategy
copyorauto, symlinks innode_modulesare dereferenced
- When using the intall strategy
- BREAKING
- Apps are now started with either
.node_deb.entrypoints.clior.node_deb.entrypoints.daemonand not.startor.node_deb.start_commandinpackage.json. SeeREADME.mdfor more details.
- Apps are now started with either
- Fixed
- CLI apps don't
cdto the install root before executing
- CLI apps don't
- Fixed
- Broken
node_moduleswas fixed by the addition of--install-strategyoption
- Broken
- Added
- Parsing of
node_deb.architecturefield inpackage.json --install-strategyto decide if a package should include dependencies or add them at install time
- Parsing of
- Fixed
- More minor
basherrors.
- More minor
- Added
--output-deb-nameoption to change the name of the generated debian package.- System V support via autogenerated
initscripts.
- Fixed
- Miscellaneous
basherrors.
- Miscellaneous
- Changed
- Automatically include
package.json,npm-shrinkwrap.json, andnode_modules. These no longer need to be specified on the command line. - Allow
md5sumsto not be calculated. - Deprecated the
--no-md5sumsCLI arg.
- Automatically include
- Added
--no-rebuildflag to preventpostinstmaintainer script from runningnpm rebuild.--archCLI option to allow setting the architecture of the target system. Intended to be used primarily with the--no-rebuildoption for finecky packages.
- Fixed
node_modulesis reduced down to only the production dependencies vianpm ls --prod.
- Fixed
- broken
xargscall
- broken
- Fixed
- removed lingering usage of
rsync - fixed broken
postrmscript - made script
shellcheckpure
- removed lingering usage of
- Changed
node-debhas reverted back to usingcpinstead ofrsyncfor copying files
- Fixed
postrmnow correctly cleans up/var/log/{{ package }}onpurge
- Removed
node-debno longer creates/var/run/{{ package }}. This never worked correctly anyway on systems usingsystemdbecause of a typo.
- Changed
postinstandprermdefault to prioritizingsystemctloverserviceandstart/stopfor stopping and startin services
- Added
- Included
LICENSEinnode-deb's Debian package.
- Included
- Changed
- Added clarifications to
README
- Added clarifications to
- Added
- CLI flag to display the
README - CLI flag to display the
CHANGELOG - More examples to the
README
- CLI flag to display the
- Added
- Command line flag
--extra-filesthat 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 dirextracontains/var/lib/foo.dat, then the Debian package will installfoo.datto/var/lib/at install time.
- Command line flag
- Changed
- Minor formatting changes, updates to
README
- Minor formatting changes, updates to
- Added
- Allows the default Debian dependencies in the
controlfile to be overridden
- Allows the default Debian dependencies in the
- Added
- The dropped commit that fixed
node_modulesinstall step mentioned in release notes from0.1.13
- The dropped commit that fixed
- BREAKING
- The
executabletemplate now by default includes thebashvariable$@as arguments to thestart_command. This is breaking in the sense that is a user set theirstart_commandto something likenode my-exe-thing $@, then this change will pass the arguments twice. - The build step now forces the usage of
fakerootwhile creating the package to avoiduidandgidcollisions between the environment where a package is built and where it is deployed.
- The
- Fixed
debpackages that did not includenode_modulesdid not do annpm installwhen installed withdpkgorapt. Thepostinstnow conditionally installs based on the existence ofnode_modules.
- Added
- Template and command line args for default environment variables. Template is empty for now.
- Fixed
node-debno longer producesjqerrors about missingpackage.jsonwhen run outside a project directory
- Added
- Command line option
--start-commandto allow setting of the start command from the command line
- Command line option
- BREAKING
- Reverting the change from
0.1.9wherenode-debdid not include thenode_modulesdirectory. Now the default behavior is to include this directory and warn when it is not included on the command line.
- Reverting the change from
- Added
- Less tolerance for shell script failures both in
node-debitself and all templates postinsttemplate now runsnpm rebuildto recompile platform specific binaries- This combined with the forced inclusion of
node_modulesandnpm-shrinkwrap.jsonaims to make packages and builds as reproducible as possible.
- This combined with the forced inclusion of
- Less tolerance for shell script failures both in
- Changed
postinstnow runsnpm installwith the--productionoption
- BREAKING
node-debwill no longer include thenode_modulesdirectory, but instead will runnpm installduring thepostinststep in the install directory. Thus, ifpackage.jsonexists, it will be auto included in the.deb.
- Added
- Better script logging
package.jsonandnpm-shrinkwrap.jsonare included by default, and warning messages are displayed if they aren't included- If
node_deb.start_commandis not present inpackage.json, default to usingscripts.start
- Changed
- Using MIT license over GPL license
- Slightly faster copying of files
- Slightly faster md5sum calculations
- Support using
gmd5sumfor packages built on OSX (withbrew install gmd5sum)
- Changed
- Handling of template injection that includes shell redirects
- Added
- Command line flag
--list-template-variablesso users can see which variables are injected into templates - Allow the selections of
systemdandupstartto the--initflag
- Command line flag
- 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 calledbin
- Moved installed files to
- 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_commandin thepackage.json
- The executable's start command now defaults to
- 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
systemdinit support- Ability to disable init (useful for command line tools)
- Command line options for
test.sh(dev only)
- Command line flags for:
- Changed
- Changed references from
binarytoexecutable(because that's what it actually is) - Command line flag
-Nis now named--no-delete-temp
- Changed references from
- Added
- Automatic removal of the
.debstaging directory - Command line flag to prevent deletion of the
.debstaging directory - Add md5sums for all files in the
.debdirectory to theDEBIANdirectory in the package
- Automatic removal of the
- Added
- Check to ensure all target files exist before building
.deb test.shandtest/for automated testing (dev only)
- Check to ensure all target files exist before building
- Fixed
- Correct handling of paths with whitespace
- Added
- Command line flag and
package.jsonfield for Debian package version
- Command line flag and
- 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