Merge pull request #108427 from symphorien/chdir-appimage

appimage-run: fix #108426
This commit is contained in:
Guillaume Girol 2021-01-25 18:18:42 +00:00 committed by GitHub
commit 7f355dcc4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 4 deletions

View File

@ -75,15 +75,15 @@ apprun() {
wrap() {
cd "$APPDIR" || exit
# quite same in appimageTools
export APPIMAGE_SILENT_INSTALL=1
if [ -n "$APPIMAGE_DEBUG_EXEC" ]; then
cd "$APPDIR" || true
exec "$APPIMAGE_DEBUG_EXEC"
fi
exec ./AppRun "$@"
exec "$APPDIR/AppRun" "$@"
}
usage() {

View File

@ -1,4 +1,4 @@
{ appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [] }:
{ appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [], appimage-run-tests ? null }:
let
fhsArgs = appimageTools.defaultFhsEnvArgs;
@ -8,4 +8,6 @@ in buildFHSUserEnv (fhsArgs // {
targetPkgs = pkgs: [ appimageTools.appimage-exec ]
++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs;
runScript = "appimage-exec.sh";
passthru.tests.appimage-run = appimage-run-tests;
})

View File

@ -0,0 +1,24 @@
{ runCommand, fetchurl, appimage-run, glibcLocales, file }:
let
# any AppImage usable on cli, really
sample-appImage = fetchurl {
url = "https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage";
sha256 = "04ws94q71bwskmhizhwmaf41ma4wabvfgjgkagr8wf3vakgv866r";
};
in
runCommand "appimage-run-tests" {
buildInputs = [ appimage-run glibcLocales file ];
meta.platforms = [ "x86_64-linux" ];
}
''
export HOME=$(mktemp -d)
set -x
# regression test for #101137, must come first
LANG=fr_FR appimage-run ${sample-appImage} --list ${sample-appImage}
# regression test for #108426
cp ${sample-appImage} foo.appImage
LANG=fr_FR appimage-run ${sample-appImage} --list foo.appImage
set +x
touch $out
''

View File

@ -884,7 +884,12 @@ in
inherit (androidenv.androidPkgs_9_0) build-tools;
};
appimage-run = callPackage ../tools/package-management/appimage-run {};
appimage-run = callPackage ../tools/package-management/appimage-run { };
appimage-run-tests = callPackage ../tools/package-management/appimage-run/test.nix {
appimage-run = appimage-run.override {
appimage-run-tests = null; /* break boostrap cycle for passthru.tests */
};
};
appimagekit = callPackage ../tools/package-management/appimagekit {};