question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Please provide build instructions that do as little as possible on the host machine

See original GitHub issue

Reading the 4.1.5 build instructions for Android I’m supposed to run the 68 LOC contrib/android/build.sh which calls the 154 LOC contrib/build_tools_util.sh and it even requires sudo root access.

I compile a lot of APKs for WalletScrutiny.com and no other requires this. Can’t that be encapsulated in the Docker scripts so I can run Docker (without root) and it does what it needs to do inside the container?

I’d like to automate reproducibility testing but am reluctant running those scripts as root or actually anything but inside docker containers without a careful review after any change.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
SomberNightcommented, Jul 21, 2021

So for my purpose, this issue can be closed. I’m not sure if others have the same concerns when reproducing a binary.

Ok, especially if it’s not that important, I don’t actually have much time to look into removing the sudo usage… However, if someone is interested, please have a look. I’ll close this issue though.

0reactions
Giszmocommented, Jul 21, 2021

That’s great. So my script should work just fine, stripping a final “.0” from the versionName.

My perspective is not “Is the build process deterministic”, starting from git. My perspective is “There’s an apk on Google Play. Can I reproduce it?”, so I unpack the apk, figure out the appId and versionName and go from there.

(It cannot easily be removed as the toolchain we use, python-for-android, calculates the apk versionCode from the versionName.)

You could add a secondary tag that contains that .0. Maybe even make it android-v4.1.5.0 but again, for my needs no changes are necessary. Stripping the .0 is easy enough.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Installing GCC: Configuration - GNU Project
Specify the host, build and target machine configurations. You do this when you run the configure script. The build machine is the system...
Read more >
Dockerfile reference - Docker Documentation
Docker can build images automatically by reading the instructions from a Dockerfile . ... This page describes the commands you can use in...
Read more >
Building a Native Executable - Quarkus
Mandrel is a downstream distribution of the Oracle GraalVM CE. Mandrel's main goal is to provide a way to build native executables specifically...
Read more >
Dockerfile tutorial by example - basics and best practices [2018]
An in-depth tutorial on creating your own Docker images with Dockerfile. Detailed examples, videos and Dockerfile best practices.
Read more >
How to Build the Best User Documentation (New Guide) | Blog
User documentation (also called end user manuals, end user guides, instruction manuals, etc.) is the content you provide end users with to help...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found