Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/v0.8'
Browse files Browse the repository at this point in the history
Conflicts:
	ChangeLog
	src/node_version.h
	test/message/stdin_messages.out
	tools/install.py
  • Loading branch information
bnoordhuis committed Aug 17, 2012
2 parents 90ea681 + 9918e5d commit a177f55
Show file tree
Hide file tree
Showing 316 changed files with 4,168 additions and 2,029 deletions.
2 changes: 2 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -354,3 +354,5 @@ Pavel Lang <[email protected]>
Peter Rybin <[email protected]>
Eugen Dueck <[email protected]>
Gil Pedersen <[email protected]>
Tyler Neylon <[email protected]>
Golo Roden <[email protected]>
48 changes: 47 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,53 @@
* Fix #3521 Make process.env more like a regular Object (isaacs)


2012.08.02, Version 0.8.5 (Stable)
2012.08.15, Version 0.8.7 (Stable)

* npm: Upgrade to 1.1.49

* website: download page (Golo Roden)

* crypto: fix uninitialized memory access in openssl (Ben Noordhuis)

* buffer, crypto: fix buffer decoding (Ben Noordhuis)

* build: compile with -fno-tree-vrp when gcc >= 4.0 (Ben Noordhuis)

* tls: handle multiple CN fields when verifying cert (Ben Noordhuis)

* doc: remove unused util from child_process (Kyle Robinson Young)

* build: rework -fvisibility=hidden detection (Ben Noordhuis)

* windows: don't duplicate invalid stdio handles (Bert Belder)

* windows: fix typos in process-stdio.c (Bert Belder)


2012.08.07, Version 0.8.6 (Stable), 0544a586ca6b6b900a42e164033dbf350765700a

* npm: Upgrade to v1.1.48

* Add 'make binary' to build binary tarballs for all Unixes (Nathan Rajlich)

* zlib: Emit 'close' on destroy(). (Dominic Tarr)

* child_process: Fix stdout=null when stdio=['pipe'] (Tyler Neylon)

* installer: prevent ETXTBSY errors (Ben Noordhuis)

* installer: honor --without-npm, default install path (Ben Noordhuis)

* net: make pause work with connecting sockets (Bert Belder)

* installer: fix cross-compile installs (Ben Noordhuis)

* net: fix .listen({fd:0}) (Ben Noordhuis)

* windows: map WSANO_DATA to UV_ENOENT (Bert Belder)


2012.08.02, Version 0.8.5 (Stable), 9b86a4453f0c76f2707a75c0b2343aba33ec63bc

* node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)

Expand Down
81 changes: 57 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ apidoc_sources = $(wildcard doc/api/*.markdown)
apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html)) \
$(addprefix out/,$(apidoc_sources:.markdown=.json))

apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets out/doc/about out/doc/community out/doc/logos out/doc/images
apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets out/doc/about out/doc/community out/doc/download out/doc/logos out/doc/images

apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))

Expand All @@ -132,6 +132,7 @@ website_files = \
out/doc/pipe.css \
out/doc/about/index.html \
out/doc/community/index.html \
out/doc/download/index.html \
out/doc/logos/index.html \
out/doc/changelog.html \
$(doc_images)
Expand Down Expand Up @@ -192,18 +193,54 @@ docclean:
-rm -rf out/doc

VERSION=v$(shell $(PYTHON) tools/getnodeversion.py)
RELEASE=$(shell $(PYTHON) tools/getnodeisrelease.py)
PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
DESTCPU ?= x64
else
DESTCPU ?= ia32
endif
ifeq ($(DESTCPU),x64)
ARCH=x64
else
ARCH=x86
endif
TARNAME=node-$(VERSION)
TARBALL=$(TARNAME).tar.gz
BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
BINARYTAR=$(BINARYNAME).tar.gz
PKG=out/$(TARNAME).pkg
packagemaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker

dist: doc $(TARBALL) $(PKG)

PKGDIR=out/dist-osx

release-only:
@if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
exit 0 ; \
else \
echo "" >&2 ; \
echo "The git repository is not clean." >&2 ; \
echo "Please commit changes before building release tarball." >&2 ; \
echo "" >&2 ; \
git status --porcelain | egrep -v '^\?\?' >&2 ; \
echo "" >&2 ; \
exit 1 ; \
fi
@if [ "$(RELEASE)" = "1" ]; then \
exit 0; \
else \
echo "" >&2 ; \
echo "#NODE_VERSION_IS_RELEASE is set to $(RELEASE)." >&2 ; \
echo "Did you remember to update src/node_version.cc?" >&2 ; \
echo "" >&2 ; \
exit 1 ; \
fi

pkg: $(PKG)

$(PKG):
$(PKG): release-only
rm -rf $(PKGDIR)
rm -rf out/deps out/Release
./configure --prefix=$(PKGDIR)/32/usr/local --without-snapshot --dest-cpu=ia32
Expand All @@ -224,27 +261,7 @@ $(PKG):
--out $(PKG)
SIGN="$(SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh

$(TARBALL): node doc
@if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
exit 0 ; \
else \
echo "" >&2 ; \
echo "The git repository is not clean." >&2 ; \
echo "Please commit changes before building release tarball." >&2 ; \
echo "" >&2 ; \
git status --porcelain | egrep -v '^\?\?' >&2 ; \
echo "" >&2 ; \
exit 1 ; \
fi
@if [ $(shell ./node --version) = "$(VERSION)" ]; then \
exit 0; \
else \
echo "" >&2 ; \
echo "$(shell ./node --version) doesn't match $(VERSION)." >&2 ; \
echo "Did you remember to update src/node_version.cc?" >&2 ; \
echo "" >&2 ; \
exit 1 ; \
fi
$(TARBALL): release-only node doc
git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
mkdir -p $(TARNAME)/doc/api
cp doc/node.1 $(TARNAME)/doc/node.1
Expand All @@ -256,6 +273,22 @@ $(TARBALL): node doc
rm -rf $(TARNAME)
gzip -f -9 $(TARNAME).tar

tar: $(TARBALL)

$(BINARYTAR): release-only
rm -rf $(BINARYNAME)
rm -rf out/deps out/Release
./configure --prefix=/ --without-snapshot --dest-cpu=$(DESTCPU)
$(MAKE) install DESTDIR=$(BINARYNAME) V=$(V) PORTABLE=1
cp README.md $(BINARYNAME)
cp LICENSE $(BINARYNAME)
cp ChangeLog $(BINARYNAME)
tar -cf $(BINARYNAME).tar $(BINARYNAME)
rm -rf $(BINARYNAME)
gzip -f -9 $(BINARYNAME).tar

binary: $(BINARYTAR)

dist-upload: $(TARBALL) $(PKG)
ssh [email protected] mkdir -p web/nodejs.org/dist/$(VERSION)
scp $(TARBALL) [email protected]:~/web/nodejs.org/dist/$(VERSION)/$(TARBALL)
Expand All @@ -280,4 +313,4 @@ cpplint:

lint: jslint cpplint

.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install install-includes install-bin all staticlib dynamiclib test test-all website-upload pkg blog blogclean
.PHONY: lint cpplint jslint bench clean docopen docclean doc dist distclean check uninstall install install-includes install-bin all staticlib dynamiclib test test-all website-upload pkg blog blogclean tar binary release-only
7 changes: 6 additions & 1 deletion common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
'component%': 'static_library', # NB. these names match with what V8 expects
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
'gcc_version%': 'unknown',
'clang%': 0,

# Turn on optimizations that may trigger compiler bugs.
# Use at your own risk. Do *NOT* report bugs if this option is enabled.
Expand Down Expand Up @@ -53,7 +55,7 @@
'cflags': [ '-O3', '-ffunction-sections', '-fdata-sections' ],
'ldflags': [ '-Wl,--gc-sections' ],
}, {
'cflags': [ '-O2', '-fno-strict-aliasing', '-fno-tree-vrp' ],
'cflags': [ '-O2', '-fno-strict-aliasing' ],
'cflags!': [ '-O3', '-fstrict-aliasing' ],
'conditions': [
# Required by the dtrace post-processor. Unfortunately,
Expand All @@ -64,6 +66,9 @@
}, {
'cflags!': [ '-ffunction-sections', '-fdata-sections' ],
}],
['clang==1 or gcc_version >= 40', {
'cflags': [ '-fno-tree-vrp' ],
}],
],
}],
['OS=="solaris"', {
Expand Down
7 changes: 6 additions & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -333,8 +333,13 @@ def configure_node(o):
o['variables']['v8_use_arm_eabi_hardfloat'] = b(hard_float)
o['variables']['armv7'] = 1 if is_arch_armv7() else 0

# clang has always supported -fvisibility=hidden, right?
cc_version, is_clang = compiler_version()
o['variables']['clang'] = 1 if is_clang else 0

if not is_clang and cc_version != 0:
o['variables']['gcc_version'] = 10 * cc_version[0] + cc_version[1]

# clang has always supported -fvisibility=hidden, right?
if not is_clang and cc_version < (4,0,0):
o['variables']['visibility'] = ''

Expand Down
2 changes: 1 addition & 1 deletion deps/npm/.travis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
language: node_js
before_install: "make &>out || cat out; rm out"
node_js:
- 0.6
- 0.8
3 changes: 3 additions & 0 deletions deps/npm/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,6 @@ James Halliday <[email protected]>
Jeremy Cantrell <[email protected]>
Ribettes <[email protected]>
Don Park <[email protected]>
Kei Son <[email protected]>
Nicolas Morel <[email protected]>
Mark Dube <[email protected]>
4 changes: 2 additions & 2 deletions deps/npm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ doc/cli/index.md: $(markdowns) scripts/index-build.js scripts/doc-build.sh packa
node scripts/index-build.js > $@

node_modules/.bin/ronn:
node cli.js install https://github.com/isaacs/ronnjs/tarball/master
node cli.js install

doc: man

Expand Down Expand Up @@ -127,7 +127,7 @@ doc-publish: doc
[email protected]:/home/node/npm-www/static/

zip-publish: release
scp release/* izs.me:/var/www/izs.me/static/public/npm/
scp release/* [email protected]:dist/npm/

release:
@bash scripts/release.sh
Expand Down
47 changes: 13 additions & 34 deletions deps/npm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,31 +35,18 @@ paths, etc.) then read on.

## Fancy Install (Unix)

To install npm with one command, do this:

curl http://npmjs.org/install.sh | sh

To skip the npm 0.x cleanup, do this:

curl http://npmjs.org/install.sh | clean=no sh

To say "yes" to the 0.x cleanup, but skip the prompt:

curl http://npmjs.org/install.sh | clean=yes sh

If you get permission errors, you'll need to **run** the script as root.
(Note, just putting `sudo` in front of the `curl` will **fetch** the script
as root.)
There's a pretty robust install script at
<https://npmjs.org/install.sh>. You can download that and run it.

### Slightly Fancier

You can set any npm configuration params with that script:

curl http://npmjs.org/install.sh | npm_config_prefix=/some/path sh
npm_config_prefix=/some/path sh install.sh

Or, you can run it in uber-debuggery mode:

curl http://npmjs.org/install.sh | npm_debug=1 sh
npm_debug=1 sh install.sh

### Even Fancier

Expand All @@ -83,21 +70,6 @@ git, and mess with it directly.

No.

## Dev Install

To install the latest **unstable** development version from git:

git clone https://github.com/isaacs/npm.git
cd npm
sudo make install # (or: `node cli.js install -gf`)

If you're sitting in the code folder reading this document in your
terminal, then you've already got the code. Just do:

sudo make install

and npm will install itself.

## Permissions when Using npm to Install Other Stuff

**tl;dr**
Expand Down Expand Up @@ -163,6 +135,14 @@ you have chosen.
If you would like to use npm programmatically, you can do that.
It's not very well documented, but it *is* rather simple.

Most of the time, unless you actually want to do all the things that
npm does, you should try using one of npm's dependencies rather than
using npm itself, if possible.

Eventually, npm will be just a thin cli wrapper around the modules
that it depends on, but for now, there are some things that you must
use npm itself to do.

var npm = require("npm")
npm.load(myConfigObject, function (er) {
if (er) return handlError(er)
Expand Down Expand Up @@ -195,8 +175,7 @@ especially the [faq](http://npmjs.org/doc/faq.html).
You can use the `npm help` command to read any of them.

If you're a developer, and you want to use npm to publish your program,
you should
[read this](http://npmjs.org/doc/developers.html)
you should [read this](http://npmjs.org/doc/developers.html)

## Legal Stuff

Expand Down
11 changes: 5 additions & 6 deletions deps/npm/bin/npm-cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ log.info("it worked if it ends with", "ok")
var fs = require("graceful-fs")
, path = require("path")
, npm = require("../lib/npm.js")
, ini = require("../lib/utils/ini.js")
, npmconf = require("npmconf")
, errorHandler = require("../lib/utils/error-handler.js")

, configDefs = require("../lib/utils/config-defs.js")
, configDefs = npmconf.defs
, shorthands = configDefs.shorthands
, types = configDefs.types
, nopt = require("nopt")
Expand All @@ -50,10 +50,9 @@ if (conf.version) {
}

if (conf.versions) {
var v = process.versions
v.npm = npm.version
console.log(v)
return
npm.command = "version"
conf.usage = false
npm.argv = []
}

log.info("using", "npm@%s", npm.version)
Expand Down
5 changes: 5 additions & 0 deletions deps/npm/doc/cli/json.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ npm will default some values based on package contents.
If there is a `wscript` file in the root of your package, npm will
default the `preinstall` command to compile using node-waf.

* `"scripts":{"preinstall": "node-gyp rebuild"}`

If there is a `binding.gyp` file in the root of your package, npm will
default the `preinstall` command to compile using node-gyp.

* `"contributors": [...]`

If there is an `AUTHORS` file in the root of your package, npm will
Expand Down
2 changes: 1 addition & 1 deletion deps/npm/html/api/bin.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ <h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>This function should not be used programmatically. Instead, just refer
to the <code>npm.bin</code> member.</p>
</div>
<p id="footer">bin &mdash; [email protected].46</p>
<p id="footer">bin &mdash; [email protected].49</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
Expand Down
Loading

0 comments on commit a177f55

Please sign in to comment.