Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS node packages missing version attribute #15012

Closed
kaloprominat opened this issue Aug 24, 2017 · 4 comments
Closed

macOS node packages missing version attribute #15012

kaloprominat opened this issue Aug 24, 2017 · 4 comments
Labels
build Issues and PRs related to build files or the CI. install Issues and PRs related to the installers. macos Issues and PRs related to the macOS platform / OSX.

Comments

@kaloprominat
Copy link

kaloprominat commented Aug 24, 2017

  • Version:
  • Platform:
  • Subsystem:

macOS packages missing correct version attribute, how to verify:

[user@mymac tmp]$ xar -xf ../node-v8.4.0.pkg
[user@mymac tmp]$ grep -i -r "id" * | grep version
Distribution: <pkg-ref id="org.nodejs.node.pkg" installKBytes="63040" version="1.0" auth="Root">#local.pkg
local.pkg/PackageInfo:<pkg-info format-version="2" identifier="org.nodejs.node.pkg" version="1.0" install-location="/usr/local" relocatable="true" auth="root">
npm.pkg/PackageInfo:<pkg-info format-version="2" identifier="org.nodejs.nodejs.npm.pkg" version="1.0" install-location="/usr/local/lib/node_modules/npm" auth="root">`

or, after install:

sh-3.2# pkgutil --pkg-info org.nodejs.pkg
package-id: org.nodejs.pkg
version: 1.0
volume: /
location: usr/local
install-time: 1498667456
sh-3.2# pkgutil --pkg-info org.nodejs.node.npm.pkg
package-id: org.nodejs.node.npm.pkg
version: 1.0
volume: /
location: usr/local/lib/node_modules/npm
install-time: 1498667456`

cmon guys, even brew-pkg builds node package with correct version attribute.

@joyeecheung joyeecheung added build Issues and PRs related to build files or the CI. macos Issues and PRs related to the macOS platform / OSX. install Issues and PRs related to the installers. labels Aug 24, 2017
@lance
Copy link
Member

lance commented Aug 24, 2017

I poked around a little with this and noticed that the build is doing a string substitution of {nodeversion} here:

Ref: https://github.com/nodejs/node/blob/master/Makefile#L714-L717
(I have no idea how to make the code inline as I have seen lately)

I thought it might be as easy as modifying index.xml.tmpl to substitute the version on this line as well.

But... the Makefile appears to use an old, no longer distributed Apple tool called PackageMaker.app. So I started messing around with pkgbuild. Then I thought to myself, hmmm, I wonder if there is prior art and started searching issues and pull requests.

I found a few useful references possibly related to this, all of which have to do with refactoring the mac installer:

#5656
#2571
#7097

It appears #5656 is the only one still open. But it's been open for a while now, needs rebasing, and does not look like it's on the way to landing. What is the status of this pull request, would it possibly address this (small) issue with version metadata? Does fixing the version metadata require a complete refactoring of the Mac package build? Inquiring minds want to know!

@jasnell
Copy link
Member

jasnell commented Aug 24, 2017

ping @nodejs/build

We've had a profound lack of attention paid to the mac packaging over the past couple of years. There have been a few start'n'stop efforts that haven't progressed. It would be great if someone with the appropriate expertise could jump in.

@lance
Copy link
Member

lance commented Aug 24, 2017

@jasnell I edited my original comment above (heavily). I would be interested in looking at this, but wonder if there is any documentation that covers the distribution process. I kind of hacked my way through make pkg locally with some required commits that will need to be reset --hard. Is there any guide to working on these bits?

@gibfahn
Copy link
Member

gibfahn commented Aug 24, 2017

Also a good time to mention that @nodejs/platform-macos is three people, so if anyone else would like to be added please let me know!

jpwesselink added a commit to jpwesselink/node that referenced this issue Sep 15, 2017
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm

PR-URL: nodejs#15179
Fixes: nodejs#15012
Refs: nodejs#5656
Refs: nodejs#2571
Refs: nodejs#7097
MylesBorins pushed a commit that referenced this issue Sep 29, 2017
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
addaleax pushed a commit to addaleax/ayo that referenced this issue Sep 30, 2017
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: nodejs/node#15179
Fixes: nodejs/node#15012
Refs: nodejs/node#5656
Refs: nodejs/node#2571
Refs: nodejs/node#7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
MylesBorins pushed a commit that referenced this issue Oct 3, 2017
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
MylesBorins pushed a commit that referenced this issue Oct 3, 2017
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
MylesBorins pushed a commit that referenced this issue Jan 16, 2018
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
MylesBorins pushed a commit that referenced this issue Jan 17, 2018
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
MylesBorins pushed a commit that referenced this issue Feb 11, 2018
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
MylesBorins pushed a commit that referenced this issue Feb 12, 2018
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
MylesBorins pushed a commit that referenced this issue Feb 13, 2018
Creates macOS pkg installer by using `pkgbuild` and `productbuild`.
Removes previous npm installation before installing npm.
Packages carry correct version attributes.
Support for intl installer features, defaults to `en`.
Fancy formatted license.
Renamed `osx` references to `macOS`.
Optional installation of npm.

PR-URL: #15179
Fixes: #15012
Refs: #5656
Refs: #2571
Refs: #7097
Reviewed-By: Lance Ball <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. install Issues and PRs related to the installers. macos Issues and PRs related to the macOS platform / OSX.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants