Исправление функционала создания дирректорий для работы ALR
All checks were successful
Pre-commit / pre-commit (push) Successful in 5m23s
Create Release / changelog (push) Successful in 3m3s

This commit is contained in:
2025-09-21 16:21:23 +03:00
parent 9efebbc02a
commit 4a616f2137
4 changed files with 174 additions and 14 deletions

View File

@@ -56,13 +56,19 @@ func prepareDirs(dirs types.Directories) error {
// Новые директории будут созданы или перезаписаны
slog.Debug("Failed to remove base directory", "path", dirs.BaseDir, "error", err)
}
// Создаем базовую директорию для пакета с setgid битом
err = utils.EnsureTempDirWithRootOwner(dirs.BaseDir, 0o2775)
if err != nil {
return err
}
// Создаем директории с правильным владельцем для /tmp/alr с setgid битом
err = utils.EnsureTempDirWithRootOwner(dirs.SrcDir, 0o2775)
if err != nil {
return err
}
// Создаем директорию для пакетов с setgid битом
return utils.EnsureTempDirWithRootOwner(dirs.PkgDir, 0o2775)
}
@@ -169,7 +175,7 @@ func normalizeContents(contents []*files.Content) {
}
}
var RegexpALRPackageName = regexp.MustCompile(`^(?P<package>[^+]+)\+alr-(?P<repo>.+)$`)
var RegexpALRPackageName = regexp.MustCompile(`^(?P<package>[^+]+)\+(?P<repo>.+)$`)
func getBasePkgInfo(vars *alrsh.Package, input interface {
RepositoryProvider
@@ -177,12 +183,8 @@ func getBasePkgInfo(vars *alrsh.Package, input interface {
},
) *nfpm.Info {
repo := input.Repository()
// Избегаем дублирования "alr-" префикса
if strings.HasPrefix(repo, "alr-") {
repo = repo[4:] // убираем "alr-" префикс
}
return &nfpm.Info{
Name: fmt.Sprintf("%s+alr-%s", vars.Name, repo),
Name: fmt.Sprintf("%s+%s", vars.Name, repo),
Arch: cpu.Arch(),
Version: vars.Version,
Release: overrides.ReleasePlatformSpecific(vars.Release, input.OSRelease()),