Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upUpdate to a newer version of the Android NDK #529
Conversation
|
It sounds like those two changes are unrelated, so please split this into two commits, and add those justifications to the commit messages please :) |
| @@ -92,22 +93,13 @@ android-ndk: | |||
| - user: servo | |||
| cmd.run: | |||
| # Need to filter log output to avoid hitting log limits on Travis CI | |||
| - name: '{{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }}-linux-x86_64.bin | grep -v Extracting' | |||
| - name: 'unzip {{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }}-linux-x86_64.zip' | |||
This comment has been minimized.
This comment has been minimized.
aneeshusa
Oct 29, 2016
Member
archive.extracted supports unzipping, so please use that instead of manually running unzip.
| @@ -28,6 +28,7 @@ android-dependencies: | |||
| - lib32z1 | |||
| - libstdc++6 | |||
| - libgl1-mesa-dev | |||
| - unzip | |||
This comment has been minimized.
This comment has been minimized.
aneeshusa
Oct 29, 2016
Member
It looks like Salt sometimes uses the binary and sometimes Python's zipfile module, so let's keep this even with archive.extracted.
This comment has been minimized.
This comment has been minimized.
larsbergstrom
Oct 29, 2016
Author
Contributor
Do you mean to remove this dependency and the use of unzip and then use a salt rule instead for the extraction?
This comment has been minimized.
This comment has been minimized.
aneeshusa
Oct 29, 2016
Member
To be more clear, please use the Salt archive.extracted state (with archive_type: zip) instead of manually downloading and extracting for android-ndk. (android-sdk has an example of this in the same file, and the docs are here.) Also keep the unzip package dependency, as Salt sometimes uses it internally.
| @@ -7,8 +7,8 @@ | |||
| 'sha512': '96fb71d78a8c2833afeba6df617edcd6cc4e37ecd0c3bec38c39e78204ed3c2bd54b138a56086bf5ccd95e372e3c36e72c1550c13df8232ec19537da93049284' | |||
| }, | |||
| 'ndk': { | |||
| 'version': 'r10e', | |||
| 'sha512': '8948c7bd1621e32dce554d5cd1268ffda2e9c5e6b2dda5b8cf0266ea60aa2dd6fddf8d290683fc1ef0b69d66c898226c7f52cc567dbb14352b4191ac19dfb371' | |||
| 'version': 'r12b', | |||
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
larsbergstrom
Oct 29, 2016
Author
Contributor
r12b is what I'm using on my machines. I haven't tried it with very-latest, r13.
mmatyas
commented
Oct 29, 2016
|
Another problem that might occur is that everything works fine if you only have Java 7 or older installed, but if you also have Java 8 or 9, then certain libs want to build using the latest version, causing version difference and parsing errors during |
|
Hrm, we just use whatever the |
mmatyas
commented
Oct 29, 2016
|
|
4b029b2
to
104092e
|
@aneeshusa OK, does that look better? |
2b98c9a
to
edf426a
|
OK, passing CI now! Squashed. r? :-) |
|
Overall approach looks good, and thanks for teaching me about the new requisite format in 2016.3 :) A few more things to do:
Notes for deployment:
|
| - source_hash: sha512={{ android.ndk.sha512 }} | ||
| - archive_format: zip | ||
| - user: servo | ||
| - group: servo | ||
| - mode: 744 |
This comment has been minimized.
This comment has been minimized.
| - source_hash: sha512={{ android.ndk.sha512 }} | ||
| - archive_format: zip | ||
| - user: servo |
This comment has been minimized.
This comment has been minimized.
aneeshusa
Nov 2, 2016
Member
Also pass archive_user (see the android-sdk state for why, feel free to copy the justification comment down here as well.)
| - name: '{{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }}-linux-x86_64.bin | grep -v Extracting' | ||
| - runas: servo | ||
| - cwd: {{ common.servo_home }}/android/ndk/{{ android.ndk.version }} | ||
| - creates: {{ common.servo_home }}/android/ndk/{{ android.ndk.version }}/android-ndk-{{ android.ndk.version }} |
This comment has been minimized.
This comment has been minimized.
aneeshusa
Nov 2, 2016
Member
I haven't checked in Vagrant, but I'm assuming the archive.extracted state will also create this in the FS; convert this to a if_missing arg for archive.extracted.
| - source_hash: sha512={{ android.ndk.sha512 }} | ||
| - archive_format: zip | ||
| - user: servo | ||
| - group: servo | ||
| - mode: 744 | ||
| - dir_mode: 755 | ||
| - makedirs: True |
This comment has been minimized.
This comment has been minimized.
aneeshusa
Nov 2, 2016
Member
Remove this as well, as archive.extracted always makes the necessary parent directories and so doesn't accept makedirs.
5c887bf
to
4d263cc
|
Also updated commit messages :-) |
|
OK, tested this in Vagrant and it looks OK. r=me after a few more commit message nits:
Don't forget to clean out the old toolchain/ dirs on the builders, as well as the old |
4d263cc
to
bd88ecb
bd88ecb
to
aa5612d
|
@bors-servo r=aneeshusa |
1 similar comment
|
@bors-servo r=aneeshusa |
|
|
|
|
Update to a newer version of the Android NDK r? @aneeshusa Comments from @mmatyas welcome :-) There are two parts to this change. 1) Update the NDK. Google has both changed the DL URL format and removed the excutable bit in favor of a normal zipfile. 2) We no longer use the android standalone toolchain stuff, as that is not compatible with the LLVM libc++ that SpiderMonkey now requires us to use on Android. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/saltfs/529) <!-- Reviewable:end -->
|
This has been deployed to |
|
Hrm, it appears that salt did not preserve the execute bit on some of these files?
I did a quick |
|
The permissions not being extracted properly should be fixed by #639. (I didn't forget about this! |
larsbergstrom commentedOct 29, 2016
•
edited
r? @aneeshusa
Comments from @mmatyas welcome :-)
There are two parts to this change.
This change is