diff --git a/service/lib/agama/software/callbacks/signature.rb b/service/lib/agama/software/callbacks/signature.rb index 2bdcc7b577..70fd88cc31 100644 --- a/service/lib/agama/software/callbacks/signature.rb +++ b/service/lib/agama/software/callbacks/signature.rb @@ -56,6 +56,11 @@ def setup # @param repo_id [Integer] Repository ID. It might be -1 if there is not an associated repo. def accept_unsigned_file(filename, repo_id) repo = Yast::Pkg.SourceGeneralData(repo_id) + + # Temporarily disable signature checking for local repositories. + # https://github.com/agama-project/agama/issues/2092 + return true if repo && repo["url"].start_with?("dir:") + message = if repo format( _("The file %{filename} from %{repo_url} is not digitally signed. The origin " \ diff --git a/service/package/rubygem-agama-yast.changes b/service/package/rubygem-agama-yast.changes index 11664bf358..3c05b25f4d 100644 --- a/service/package/rubygem-agama-yast.changes +++ b/service/package/rubygem-agama-yast.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Feb 28 13:03:11 UTC 2025 - Imobach Gonzalez Sosa + +- Temporarily disable signature checking for dir:// repositories + (gh#agama-project/agama#2092). + ------------------------------------------------------------------- Wed Feb 26 06:51:36 UTC 2025 - Imobach Gonzalez Sosa diff --git a/service/test/agama/software/callbacks/signature_test.rb b/service/test/agama/software/callbacks/signature_test.rb index bcde5c300e..09dc8502fb 100644 --- a/service/test/agama/software/callbacks/signature_test.rb +++ b/service/test/agama/software/callbacks/signature_test.rb @@ -70,6 +70,18 @@ expect(subject.accept_unsigned_file("repomd.xml", 1)) end + + context "and the repository is included in the media" do + before do + allow(Yast::Pkg).to receive(:SourceGeneralData).with(1) + .and_return("name" => "OSS", "url" => "dir:/run/initramfs/live/install") + end + + it "returns true without asking" do + expect(questions_client).to_not receive(:ask) + expect(subject.accept_unsigned_file("repomd.xml", 1)).to eq(true) + end + end end context "when the repo information is not available" do