diff --git a/SOURCES/leapp-repository-0.23.0-elevate.patch b/SOURCES/leapp-repository-0.23.0-elevate.patch index 666d54e..bf63785 100644 --- a/SOURCES/leapp-repository-0.23.0-elevate.patch +++ b/SOURCES/leapp-repository-0.23.0-elevate.patch @@ -1,3 +1,95 @@ +diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml +index 3e595e32..4b07e4b3 100644 +--- a/.github/workflows/codespell.yml ++++ b/.github/workflows/codespell.yml +@@ -14,7 +14,7 @@ jobs: + runs-on: ubuntu-latest + + steps: +- - uses: actions/checkout@v4 ++ - uses: actions/checkout@v5 + - uses: codespell-project/actions-codespell@v2 + with: + ignore_words_list: ro,fo,couldn,repositor,zeor,bootup +diff --git a/.github/workflows/differential-shellcheck.yml b/.github/workflows/differential-shellcheck.yml +index e1bafb93..6c81713c 100644 +--- a/.github/workflows/differential-shellcheck.yml ++++ b/.github/workflows/differential-shellcheck.yml +@@ -19,7 +19,7 @@ jobs: + + steps: + - name: Repository checkout +- uses: actions/checkout@v4 ++ uses: actions/checkout@v5 + with: + fetch-depth: 0 + +diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml +index ed82e0e5..d1b8fb2a 100644 +--- a/.github/workflows/unit-tests.yml ++++ b/.github/workflows/unit-tests.yml +@@ -19,40 +19,40 @@ jobs: + - name: 'Unit tests (python:3.12; repos:el9toel10,common)' + python: python3.12 + repos: 'el9toel10,common' +- container: ubi9 ++ container: el9 + - name: 'Linters (python:3.12; repos:el9toel10,common)' + python: python3.12 + repos: 'el9toel10,common' +- container: ubi9-lint ++ container: el9-lint + - name: 'Unit tests (python:3.9; repos:el9toel10,common)' + python: python3.9 + repos: 'el9toel10,common' +- container: ubi9 ++ container: el9 + - name: 'Linters (python:3.9; repos:el9toel10,common)' + python: python3.9 + repos: 'el9toel10,common' +- container: ubi9-lint ++ container: el9-lint + # 8to9 + - name: 'Unit tests (python:3.9; repos:el8toel9,common)' + python: python3.9 + repos: 'el8toel9,common' +- container: ubi9 ++ container: el9 + - name: 'Linters (python:3.9; repos:el8toel9,common)' + python: python3.9 + repos: 'el8toel9,common' +- container: ubi9-lint ++ container: el9-lint + - name: 'Unit tests (python:3.6; repos:el8toel9,common)' + python: python3.6 + repos: 'el8toel9,common' +- container: ubi8 ++ container: el8 + - name: 'Linters (python:3.6; repos:el8toel9,common)' + python: python3.6 + repos: 'el8toel9,common' +- container: ubi8-lint ++ container: el8-lint + + steps: + - name: Checkout code +- uses: actions/checkout@v4 ++ uses: actions/checkout@v5 + with: + # NOTE(ivasilev) fetch-depth 0 is critical here as leapp deps discovery depends on specific substring in + # commit message and default 1 option will get us just merge commit which has an unrelevant message. +@@ -63,4 +63,10 @@ jobs: + run: | + git branch -f main origin/main + - name: ${{matrix.scenarios.name}} +- run: script -e -c /bin/bash -c 'TERM=xterm podman build --security-opt=seccomp=unconfined -t leapp-tests -f utils/container-tests/Containerfile.${{matrix.scenarios.container}} utils/container-tests && PYTHON_VENV=${{matrix.scenarios.python}} REPOSITORIES=${{matrix.scenarios.repos}} podman run --security-opt=seccomp=unconfined --rm -ti -v ${PWD}:/payload --env=PYTHON_VENV --env=REPOSITORIES leapp-tests' ++ run: | ++ script -e -c /bin/bash -c \ ++ 'TERM=xterm \ ++ podman build -t leapp-tests -f utils/container-tests/ci/Containerfile.${{matrix.scenarios.container}} . && \ ++ PYTHON_VENV=${{matrix.scenarios.python}} \ ++ REPOSITORIES=${{matrix.scenarios.repos}} \ ++ podman run --rm -ti -v ${PWD}:/payload --env=PYTHON_VENV --env=REPOSITORIES leapp-tests' diff --git a/.gitignore b/.gitignore index 0bb92d3d..a04c7ded 100644 --- a/.gitignore @@ -10,6 +102,126 @@ index 0bb92d3d..a04c7ded 100644 # pycharm .idea +diff --git a/Makefile b/Makefile +index 81b16376..754c2c63 100644 +--- a/Makefile ++++ b/Makefile +@@ -51,7 +51,7 @@ _COPR_CONFIG=$${COPR_CONFIG:-~/.config/copr_rh_oamg.conf} + _CONTAINER_TOOL=$${CONTAINER_TOOL:-podman} + + # container to run tests in +-_TEST_CONTAINER=$${TEST_CONTAINER:-rhel8} ++_TEST_CONTAINER=$${TEST_CONTAINER:-el8} + + # In case just specific CHROOTs should be used for the COPR build, you can + # set the multiple CHROOTs separated by comma in the COPR_CHROOT envar, e.g. +@@ -129,7 +129,7 @@ help: + @echo " test lint source code and run tests" + @echo " test_no_lint run tests without linting the source code" + @echo " test_container run lint and tests in container" +- @echo " - default container is 'rhel8'" ++ @echo " - default container is 'el8'" + @echo " - can be changed by setting TEST_CONTAINER env" + @echo " test_container_all run lint and tests in all available containers" + @echo " test_container_no_lint run tests without linting in container, see test_container" +@@ -164,9 +164,9 @@ help: + @echo " PR=7 SUFFIX='my_additional_suffix' make " + @echo " MR=6 COPR_CONFIG='path/to/the/config/copr/file' make " + @echo " ACTOR= TEST_LIBS=y make test" +- @echo " BUILD_CONTAINER=rhel8 make build_container" +- @echo " TEST_CONTAINER=f34 make test_container" +- @echo " CONTAINER_TOOL=docker TEST_CONTAINER=rhel8 make test_container_no_lint" ++ @echo " BUILD_CONTAINER=el8 make build_container" ++ @echo " TEST_CONTAINER=f42 make test_container" ++ @echo " CONTAINER_TOOL=docker TEST_CONTAINER=el8 make test_container_no_lint" + @echo "" + + clean: +@@ -252,10 +252,10 @@ build_container: + echo "--- Build RPM ${PKGNAME}-${VERSION}-${RELEASE}.el$(DIST_VERSION).rpm in container ---"; + case "$(BUILD_CONTAINER)" in \ + el8) \ +- CONT_FILE="utils/container-builds/Containerfile.ubi8"; \ ++ CONT_FILE="utils/container-builds/Containerfile.el8"; \ + ;; \ + el9) \ +- CONT_FILE="utils/container-builds/Containerfile.ubi9"; \ ++ CONT_FILE="utils/container-builds/Containerfile.el9"; \ + ;; \ + "") \ + echo "BUILD_CONTAINER must be set"; \ +@@ -379,7 +379,6 @@ test_no_lint: + done; \ + $(_PYTHON_VENV) -m pytest $(REPORT_ARG) $(TEST_PATHS) $(LIBRARY_PATH) $(PYTEST_ARGS) + +- + test: lint test_no_lint + + # container images act like a cache so that dependencies can only be downloaded once +@@ -416,7 +415,7 @@ lint_container: + @_TEST_CONT_TARGET="lint" $(MAKE) test_container + + lint_container_all: +- @for container in "f34" "rhel8" "rhel9"; do \ ++ @for container in f42 el{8,9}; do \ + TEST_CONTAINER=$$container $(MAKE) lint_container || exit 1; \ + done + +@@ -426,20 +425,20 @@ lint_container_all: + # because e.g RHEL8 to RHEL9 IPU must work on python3.6 and python3.9. + test_container: + @case $(_TEST_CONTAINER) in \ +- f34) \ +- export CONT_FILE="utils/container-tests/Containerfile.f34"; \ +- export _VENV="python3.9"; \ ++ f42) \ ++ export CONT_FILE="utils/container-tests/Containerfile.f42"; \ ++ export _VENV="python3.13"; \ + ;; \ +- rhel8) \ +- export CONT_FILE="utils/container-tests/Containerfile.rhel8"; \ ++ el8) \ ++ export CONT_FILE="utils/container-tests/Containerfile.el8"; \ + export _VENV="python3.6"; \ + ;; \ +- rhel9) \ +- export CONT_FILE="utils/container-tests/Containerfile.rhel9"; \ ++ el9) \ ++ export CONT_FILE="utils/container-tests/Containerfile.el9"; \ + export _VENV="python3.9"; \ + ;; \ + *) \ +- echo "Error: Available containers are: f34, rhel8, rhel9"; exit 1; \ ++ echo "Error: Available containers are: f42, el8, el9"; exit 1; \ + ;; \ + esac; \ + export TEST_IMAGE="leapp-repo-tests-$(_TEST_CONTAINER)"; \ +@@ -471,7 +470,7 @@ test_container: + exit $$res + + test_container_all: +- @for container in "f34" "rhel8" "rhel9"; do \ ++ @for container in "f42" "el8" "el9"; do \ + TEST_CONTAINER=$$container $(MAKE) test_container || exit 1; \ + done + +@@ -479,14 +478,13 @@ test_container_no_lint: + @_TEST_CONT_TARGET="test_no_lint" $(MAKE) test_container + + test_container_all_no_lint: +- @for container in "f34" "rhel8" "rhel9"; do \ ++ @for container in f42 el{8,9}; do \ + TEST_CONTAINER=$$container $(MAKE) test_container_no_lint || exit 1; \ + done + + # clean all testing and building containers and their images + clean_containers: +- @for i in "leapp-repo-tests-f34" "leapp-repo-tests-rhel8" \ +- "leapp-repo-tests-rhel9" "leapp-repo-build-el8"; do \ ++ @for i in leapp-repo-tests-f42 leapp-repo-tests-el{8,9} leapp-repo-build-el{8,9}; do \ + $(_CONTAINER_TOOL) kill "$$i-cont" || :; \ + $(_CONTAINER_TOOL) rm "$$i-cont" || :; \ + $(_CONTAINER_TOOL) rmi "$$i" || :; \ diff --git a/ci/.gitignore b/ci/.gitignore new file mode 100644 index 00000000..e6f97f0f @@ -3421,6 +3633,22 @@ index 00000000..370758e6 + end + end +end +diff --git a/commands/tests/test_upgrade_paths.py b/commands/tests/test_upgrade_paths.py +index 89b5eb71..9bdf5792 100644 +--- a/commands/tests/test_upgrade_paths.py ++++ b/commands/tests/test_upgrade_paths.py +@@ -42,6 +42,11 @@ def test_get_target_version(mock_open, monkeypatch): + }, + ) + def test_get_target_release(mock_open, monkeypatch): # do not remove mock_open ++ # Make it look like it's RHEL even on centos, because that's what the test ++ # assumes. ++ # Otherwise the test, when ran on Centos, fails because it works ++ # with MAJOR.MINOR version format while Centos uses MAJOR format. ++ monkeypatch.setattr(command_utils, 'get_distro_id', lambda: 'rhel') + monkeypatch.setattr(command_utils, 'get_os_release_version_id', lambda x: '8.6') + + # make sure env var LEAPP_DEVEL_TARGET_RELEASE takes precedence diff --git a/etc/leapp/transaction/to_reinstall b/etc/leapp/transaction/to_reinstall new file mode 100644 index 00000000..c6694a8e @@ -3844,6 +4072,19 @@ index 366b5cab..d2bf7313 100644 -After=basic.target sysroot.mount +After=basic.target sysroot.mount initrd-fs.target AllowIsolate=yes +diff --git a/repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py b/repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py +index 5302cdd2..c1cefc37 100644 +--- a/repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py ++++ b/repos/system_upgrade/common/actors/createresumeservice/tests/test_createresumeservice.py +@@ -6,7 +6,7 @@ import pytest + + @pytest.mark.skipif(os.getuid() != 0, reason='User is not a root') + @pytest.mark.skipif( +- distro.linux_distribution()[0] == 'Fedora', ++ distro.id() == 'fedora', + reason='default.target.wants does not exists on Fedora distro', + ) + def test_create_resume_service(current_actor_context): diff --git a/repos/system_upgrade/common/actors/distributionsignedrpmscanner/actor.py b/repos/system_upgrade/common/actors/distributionsignedrpmscanner/actor.py index 003f3fc5..9e7bbf4a 100644 --- a/repos/system_upgrade/common/actors/distributionsignedrpmscanner/actor.py @@ -6618,6 +6859,34 @@ index c076fe6b..2455a2f6 100644 UPGRADE_BLS_DIR = '/boot/upgrade-loader' CONTAINER_DOWNLOAD_DIR = '/tmp_pkg_download_dir' +diff --git a/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py +index 46af07c1..7558b307 100644 +--- a/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py ++++ b/repos/system_upgrade/el8toel9/actors/networkmanagerconnectionscanner/tests/unit_test_networkmanagerconnectionscanner.py +@@ -1,4 +1,5 @@ + import errno ++import sys + import textwrap + + import pytest +@@ -57,7 +58,16 @@ def test_no_conf(monkeypatch): + assert not api.produce.called + + +-@pytest.mark.skipif(not nmconnscanner.libnm_available, reason="NetworkManager g-ir not installed") ++@pytest.mark.skipif( ++ sys.version_info.major != 3 or sys.version_info.minor != 6, ++ # On Python > 3.6 the GLib and NM libraries apparently behave differently and ++ # the test fails. Let's skip it since the actor it's only ever run with ++ # Python3.6 (el8toel9 repo and FactsPhase) ++ reason="Only runs on Python 3.6", ++) ++@pytest.mark.skipif( ++ not nmconnscanner.libnm_available, reason="NetworkManager g-ir not installed" ++) + def test_nm_conn(monkeypatch): + """ + Check a basic keyfile diff --git a/repos/system_upgrade/el8toel9/actors/removeupgradeefientry/libraries/removeupgradeefientry.py b/repos/system_upgrade/el8toel9/actors/removeupgradeefientry/libraries/removeupgradeefientry.py index daa7b2ca..dd604d8b 100644 --- a/repos/system_upgrade/el8toel9/actors/removeupgradeefientry/libraries/removeupgradeefientry.py @@ -6649,3 +6918,332 @@ index daa7b2ca..dd604d8b 100644 def get_workaround_efi_info(): +diff --git a/repos/system_upgrade/el9toel10/actors/sssd/sssdchecks/libraries/sssdchecks.py b/repos/system_upgrade/el9toel10/actors/sssd/sssdchecks/libraries/sssdchecks.py +index 0a86fa7b..cb95026c 100644 +--- a/repos/system_upgrade/el9toel10/actors/sssd/sssdchecks/libraries/sssdchecks.py ++++ b/repos/system_upgrade/el9toel10/actors/sssd/sssdchecks/libraries/sssdchecks.py +@@ -15,8 +15,8 @@ def check_config(model): + 'SSSD\'s sss_ssh_knownhostsproxy tool is replaced by the more ' + 'reliable sss_ssh_knownhosts tool. SSH\'s configuration will be updated ' + 'to reflect this by updating every mention of sss_ssh_knownhostsproxy by ' +- 'the corresponding mention of sss_ssh_knownhosts, even those commented out.\n' +- 'SSSD\'s ssh service will be enabled if not already done.\n' ++ 'the corresponding mention of sss_ssh_knownhosts, even those commented out. ' ++ 'SSSD\'s ssh service will be enabled if not already done.\n\n' + 'The following files will be updated:{}{}'.format( + FMT_LIST_SEPARATOR, + FMT_LIST_SEPARATOR.join(model.sssd_config_files + model.ssh_config_files) +diff --git a/repos/system_upgrade/el9toel10/actors/sssd/sssdfacts/libraries/sssdfacts.py b/repos/system_upgrade/el9toel10/actors/sssd/sssdfacts/libraries/sssdfacts.py +index 0ae9d93f..7d343229 100644 +--- a/repos/system_upgrade/el9toel10/actors/sssd/sssdfacts/libraries/sssdfacts.py ++++ b/repos/system_upgrade/el9toel10/actors/sssd/sssdfacts/libraries/sssdfacts.py +@@ -19,7 +19,10 @@ def _does_file_contain_expression(file_path, expression): + ) + return False + except OSError as e: +- raise StopActorExecutionError('Could not open file ' + file_path, details={'details': str(e)}) ++ raise StopActorExecutionError( ++ 'Could not open configuration file', ++ details={'details': 'Coudn\'t open {} file with error: {}.'.format(file_path, str(e))} ++ ) + + + def _look_for_files(expression: str, path_list: list[str]) -> list[str]: +diff --git a/repos/system_upgrade/el9toel10/actors/sssd/sssdupdate/libraries/sssdupdate.py b/repos/system_upgrade/el9toel10/actors/sssd/sssdupdate/libraries/sssdupdate.py +index 6d745ead..5b96bcc6 100644 +--- a/repos/system_upgrade/el9toel10/actors/sssd/sssdupdate/libraries/sssdupdate.py ++++ b/repos/system_upgrade/el9toel10/actors/sssd/sssdupdate/libraries/sssdupdate.py +@@ -1,7 +1,7 @@ + import os + import re + +-from leapp.exceptions import StopActorExecutionError ++from leapp.libraries.stdlib import api + + + def _process_knownhosts(line: str) -> str: +@@ -29,30 +29,26 @@ def _process_enable_svc(line: str) -> str: + + + def _update_file(filename, process_function): +- newname = filename + '.new' +- oldname = filename + '.old' ++ newname = '{}.leappnew'.format(filename) ++ oldname = '{}.leappsave'.format(filename) + try: +- with open(filename, 'r') as input_file, open(newname, 'x') as output_file: ++ with open(filename, 'r') as input_file, open(newname, 'w') as output_file: + istat = os.fstat(input_file.fileno()) + os.fchmod(output_file.fileno(), istat.st_mode) + for line in input_file: + try: + output_file.write(process_function(line)) + except OSError as e: +- raise StopActorExecutionError('Failed to write to {}'.format(newname), +- details={'details': str(e)}) ++ api.current_logger().warning('Failed to write to {}'.format(newname), details={'details': str(e)}) + +- except FileExistsError as e: +- raise StopActorExecutionError('Temporary file already exists: {}'.format(newname), +- details={'details': str(e)}) + except OSError as e: + try: + os.unlink(newname) + except FileNotFoundError: + pass +- raise StopActorExecutionError('Failed to access the required files', details={'details': str(e)}) ++ api.current_logger().error('Failed to access the required files', details={'details': str(e)}) + +- # Let's make sure the old configuration is preserverd if something goes wrong ++ # Let's make sure the old configuration is preserved if something goes wrong + os.replace(filename, oldname) + os.replace(newname, filename) + os.unlink(oldname) +diff --git a/utils/container-builds/Containerfile.centos7 b/utils/container-builds/Containerfile.centos7 +deleted file mode 100644 +index af00eddb..00000000 +--- a/utils/container-builds/Containerfile.centos7 ++++ /dev/null +@@ -1,15 +0,0 @@ +-FROM centos:7 +- +-VOLUME /repo +- +-# mirror.centos.org is dead, comment out mirrorlist and set baseurl to vault.centos.org +-RUN sed -i s/mirror.centos.org/vault.centos.org/ /etc/yum.repos.d/CentOS-*.repo +-RUN sed -i s/^#\s*baseurl=http/baseurl=http/ /etc/yum.repos.d/CentOS-*.repo +-RUN sed -i s/^mirrorlist=http/#mirrorlist=http/ /etc/yum.repos.d/CentOS-*.repo +- +-RUN yum update -y && \ +- yum install -y rpm-build python-devel make git +- +-WORKDIR /repo +-ENV DIST_VERSION 7 +-ENTRYPOINT make _build_local +diff --git a/utils/container-builds/Containerfile.ubi8 b/utils/container-builds/Containerfile.el8 +similarity index 100% +rename from utils/container-builds/Containerfile.ubi8 +rename to utils/container-builds/Containerfile.el8 +diff --git a/utils/container-builds/Containerfile.ubi9 b/utils/container-builds/Containerfile.el9 +similarity index 100% +rename from utils/container-builds/Containerfile.ubi9 +rename to utils/container-builds/Containerfile.el9 +diff --git a/utils/container-tests/Containerfile.el8 b/utils/container-tests/Containerfile.el8 +new file mode 100644 +index 00000000..b92e8742 +--- /dev/null ++++ b/utils/container-tests/Containerfile.el8 +@@ -0,0 +1,24 @@ ++FROM centos:8 ++ ++RUN sed -i s/mirror.centos.org/vault.centos.org/ /etc/yum.repos.d/CentOS-*.repo ++RUN sed -i s/^#\s*baseurl=http/baseurl=http/ /etc/yum.repos.d/CentOS-*.repo ++RUN sed -i s/^mirrorlist=http/#mirrorlist=http/ /etc/yum.repos.d/CentOS-*.repo ++ ++VOLUME /repo ++ ++RUN dnf update -y && \ ++ dnf install -y git make rsync \ ++ python3-virtualenv python3-setuptools python3-pip \ ++ python3-gobject NetworkManager-libnm ++ ++ENV PYTHON_VENV python3.6 ++ ++COPY . /repocopy ++ ++WORKDIR /repocopy ++ ++RUN rm -rf tut* ++ ++RUN make clean && make install-deps-fedora ++ ++WORKDIR / +diff --git a/utils/container-tests/Containerfile.rhel9 b/utils/container-tests/Containerfile.el9 +similarity index 100% +rename from utils/container-tests/Containerfile.rhel9 +rename to utils/container-tests/Containerfile.el9 +diff --git a/utils/container-tests/Containerfile.f34 b/utils/container-tests/Containerfile.f42 +similarity index 84% +rename from utils/container-tests/Containerfile.f34 +rename to utils/container-tests/Containerfile.f42 +index a9346635..46f0f63a 100644 +--- a/utils/container-tests/Containerfile.f34 ++++ b/utils/container-tests/Containerfile.f42 +@@ -1,11 +1,11 @@ +-FROM fedora:34 ++FROM fedora:42 + + VOLUME /repo + + RUN dnf update -y && \ + dnf install -y findutils make rsync python3-gobject-base NetworkManager-libnm + +-ENV PYTHON_VENV python3.9 ++ENV PYTHON_VENV python3.13 + + COPY . /repocopy + +diff --git a/utils/container-tests/Containerfile.rhel7 b/utils/container-tests/Containerfile.rhel7 +deleted file mode 100644 +index 0a0c384a..00000000 +--- a/utils/container-tests/Containerfile.rhel7 ++++ /dev/null +@@ -1,24 +0,0 @@ +-FROM registry.access.redhat.com/ubi7/ubi:7.9 +- +-VOLUME /repo +- +-RUN yum update -y && \ +- yum install -y python-virtualenv python-setuptools make git rsync +- +-# see ./Containerfile.ubi7 for explanation +-RUN yum -y install python27-python-pip && \ +- scl enable python27 -- pip install -U --target /usr/lib/python2.7/site-packages/ pip==20.3.0 && \ +- python -m pip install --ignore-installed pip==20.3.4 ipaddress virtualenv +- +-ENV PYTHON_VENV python2.7 +- +-COPY . /repocopy +- +-WORKDIR /repocopy +- +-RUN rm -rf tut* +- +-RUN make clean && make install-deps +- +-WORKDIR / +- +diff --git a/utils/container-tests/Containerfile.rhel8 b/utils/container-tests/Containerfile.rhel8 +deleted file mode 100644 +index 6f21839b..00000000 +--- a/utils/container-tests/Containerfile.rhel8 ++++ /dev/null +@@ -1,18 +0,0 @@ +-FROM registry.access.redhat.com/ubi8/ubi:latest +- +-VOLUME /repo +- +-RUN dnf update -y && \ +- dnf install -y python3-virtualenv python3-setuptools python3-pip make git rsync +- +-ENV PYTHON_VENV python3.6 +- +-COPY . /repocopy +- +-WORKDIR /repocopy +- +-RUN rm -rf tut* +- +-RUN make clean && make install-deps-fedora +- +-WORKDIR / +diff --git a/utils/container-tests/Containerfile.ubi7 b/utils/container-tests/Containerfile.ubi7 +deleted file mode 100644 +index 44625a76..00000000 +--- a/utils/container-tests/Containerfile.ubi7 ++++ /dev/null +@@ -1,25 +0,0 @@ +-FROM registry.access.redhat.com/ubi7/ubi:7.9 +- +-VOLUME /payload +- +-RUN yum update -y && \ +- yum install python-virtualenv python-setuptools make git -y +- +-# NOTE(ivasilev,pstodulk) We need at least pip v10.0.1, however centos:7 +-# provides just v8.1.2 (via EPEL). So do this: install epel repos -> install +-# python2-pip -> use pip to update to specific pip version we require. period +-# NOTE(pstodulk) I see we take care about pip for py3 inside the Makefile, +-# however I am afraid of additional possible troubles in future because of the +-# archaic pip3 version (v9.0.1). As we want to run tests for Py2 and Py3 in ci +-# always anyway, let's put py3 installation here as well.. +-# Dropped Python3 as it is now added in its own container on RHEL8 +- +-# This is some trickery: We install python27-python-pip from the scl, use the scl to bootstrap the python +-# module of pip version 20.3.0 and then make it update to 20.3.4 resulting the 'pip' command to be available. +-# The --target approach doesn't add it, but at least we now have pip 20.3.4 installed ;-) +-RUN yum -y install python27-python-pip && \ +- scl enable python27 -- pip install -U --target /usr/lib/python2.7/site-packages/ pip==20.3.0 && \ +- python -m pip install --ignore-installed pip==20.3.4 ipaddress virtualenv +- +-WORKDIR /payload +-ENTRYPOINT make install-deps && make test_no_lint +diff --git a/utils/container-tests/Containerfile.ubi7-lint b/utils/container-tests/Containerfile.ubi7-lint +deleted file mode 100644 +index ed548985..00000000 +--- a/utils/container-tests/Containerfile.ubi7-lint ++++ /dev/null +@@ -1,25 +0,0 @@ +-FROM registry.access.redhat.com/ubi7/ubi:7.9 +- +-VOLUME /payload +- +-RUN yum update -y && \ +- yum install python-virtualenv python-setuptools make git -y +- +-# NOTE(ivasilev,pstodulk) We need at least pip v10.0.1, however centos:7 +-# provides just v8.1.2 (via EPEL). So do this: install epel repos -> install +-# python2-pip -> use pip to update to specific pip version we require. period +-# NOTE(pstodulk) I see we take care about pip for py3 inside the Makefile, +-# however I am afraid of additional possible troubles in future because of the +-# archaic pip3 version (v9.0.1). As we want to run tests for Py2 and Py3 in ci +-# always anyway, let's put py3 installation here as well.. +-# Dropped Python3 as it is now added in its own container on RHEL8 +- +-# This is some trickery: We install python27-python-pip from the scl, use the scl to bootstrap the python +-# module of pip version 20.3.0 and then make it update to 20.3.4 resulting the 'pip' command to be available. +-# The --target approach doesn't add it, but at least we now have pip 20.3.4 installed ;-) +-RUN yum -y install python27-python-pip && \ +- scl enable python27 -- pip install -U --target /usr/lib/python2.7/site-packages/ pip==20.3.0 && \ +- python -m pip install --ignore-installed pip==20.3.4 ipaddress virtualenv +- +-WORKDIR /payload +-ENTRYPOINT make install-deps && make lint +diff --git a/utils/container-tests/Containerfile.ubi8 b/utils/container-tests/Containerfile.ubi8 +deleted file mode 100644 +index 4da60c18..00000000 +--- a/utils/container-tests/Containerfile.ubi8 ++++ /dev/null +@@ -1,9 +0,0 @@ +-FROM registry.access.redhat.com/ubi8/ubi:latest +- +-VOLUME /payload +- +-RUN dnf update -y && \ +- dnf install python3-virtualenv python3-setuptools python3-pip make git -y +- +-WORKDIR /payload +-ENTRYPOINT make install-deps && make test_no_lint +diff --git a/utils/container-tests/ci/Containerfile.el8 b/utils/container-tests/ci/Containerfile.el8 +new file mode 100644 +index 00000000..4a19092e +--- /dev/null ++++ b/utils/container-tests/ci/Containerfile.el8 +@@ -0,0 +1,15 @@ ++FROM centos:8 ++ ++RUN sed -i s/mirror.centos.org/vault.centos.org/ /etc/yum.repos.d/CentOS-*.repo ++RUN sed -i s/^#\s*baseurl=http/baseurl=http/ /etc/yum.repos.d/CentOS-*.repo ++RUN sed -i s/^mirrorlist=http/#mirrorlist=http/ /etc/yum.repos.d/CentOS-*.repo ++ ++VOLUME /payload ++ ++RUN dnf update -y && \ ++ dnf install -y make git \ ++ python3-virtualenv python3-setuptools python3-pip \ ++ python3-gobject NetworkManager-libnm ++ ++WORKDIR /payload ++ENTRYPOINT make install-deps && make test_no_lint +diff --git a/utils/container-tests/Containerfile.ubi8-lint b/utils/container-tests/ci/Containerfile.el8-lint +similarity index 100% +rename from utils/container-tests/Containerfile.ubi8-lint +rename to utils/container-tests/ci/Containerfile.el8-lint +diff --git a/utils/container-tests/Containerfile.ubi9 b/utils/container-tests/ci/Containerfile.el9 +similarity index 100% +rename from utils/container-tests/Containerfile.ubi9 +rename to utils/container-tests/ci/Containerfile.el9 +diff --git a/utils/container-tests/Containerfile.ubi9-lint b/utils/container-tests/ci/Containerfile.el9-lint +similarity index 100% +rename from utils/container-tests/Containerfile.ubi9-lint +rename to utils/container-tests/ci/Containerfile.el9-lint diff --git a/SPECS/leapp-repository.spec b/SPECS/leapp-repository.spec index 058dd24..6363a10 100644 --- a/SPECS/leapp-repository.spec +++ b/SPECS/leapp-repository.spec @@ -53,7 +53,7 @@ py2_byte_compile "%1" "%2"} Epoch: 1 Name: leapp-repository Version: 0.23.0 -Release: 1%{?dist}.elevate.2 +Release: 1%{?dist}.elevate.3 Summary: Repositories for leapp License: ASL 2.0 @@ -350,6 +350,9 @@ fi %changelog +* Fri Oct 10 2025 Yuriy Kohut - 0.23.0-1.elevate.3 +- ELevate vendors support for upstream 0.23.0-1 version (c4f3ace1ebb909dc53796e16959a2459a15d9d74) + * Tue Sep 30 2025 Yuriy Kohut - 0.23.0-1.elevate.2 - ELevate vendors support for upstream 0.23.0-1 version (47fce173e75408d9a7a26225d389161caf72e244)