diff --git a/e2e-tests/issue_72_install_with_deps_test.go b/e2e-tests/issue_72_install_with_deps_test.go new file mode 100644 index 0000000..6239b4d --- /dev/null +++ b/e2e-tests/issue_72_install_with_deps_test.go @@ -0,0 +1,51 @@ +// ALR - Any Linux Repository +// Copyright (C) 2025 Евгений Храмов +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +//go:build e2e + +package e2etests_test + +import ( + "testing" + + "github.com/alecthomas/assert/v2" + "github.com/efficientgo/e2e" +) + +func TestE2EIssue72InstallWithDeps(t *testing.T) { + dockerMultipleRun( + t, + "issue-72-install-with-deps", + COMMON_SYSTEMS, + func(t *testing.T, r e2e.Runnable) { + err := r.Exec(e2e.NewCommand( + "sudo", + "alr", + "addrepo", + "--name", + "alr-repo", + "--url", + "https://gitea.plemya-x.ru/Maks1mS/repo-for-tests.git", + )) + assert.NoError(t, err) + + err = r.Exec(e2e.NewCommand( + "sudo", "alr", "in", "test-app-with-lib", + )) + assert.NoError(t, err) + }, + ) +} diff --git a/pkg/build/build.go b/pkg/build/build.go index 2137e98..ad7c5b1 100644 --- a/pkg/build/build.go +++ b/pkg/build/build.go @@ -439,7 +439,7 @@ func (b *Builder) BuildPackage( } slog.Debug("BuildALRDeps") - _, builtNames, repoDeps, err := b.BuildALRDeps(ctx, input, depends) + builtPaths, builtNames, repoDeps, err := b.BuildALRDeps(ctx, input, depends) if err != nil { return nil, err } @@ -481,8 +481,8 @@ func (b *Builder) BuildPackage( return nil, err } - pkgPaths := removeDuplicates(res.BuiltPaths) - pkgNames := removeDuplicates(res.BuiltNames) + pkgPaths := removeDuplicates(append(builtPaths, res.BuiltPaths...)) + pkgNames := removeDuplicates(append(builtNames, res.BuiltNames...)) return &BuildResult{ PackagePaths: pkgPaths,