1. 01 May, 2017 13 commits
    • aguestuser's avatar
    • aguestuser's avatar
    • aguestuser's avatar
      [ag] modify sdk dockerfile to ensure android-23 platform installs · 730ab74a
      aguestuser authored
      * on remote builds, failure of Android SDK Platform 23 to properly
        install was causing build failures undetected in local container.
        see: <https://0xacab.org/aguestuser/bitmask_android/builds/9906>
      * to fix this, tweak order of `sdkmanager` calls and remove `echo -y`
        flags to ensure platform installation completes successfully and
        build step never tries to install Platform 23
      730ab74a
    • aguestuser's avatar
      1e8da8ed
    • aguestuser's avatar
    • aguestuser's avatar
    • aguestuser's avatar
    • aguestuser's avatar
      [ag] clean up README · 27b25ef2
      aguestuser authored
      27b25ef2
    • aguestuser's avatar
      [ag] use canonical format for 0xacab docker registry images · 9278f468
      aguestuser authored
      * this change was necessitated by prior format failing a whitelisted
        images check here: https://0xacab.org/aguestuser/bitmask_android/builds/9406
      * NOTE: this format means we can't label `android-sdk` images by version
        because the tag is reserved for the image name, not the version :(
      * ie: the whitelist forces us to specify `bimtask_android:android-sdk`
        rather than `bitmask_android/android-sdk:0.0.1` -- is there a reason for this?
      9278f468
    • aguestuser's avatar
      [ag] use self-contained docker registry in ci build · 7ed7d620
      aguestuser authored
      * for greater compartmentalization and self-documentation,
        use docker registry in this repo to host image used in its build
        rather than registry in `leap/gitlab-buildpackage` as before
      7ed7d620
    • aguestuser's avatar
      [ag] eliminate hacky workaround for 64-bit builds · 215edb98
      aguestuser authored
      * HACK: replace all toolchain references to `linux-x86_64` with `linux-x86`
      * FIX: provide dependency on `file` package that will allow `ndk-build` to
        detect 32-bit userland, making this
      
      * side-effects:
        * group sdk/env vars with installation code that uses them
        * add explanatory note about why we use outdated version of `android-ndk`
      
      ------------------
      
      *Explanation:*
      
      More careful analysis of the meaning of the word `file` in this (subtle!) error message:
      
      ```shell
      /opt/android-sdk-linux/android-ndk-r12b/build/ndk-build: 143: /opt/android-sdk-linux/android-ndk-r12b/build/ndk-build: file: not found
      ```
      
      led to inspecting line 143 of `ndk-build`, revealing an undefined variable
      called `file` that would allow `ndk-build` to detect a 32-bit userland:
      
      ```shell
      file -L "$SHELL" | grep -q "x86[_-]64"
      ```
      Thus the error messsage was *not* trying to tell us that a file could
      not be found, but that the program called `file` could not be
      found. FUN! :)
      215edb98
    • aguestuser's avatar
      [ag] Fix native build step with revised dockerfile · e79058d8
      aguestuser authored
      * PROBLEM:
        * most recent version (r14b) of `android-ndk` uses `clang` for cross-compilation
        * BUT: `openssl` cannot compile successfully w/ `clang`
        * AND: we depend on `openssl` transitively through `ics-openvpn`
          while trying to use `android-ndk` r14b
      
      * FIX:
        * downgrade to `android-ndk` (12b) (most recent versoin that still
          uses `gcc` instead of `clang`)
        * modify some of the default
      
      * REMAINING PROBLEMS:
        * some string translations for Jamaica now break the build (unclear
          why -- outdated country abbreviation? ja for jm???)
        * we are now using a version of ndk that is 2 versions old and a
          version of ics-openvpn (pinned to a 3.1.2016 commit via submodule)
          that depends on an outdated version of `openssl`, which raises
          security concerns. updating to the most recent version will force
          us to wade into all the dependency problems amongst `ics-openvpn`/`openssl`/`ndk`
      
      * REFERENCES:
        * on `openssl` incompatibility w/ clang: https://github.com/openssl/openssl/pull/2229
        * on `ics-openvpn` problems with `ndk`: https://github.com/android-ndk/ndk/issues/144
      e79058d8
    • aguestuser's avatar
      [ag] Update dockerfile to match config in passing local build · a7b4f463
      aguestuser authored
      * PROBLEM: the build fails on gitlab in a debian-based docker container
      * BUT: i (@aguestuser) have a recently-achieved passing build on a
        debian laptop
      * ATTEMPTED SOLUTION: construct a dockerfile that matches my local
        configuration as precisely as possible
      * PROGRESS: the build gets further than it did before -- getting part of
        the way through the `buildNative` gradle script before failing
      * REMAINING FAILURE: several arm64 cross-compile steps in the
        `ndk-build` step fail because they depend on
        [neon](https://developer.android.com/ndk/guides/cpu-arm-neon.html):
      
      ```shell
      [arm64-v8a] Compile        : crypto_static <= aesv8-armx-64.S
      openssl/crypto/aes/asm/aesv8-armx-64.S:35:2: error: instruction requires: neon
       eor v0.16b,v0.16b,v0.16b
       ^
      openssl/crypto/aes/asm/aesv8-armx-64.S:36:2: error: instruction requires: neon
       ld1 {v3.16b},[x0],#16
       ^
      openssl/crypto/aes/asm/aesv8-armx-64.S:38:2: error: instruction requires: neon
       ld1 {v1.4s,v2.4s},[x3],#32
      ```
      
      * PROPOSED NEXT STEPS:
        * consult team to see if there's any collective wisdom about `neon`
        * look for ways to analyze diff of c dependencies in local machine
          v. docker instance
        * consider using ubuntu or debian:sid as the base image for the
          android container?
      a7b4f463
  2. 17 Apr, 2017 1 commit
    • aguestuser's avatar
      [ag] Update README to promote smoother on-boarding · 9edd5d6b
      aguestuser authored
      * add detailed instructions on installing and compiling
      * provide workarounds for gotchas setting up emulator on debian
      * offer instructions for building in docker
      
      side-effects:
      
      * update build tools & gradle version
      * fix indentation in build.gradle
      * comment out tests in `TestLogFileHandler` causing `build` to break (and provide justification)
      9edd5d6b
  3. 14 Mar, 2017 6 commits
  4. 13 Oct, 2016 2 commits
  5. 20 Sep, 2016 1 commit
  6. 19 Sep, 2016 7 commits
  7. 03 Apr, 2016 2 commits
  8. 02 Apr, 2016 4 commits
  9. 07 Feb, 2016 4 commits