Reproducible Builds (for IzzyOnDroid)
At IzzyOnDroid we support [Reproducible Builds](https://reproducible-builds.org/) (see: [Reproducible Builds, special client support and more in our repo](https://android.izzysoft.de/articles/named/iod-rbs-mirrors-clients?lang=en)).
Your app [has been reproducible](https://apt.izzysoft.de/fdroid/index/apk/dev.zwander.mastodonredirect) for quite a while (see the green shields) :tada:. Unfortunately, all 3 apps in this repo each have an embedded random `com.bugsnag.android.BUILD_UUID`. We can work around that, but it requires manual work to keep up to date. It would be a lot easier for us if you could make the build fully deterministic.
FairEmail makes its embedded UUID deterministic using [`manifestPlaceholders`](https://developer.android.com/build/manage-manifests#kts) and a deterministic UUID that's generated from the version code (you might want to use the appid as input as well to generate a different UUID for each app):
```gradle
manifestPlaceholders.build_uuid = UUID.nameUUIDFromBytes(("github" + getVersionCode() + getRevision()).getBytes()).toString();
```
https://github.com/M66B/FairEmail/blob/9386f1380769553815cebaa634022e086f6f2c9d/app/build.gradle#L207
```xml
<meta-data
android:name="com.bugsnag.android.BUILD_UUID"
android:value="${build_uuid}" />
```
https://github.com/M66B/FairEmail/blob/9386f1380769553815cebaa634022e086f6f2c9d/app/src/main/AndroidManifest.xml#L159-L161
We'd appreciate if you could help making your build reproducible. We've prepared some [hints on Reproducible Builds](https://gitlab.com/IzzyOnDroid/repo/-/wikis/Reproducible-Builds).
Thank you!
@IzzySoft I noticed Lemmy Redirect and PeerTube Redirect in IoD are still on 1.12.0 whereas Mastodon Redirect is on 1.13.4 (and thus neither shows a green shield even though 1.13.4 has been verified for all 3).
关闭于 2024-08-26 3 条评论