Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reproducible Builds #42

Open
IzzySoft opened this issue Jan 11, 2025 · 0 comments
Open

Reproducible Builds #42

IzzySoft opened this issue Jan 11, 2025 · 0 comments

Comments

@IzzySoft
Copy link
Contributor

At IzzyOnDroid we support Reproducible Builds (see: Reproducible Builds, special client support and more at IzzyOnDroid). Your app already had RB established, but your last release broke it: the APK was not built from the commit the tag points to, but from somewhere between that and the one before (its embedded vcsInfo points to the tag before, but it seems to include parts of the tagged commit), making it impossible to reproduce. Difference between the APKs:

  -rw-r--r--  0.0 unx      120 b-      118 defN 1981-01-01 01:01:02 47d7cac1 META-INF/version-control-info.textproto
- -rw-r--r--  0.0 unx     2610 b-     2610 stor 1981-01-01 01:01:02 e4a13f96 assets/dexopt/baseline.prof
+ -rw-r--r--  0.0 unx     2611 b-     2611 stor 1981-01-01 01:01:02 928ff892 assets/dexopt/baseline.prof
  -rw-r--r--  0.0 unx      328 b-      328 stor 1981-01-01 01:01:02 95cc7c5d assets/dexopt/baseline.profm
- -rw-r--r--  0.0 unx  2020200 b-   993715 defN 1981-01-01 01:01:02 ac357c21 classes.dex
+ -rw-r--r--  0.0 unx  2020184 b-   993642 defN 1981-01-01 01:01:02 78b70ee5 classes.dex
  -rw-r--r--  0.0 unx    10329 b-     2922 defN 1981-01-01 01:01:02 0948f515 assets/changelog.html

difference in classes.dex:

       outs          : 4
-      insns size    : 155 16-bit code units
+      insns size    : 148 16-bit code units
 | com.parseus.codecinfo.ui.MainActivity.onCreate:(Landroid/os/Bundle;)V
 |: sget v0, Landroid/os/Build$VERSION;.SDK_INT:I
 |: const/16 v1, #int 28 // #1c
@@ -376320,10 +376320,7 @@
 |: invoke-direct {v1, v6, v7, v2}, Lpi;.<init>:(Lcom/parseus/codecinfo/ui/MainActivity;Landroid/os/Bundle;LZ7;)V
 |: const/4 v7, #int 3 // #3
 |: invoke-static {v0, v2, v1, v7}, Lat;.x:(Ls8;Lo8;Lue;I)LJq;
-|: goto 008d // +0012
-|: invoke-virtual {v6}, Ltk;.x:()Lsk;
-|: move-result-object v0
-|: invoke-virtual {v0, v6}, Lsk;.n:(Lfk;)V
+|: goto 0086 // +000b
 |: invoke-virtual {v6, v7}, Lcom/parseus/codecinfo/ui/MainActivity;.B:(Landroid/os/Bundle;)V
 |: invoke-virtual {v6}, Landroid/app/Activity;.getWindow:()Landroid/view/Window;
 |: move-result-object v7
@@ -376338,8 +376335,8 @@
       catches       : (none)
       positions     :
       locals        :
-        0x0000 - 0x009b reg=6 this Lcom/parseus/codecinfo/ui/MainActivity;
-        0x0000 - 0x009b reg=7 (null) Landroid/os/Bundle;
+        0x0000 - 0x0094 reg=6 this Lcom/parseus/codecinfo/ui/MainActivity;
+        0x0000 - 0x0094 reg=7 (null) Landroid/os/Bundle;

Please always build the app from a clean tree at the commit the release tag points to. We'd appreciate if you could help keeping your build reproducible. We've also prepared some hints on reproducible builds for that.

Thanks – and looking forward to your reply!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant