Commit Graph

534 Commits

Author SHA1 Message Date
Rod Vagg b3c4cecd82 build: make .msi install to "nodejs", not "node"
PR-URL: https://github.com/nodejs/node/pull/2701
Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-09-07 11:49:40 +10:00
Ben Noordhuis a493dab2e7 cpplint: make it possible to run outside git repo
cpplint uses the top-level .git directory to determine what the root is
for #include guards.  If it doesn't find a .git directory, it walks up
all the way to the system root and subsequently complains that guards
must be written as HOME_USER_SRC_NODE_SRC_FILENAME_H_.

This commit replaces the .git-based path munging with a fixed root path
relative to the location of the cpplint script, making it possible to
successfully run `make test` from an extracted tarball.

Fixes: https://github.com/nodejs/node/issues/2693
PR-URL: https://github.com/nodejs/node/pull/2710
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-09-06 09:28:42 +02:00
Rod Vagg d65106e307 build: fix .pkg creation tooling
PR-URL: https://github.com/nodejs/node/pull/2687
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-09-06 21:38:09 +10:00
Karl Skomski 6ed0603fb1 build: add --enable-asan with builtin leakcheck
PR-URL: https://github.com/nodejs/node/pull/2376
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-09-06 21:38:00 +10:00
Rod Vagg cad0397b9a tools: update release.sh to work with new website
now need to specify "nodejs" or "iojs", also remove .gpg file

PR-URL: https://github.com/nodejs/node/pull/2623
Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
2015-09-01 08:47:59 -04:00
João Reis c6a54d0964 win,msi: correct installation path registry keys
This is a port of 14db629497.

Original commit message:

  Since install is per machine only, installation path should be stored
  in local machine instead of current user. The registry stores HKLM in
  different places for 32 and 64 bit applications, so the installer
  will not suggest the old path when upgrading from 32 to 64 bit
  version.

  Fixes joyent/node#5592
  Fixes joyent/node#25087

  PR-URL: https://github.com/joyent/node/pull/25640
  Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
  Reviewed-By: Bert Belder <bertbelder@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/2565
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-28 10:47:53 +01:00
João Reis 4cfe5eb9af win,msi: change InstallScope to perMachine
This is an adaptation of 8e80528453.

Original commit message:

  The MSI install scope was set to the WiX default, which is per-user.
  However, with UAC, it could not be installed by a standard user
  because InstallPrivileges is elevated by default, hence the install
  scope should be set to per-machine. Furthermore, the default install
  path is a per-machine location and setting the system path requires
  administrator privileges.

  By changing the InstallScope to perMachine, Start Menu shortcuts are
  placed in ProgramData and not the installing user's AppData folder,
  making the shortcuts available to other users. This also fixes the
  installation when AppData is a network folder.

  The custom action is necessary to allow upgrades. Since a per-machine
  MSI cannot upgrade an application installed per-user, the custom
  action checks if there is going to be an upgrade to a previous
  version installed per-user and sets the installation as per-user to
  allow upgrading. Hence, the advantages of installing per-machine will
  only apply in fresh installations.

  Fixes joyent/node#5849
  Fixes joyent/node#7629

  PR-URL: https://github.com/joyent/node/pull/25640
  Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
  Reviewed-By: Bert Belder <bertbelder@gmail.com>

The original commit was adapted to search all upgrade codes listed in
the upgrade table, as the current installer tries to upgrade from two
different upgrade codes.

PR-URL: https://github.com/nodejs/node/pull/2565
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-28 10:47:51 +01:00
Alexis Campailla 8c41b9a826 test: runner should return 0 on flaky tests
Make the test runner return a 0 exit code when only
flaky tests fail and --flaky-tests=dontcare is specified.

Ported from a9b642cf5b

PR-URL: https://github.com/nodejs/node/pull/2424
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-08-27 05:49:18 +02:00
Alexis Campailla c8caf8d616 test: runner support for flaky tests
Adding --flaky-tests option, to allow regarding flaky tests failures
as non-fatal.

Currently only observed by the TapProgressIndicator, which will
add a # TODO directive to tests classified as flaky. According to the
TAP specification, the test harness is supposed to treat failures
that have a # TODO directive as non-fatal.

Ported from df3a2b2cf2

PR-URL: https://github.com/nodejs/node/pull/2424
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-08-27 05:48:59 +02:00
João Reis b630ebaf43 win,msi: Upgrade from old upgrade code
This enables the MSI to upgrade old Node.js versions and
early versions of io.js before the upgrade code was changed.

This also reverts 24def66293.

PR-URL: https://github.com/nodejs/node/pull/2439
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-08-25 12:42:44 +01:00
Ben Noordhuis a2e43412cf tools: make add-on scraper print filenames
Make the tool that generates add-ons from doc/api/addons.markdown print
the names of the files it writes out.  Before this commit, it printed a
rather unhelpful "Done."

PR-URL: https://github.com/nodejs/node/pull/2428
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-08-25 12:05:16 +02:00
João Reis bce1aea425 win: fix custom actions for WiX older than 3.9
This is a port of joyent/node@e192f61514 .

Original commit message:

  Older WiX versions included a header with extern "C" declaration,
  hence the custom action source must be C++.

  Reviewed-By: João Reis <reis@janeasystems.com>
  PR-URL: https://github.com/joyent/node/pull/25569

PR-URL: https://github.com/nodejs/node/pull/2365
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-24 12:06:15 +01:00
Julien Gilli 0acc9b2795 win: fix custom actions on Visual Studio != 2013
This is a port of joyent/node@16bcd68dc5 .

Original commit message:

  The original change that added support for running custom actions
  during the install process
  (joyent/node@e7c84f82c7) assumed that
  Visual Studio 2013 is used to generate the installer file.

  However, that is not always the case, and older versions of Visual
  Studio should allow users to generate Windows installer files. This
  change makes the custom actions visual studio project use the visual
  studio version that is found by vcbuild.bat.

  Reviewed-By: João Reis <reis@janeasystems.com>
  PR-URL: https://github.com/joyent/node/pull/25569

PR-URL: https://github.com/nodejs/node/pull/2365
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-24 12:05:15 +01:00
cjihrig 3b602527d1 node: additional cleanup for node rename
Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-08-23 17:59:43 -04:00
Frederic Hemberger 45a2046f5d installer: fix installers for node.js rename
This commit completes the io.js to Node.js rename in the
Windows installer.

Fixes: https://github.com/nodejs/node/issues/2418
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-23 17:59:43 -04:00
cjihrig a69ab27ab4 node: rename from io.js to node
This commit replaces instances of io.js with Node.js, based on the
recent convergence. There are some remaining instances of io.js,
related to build and the installer.

Fixes: https://github.com/nodejs/node/issues/2361
PR-URL: https://github.com/nodejs/node/pull/2367
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-23 17:59:43 -04:00
James M Snell b897af4558 tools: add license boilerplate to check-imports.sh
Per: https://github.com/joyent/node/pull/6962

This applies only the first commit from https://github.com/joyent/node/pull/6962.

/cc @bnoorduis

Reviewed By: Ben Noordhuis <ben@strongloop.com>
PR-URL: https://github.com/nodejs/node/pull/2386
2015-08-23 08:55:12 -07:00
Matt Loring 7bdf7da867 tools: run the tick processor without building v8
Currently, v8 native deps must be built in order to run the log
processor on node profiling output. These scripts use node instead
of d8 to remove this dependency.

This change was originally proposed to the v8 team but since the
changes are not v8 specific, we have moved the proposal here. See:
https://codereview.chromium.org/1179173009/

PR-URL: https://github.com/nodejs/node/pull/2090
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-08-18 02:33:41 +02:00
Steven R. Loomis 4c06515a2f build: work around VS2015 issue in ICU <56
The particular ufile.c is from
http://bugs.icu-project.org/trac/changeset/37704
and should be OK for ICU 54 and 55.

Also, adds general mechanism for floating patches on top of ICU.

Fixes: https://github.com/nodejs/node/issues/2279
PR-URL: https://github.com/nodejs/node/pull/2283
Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-14 21:16:34 +01:00
Steven R. Loomis 6dc01eb7fd
build: Intl: bump ICU4C from 54 to 55
node was using ICU4C 54 ( released 2014-oct-06 )

* Bump to ICU4C 55 ( released 2015-apr-08)
 * Timezone fixes, translation fixes, bug/performance fixes.
 * Speed improvements in date formatting
 * ICU4C 55 changelog: http://site.icu-project.org/download/55
 * CLDR 27 changelog: http://cldr.unicode.org/index/downloads/cldr-27

* Retarget the file exclusions from ICU4C 54 to ICU4C 55
 * (improves on-disk footprint on some platforms)

Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Fixes: https://github.com/nodejs/node/issues/2292
PR-URL: https://github.com/nodejs/node/pull/2293
2015-08-13 06:44:27 -07:00
João Reis a642a76ef4 test: option to run a subset of tests
With this option, tests can be divided in groups and only one is run
from each group. This enables us to parallelize the tests across
multiple machines.

PR-URL: https://github.com/nodejs/io.js/pull/2260
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-08-13 10:21:24 +01:00
Frederic Hemberger 971de5e417 build: prepare Windows installer for i18n support
PR-URL: https://github.com/nodejs/io.js/pull/2247
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-08-04 11:56:17 -07:00
Michael Dawson b4226e797a build: first set of updates to enable PPC support
These are the core changes that allow pLinux BE/LE compile. They
don't include all of the changes needed for AIX which will follow
once we have pLinux up and running in the builds

PR-URL: https://github.com/nodejs/io.js/pull/2124
Reviewed-By: Ben Noordhuis <ben@strongloop.com>
Reviewed-By: Johan Bergstrom <bugs@bergstroem.nu>
2015-08-04 11:56:16 -07:00
Ben Noordhuis 70d1f32f56 deps: update v8 to 4.4.63.9
Upgrade the bundled V8 and update code in src/ and lib/ to the new API.

Notable backwards incompatible changes are the removal of the smalloc
module and dropped support for CESU-8 decoding.  CESU-8 support can be
brought back if necessary by doing UTF-8 decoding ourselves.

This commit includes https://codereview.chromium.org/1192973004 to fix
a build error on python 2.6 systems.  The original commit log follows:

    Use optparse in js2c.py for python compatibility

    Without this change, V8 won't build on RHEL/CentOS 6 because the
    distro python is too old to know about the argparse module.

PR-URL: https://github.com/nodejs/io.js/pull/2022
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-08-04 11:56:14 -07:00
Johan Bergström 3cbb5870e5 tools: expose skip output to test runner
In the TAP protocol, skips are flagged as ok. Expose more
information so we can understand if the test was skipped or not.

PR-URL: https://github.com/nodejs/io.js/pull/2130
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-07-30 08:45:03 +02:00
Jeremiah Senkpiel 68b06e94e3 tools: use local or specified $NODE for test-npm
PR-URL: https://github.com/nodejs/io.js/pull/1984
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-07-24 17:58:49 -07:00
Ali Ijaz Sheikh ee3ce2ed88 tools: install gdbinit from v8 to $PREFIX/share
gdbinit provided by V8 can be very useful for low-level debugging of
crashes in node and in binary addons. Most useful commands at 'jst'
for JS stack traces and 'job' for printing a heap object.

This patch installs the file at $PREFIX/share/doc/node/gdbinit.

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/nodejs/io.js/pull/2123
2015-07-07 14:59:31 -07:00
Shigeki Ohtsu 58e914f9bc tools: fix gyp to work on MacOSX without XCode
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.

PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-30 13:40:40 +02:00
Ben Noordhuis 99cbbc0a13 tools: update gyp to 25ed9ac
Includes improved support for VS 2015[0] and makes it possible to build
with ninja again[1].

[0] https://codereview.chromium.org/1112753003
[1] https://codereview.chromium.org/1209553002

Fixes: https://github.com/nodejs/io.js/pull/2065
PR-URL: https://github.com/nodejs/io.js/pull/2074
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-06-30 13:38:26 +02:00
Roman Reiss d91e10b3bd tools: update eslint to 0.24.0
PR-URL: https://github.com/nodejs/io.js/pull/2072
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Alex Kocharin <alex@kocharin.ru>
2015-06-29 19:02:17 +02:00
Rod Vagg 628a3ab093 build: add tar-headers target for headers-only tar
to replace the full src download by node-gyp, using the proper format
instead of the full source format

PR-URL: https://github.com/nodejs/io.js/pull/1975
Reviewed-By: William Blankenship <william.jblankenship@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-25 19:17:58 +10:00
Rod Vagg dcbb9e1da6 build: update build targets for io.js
PR-URL: https://github.com/nodejs/io.js/pull/1938
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-06-25 15:22:27 +10:00
Jeremiah Senkpiel 91dfb5e094 tools: make test-npm work without global npm
Futher discussion at https://github.com/joyent/node/pull/25294

PR-URL: https://github.com/nodejs/io.js/pull/1926
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2015-06-17 09:25:33 -07:00
Roman Reiss 6e4d30286d tools: enable/add additional eslint rules
Enables the following rules:

- no-undef: Valuable rule to error on usage of undefined variables
- require-buffer: Custom rule that forbids usage of the global Buffer
  inside lib/ because of REPL issues.

PR-URL: https://github.com/nodejs/io.js/pull/1794
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-11 20:27:35 +02:00
Ben Noordhuis 098354a9f8 tools: update certdata.txt
This is the latest certdata.txt from [0], last updated on 2015-04-20.

[0] https://hg.mozilla.org/mozilla-central/raw-file/aa275ad846f1/security/nss/lib/ckfw/builtins/certdata.txt

PR-URL: https://github.com/nodejs/io.js/pull/1833
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-06-02 19:27:49 +02:00
Ben Noordhuis a2d921d6a0 tools: customize mk-ca-bundle.pl
Remove unneeded functionality and tweak the generated output so we
can #include it in C++ source code.

This commit essentially reapplies the changes from commit e159073
("tools: customize mk-ca-bundle.pl") to the updated script.

PR-URL: https://github.com/nodejs/io.js/pull/1833
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-06-02 19:27:47 +02:00
Ben Noordhuis 5be9efca40 tools: update mk-ca-bundle.pl to HEAD of upstream
PR-URL: https://github.com/nodejs/io.js/pull/1833
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-06-02 19:27:13 +02:00
thefourtheye 1baba0580d tools: Fix copying contents of deps/npm
This fixes a platform inconsistency between BSD and GNU `cp` where
`deps/npm` would be copied into a subdirectory of `test-npm` on Linux,
but not on OS X.

PR-URL: https://github.com/nodejs/io.js/pull/1853
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-01 07:19:36 +02:00
Johan Bergström 8606793999 tools: pass constant to logger instead of string
On a few of our installations (namely CentOS), passing 'INFO'
resulted in a silent loglevel. Use a logging constant instead.

Fixes: https://github.com/nodejs/build/issues/104
PR-URL: https://github.com/nodejs/io.js/pull/1842
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-05-30 14:46:22 +10:00
Jeremiah Senkpiel 0b21ab13b7 tools: refactor `make test-npm` into test-npm.sh
Extracts test-npm from Makefile and puts it in tools/test-npm.sh
Also improves test-npm to use a separate copy of deps/npm for testing.

PR-URL: https://github.com/iojs/io.js/pull/1662
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2015-05-12 11:12:33 -04:00
Yosuke Furukawa f9dd34d301 tools: replace closure-linter with eslint
PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2015-05-09 12:09:52 +09:00
thefourtheye b97b96d05a install: fix NameError
If `len(args)` is less than two, then
`install_path = dst_dir + node_prefix + '/'` would throw a `NameError`,
because `dst_dir` will not be defined yet. So we are assigning `''` as
the default value.

PR-URL: https://github.com/iojs/io.js/pull/1628
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-07 12:42:08 -04:00
thefourtheye 0c8f13df8f tools: remove unused GuessWordSize function
Apart from the fact that the implementation is not reliable,
GuessWordSize is not used anywhere in the codebase.

PR-URL: https://github.com/iojs/io.js/pull/1638
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-06 16:28:56 -04:00
Dan Varga 39d395c966 build: minor changes to fix rpm build
PR-URL: https://github.com/iojs/io.js/pull/1408
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-13 17:53:37 +02:00
Johan Bergström 66db9241cb tools: Remove unused files
Stray files used in the previous release process

PR-URL: https://github.com/iojs/io.js/pull/1406
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-13 18:47:14 +10:00
Johan Bergström f9a2d31b32 build: Simplify fetching release version
PR-URL: https://github.com/iojs/io.js/pull/1405
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-04-13 18:05:49 +10:00
Shigeki Ohtsu 8bc8bd4bc2 tools: add to install deps/openssl/config/archs
PR-URL: https://github.com/iojs/io.js/pull/1377
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-10 09:54:25 +09:00
Roman Reiss 7049d7b474 test: increase timeouts on ARM
This commit introduces platform-specific test timeouts for the ARM
architectures. ARMv6 is notoriously slow so gets very large timeouts on
both the timeout value for each test, as well as certain problematic
individual tests. ARMv7 and ARMv8 also get slightly increased headroom.

PR-URL: https://github.com/iojs/io.js/pull/1366
Fixes: https://github.com/iojs/io.js/issues/1343
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-09 15:10:34 +02:00
Ben Noordhuis 3066f2c0c3 test: double test timeout on arm machines
The ARM buildbots are notoriously slow.  Update the test runner to
double the per-test time limit when it's running on one of them.

PR-URL: https://github.com/iojs/io.js/pull/1357
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-07 16:18:12 +02:00
Johan Bergström d726a177ed build: Remove building against a shared V8
This action is to encourage packagers to not build against a
shared V8 library since even minor bumps of V8 can create issues.

PR-URL: https://github.com/iojs/io.js/pull/1331
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-07 15:02:42 +10:00
Oguz Bastemur ec7fbf2bb2 tools: fix install source path for openssl headers
This part is broken for a very long time. We noticed the problem while
using jxcore native interface with embedded openssl. I've also sent a
pull request to node.js repo. The problem may affect a native addon
using builtin openssl. `opensslconf.h` is overwritten with
`deps/openssl/conf/opensslconf.h`

PR-URL: https://github.com/iojs/io.js/pull/1354
Reviewed-By:  Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-06 17:20:36 +09:00
Shigeki Ohtsu 644ece1f67 tools: remove gyp test directory
gyp tests are not performed in iojs and it's size about 8M bytes. We
can check gyp tests outside of iojs and reduce the size of the
repository by removing them.

PR-URL: https://github.com/iojs/io.js/pull/1350
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-04-06 12:31:39 +09:00
Shigeki Ohtsu eb459c8151 tools: fix gyp to work on MacOSX without XCode
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.

PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 12:37:26 +09:00
Fedor Indutny 15f058f609 gyp: fix build with python 2.6
Fixes: https://github.com/joyent/node/issues/6859
PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-04 12:36:53 +09:00
Shigeki Ohtsu 21f4fb6215 deps: update gyp to e1c8fcf7
PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 11:01:26 +09:00
Ben Noordhuis 36f017afaf js2c: fix module id generation on windows
Fix a regression that was introduced in commit 2db758c ("iojs: introduce
internal modules") where the computed id for "config.gypi" on Windows
was not "config" but an empty string.

With an empty string, the build succeeds but the binary is unusable:
startup.processConfig() in src/node.js chokes on the missing .config
property.

PR-URL: https://github.com/iojs/io.js/pull/1281
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
2015-03-27 11:10:25 +01:00
Vladimir Kurchatkin 2db758c562 iojs: introduce internal modules
Internal modules can be used to share private code between
public modules without risk to expose private APIs to the
user.

PR-URL: https://github.com/iojs/io.js/pull/848
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-03-25 22:12:18 +03:00
Ben Noordhuis d33a647b4b doc: make tools/update-authors.sh cross-platform
And by cross-platform I mean Linux and OS X.  The awk script is not
compatible with BSD awk, that's why this commit changes it to perl.

Update the .mailmap to remove some duplicates and regenerate the
AUTHORS file.

Fixes: https://github.com/iojs/io.js/issues/1120
PR-URL: https://github.com/iojs/io.js/pull/1121
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-03-11 13:25:17 +01:00
Johan Bergström 37bb1df7c4 build: remove mdb from io.js
After upgrading to a newer v8 mdb is pretty much broken - even if using
the latest updates from nodejs. If nodejs decides to update their v8 we
can give it another go, but for now it's better to remove it than have
it in our tree unsupported.

PR-URL: https://github.com/iojs/io.js/pull/1023
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-03-05 23:10:45 +01:00
Johan Bergström a45d4f8fd6 build: remove tools/wrk from the tree
wrk is an optional tool that some of the http benchmarks uses. The removal
doesn't affect any users. Developers are assumed to install it before running
the tests.

This change reduces the tarball by 5%

PR-URL: https://github.com/iojs/io.js/pull/982
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-03-04 20:25:41 -08:00
Johan Bergström a7bdce249c test: support writing test output to file
This is a minimal effort to support test output written both to
stdout and file in order to get our buildbots understanding
test output.

PR-URL: https://github.com/iojs/io.js/pull/934
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-02-24 12:02:42 -06:00
Rod Vagg 20f8e7f17a test: remove flaky test functionality
Reverts https://github.com/joyent/node/pull/8689

PR-URL: https://github.com/iojs/io.js/pull/812
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-02-16 15:27:33 +11:00
Rod Vagg df48fafa92 tools: add release tool and docs, remove old tools
Also added binary download documentation to the README.md and
GPG release key fingerprint for @rvagg.

PR-URL: https://github.com/iojs/io.js/pull/681
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-02-04 09:02:15 +11:00
Mathias Küsel 668bde8ac0 win,msi: broadcast WM_SETTINGCHANGE after install
In theory the msi should broadcast a 'WM_SETTINGCHANGE' message to all
windows after modifying the PATH environment variable. This ensures that
the new PATH is visible to other processes without restarting windows
(although it's still necessary to close and reopen active console
windows).

Unfortunately, the broadcast doesn't always happen, for unknown reasons.
That's why this patch adds a custom action that unconditionally
broadcasts a WM_SETTINGCHANGE message.

Bug: https://github.com/iojs/io.js/issues/603
PR: https://github.com/iojs/io.js/pull/613
Reviewed-by: Bert Belder <bertbelder@gmail.com>
2015-01-27 16:18:26 +01:00
Rod Vagg 73ddaa629c tools: remove old updateAuthors.awk script
Using the new tools/update-authors.sh script so this is
redundant

PR-URL: https://github.com/iojs/io.js/pull/582
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-24 22:02:41 +11:00
Shigeki Ohtsu 62422297f5 tools: add python-gflags module
closure_linter needs the gflags module.

PR-URL: https://github.com/iojs/io.js/pull/464
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-16 09:13:23 +01:00
Rod Vagg 265cb76517 build: add new installer config for OS X
Works with PackageMaker (old tool, discontinued but still
available for download from Apple).

index.xml is now templated to insert the version number.

PR-URL: https://github.com/iojs/io.js/pull/435
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-01-16 14:04:15 +11:00
Yosuke Furukawa 946eabd18f tools: update closure linter to 2.3.17
PR-URL: https://github.com/iojs/io.js/pull/449
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-15 21:21:18 +01:00
Bert Belder 24def66293 win,msi: warn that older io.js needs manual uninstall
Because the UpgradeCode changes with version 1.0.2, older versions won't
be uninstalled automatically. This patch puts a warning in the
installer.

PR: https://github.com/iojs/io.js/pull/431
Reviewed-by: Rod Vagg <rod@vagg.org>
2015-01-15 01:43:40 +01:00
Bert Belder 59d93613d8 win,msi: change UpgradeCode
This allows node.js and io.js to be installed side-by-side.

PR: https://github.com/iojs/io.js/pull/431
Reviewed-by: Rod Vagg <rod@vagg.org>
2015-01-15 01:41:40 +01:00
Bert Belder da955fb655 win,msi: correct doc website link 2015-01-14 04:43:21 +01:00
Rod Vagg e3c96c07f1 build: rename ChangeLog to CHANGELOG.md in build
This only matters for the Makefile tarball target
as we aren't auto-building changelog.html at the moment
so the changes in tools/ are for completeness, but
not functional with the Markdown CHANGELOG.md.

PR-URL: https://github.com/iojs/io.js/pull/357

no review
2015-01-14 13:27:29 +11:00
Bert Belder 909df70694 win: use the new io.js icon
PR: https://github.com/iojs/io.js/pull/356
Reviewed-by: Rod Vagg <rod@vagg.com>
2015-01-14 03:25:01 +01:00
Bert Belder 42c31f4f2d win,msi: link node.exe to iojs.exe
Add a feature to the MSI installer that, when selected, hard-links
node.exe to iojs.exe.

PR: https://github.com/iojs/io.js/pull/346
Reviewed-by: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-by: Rod Vagg <rod@vagg.com>
2015-01-14 02:17:10 +01:00
Ben Noordhuis 7861ff4728 test: create test-ci, modify test-all, fix cpplint
test: add test/addons to default test list

`make test-all` and `python tools/test.py` will now also run the addon
tests in test/addons.

test: remove test-npm from test-all make target

The test-npm target builds documentation, changes versioned files,
clutters the current working directory with artifacts, etc.  In short,
it doesn't seem quite ready for inclusion in `make test-all`.

test: add test-ci target, reduced test-all

Add a test-ci target that is like test-all minus the (slow) pummel and
gc test suites.

This is primarily intended for the continuous integration, where we want
decent coverage but don't want to wait for ages for tests to complete.

cpplint: add -license/copyright to default filters

Commit 3e1b1dd ("Remove excessive copyright/license boilerplate") trips
up the copyright boilerplate style check.  Disable it.

PR-URL: https://github.com/iojs/io.js/pull/314
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-01-13 13:46:52 +11:00
isaacs 3e1b1dd4a9 Remove excessive copyright/license boilerplate
The copyright and license notice is already in the LICENSE file.  There
is no justifiable reason to also require that it be included in every
file, since the individual files are not individually distributed except
as part of the entire package.
2015-01-12 15:30:28 -08:00
Rod Vagg 43e4c906e2 src: rename node to io.js for Windows installer
* quote "NODE_VERSION_STRING" in node.rc to allow for complex version
  strings
* change user-facing strings
* make sure .bat files are crlf

PR-URL: https://github.com/iojs/io.js/pull/291
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com>
2015-01-13 09:44:34 +11:00
Steven Rockarts e431cae7e7 win,msi: create npm folder in AppData directory
Create the empty npm folder in Roaming\Appdata so that non-Administrator
users have a place to store global packages. This fixes the error Error:
ENOENT, stat error that occurs when a user tries to run the npm install
<package> command.

Bug: https://github.com/joyent/node/issues/8141
PR: https://github.com/joyent/node/pull/8838
Reviewed-by: Bert Belder <bertbelder@gmail.com>

Please enter the commit message for your changes. Lines starting
2015-01-12 23:06:29 +01:00
Chris Dickinson 9120f2b1fd doc: update style for iojs
* updates the styling for the iojs docs
* pulls the processing step for markdown files into
  a separate module
* adds the ability to insert comments into the markdown

PR-URL: https://github.com/iojs/io.js/pull/297
Fixes: https://github.com/iojs/iojs.github.io/issues/23
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-01-12 13:44:50 -08:00
Bert Belder b57e9a9973 win,test: try again if file unlink fails
Now that parallel tests are enabled, the test runner spits out a ton of
'access denied' errors while running the tests. These happen because a
virus scanner or the indexing service temporarily open the file after it
has been updated, and the test runner tries to unlink() them at the same
time.

This patch resolves this issue by attempting to unlink the file until it
succeeds.

PR-URL: https://github.com/iojs/io.js/pull/284
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-11 01:54:35 +01:00
Chris Dickinson 12912c6b30 tools: enable ctrl-c for parallel tests
use a threading.Event instead of a boolean attribute.

PR-URL: https://github.com/iojs/io.js/pull/277
Fixes: https://github.com/iojs/io.js/issues/260
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-09 15:23:19 -08:00
Bert Belder 156cd82ef4 win,nodevars: run iojs.exe to get node version
PR-URL: https://github.com/iojs/io.js/pull/263
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 23:32:18 +01:00
Bert Belder 0430215dea win,msi: rename node.exe to iojs.exe
This change is strictly limited to the name of the binary. The shortcut
name, install folder, docs website links etc. are all unchanged.

PR-URL: https://github.com/iojs/io.js/pull/263
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 23:32:18 +01:00
Bert Belder facc0565ca win: regenerate perfctr provider files
PR-URL: https://github.com/iojs/io.js/pull/263
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-08 23:32:17 +01:00
Ben Noordhuis 72f1b348b0 install: install iojs -> node compat symlink
Install a symlink for compatibility with scripts that expect a binary
called `node` or have a /path/to/node shebang.  Only done on UNIX
platforms because symlinks on Windows require elevated privileges.

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:23 +01:00
Ben Noordhuis f17f473af5 build: rename binary from node to iojs
* rename the build targets

* update the test runner to use `out/{Debug,Release}/iojs`

* update the installer to install the iojs binary

* update one test that explicitly checks for the binary name

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:20 +01:00
Ben Noordhuis 3e7a25dd95 test: remove --use-http1 test runner flag
The flag was used for a short while during the v0.5 development cycle,
four years ago.  Remove it, it's long overdue.

PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:18 +01:00
Ben Noordhuis 3f8b76ebd5 doc: rename node.1 -> iojs.1
PR-URL: https://github.com/iojs/io.js/pull/262
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-01-08 23:21:12 +01:00
Rod Vagg 53ba494537 doc: update AUTHORS, .mailmap, add authors tool
PR-URL: https://github.com/iojs/io.js/pull/232
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-01-07 12:40:29 +11:00
Ben Noordhuis 94e147500c Merge remote-tracking branch 'joyent/v0.12' into v1.x
I was originally going to do this after the v0.11.15 release, but as
that release is three weeks overdue now, I decided not to wait any
longer; we don't want the delta to get too big.

Conflicts:
	lib/net.js
	test/simple/simple.status

PR-URL: https://github.com/iojs/io.js/pull/236
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-05 17:26:47 +01:00
Steven R. Loomis a30839576c build: i18n: add icu config options
Make "--with-intl=none" the default and add "intl-none" option to
vcbuild.bat.

If icu data is missing print a warning unless either --download=all or
--download=icu is set. If set then automatically download, verify (MD5)
and unpack the ICU data if not already available.

There's a "list" of URLs being used, but right now only the first is
picked up. The logic works something like this:

* If there is no directory deps/icu,
  * If no zip file (currently icu4c-54_1-src.zip),
    * Download zip file (icu-project.org -> sf.net)
  * Verify the MD5 sum of the zipfile
    * If bad, print error and exit
  * Unpack the zipfile into deps/icu
* If deps/icu now exists, use it, else fail with help text

Add the configuration option "--with-icu-source=..."

Usage:
  * --with-icu-source=/path/to/my/other/icu
  * --with-icu-source=/path/to/icu54.zip
  * --with-icu-source=/path/to/icu54.tgz
  * --with-icu-source=http://example.com/icu54.tar.bz2

Add the configuration option "--with-icu-locals=...".  Allows choosing
which locales are used in the "small-icu" case.

Example:
    configure --with-intl=small-icu --with-icu-locales=tlh,grc,nl

(Also note that as of this writing, neither Klingon nor Ancient Greek
are in upstream CLDR data. Serving suggestion only.)

Don't use hard coded ../../out paths on windows. This was suggested by
@misterdjules as it causes test failures.  With this fix, "out" is no
longer created on windows and the following can run properly:

    python tools/test.py simple

Reduce space by about 1MB with ICU 54 (over without this patch). Also
trims a few other source files, but only conditional on the exact ICU
version used. This is to future-proof - a file that is unneeded now may
be needed in future ICUs.

Also:
  * Update distclean to remove icu related files
  * Refactor some code into tools/configure.d/nodedownload.py
  * Update docs
  * Add test

PR-URL: https://github.com/joyent/node/pull/8719
Fixes: https://github.com/joyent/node/issues/7676#issuecomment-64704230
[trev.norris@gmail.com small change to test's whitespace and logic]
Signed-off-by: Trevor Norris <trev.norris@gmail.com>
2015-01-02 16:51:53 -08:00
Fedor Indutny b7d247856e test: run tests in parallel, common improvements
* Allow running tests in mixed parallel/sequential modes
* Add -J flag for running tests on all available CPUs
* Support TEST_THREAD_ID in test/common.js and use it for tmpDir and PORT
* make: use -J flag

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/172
Fix: iojs/io.js#139
2014-12-17 20:45:37 +07:00
Fedor Indutny 0e19476595 test: split test in parallel/sequential
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/iojs/io.js/pull/172
Fix: iojs/io.js#139
2014-12-17 20:45:02 +07:00
Alexis Campailla 7f87b82fc4 test: runner support for flaky tests
Adding --flaky-tests option, to allow regarding flaky tests failures
as non-fatal.

Currently only observed by the TapProgressIndicator, which will
add a # TODO directive to tests classified as flaky. According to the
TAP specification, the test harness is supposed to treat failures
that have a # TODO directive as non-fatal.
2014-12-09 17:57:11 +01:00
Ben Noordhuis 993fadb1f2 build: rename rpmbuild .spec file
Rename the .spec file from node.spec to iojs.spec and update the build
script.  Done as a separate commit to not obscure the changes from the
previous commit.

PR-URL: https://github.com/iojs/io.js/pull/71
Reviewed-By: Rod Vagg <rod@vagg.org>
2014-12-05 21:34:43 +01:00
Ben Noordhuis 79da2baf9e build: update rpmbuild .spec file
Rename the package to iojs.  No Conflicts: header is necessary because
the package was already marked as conflicting with the Fedora nodejs
package.

PR-URL: https://github.com/iojs/io.js/pull/71
Reviewed-By: Rod Vagg <rod@vagg.org>
2014-12-05 21:34:20 +01:00
Alexis Campailla df3a2b2cf2 test: runner support for flaky tests
Adding --flaky-tests option, to allow regarding flaky tests failures
as non-fatal.

Currently only observed by the TapProgressIndicator, which will
add a # TODO directive to tests classified as flaky. According to the
TAP specification, the test harness is supposed to treat failures
that have a # TODO directive as non-fatal.
2014-12-04 17:22:14 +01:00
Johan Bergström 766d063e05 configure: remove shared cares build option
Bundled cares differs from upstream which will result
in a compilation error when trying to used a shared cares.

Fixes: https://github.com/joyent/node/pull/8786
PR-URL: https://github.com/iojs/io.js/pull/38
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2014-12-04 21:20:28 +11:00
Ben Noordhuis fcbbc7a050 Merge remote-tracking branch 'joyent/v0.12' into v0.12
Conflicts:
	Makefile
	deps/v8/src/base/platform/platform.h

PR-URL: https://github.com/node-forward/node/pull/65
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2014-11-22 17:55:59 +01:00
Steven Loomis 855b1c98ca build: i18n: support little-endian machines
Note that this may not affect anything until powerpc support lands in
v8.

Related: https://github.com/srl295/node/issues/7
Related: ba8ab91bc4
PR-URL: https://github.com/joyent/node/pull/8712
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2014-11-13 11:25:55 -08:00