Provide a functional workaround for crashing bash on inital build

This commit is contained in:
Tobias Happ 2019-11-27 09:49:49 +01:00 committed by Alexander Sosedkin
parent 5a915530b0
commit 867aa587ea

View file

@ -1,23 +1,45 @@
# Licensed under GNU Lesser General Public License v3 or later, see COPYING.
# Copyright (c) 2019 Alexander Sosedkin and other contributors, see AUTHORS.
{ config, writeScript }:
{ config, lib, writeScript }:
let
inherit (config.build) installationDir;
in
writeScript "login" ''
#!/system/bin/sh
set -e
export USER="${config.user.userName}"
export PROOT_TMP_DIR=${config.build.installationDir}/tmp
export PROOT_L2S_DIR=${config.build.installationDir}/.l2s
export PROOT_TMP_DIR=${installationDir}/tmp
export PROOT_L2S_DIR=${installationDir}/.l2s
exec "${config.build.installationDir}/bin/proot-static" \
-b ${config.build.installationDir}/nix:/nix \
-b ${config.build.installationDir}/bin:/bin \
-b ${config.build.installationDir}/etc:/etc \
-b ${config.build.installationDir}/tmp:/tmp \
-b ${config.build.installationDir}/usr:/usr \
-b /:/android \
--link2symlink \
${config.build.installationDir}/bin/sh ${config.build.installationDir}/usr/lib/login-inner "$@"
${
if config.build.initialBuild
then ''
${installationDir}/bin/proot-static \
-b ${installationDir}/nix:/nix \
-b ${installationDir}/bin:/bin \
-b ${installationDir}/etc:/etc \
-b ${installationDir}/tmp:/tmp \
-b ${installationDir}/usr:/usr \
-b /:/android \
--link2symlink \
${installationDir}/bin/sh ${installationDir}/usr/lib/login-inner "$@"
exec ${installationDir}/bin/login "$@"
''
else ''
exec ${installationDir}/bin/proot-static \
-b ${installationDir}/nix:/nix \
-b ${installationDir}/bin:/bin \
-b ${installationDir}/etc:/etc \
-b ${installationDir}/tmp:/tmp \
-b ${installationDir}/usr:/usr \
-b /:/android \
--link2symlink \
${installationDir}/bin/sh ${installationDir}/usr/lib/login-inner "$@"
''
}
''