[TIMOB-25426] Hyperloop: iOS - Metabase binary has wrong file-permissions, causing build to fail
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2017-10-24T15:41:21.000+0000 |
Affected Version/s | Hyperloop 2.2.0 |
Fix Version/s | Hyperloop 2.2.1 |
Components | Hyperloop, iOS |
Labels | n/a |
Reporter | Hans Knöchel |
Assignee | Jan Vennemann |
Created | 2017-10-22T09:52:28.000+0000 |
Updated | 2017-10-26T00:11:11.000+0000 |
Description
There are some reports indicating the the Hyperloop metabase binary in
plugins/hyperloop/2.2.0/hooks/ios/node_modules/hyperloop-metabase/bin/metabase
seems to have incorrect file permissions (\-rw\-rw\-rw\-
) that prevents it from being executed. The curious thing is that the Github release has correct ones (-rwxr-xr-x
).
So it seems either to be an issue with the dashboard if it's unpacking and repacking it for registry-purposes or with the appc-cli when unpacking it locally after downloading. I remember we had a similar issue a while ago and didn't expect it to come back.
Initially fixed in CLI-1101.
*EDIT*: The real issue is that [this PR](https://github.com/appcelerator/hyperloop.next/pull/210) messed up quite a few node-related build-steps, which we mainly resolved before 2.2.0 already. But it also moved the path of the node_modules from plugins/hyperloop/2.2.0/node_modules/
to plugins/hyperloop/2.2.0/ios/node_modules
which cannot be detected by the initial [CLI-hook](https://github.com/appcelerator/appc-cli-titanium/blob/master/plugins/util.js#L554) which still searches for the binary in the old directory. We should rather fix the Hyperloop packaging instead of requiring a new appc-cli update.
cc [~jvennemann], [~pclark], [~emerriman], [~fmiao]
PR (master): https://github.com/appcelerator/hyperloop.next/pull/243 PR (2_2_X): https://github.com/appcelerator/hyperloop.next/pull/244
For QE:
Copy Hyperloop 2.2.1 into hyperloop-examples and extract it properly
Ensure that the tiapp.xml has set 2.2.1 for the Hyperloop version
Go to
plugins/hyperloop/2.2.1/hooks/ios/node_modules/hyperloop-metabase/bin
Execute
chmod -x metabase
(This will force the metabase to have incorrect file-permissions)Run the app
Expected behavior: The build does not fail, the permissions are repaired internallyTested with this environment: Node Version: 6.11.5 NPM Version: 3.10.10 Mac OS: 10.13 Appc CLI: 6.3.0-master.16 Appc CLI NPM: 4.2.10-2 Titanium SDK version: 6.3.0.v20171018084007 Appcelerator Studio vers 4.10.0 Hyperloop 2.2.1 Beta 2 Xcode 9/iOS 11.0 iPhone 7 Plus I followed the steps in Han's comments for validation, and I was able to build the app. I also observed that the file whose permissions were changed to the incorrect setting was restored after building the app.