Skip to content

Commit

Permalink
Limit AppRun2 usage to v2.*
Browse files Browse the repository at this point in the history
  • Loading branch information
azubieta committed Jun 22, 2022
1 parent d693370 commit 95b3e10
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 15 deletions.
37 changes: 25 additions & 12 deletions appimagebuilder/modules/setup/apprun_2/apprun2.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,20 @@
from appimagebuilder.utils import elf, file_utils
from appimagebuilder.utils.finder import Finder
from appimagebuilder.modules.setup import helpers
from appimagebuilder.modules.setup.apprun_binaries_resolver import AppRunBinariesResolver
from appimagebuilder.modules.setup.apprun_binaries_resolver import (
AppRunBinariesResolver,
)
from appimagebuilder.modules.setup.environment import Environment
from appimagebuilder.modules.setup.apprun_2.executables import BinaryExecutable, InterpretedExecutable
from appimagebuilder.modules.setup.apprun_2.executables_patcher import ExecutablesPatcher
from appimagebuilder.modules.setup.apprun_2.executables_scanner import ExecutablesScanner
from appimagebuilder.modules.setup.apprun_2.executables import (
BinaryExecutable,
InterpretedExecutable,
)
from appimagebuilder.modules.setup.apprun_2.executables_patcher import (
ExecutablesPatcher,
)
from appimagebuilder.modules.setup.apprun_2.executables_scanner import (
ExecutablesScanner,
)
from appimagebuilder.context import Context


Expand Down Expand Up @@ -72,9 +81,11 @@ def __init__(self, context: Context, finder: Finder):

self.path_mappings_env: Final = "APPDIR_PATH_MAPPINGS"

if self.apprun_version != "continuous" and version.parse(
self.apprun_version
) < version.parse("v2.0.0"):
parsed_version = version.parse(self.apprun_version)
if self.apprun_version != "continuous" and (
parsed_version < version.parse("v2.0.0")
or parsed_version > version.parse("v3.0.0")
):
raise AppRunV2SetupError(
"Unsupported AppRun version (%s), please use v2.0.0 or newer"
% self.apprun_version
Expand All @@ -96,7 +107,9 @@ def setup(self):
self._deploy_apprun_hooks(resolver, runtime_env)

self._patch_executables(executables, patcher)
runtime_env.set("APPDIR_LIBC_LINKER_PATH", set(patcher.binary_interpreters_paths.values()))
runtime_env.set(
"APPDIR_LIBC_LINKER_PATH", set(patcher.binary_interpreters_paths.values())
)

self._link_interpreters_from_runtimes(patcher.script_interpreters_paths)
self._create_default_runtime(runtime_env)
Expand Down Expand Up @@ -236,9 +249,9 @@ def parse_env_input(self, user_env_input):
v = v.replace("${APPDIR}", self.appdir_path.__str__())

if (
k == "PATH"
or k == "APPDIR_LIBRARY_PATH"
or k == "APPDIR_LIBC_LIBRARY_PATH"
k == "PATH"
or k == "APPDIR_LIBRARY_PATH"
or k == "APPDIR_LIBC_LIBRARY_PATH"
):
v = v.split(":")

Expand All @@ -247,7 +260,7 @@ def parse_env_input(self, user_env_input):
return env

def _deploy_apprun_hooks(
self, apprun_binaries_resolver: AppRunBinariesResolver, runtime_env: Environment
self, apprun_binaries_resolver: AppRunBinariesResolver, runtime_env: Environment
):

for arch in self.apprun_arch:
Expand Down
4 changes: 3 additions & 1 deletion tests/builder/runtime/test_executables_scanner.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
BinaryExecutable,
InterpretedExecutable,
)
from appimagebuilder.modules.setup.apprun_2.executables_scanner import ExecutablesScanner
from appimagebuilder.modules.setup.apprun_2.executables_scanner import (
ExecutablesScanner,
)
from appimagebuilder.utils.finder import Finder


Expand Down
4 changes: 3 additions & 1 deletion tests/modules/setup/test_executables_patcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
import tempfile
import unittest

from appimagebuilder.modules.setup.apprun_2.executables_patcher import ExecutablesPatcher
from appimagebuilder.modules.setup.apprun_2.executables_patcher import (
ExecutablesPatcher,
)


class TestExecutablesPatcher(unittest.TestCase):
Expand Down
4 changes: 3 additions & 1 deletion tests/modules/setup/test_executables_scanner.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
import tempfile
from unittest import TestCase

from appimagebuilder.modules.setup.apprun_2.executables_scanner import ExecutablesScanner
from appimagebuilder.modules.setup.apprun_2.executables_scanner import (
ExecutablesScanner,
)


class TestExecutablesScanner(TestCase):
Expand Down

0 comments on commit 95b3e10

Please sign in to comment.