Skip to content

Commit 00ba429

Browse files
rvaggFishrock123
authored andcommitted
build: update build targets for io.js
PR-URL: #1938 PORT-PR-URL: #2101 PORT-FROM: dcbb9e1 Reviewed-By: Johan Bergström <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Alexis Campailla <[email protected]>
1 parent 39e2207 commit 00ba429

12 files changed

+286
-94
lines changed

Makefile

+88-43
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ PYTHON ?= python
55
DESTDIR ?=
66
SIGN ?=
77
PREFIX ?= /usr/local
8+
STAGINGSERVER ?= iojs-www
9+
10+
OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')
811

912
# Determine EXEEXT
1013
EXEEXT := $(shell $(PYTHON) -c \
@@ -56,15 +59,15 @@ uninstall:
5659
$(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
5760

5861
clean:
59-
-rm -rf out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE) blog.html email.md
62+
-rm -rf out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE)
6063
@if [ -d out ]; then find out/ -name '*.o' -o -name '*.a' | xargs rm -rf; fi
6164
-rm -rf node_modules
6265

6366
distclean:
6467
-rm -rf out
6568
-rm -f config.gypi icu_config.gypi
6669
-rm -f config.mk
67-
-rm -rf $(NODE_EXE) $(NODE_G_EXE) blog.html email.md
70+
-rm -rf $(NODE_EXE) $(NODE_G_EXE)
6871
-rm -rf node_modules
6972
-rm -rf deps/icu
7073
-rm -rf deps/icu4c*.tgz deps/icu4c*.zip deps/icu-tmp
@@ -196,14 +199,49 @@ docclean:
196199

197200
RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
198201
VERSION=v$(RAWVER)
202+
203+
# For nightly builds, you must set DISTTYPE to "nightly", "next-nightly" or
204+
# "custom". For the nightly and next-nightly case, you need to set DATESTRING
205+
# and COMMIT in order to properly name the build.
206+
# For the rc case you need to set CUSTOMTAG to an appropriate CUSTOMTAG number
207+
208+
ifndef DISTTYPE
209+
DISTTYPE=release
210+
endif
211+
ifeq ($(DISTTYPE),release)
199212
FULLVERSION=$(VERSION)
213+
else # ifeq ($(DISTTYPE),release)
214+
ifeq ($(DISTTYPE),custom)
215+
ifndef CUSTOMTAG
216+
$(error CUSTOMTAG is not set for DISTTYPE=custom)
217+
endif # ifndef CUSTOMTAG
218+
TAG=$(CUSTOMTAG)
219+
else # ifeq ($(DISTTYPE),custom)
220+
ifndef DATESTRING
221+
$(error DATESTRING is not set for nightly)
222+
endif # ifndef DATESTRING
223+
ifndef COMMIT
224+
$(error COMMIT is not set for nightly)
225+
endif # ifndef COMMIT
226+
ifneq ($(DISTTYPE),nightly)
227+
ifneq ($(DISTTYPE),next-nightly)
228+
$(error DISTTYPE is not release, custom, nightly or next-nightly)
229+
endif # ifneq ($(DISTTYPE),next-nightly)
230+
endif # ifneq ($(DISTTYPE),nightly)
231+
TAG=$(DISTTYPE)$(DATESTRING)$(COMMIT)
232+
endif # ifeq ($(DISTTYPE),custom)
233+
FULLVERSION=$(VERSION)-$(TAG)
234+
endif # ifeq ($(DISTTYPE),release)
235+
236+
DISTTYPEDIR ?= $(DISTTYPE)
200237
RELEASE=$(shell sed -ne 's/\#define NODE_VERSION_IS_RELEASE \([01]\)/\1/p' src/node_version.h)
201238
PLATFORM=$(shell uname | tr '[:upper:]' '[:lower:]')
202239
NPMVERSION=v$(shell cat deps/npm/package.json | grep '"version"' | sed 's/^[^:]*: "\([^"]*\)",.*/\1/')
240+
203241
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
204242
DESTCPU ?= x64
205243
else
206-
DESTCPU ?= ia32
244+
DESTCPU ?= x86
207245
endif
208246
ifeq ($(DESTCPU),x64)
209247
ARCH=x64
@@ -214,26 +252,24 @@ else
214252
ARCH=x86
215253
endif
216254
endif
217-
ifdef NIGHTLY
218-
TAG = nightly-$(NIGHTLY)
219-
FULLVERSION=$(VERSION)-$(TAG)
255+
256+
# enforce "x86" over "ia32" as the generally accepted way of referring to 32-bit intel
257+
ifeq ($(ARCH),ia32)
258+
override ARCH=x86
220259
endif
260+
ifeq ($(DESTCPU),ia32)
261+
override DESTCPU=x86
262+
endif
263+
221264
TARNAME=iojs-$(FULLVERSION)
222265
TARBALL=$(TARNAME).tar
223266
BINARYNAME=$(TARNAME)-$(PLATFORM)-$(ARCH)
224267
BINARYTAR=$(BINARYNAME).tar
268+
# OSX doesn't have xz installed by default, http://macpkg.sourceforge.net/
225269
XZ=$(shell which xz > /dev/null 2>&1; echo $$?)
226270
XZ_COMPRESSION ?= 9
227-
PKG=out/$(TARNAME).pkg
271+
PKG=$(TARNAME).pkg
228272
PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
229-
230-
PKGSRC=iojs-$(DESTCPU)-$(RAWVER).tgz
231-
ifdef NIGHTLY
232-
PKGSRC=iojs-$(DESTCPU)-$(RAWVER)-$(TAG).tgz
233-
endif
234-
235-
dist: doc $(TARBALL) $(PKG)
236-
237273
PKGDIR=out/dist-osx
238274

239275
release-only:
@@ -248,7 +284,7 @@ release-only:
248284
echo "" >&2 ; \
249285
exit 1 ; \
250286
fi
251-
@if [ "$(NIGHTLY)" != "" -o "$(RELEASE)" = "1" ]; then \
287+
@if [ "$(DISTTYPE)" != "release" -o "$(RELEASE)" = "1" ]; then \
252288
exit 0; \
253289
else \
254290
echo "" >&2 ; \
@@ -258,29 +294,28 @@ release-only:
258294
exit 1 ; \
259295
fi
260296

261-
pkg: $(PKG)
262-
263297
$(PKG): release-only
264298
rm -rf $(PKGDIR)
265299
rm -rf out/deps out/Release
266-
$(PYTHON) ./configure --dest-cpu=ia32 --tag=$(TAG)
267-
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)/32
268-
rm -rf out/deps out/Release
269300
$(PYTHON) ./configure --dest-cpu=x64 --tag=$(TAG)
270301
$(MAKE) install V=$(V) DESTDIR=$(PKGDIR)
271-
SIGN="$(APP_SIGN)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
272-
lipo $(PKGDIR)/32/usr/local/bin/iojs \
273-
$(PKGDIR)/usr/local/bin/iojs \
274-
-output $(PKGDIR)/usr/local/bin/iojs-universal \
275-
-create
276-
mv $(PKGDIR)/usr/local/bin/iojs-universal $(PKGDIR)/usr/local/bin/iojs
277-
rm -rf $(PKGDIR)/32
278-
cat tools/osx-pkg.pmdoc/index.xml.tmpl | sed -e 's|__iojsversion__|'$(FULLVERSION)'|g' | sed -e 's|__npmversion__|'$(NPMVERSION)'|g' > tools/osx-pkg.pmdoc/index.xml
302+
SIGN="$(CODESIGN_CERT)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh
303+
cat tools/osx-pkg.pmdoc/index.xml.tmpl \
304+
| sed -E "s/\\{iojsversion\\}/$(FULLVERSION)/g" \
305+
| sed -E "s/\\{npmversion\\}/$(NPMVERSION)/g" \
306+
> tools/osx-pkg.pmdoc/index.xml
279307
$(PACKAGEMAKER) \
280-
--id "org.nodejs.Node" \
308+
--id "org.iojs.pkg" \
281309
--doc tools/osx-pkg.pmdoc \
282310
--out $(PKG)
283-
SIGN="$(INT_SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
311+
SIGN="$(PRODUCTSIGN_CERT)" PKG="$(PKG)" bash tools/osx-productsign.sh
312+
313+
pkg: $(PKG)
314+
315+
pkg-upload: pkg
316+
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
317+
scp -p iojs-$(FULLVERSION).pkg $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).pkg
318+
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).pkg.done"
284319

285320
$(TARBALL): release-only $(NODE_EXE) doc
286321
git checkout-index -a -f --prefix=$(TARNAME)/
@@ -303,6 +338,20 @@ endif
303338

304339
tar: $(TARBALL)
305340

341+
tar-upload: tar
342+
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
343+
scp -p iojs-$(FULLVERSION).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.gz
344+
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.gz.done"
345+
ifeq ($(XZ), 0)
346+
scp -p iojs-$(FULLVERSION).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.xz
347+
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION).tar.xz.done"
348+
endif
349+
350+
doc-upload: tar
351+
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
352+
scp -r out/doc/ $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/
353+
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/doc.done"
354+
306355
$(BINARYTAR): release-only
307356
rm -rf $(BINARYNAME)
308357
rm -rf out/deps out/Release
@@ -321,18 +370,14 @@ endif
321370

322371
binary: $(BINARYTAR)
323372

324-
$(PKGSRC): release-only
325-
rm -rf dist out
326-
$(PYTHON) configure --prefix=/ \
327-
--dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS)
328-
$(MAKE) install DESTDIR=dist
329-
(cd dist; find * -type f | sort) > packlist
330-
pkg_info -X pkg_install | \
331-
egrep '^(MACHINE_ARCH|OPSYS|OS_VERSION|PKGTOOLS_VERSION)' > build-info
332-
pkg_create -B build-info -c tools/pkgsrc/comment -d tools/pkgsrc/description \
333-
-f packlist -I /opt/local -p dist -U $(PKGSRC)
334-
335-
pkgsrc: $(PKGSRC)
373+
binary-upload: binary
374+
ssh $(STAGINGSERVER) "mkdir -p staging/$(DISTTYPEDIR)/$(FULLVERSION)"
375+
scp -p iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz
376+
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.gz.done"
377+
ifeq ($(XZ), 0)
378+
scp -p iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz $(STAGINGSERVER):staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz
379+
ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/iojs-$(FULLVERSION)-$(OSTYPE)-$(ARCH).tar.xz.done"
380+
endif
336381

337382
haswrk=$(shell which wrk > /dev/null 2>&1; echo $$?)
338383
wrk:

configure

+5-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import nodedownload
2626
parser = optparse.OptionParser()
2727

2828
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', 'android')
29-
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'x32', 'x64')
29+
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'x32', 'x64', 'x86')
3030
valid_arm_float_abi = ('soft', 'softfp', 'hard')
3131
valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx')
3232
valid_mips_fpu = ('fp32', 'fp64', 'fpxx')
@@ -584,6 +584,10 @@ def configure_node(o):
584584

585585
host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc()
586586
target_arch = options.dest_cpu or host_arch
587+
# ia32 is preferred by the build tools (GYP) over x86 even if we prefer the latter
588+
# the Makefile resets this to x86 afterward
589+
if target_arch == 'x86':
590+
target_arch = 'ia32'
587591
o['variables']['host_arch'] = host_arch
588592
o['variables']['target_arch'] = target_arch
589593

node.gyp

+4-1
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,15 @@
178178
'defines': [
179179
'NODE_ARCH="<(target_arch)"',
180180
'NODE_PLATFORM="<(OS)"',
181-
'NODE_TAG="<(node_tag)"',
182181
'NODE_V8_OPTIONS="<(node_v8_options)"',
183182
'NODE_WANT_INTERNALS=1',
184183
],
185184

185+
186186
'conditions': [
187+
[ 'node_tag!=""', {
188+
'defines': [ 'NODE_TAG="<(node_tag)"' ],
189+
}],
187190
# No node_main.cc for anything except executable
188191
[ 'node_target_type!="executable"', {
189192
'sources!': [

src/node_version.h

+5-10
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,18 @@
1212
#define NODE_STRINGIFY_HELPER(n) #n
1313
#endif
1414

15-
#if NODE_VERSION_IS_RELEASE
16-
# ifndef NODE_TAG
15+
#ifndef NODE_TAG
16+
# if NODE_VERSION_IS_RELEASE
1717
# define NODE_TAG ""
18-
# endif
19-
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
20-
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
21-
NODE_STRINGIFY(NODE_PATCH_VERSION) \
22-
NODE_TAG
23-
#else
24-
# ifndef NODE_TAG
18+
# else
2519
# define NODE_TAG "-pre"
2620
# endif
21+
#endif
22+
2723
# define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \
2824
NODE_STRINGIFY(NODE_MINOR_VERSION) "." \
2925
NODE_STRINGIFY(NODE_PATCH_VERSION) \
3026
NODE_TAG
31-
#endif
3227

3328
#define NODE_VERSION "v" NODE_VERSION_STRING
3429

tools/msvs/msi/nodemsi.wixproj

+9-9
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,33 @@
66
<ProductVersion>3.5</ProductVersion>
77
<ProjectGuid>{1d808ff0-b5a9-4be9-859d-b334b6f48be2}</ProjectGuid>
88
<SchemaVersion>2.0</SchemaVersion>
9-
<OutputName>iojs-v$(NodeVersion)-$(Platform)</OutputName>
9+
<OutputName>iojs-v$(FullVersion)-$(Platform)</OutputName>
1010
<OutputType>Package</OutputType>
1111
<EnableProjectHarvesting>True</EnableProjectHarvesting>
1212
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
1313
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
1414
<NodeVersion Condition=" '$(NodeVersion)' == '' ">0.0.0.0</NodeVersion>
1515
</PropertyGroup>
1616
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
17-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
17+
<OutputPath>..\..\..\</OutputPath>
1818
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
19-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
19+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
2020
</PropertyGroup>
2121
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
22-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
22+
<OutputPath>..\..\..\</OutputPath>
2323
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
24-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
24+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
2525
</PropertyGroup>
2626
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
27-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
27+
<OutputPath>..\..\..\</OutputPath>
2828
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
29-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
29+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
3030
<Cultures>en-US</Cultures>
3131
</PropertyGroup>
3232
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
33-
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
33+
<OutputPath>..\..\..\</OutputPath>
3434
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
35-
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
35+
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NoETW=$(NoETW);NoPerfCtr=$(NoPerfCtr);NpmSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
3636
</PropertyGroup>
3737
<PropertyGroup>
3838
<EnableProjectHarvesting>True</EnableProjectHarvesting>

tools/msvs/msi/product.wxs

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
<Feature Level="1"
8686
Id="DocumentationShortcuts"
8787
Title="Online documentation shortcuts"
88-
Description="Add start menu entries that link the the online documentation for io.js $(var.ProductVersion) and the io.js website.">
88+
Description="Add start menu entries that link the the online documentation for io.js v$(var.FullVersion) and the io.js website.">
8989
<ComponentRef Id="DocumentationShortcuts"/>
9090
</Feature>
9191

@@ -225,7 +225,7 @@
225225
Type="url"/>
226226
<util:InternetShortcut Id="DocsShortcut"
227227
Name="io.js documentation"
228-
Target="https://iojs.org/dist/v$(var.ProductVersion)/doc/api/"
228+
Target="https://iojs.org/download/$(var.DistTypeDir)/v$(var.FullVersion)/doc/api/"
229229
Type="url"/>
230230
</Component>
231231
</DirectoryRef>

tools/osx-codesign.sh

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
set -x
44
set -e
55

6-
if ! [ -n "$SIGN" ] && [ $STEP -eq 1 ]; then
6+
if [ "X$SIGN" == "X" ]; then
77
echo "No SIGN environment var. Skipping codesign." >&2
88
exit 0
99
fi
1010

1111
codesign -s "$SIGN" "$PKGDIR"/usr/local/bin/node
12-
codesign -s "$SIGN" "$PKGDIR"/32/usr/local/bin/node

tools/osx-pkg.pmdoc/01local.xml

+25-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,25 @@
1-
<pkgref spec="1.12" uuid="053587FE-BDF3-4EF5-815D-281427431048"><config><identifier>org.iojs.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true">../out/dist-osx/usr/local/</installFrom><installTo mod="true" relocatable="true">/usr/local</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo.isRelativeType</mod><mod>installTo</mod><mod>locationType</mod><mod>relocatable</mod><mod>installFrom.path</mod><mod>installTo.isAbsoluteType</mod><mod>identifier</mod><mod>parent</mod><mod>installTo.path</mod><mod>installFrom.isRelativeType</mod></config></pkgref>
1+
<pkgref spec="1.12" uuid="053587FE-BDF3-4EF5-815D-281427431048">
2+
<config>
3+
<identifier>org.iojs.iojs.pkg</identifier>
4+
<version>1.0</version>
5+
<description></description>
6+
<post-install type="none"/>
7+
<requireAuthorization/>
8+
<installFrom relative="true" mod="true">../out/dist-osx/usr/local/</installFrom>
9+
<installTo mod="true" relocatable="true">/usr/local</installTo>
10+
<flags>
11+
<followSymbolicLinks/>
12+
</flags>
13+
<packageStore type="internal"></packageStore>
14+
<mod>installTo.isRelativeType</mod>
15+
<mod>installTo</mod>
16+
<mod>locationType</mod>
17+
<mod>relocatable</mod>
18+
<mod>installFrom.path</mod>
19+
<mod>installTo.isAbsoluteType</mod>
20+
<mod>identifier</mod>
21+
<mod>parent</mod>
22+
<mod>installTo.path</mod>
23+
<mod>installFrom.isRelativeType</mod>
24+
</config>
25+
</pkgref>

0 commit comments

Comments
 (0)