grapheneos android 17 - #391
Conversation
apexer hardcodes absolute paths like /bin/cp, /bin/ls, and /usr/bin/fallocate that are missing on NixOS and break APEX signing. Co-authored-by: Cursor <cursoragent@cursor.com>
Revert the unshare FHS wrapper around apexer. apexer passes absolute paths like /bin/cp to FindBinaryPath, which only checks that literal path instead of searching tool_path_list. Use bare tool names so PATH from --apexer_tool_path works on NixOS. Co-authored-by: Cursor <cursoragent@cursor.com>
This reverts commit 71ee9a2.
com.android.webapp is a new mainline APEX in Android 17 with an embedded WebAppService.apk that needs an explicit extra_apks entry at release signing. Co-authored-by: Cursor <cursoragent@cursor.com>
generate-factory-images-common.sh already writes $PRODUCT-factory-$VERSION.zip in the working directory. When VERSION equals buildNumber (numeric GrapheneOS releases), the release script's mv to the same filename fails and aborts before writing updater metadata. Co-authored-by: Cursor <cursoragent@cursor.com>
|
I am running system based on this branch on my husky and pixel tablet. it works |
|
Thanks for making these changes. I tried to build a GrapheneOS image on NixOS using your branch, and got this error while executing the I suppose this is due to the change under Do you have any ideas? Maybe we could do the FHS environment a different way. edit: I think maybe |
Replace the manual unshare wrapper with pkgs.buildFHSEnv for apexer in order to fix 'Operation not permitted' issues on some systems.
|
@dcurgz The latest commit might help |
Signed-off-by: The one with the braid <info@braid.business>
| "WifiDialog.apk" = "${config.device}/releasekey"; | ||
| "Bluetooth.apk" = "${config.device}/bluetooth"; | ||
| }) | ||
| // (lib.optionalAttrs (lib.versionAtLeast config.stateVersion "3" && config.androidVersion >= 17) { |
There was a problem hiding this comment.
Why is this guarded behind stateVersion? I'm at stateVersion = 1 but I wouldn't think that would cause an issue.
Co-authored-by: Brian McKenna <brian@brianmckenna.org>
it works