Before this fix, we were producing tarballs that npm 'tar' couldn't
untar if the first file inside the top-level directory was not
writeable. (Which was indeed the case since the unipackage -> isopack
change, which resulted in isopack.json being the first file in built
package tarballs.) See comment for more explanation.
Before this fix, we were producing tarballs that npm 'tar' couldn't
untar if the first file inside the top-level directory was not
writeable. (Which was indeed the case since the unipackage -> isopack
change, which resulted in isopack.json being the first file in built
package tarballs.) See comment for more explanation.
We were finding that npm was inconsistently including various fields (eg
"readme") in package.json, leading to spurious "must update the version
number" errors in publish-release --from-checkout. This should be good
enough, as any actual package change should also have some other file
changed!
Unlike the last one, this actually tracks what builds we have
downloaded, and merges new ones in. It also doesn't waste space with
extra unnecessary downloaded-builds directories.
Should still fix the greedy algorithm in getBuildsForArches.
Still needs better error handling/reporting
publish-for-arch now works again (for non-release non-includeTool
packages) and you can actually download multiple builds of a version!
This lets us rip out the weird 'include' argument and go back to just
stat'ing things instead of lstat'ing.
While we're at it, be more streamy when doing these copies.
other changes:
- defaultReleaseVersion is not synced using 'collections' any more,
since it is a singleton and has different merge logic
- publish-release --fromCheckout renamed to --from-checkout
- $METEOR_SAVE_TMPDIRS env var to not delete files.mkdtemp stuff
- release.latestDownloaded() now comes from tropohouse
we recognized that the cross-linking stuff in
Tropohouse.maybeDownloadPackageForArchitectures doesn't quite work so we
changed it to not quite work in a different way (which allows us to
leave downloaded-builds out of the bootstrap tarball and decrease its
size by 50%). will fix later.
springboarding happens infinitely because of build ids
have to manually bootstrap a tropohouse
fixed some other things:
- store package server token in correct domain
- copy files (eg packages pre-publish) with +x flags
- catalog.getReleaseTrack works
- don't pass release to uniload (Meteor.release will always
end up 'UNILOAD')
- fix building meteor-tool again
- stop supporting apps without .meteor/release
- merging unipackages with tools works
springboarding to warehouse releases totally not supported
The linux tar whinges about unrecognised headers (though newer versions
include an option to not warn).
By building tar files without proprietary, we will be able to use
files.createTarball() in more places.
For example, undo commits 1c36bbaa79 and
1e2a40ef2b
- builds are downloaded to
~/.meteor/downloaded-builds/foo/1.0.0/browser+os
- but this is not where packages are loaded from
- instead, we "merge" multiple packages together and move them into
~/.meteor/packages
This commit does not yet implement "oh, we need another arch now?
ok. download and merge it." Well, it implements "download it" but not
"merge it".
This drops catalog.getAnyBuild and a reference to "browser+os" in
packages.js, yay
* Get the source files by getting a package from the library with
'forceRebuild'.
* Add an option to files.cp_r for whitelisting particular files to copy.
I had originally created a commit which let preserveMode reuse the
return value of the fs.statSync a few lines up in the file, but since
the code is dead, there was no way to test it. Removing the dead code
seemed like a better approach. (If you want to revert this commit, I
recommend reusing the stat buffer!)