-
Notifications
You must be signed in to change notification settings - Fork 328
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
A F/LOSS Build? #1409
Comments
I've tried to build the foss flavor (using
Looks like it could not find Background: OP asked to have your app included with IzzyOnDroid, and I tried to set up checks for Reproducible Builds (see: Reproducible Builds, special client support and more at IzzyOnDroid). Any help is appreciated! @PrivacyAndSecurity the foss flavor is F/LOSS here. The AppCenter code used there is a "stub" (an empty shell not doing anything, just providing the same interfaces). I hope that will stay the same when the app moves to Firebase… |
I hope so too! |
In fact, I've made the FOSS version of the build product available on the Release page. Similarly, FOSS products are provided with each CI release. https://github.com/LibChecker/LibChecker/actions/workflows/android.yml You are free to download it if you wish. |
Surely I will. |
Ah, how could I have missed the workflow? Or maybe I missed at least some details (I was running with JDK-17, while the workflow specifies 21 – though it would surprise me if that caused missing a dependency – and yeah, as expected, with 21 build fails with the very same message). Now I just need to figure out what the Github specific variables mean in "plain git", e.g. what does Btw: the workflow has
I've searched the entire repo for
Thanks – that's where the IzzyOnDroid update checker looks for them, and where I took the APK from. My build question rather concerns reproducible builds, as outlined above – which when successful, prove your APK was really built from the source it claims, and thus is another security layer. |
This parameter is used by me for debugging in my own environment, you can compile it directly with the following command.
|
That's exactly what I did: checking out the repo, changing into it's root, making sure |
I finally found the reason. https://jitpack.io/#com.github.AppDevNext/AndroidChart I have triggered re-building this version. Now it should works. |
Thanks! Builds now, but the resulting APK is not identical to yours. Seems you somewhere insert buildtime: |: if-eqz v2, 009b // +0016
-|: const-string v2, "2024-09-04T12:30:42.417658Z"
+|: const-string v2, "2024-12-05T09:16:28.257540054Z"
|: filled-new-array {v2}, [Ljava/lang/Object; Most likely here. That is non-deterministic and will differ on each build. Is that really needed? If you'd remove that, the app would be RB: build:
- sed -r 's/Instant.now\(\).toString\(\)/"2024-09-04T12:30:42.417658Z"/' -i build-logic/src/main/kotlin/Projects.kt
- chmod +x gradlew
- ./gradlew :app:assembleFossRelease (the "upstream_signed_apk_sha256": "5416c92f350842ad014bdf670053282292bc59e9a4b8baa7692c2af6e86bfd51",
"built_unsigned_apk_sha256": "60394dfd816dac010e70448a64e775e5635c5929338c4e8733b7a0b34c1d4d6c",
"signature_copied_apk_sha256": "5416c92f350842ad014bdf670053282292bc59e9a4b8baa7692c2af6e86bfd51" You see the first and the last hash (your APK, ours with the signature copied from yours) are identical then. So may I kindly ask you to not insert that dynamic timestamp with future releases? Thanks in advance! |
Oh, PS: you also might wish to pick a badge to add to the other two in your Readme and link it to your app at IzzyOnDroid 😃 The green shield for a successful RB is already up (in the hope you'll grant my above wish). |
Hey, I have removed the dynamic build time logic in this commit 452d3b8. This issue will not happen in the future releases.
Yes, I would be happy to add the badge. However, I noticed that the padding value of the image provided in the repository is different from the other badges. This makes the page layout look less visually appealing. Could you kindly provide an additional version of the badge with padding values matching the other two badges? |
sure? It's still there, even at
There's more than one. Your screenshot shows the one without padding. From the assets directory: So you might wish to take the first one? It should match the padding of the other two. |
Yes, the first one is perfect! Thanks! |
Great! Thanks for including it! And can you please make sure that build time insertion was not just forgotten to commit/push? The change was not part of the linked commit at least, and the line still exists in |
I forgot it. I will remove it in the future. |
Thanks! Please do so before the next release 😉 |
Hey,
would you be open to provide a F/LOSS build flavor (basically with the modifications done by F-Droid) and provide that APK alongside your current ones at Github? Because then IzzyOnDroid Repo from F-Droid could add it to their Repo. Because I and many Users don't trust the Main F-Droid Repo and this way, we would have the best solution for everyone. Because IzzyOnDroid Repo always checks the Apps, which would be more secure. Look here: https://android.izzysoft.de/articles/named/iod-scan-apkchecks?lang=en
The text was updated successfully, but these errors were encountered: