Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-25426] Hyperloop: iOS - Metabase binary has wrong file-permissions, causing build to fail

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2017-10-24T15:41:21.000+0000
Affected Version/sHyperloop 2.2.0
Fix Version/sHyperloop 2.2.1
ComponentsHyperloop, iOS
Labelsn/a
ReporterHans Knöchel
AssigneeJan Vennemann
Created2017-10-22T09:52:28.000+0000
Updated2017-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.

Comments

  1. Hans Knöchel 2017-10-22

    cc [~jvennemann], [~pclark], [~emerriman], [~fmiao]
  2. Jan Vennemann 2017-10-23

    PR (master): https://github.com/appcelerator/hyperloop.next/pull/243 PR (2_2_X): https://github.com/appcelerator/hyperloop.next/pull/244
  3. Hans Knöchel 2017-10-24

    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 internally
  4. Abir Mukherjee 2017-10-26

    Tested 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.

JSON Source