Merge pull request #108427 from symphorien/chdir-appimage

appimage-run: fix #108426

authored by Guillaume Girol and committed by GitHub 7f355dcc 7a5e4b7d

+35 -4
+2 -2
pkgs/build-support/appimage/appimage-exec.sh
··· 75 76 wrap() { 77 78 - cd "$APPDIR" || exit 79 # quite same in appimageTools 80 export APPIMAGE_SILENT_INSTALL=1 81 82 if [ -n "$APPIMAGE_DEBUG_EXEC" ]; then 83 exec "$APPIMAGE_DEBUG_EXEC" 84 fi 85 86 - exec ./AppRun "$@" 87 } 88 89 usage() {
··· 75 76 wrap() { 77 78 # quite same in appimageTools 79 export APPIMAGE_SILENT_INSTALL=1 80 81 if [ -n "$APPIMAGE_DEBUG_EXEC" ]; then 82 + cd "$APPDIR" || true 83 exec "$APPIMAGE_DEBUG_EXEC" 84 fi 85 86 + exec "$APPDIR/AppRun" "$@" 87 } 88 89 usage() {
+3 -1
pkgs/tools/package-management/appimage-run/default.nix
··· 1 - { appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [] }: 2 3 let 4 fhsArgs = appimageTools.defaultFhsEnvArgs; ··· 8 targetPkgs = pkgs: [ appimageTools.appimage-exec ] 9 ++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs; 10 runScript = "appimage-exec.sh"; 11 })
··· 1 + { appimageTools, buildFHSUserEnv, extraPkgs ? pkgs: [], appimage-run-tests ? null }: 2 3 let 4 fhsArgs = appimageTools.defaultFhsEnvArgs; ··· 8 targetPkgs = pkgs: [ appimageTools.appimage-exec ] 9 ++ fhsArgs.targetPkgs pkgs ++ extraPkgs pkgs; 10 runScript = "appimage-exec.sh"; 11 + 12 + passthru.tests.appimage-run = appimage-run-tests; 13 })
+24
pkgs/tools/package-management/appimage-run/test.nix
···
··· 1 + { runCommand, fetchurl, appimage-run, glibcLocales, file }: 2 + let 3 + # any AppImage usable on cli, really 4 + sample-appImage = fetchurl { 5 + url = "https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage"; 6 + sha256 = "04ws94q71bwskmhizhwmaf41ma4wabvfgjgkagr8wf3vakgv866r"; 7 + }; 8 + in 9 + runCommand "appimage-run-tests" { 10 + buildInputs = [ appimage-run glibcLocales file ]; 11 + meta.platforms = [ "x86_64-linux" ]; 12 + } 13 + '' 14 + export HOME=$(mktemp -d) 15 + set -x 16 + # regression test for #101137, must come first 17 + LANG=fr_FR appimage-run ${sample-appImage} --list ${sample-appImage} 18 + # regression test for #108426 19 + cp ${sample-appImage} foo.appImage 20 + LANG=fr_FR appimage-run ${sample-appImage} --list foo.appImage 21 + set +x 22 + touch $out 23 + '' 24 +
+6 -1
pkgs/top-level/all-packages.nix
··· 884 inherit (androidenv.androidPkgs_9_0) build-tools; 885 }; 886 887 - appimage-run = callPackage ../tools/package-management/appimage-run {}; 888 889 appimagekit = callPackage ../tools/package-management/appimagekit {}; 890
··· 884 inherit (androidenv.androidPkgs_9_0) build-tools; 885 }; 886 887 + appimage-run = callPackage ../tools/package-management/appimage-run { }; 888 + appimage-run-tests = callPackage ../tools/package-management/appimage-run/test.nix { 889 + appimage-run = appimage-run.override { 890 + appimage-run-tests = null; /* break boostrap cycle for passthru.tests */ 891 + }; 892 + }; 893 894 appimagekit = callPackage ../tools/package-management/appimagekit {}; 895