forked from Plemya-x/ALR
		
	Merge pull request 'chore: add fmt and update-license' (#10) from Maks1mS/ALR:chore/linting into master
Reviewed-on: Plemya-x/ALR#10
This commit is contained in:
		
							
								
								
									
										46
									
								
								.golangci.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								.golangci.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					# 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run:
 | 
				
			||||||
 | 
					  timeout: 5m
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					linters-settings:
 | 
				
			||||||
 | 
					  goimports:
 | 
				
			||||||
 | 
					    local-prefixes: "plemya-x.ru/alr"
 | 
				
			||||||
 | 
					  gofmt:
 | 
				
			||||||
 | 
					    simplify: true
 | 
				
			||||||
 | 
					  gofumpt:
 | 
				
			||||||
 | 
					    extra-rules: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					linters:
 | 
				
			||||||
 | 
					  enable:
 | 
				
			||||||
 | 
					    - gofmt
 | 
				
			||||||
 | 
					    - gofumpt
 | 
				
			||||||
 | 
					    - goimports
 | 
				
			||||||
 | 
					    - gocritic
 | 
				
			||||||
 | 
					    - govet
 | 
				
			||||||
 | 
					    - staticcheck
 | 
				
			||||||
 | 
					    - unused
 | 
				
			||||||
 | 
					    - errcheck
 | 
				
			||||||
 | 
					    - typecheck
 | 
				
			||||||
 | 
					#    - forbidigo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					issues:
 | 
				
			||||||
 | 
					  fix: true
 | 
				
			||||||
 | 
					  exclude-rules:
 | 
				
			||||||
 | 
					    - path: _test\.go
 | 
				
			||||||
 | 
					      linters:
 | 
				
			||||||
 | 
					        - errcheck
 | 
				
			||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					# This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					# It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
before:
 | 
					before:
 | 
				
			||||||
  hooks:
 | 
					  hooks:
 | 
				
			||||||
    - go mod tidy
 | 
					    - go mod tidy
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					# This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					# It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
platform: linux/amd64
 | 
					platform: linux/amd64
 | 
				
			||||||
pipeline:
 | 
					pipeline:
 | 
				
			||||||
  release:
 | 
					  release:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Makefile
									
									
									
									
									
								
							@@ -11,6 +11,9 @@ ZSH_COMPLETION := $(COMPLETIONS_DIR)/zsh
 | 
				
			|||||||
INSTALLED_BASH_COMPLETION := $(DESTDIR)$(PREFIX)/share/bash-completion/completions/$(NAME)
 | 
					INSTALLED_BASH_COMPLETION := $(DESTDIR)$(PREFIX)/share/bash-completion/completions/$(NAME)
 | 
				
			||||||
INSTALLED_ZSH_COMPLETION := $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_$(NAME)
 | 
					INSTALLED_ZSH_COMPLETION := $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_$(NAME)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ADD_LICENSE_BIN := go run github.com/google/addlicense@4caba19b7ed7818bb86bc4cd20411a246aa4a524
 | 
				
			||||||
 | 
					GOLANGCI_LINT_BIN := go run github.com/golangci/golangci-lint/cmd/golangci-lint@v1.62.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: build install clean clear uninstall check-no-root
 | 
					.PHONY: build install clean clear uninstall check-no-root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build: check-no-root $(BIN)
 | 
					build: check-no-root $(BIN)
 | 
				
			||||||
@@ -48,3 +51,12 @@ uninstall:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
clean clear:
 | 
					clean clear:
 | 
				
			||||||
	rm -f $(BIN)
 | 
						rm -f $(BIN)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OLD_FILES=$$(< old-files)
 | 
				
			||||||
 | 
					IGNORE_OLD_FILES := $(foreach file,$(shell cat old-files),-ignore $(file))
 | 
				
			||||||
 | 
					update-license:
 | 
				
			||||||
 | 
						$(ADD_LICENSE_BIN) -v -f license-header-old-files.tmpl $(OLD_FILES)
 | 
				
			||||||
 | 
						$(ADD_LICENSE_BIN) -v -f license-header.tmpl $(IGNORE_OLD_FILES) .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fmt:
 | 
				
			||||||
 | 
						$(GOLANGCI_LINT_BIN) run --fix
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								build.go
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								build.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,6 +24,7 @@ import (
 | 
				
			|||||||
	"path/filepath"
 | 
						"path/filepath"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/osutils"
 | 
						"plemya-x.ru/alr/internal/osutils"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/types"
 | 
						"plemya-x.ru/alr/internal/types"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								fix.go
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								fix.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,6 +23,7 @@ import (
 | 
				
			|||||||
	"os"
 | 
						"os"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								gen.go
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								gen.go
									
									
									
									
									
								
							@@ -1,9 +1,29 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/gen"
 | 
						"plemya-x.ru/alr/pkg/gen"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										24
									
								
								helper.go
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								helper.go
									
									
									
									
									
								
							@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
@@ -6,12 +25,13 @@ import (
 | 
				
			|||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
						"mvdan.cc/sh/v3/expand"
 | 
				
			||||||
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/cpu"
 | 
						"plemya-x.ru/alr/internal/cpu"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/helpers"
 | 
						"plemya-x.ru/alr/internal/shutils/helpers"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
	"mvdan.cc/sh/v3/expand"
 | 
					 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var helperCmd = &cli.Command{
 | 
					var helperCmd = &cli.Command{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										38
									
								
								info.go
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								info.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,13 +24,14 @@ import (
 | 
				
			|||||||
	"os"
 | 
						"os"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
						"gopkg.in/yaml.v3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/cliutils"
 | 
						"plemya-x.ru/alr/internal/cliutils"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/overrides"
 | 
						"plemya-x.ru/alr/internal/overrides"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/repos"
 | 
						"plemya-x.ru/alr/pkg/repos"
 | 
				
			||||||
	"gopkg.in/yaml.v3"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var infoCmd = &cli.Command{
 | 
					var infoCmd = &cli.Command{
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								install.go
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								install.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,6 +23,7 @@ import (
 | 
				
			|||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/cliutils"
 | 
						"plemya-x.ru/alr/internal/cliutils"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cliutils
 | 
					package cliutils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,6 +25,7 @@ import (
 | 
				
			|||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/AlecAivazis/survey/v2"
 | 
						"github.com/AlecAivazis/survey/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/pager"
 | 
						"plemya-x.ru/alr/internal/pager"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package config
 | 
					package config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,6 +26,7 @@ import (
 | 
				
			|||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/pelletier/go-toml/v2"
 | 
						"github.com/pelletier/go-toml/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/types"
 | 
						"plemya-x.ru/alr/internal/types"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,18 @@
 | 
				
			|||||||
/*
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * 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
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * (at your option) any later version.
 | 
					//
 | 
				
			||||||
 *
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					//
 | 
				
			||||||
 *
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package config
 | 
					package config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package config
 | 
					package config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,8 +25,9 @@ import (
 | 
				
			|||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
					 | 
				
			||||||
	"golang.org/x/text/language"
 | 
						"golang.org/x/text/language"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package config
 | 
					package config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package config
 | 
					package config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Version contains the version of ALR. If the version
 | 
					// Version contains the version of ALR. If the version
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package cpu
 | 
					package cpu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package db
 | 
					package db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,6 +23,7 @@ import (
 | 
				
			|||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/jmoiron/sqlx"
 | 
						"github.com/jmoiron/sqlx"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,18 @@
 | 
				
			|||||||
/*
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * 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
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * (at your option) any later version.
 | 
					//
 | 
				
			||||||
 *
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					//
 | 
				
			||||||
 *
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package db
 | 
					package db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,6 +21,7 @@ import (
 | 
				
			|||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/jmoiron/sqlx"
 | 
						"github.com/jmoiron/sqlx"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package db_test
 | 
					package db_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,6 +26,7 @@ import (
 | 
				
			|||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/jmoiron/sqlx"
 | 
						"github.com/jmoiron/sqlx"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,19 @@
 | 
				
			|||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package db
 | 
					package db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,19 @@
 | 
				
			|||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package db
 | 
					package db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
* ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
* Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
*
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
* This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
* it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
* the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
* (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
*
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
* This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
* GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
*
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
* You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Пакет dl содержит абстракции для загрузки файлов и каталогов
 | 
					// Пакет dl содержит абстракции для загрузки файлов и каталогов
 | 
				
			||||||
// из различных источников.
 | 
					// из различных источников.
 | 
				
			||||||
@@ -39,6 +40,7 @@ import (
 | 
				
			|||||||
	"golang.org/x/crypto/blake2b"
 | 
						"golang.org/x/crypto/blake2b"
 | 
				
			||||||
	"golang.org/x/crypto/blake2s"
 | 
						"golang.org/x/crypto/blake2s"
 | 
				
			||||||
	"golang.org/x/exp/slices"
 | 
						"golang.org/x/exp/slices"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/dlcache"
 | 
						"plemya-x.ru/alr/internal/dlcache"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package dl
 | 
					package dl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -33,6 +34,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	"github.com/mholt/archiver/v4"
 | 
						"github.com/mholt/archiver/v4"
 | 
				
			||||||
	"github.com/schollz/progressbar/v3"
 | 
						"github.com/schollz/progressbar/v3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/handlers"
 | 
						"plemya-x.ru/alr/internal/shutils/handlers"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package dl
 | 
					package dl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package dl
 | 
					package dl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package dlcache
 | 
					package dlcache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package dlcache_test
 | 
					package dlcache_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,19 @@
 | 
				
			|||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package dlcache
 | 
					package dlcache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package osutils
 | 
					package osutils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package overrides
 | 
					package overrides
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,11 +23,12 @@ import (
 | 
				
			|||||||
	"reflect"
 | 
						"reflect"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"golang.org/x/exp/slices"
 | 
				
			||||||
 | 
						"golang.org/x/text/language"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/cpu"
 | 
						"plemya-x.ru/alr/internal/cpu"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
	"golang.org/x/exp/slices"
 | 
					 | 
				
			||||||
	"golang.org/x/text/language"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Opts struct {
 | 
					type Opts struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package overrides_test
 | 
					package overrides_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,9 +24,10 @@ import (
 | 
				
			|||||||
	"reflect"
 | 
						"reflect"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"golang.org/x/text/language"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/overrides"
 | 
						"plemya-x.ru/alr/internal/overrides"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
	"golang.org/x/text/language"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var info = &distro.OSRelease{
 | 
					var info = &distro.OSRelease{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package pager
 | 
					package pager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package pager
 | 
					package pager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package decoder
 | 
					package decoder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,6 +30,7 @@ import (
 | 
				
			|||||||
	"mvdan.cc/sh/v3/expand"
 | 
						"mvdan.cc/sh/v3/expand"
 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
	"mvdan.cc/sh/v3/syntax"
 | 
						"mvdan.cc/sh/v3/syntax"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/overrides"
 | 
						"plemya-x.ru/alr/internal/overrides"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package decoder_test
 | 
					package decoder_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,6 +30,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
	"mvdan.cc/sh/v3/syntax"
 | 
						"mvdan.cc/sh/v3/syntax"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/decoder"
 | 
						"plemya-x.ru/alr/internal/shutils/decoder"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package handlers
 | 
					package handlers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package handlers_test
 | 
					package handlers_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,6 +26,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
	"mvdan.cc/sh/v3/syntax"
 | 
						"mvdan.cc/sh/v3/syntax"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/decoder"
 | 
						"plemya-x.ru/alr/internal/shutils/decoder"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/handlers"
 | 
						"plemya-x.ru/alr/internal/shutils/handlers"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package handlers
 | 
					package handlers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
@@ -10,9 +29,9 @@ import (
 | 
				
			|||||||
	"syscall"
 | 
						"syscall"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/fakeroot"
 | 
					 | 
				
			||||||
	"mvdan.cc/sh/v3/expand"
 | 
						"mvdan.cc/sh/v3/expand"
 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
 | 
						"plemya-x.ru/fakeroot"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// FakerootExecHandler was extracted from github.com/mvdan/sh/interp/handler.go
 | 
					// FakerootExecHandler was extracted from github.com/mvdan/sh/interp/handler.go
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package handlers
 | 
					package handlers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package handlers_test
 | 
					package handlers_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,9 +26,10 @@ import (
 | 
				
			|||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/handlers"
 | 
					 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
	"mvdan.cc/sh/v3/syntax"
 | 
						"mvdan.cc/sh/v3/syntax"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"plemya-x.ru/alr/internal/shutils/handlers"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestNopExec(t *testing.T) {
 | 
					func TestNopExec(t *testing.T) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package handlers
 | 
					package handlers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package helpers
 | 
					package helpers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -31,8 +32,9 @@ import (
 | 
				
			|||||||
	"github.com/go-git/go-git/v5"
 | 
						"github.com/go-git/go-git/v5"
 | 
				
			||||||
	"github.com/go-git/go-git/v5/plumbing/object"
 | 
						"github.com/go-git/go-git/v5/plumbing/object"
 | 
				
			||||||
	"golang.org/x/exp/slices"
 | 
						"golang.org/x/exp/slices"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/handlers"
 | 
					 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"plemya-x.ru/alr/internal/shutils/handlers"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					# This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					# It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[translation]]
 | 
					[[translation]]
 | 
				
			||||||
id = 1228660974
 | 
					id = 1228660974
 | 
				
			||||||
value = 'Pulling repository'
 | 
					value = 'Pulling repository'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					# This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					# It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[translation]]
 | 
					[[translation]]
 | 
				
			||||||
id = 1228660974
 | 
					id = 1228660974
 | 
				
			||||||
value = 'Скачивание репозитория'
 | 
					value = 'Скачивание репозитория'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package translations
 | 
					package translations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,9 +25,10 @@ import (
 | 
				
			|||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"go.elara.ws/logger"
 | 
						"go.elara.ws/logger"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
					 | 
				
			||||||
	"go.elara.ws/translate"
 | 
						"go.elara.ws/translate"
 | 
				
			||||||
	"golang.org/x/text/language"
 | 
						"golang.org/x/text/language"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//go:embed files
 | 
					//go:embed files
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package types
 | 
					package types
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package types
 | 
					package types
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package types
 | 
					package types
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								license-header-old-files.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								license-header-old-files.tmpl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ALR - Any Linux Repository
 | 
				
			||||||
 | 
					Copyright (C) {{ .Year }} Евгений Храмов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
							
								
								
									
										15
									
								
								license-header.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								license-header.tmpl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					ALR - Any Linux Repository
 | 
				
			||||||
 | 
					Copyright (C) {{ .Year }} Евгений Храмов
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
							
								
								
									
										36
									
								
								list.go
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								list.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,6 +24,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
	"golang.org/x/exp/slices"
 | 
						"golang.org/x/exp/slices"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	database "plemya-x.ru/alr/internal/db"
 | 
						database "plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								main.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -28,6 +29,7 @@ import (
 | 
				
			|||||||
	"github.com/mattn/go-isatty"
 | 
						"github.com/mattn/go-isatty"
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
	"go.elara.ws/logger"
 | 
						"go.elara.ws/logger"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/translations"
 | 
						"plemya-x.ru/alr/internal/translations"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										83
									
								
								old-files
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								old-files
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					./.github/FUNDING.yml
 | 
				
			||||||
 | 
					./.gitignore
 | 
				
			||||||
 | 
					./.goreleaser.yaml
 | 
				
			||||||
 | 
					./.woodpecker.yml
 | 
				
			||||||
 | 
					./LICENSE
 | 
				
			||||||
 | 
					./Makefile
 | 
				
			||||||
 | 
					./README.md
 | 
				
			||||||
 | 
					./assets/logo.png
 | 
				
			||||||
 | 
					./build.go
 | 
				
			||||||
 | 
					./docs/README.md
 | 
				
			||||||
 | 
					./docs/configuration.md
 | 
				
			||||||
 | 
					./docs/packages/README.md
 | 
				
			||||||
 | 
					./docs/packages/adding-packages.md
 | 
				
			||||||
 | 
					./docs/packages/build-scripts.md
 | 
				
			||||||
 | 
					./docs/packages/conventions.md
 | 
				
			||||||
 | 
					./docs/usage.md
 | 
				
			||||||
 | 
					./fix.go
 | 
				
			||||||
 | 
					./gen.go
 | 
				
			||||||
 | 
					./go.mod
 | 
				
			||||||
 | 
					./go.sum
 | 
				
			||||||
 | 
					./helper.go
 | 
				
			||||||
 | 
					./info.go
 | 
				
			||||||
 | 
					./install.go
 | 
				
			||||||
 | 
					./internal/cliutils/prompt.go
 | 
				
			||||||
 | 
					./internal/config/config.go
 | 
				
			||||||
 | 
					./internal/config/lang.go
 | 
				
			||||||
 | 
					./internal/config/paths.go
 | 
				
			||||||
 | 
					./internal/config/version.go
 | 
				
			||||||
 | 
					./internal/cpu/cpu.go
 | 
				
			||||||
 | 
					./internal/db/db.go
 | 
				
			||||||
 | 
					./internal/db/db_test.go
 | 
				
			||||||
 | 
					./internal/dl/dl.go
 | 
				
			||||||
 | 
					./internal/dl/file.go
 | 
				
			||||||
 | 
					./internal/dl/git.go
 | 
				
			||||||
 | 
					./internal/dl/torrent.go
 | 
				
			||||||
 | 
					./internal/dlcache/dlcache.go
 | 
				
			||||||
 | 
					./internal/dlcache/dlcache_test.go
 | 
				
			||||||
 | 
					./internal/osutils/move.go
 | 
				
			||||||
 | 
					./internal/overrides/overrides.go
 | 
				
			||||||
 | 
					./internal/overrides/overrides_test.go
 | 
				
			||||||
 | 
					./internal/pager/highlighting.go
 | 
				
			||||||
 | 
					./internal/pager/pager.go
 | 
				
			||||||
 | 
					./internal/shutils/decoder/decoder.go
 | 
				
			||||||
 | 
					./internal/shutils/decoder/decoder_test.go
 | 
				
			||||||
 | 
					./internal/shutils/handlers/exec.go
 | 
				
			||||||
 | 
					./internal/shutils/handlers/exec_test.go
 | 
				
			||||||
 | 
					./internal/shutils/handlers/fakeroot.go
 | 
				
			||||||
 | 
					./internal/shutils/handlers/nop.go
 | 
				
			||||||
 | 
					./internal/shutils/handlers/nop_test.go
 | 
				
			||||||
 | 
					./internal/shutils/handlers/restricted.go
 | 
				
			||||||
 | 
					./internal/shutils/helpers/helpers.go
 | 
				
			||||||
 | 
					./internal/translations/files/lure.en.toml
 | 
				
			||||||
 | 
					./internal/translations/files/lure.ru.toml
 | 
				
			||||||
 | 
					./internal/translations/translations.go
 | 
				
			||||||
 | 
					./internal/types/build.go
 | 
				
			||||||
 | 
					./internal/types/config.go
 | 
				
			||||||
 | 
					./internal/types/repo.go
 | 
				
			||||||
 | 
					./list.go
 | 
				
			||||||
 | 
					./main.go
 | 
				
			||||||
 | 
					./pkg/build/build.go
 | 
				
			||||||
 | 
					./pkg/build/install.go
 | 
				
			||||||
 | 
					./pkg/distro/osrelease.go
 | 
				
			||||||
 | 
					./pkg/gen/funcs.go
 | 
				
			||||||
 | 
					./pkg/gen/pip.go
 | 
				
			||||||
 | 
					./pkg/gen/tmpls/pip.tmpl.sh
 | 
				
			||||||
 | 
					./pkg/loggerctx/log.go
 | 
				
			||||||
 | 
					./pkg/manager/apk.go
 | 
				
			||||||
 | 
					./pkg/manager/apt.go
 | 
				
			||||||
 | 
					./pkg/manager/dnf.go
 | 
				
			||||||
 | 
					./pkg/manager/managers.go
 | 
				
			||||||
 | 
					./pkg/manager/pacman.go
 | 
				
			||||||
 | 
					./pkg/manager/yum.go
 | 
				
			||||||
 | 
					./pkg/manager/zypper.go
 | 
				
			||||||
 | 
					./pkg/repos/find.go
 | 
				
			||||||
 | 
					./pkg/repos/find_test.go
 | 
				
			||||||
 | 
					./pkg/repos/pull.go
 | 
				
			||||||
 | 
					./pkg/repos/pull_test.go
 | 
				
			||||||
 | 
					./pkg/search/search.go
 | 
				
			||||||
 | 
					./repo.go
 | 
				
			||||||
 | 
					./scripts/completion/bash
 | 
				
			||||||
 | 
					./scripts/completion/zsh
 | 
				
			||||||
 | 
					./scripts/install.sh
 | 
				
			||||||
 | 
					./upgrade.go
 | 
				
			||||||
@@ -1,29 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 * Это программное обеспечение свободно: вы можете распространять его и/или изменять
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * на условиях GNU General Public License, опубликованной Free Software Foundation,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * либо версии 3 лицензии, либо (на ваш выбор) любой более поздней версии.
 | 
					//
 | 
				
			||||||
 *
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 * КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. См.
 | 
					 | 
				
			||||||
 * GNU General Public License для более подробной информации.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 * Вы должны были получить копию GNU General Public License
 | 
					 | 
				
			||||||
 * вместе с этой программой. Если нет, см. <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package build
 | 
					package build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -53,6 +45,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	"github.com/goreleaser/nfpm/v2"
 | 
						"github.com/goreleaser/nfpm/v2"
 | 
				
			||||||
	"github.com/goreleaser/nfpm/v2/files"
 | 
						"github.com/goreleaser/nfpm/v2/files"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/cliutils"
 | 
						"plemya-x.ru/alr/internal/cliutils"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/cpu"
 | 
						"plemya-x.ru/alr/internal/cpu"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,19 @@
 | 
				
			|||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package build
 | 
					package build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
@@ -8,6 +24,7 @@ import (
 | 
				
			|||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/goreleaser/nfpm/v2"
 | 
						"github.com/goreleaser/nfpm/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/types"
 | 
						"plemya-x.ru/alr/internal/types"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,31 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * ALR - Любой Linux Репозиторий
 | 
					//
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 *
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					//
 | 
				
			||||||
 * Это программное обеспечение является свободным: вы можете распространять его и/или изменять
 | 
					// 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
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 * на условиях GNU General Public License, опубликованной
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * Free Software Foundation, либо версии 3 лицензии, либо
 | 
					//
 | 
				
			||||||
 * (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
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * Это программное обеспечение распространяется в надежде, что оно будет полезным,
 | 
					//
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 * но БЕЗ КАКОЙ-ЛИБО ГАРАНТИИ; даже без подразумеваемой гарантии
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					 | 
				
			||||||
 * КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.
 | 
					 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					 | 
				
			||||||
 * Подробности смотрите в GNU General Public License.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					 | 
				
			||||||
 * Вы должны были получить копию GNU General Public License
 | 
					 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 * вместе с этой программой. Если нет, посмотрите <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package build
 | 
					package build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -46,15 +36,15 @@ func InstallPkgs(ctx context.Context, alrPkgs []db.Package, nativePkgs []string,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if len(nativePkgs) > 0 {
 | 
						if len(nativePkgs) > 0 {
 | 
				
			||||||
		err := opts.Manager.Install(nil, nativePkgs...)
 | 
							err := opts.Manager.Install(nil, nativePkgs...)
 | 
				
			||||||
        // Если есть нативные пакеты, выполняем их установку
 | 
							// Если есть нативные пакеты, выполняем их установку
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			log.Fatal("Error installing native packages").Err(err).Send()
 | 
								log.Fatal("Error installing native packages").Err(err).Send()
 | 
				
			||||||
            // Логируем и завершаем выполнение при ошибке
 | 
								// Логируем и завершаем выполнение при ошибке
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	InstallScripts(ctx, GetScriptPaths(ctx, alrPkgs), opts)
 | 
						InstallScripts(ctx, GetScriptPaths(ctx, alrPkgs), opts)
 | 
				
			||||||
    // Устанавливаем скрипты сборки через функцию InstallScripts
 | 
						// Устанавливаем скрипты сборки через функцию InstallScripts
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// GetScriptPaths возвращает срез путей к скриптам, соответствующий
 | 
					// GetScriptPaths возвращает срез путей к скриптам, соответствующий
 | 
				
			||||||
@@ -62,7 +52,7 @@ func InstallPkgs(ctx context.Context, alrPkgs []db.Package, nativePkgs []string,
 | 
				
			|||||||
func GetScriptPaths(ctx context.Context, pkgs []db.Package) []string {
 | 
					func GetScriptPaths(ctx context.Context, pkgs []db.Package) []string {
 | 
				
			||||||
	var scripts []string
 | 
						var scripts []string
 | 
				
			||||||
	for _, pkg := range pkgs {
 | 
						for _, pkg := range pkgs {
 | 
				
			||||||
        // Для каждого пакета создаем путь к скрипту сборки
 | 
							// Для каждого пакета создаем путь к скрипту сборки
 | 
				
			||||||
		scriptPath := filepath.Join(config.GetPaths(ctx).RepoDir, pkg.Repository, pkg.Name, "alr.sh")
 | 
							scriptPath := filepath.Join(config.GetPaths(ctx).RepoDir, pkg.Repository, pkg.Name, "alr.sh")
 | 
				
			||||||
		scripts = append(scripts, scriptPath)
 | 
							scripts = append(scripts, scriptPath)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -75,17 +65,17 @@ func InstallScripts(ctx context.Context, scripts []string, opts types.BuildOpts)
 | 
				
			|||||||
	for _, script := range scripts {
 | 
						for _, script := range scripts {
 | 
				
			||||||
		opts.Script = script // Устанавливаем текущий скрипт в опции
 | 
							opts.Script = script // Устанавливаем текущий скрипт в опции
 | 
				
			||||||
		builtPkgs, _, err := BuildPackage(ctx, opts)
 | 
							builtPkgs, _, err := BuildPackage(ctx, opts)
 | 
				
			||||||
        // Выполняем сборку пакета
 | 
							// Выполняем сборку пакета
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			log.Fatal("Error building package").Err(err).Send()
 | 
								log.Fatal("Error building package").Err(err).Send()
 | 
				
			||||||
            // Логируем и завершаем выполнение при ошибке сборки
 | 
								// Логируем и завершаем выполнение при ошибке сборки
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		err = opts.Manager.InstallLocal(nil, builtPkgs...)
 | 
							err = opts.Manager.InstallLocal(nil, builtPkgs...)
 | 
				
			||||||
        // Устанавливаем локально собранные пакеты
 | 
							// Устанавливаем локально собранные пакеты
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			log.Fatal("Error installing package").Err(err).Send()
 | 
								log.Fatal("Error installing package").Err(err).Send()
 | 
				
			||||||
            // Логируем и завершаем выполнение при ошибке установки
 | 
								// Логируем и завершаем выполнение при ошибке установки
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package distro
 | 
					package distro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,10 +24,11 @@ import (
 | 
				
			|||||||
	"os"
 | 
						"os"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/handlers"
 | 
					 | 
				
			||||||
	"mvdan.cc/sh/v3/expand"
 | 
						"mvdan.cc/sh/v3/expand"
 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
	"mvdan.cc/sh/v3/syntax"
 | 
						"mvdan.cc/sh/v3/syntax"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"plemya-x.ru/alr/internal/shutils/handlers"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// OSRelease contains information from an os-release file
 | 
					// OSRelease contains information from an os-release file
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,39 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package gen
 | 
					package gen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
    "strings"
 | 
						"strings"
 | 
				
			||||||
    "text/template"
 | 
						"text/template"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Определяем переменную funcs типа template.FuncMap, которая будет использоваться для
 | 
					// Определяем переменную funcs типа template.FuncMap, которая будет использоваться для
 | 
				
			||||||
// предоставления пользовательских функций в шаблонах
 | 
					// предоставления пользовательских функций в шаблонах
 | 
				
			||||||
var funcs = template.FuncMap{
 | 
					var funcs = template.FuncMap{
 | 
				
			||||||
    // Функция "tolower" использует strings.ToLower
 | 
						// Функция "tolower" использует strings.ToLower
 | 
				
			||||||
    // для преобразования строки в нижний регистр
 | 
						// для преобразования строки в нижний регистр
 | 
				
			||||||
    "tolower": strings.ToLower,
 | 
						"tolower": strings.ToLower,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Функция "firstchar" — это лямбда-функция, которая берет строку
 | 
						// Функция "firstchar" — это лямбда-функция, которая берет строку
 | 
				
			||||||
    // и возвращает её первый символ
 | 
						// и возвращает её первый символ
 | 
				
			||||||
    "firstchar": func(s string) string {
 | 
						"firstchar": func(s string) string {
 | 
				
			||||||
        return s[:1]
 | 
							return s[:1]
 | 
				
			||||||
    },
 | 
						},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										140
									
								
								pkg/gen/pip.go
									
									
									
									
									
								
							
							
						
						
									
										140
									
								
								pkg/gen/pip.go
									
									
									
									
									
								
							@@ -1,98 +1,118 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package gen
 | 
					package gen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
    _ "embed" // Пакет для встраивания содержимого файлов в бинарники Go, использовав откладку //go:embed
 | 
						_ "embed"       // Пакет для встраивания содержимого файлов в бинарники Go, использовав откладку //go:embed
 | 
				
			||||||
    "encoding/json" // Пакет для работы с JSON: декодирование и кодирование
 | 
						"encoding/json" // Пакет для работы с JSON: декодирование и кодирование
 | 
				
			||||||
    "errors"    // Пакет для создания и обработки ошибок
 | 
						"errors"        // Пакет для создания и обработки ошибок
 | 
				
			||||||
    "fmt"       // Пакет для форматированного ввода и вывода
 | 
						"fmt"           // Пакет для форматированного ввода и вывода
 | 
				
			||||||
    "io"        // Пакет для интерфейсов ввода и вывода
 | 
						"io"            // Пакет для интерфейсов ввода и вывода
 | 
				
			||||||
    "net/http"  // Пакет для HTTP-клиентов и серверов
 | 
						"net/http"      // Пакет для HTTP-клиентов и серверов
 | 
				
			||||||
    "text/template" // Пакет для обработки текстовых шаблонов
 | 
						"text/template" // Пакет для обработки текстовых шаблонов
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Используем директиву //go:embed для встраивания содержимого файла шаблона в строку pipTmpl
 | 
					// Используем директиву //go:embed для встраивания содержимого файла шаблона в строку pipTmpl
 | 
				
			||||||
// Встраивание файла tmpls/pip.tmpl.sh
 | 
					// Встраивание файла tmpls/pip.tmpl.sh
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
//go:embed tmpls/pip.tmpl.sh
 | 
					//go:embed tmpls/pip.tmpl.sh
 | 
				
			||||||
var pipTmpl string
 | 
					var pipTmpl string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// PipOptions содержит параметры, которые будут переданы в шаблон
 | 
					// PipOptions содержит параметры, которые будут переданы в шаблон
 | 
				
			||||||
type PipOptions struct {
 | 
					type PipOptions struct {
 | 
				
			||||||
    Name        string // Имя пакета
 | 
						Name        string // Имя пакета
 | 
				
			||||||
    Version     string // Версия пакета
 | 
						Version     string // Версия пакета
 | 
				
			||||||
    Description string // Описание пакета
 | 
						Description string // Описание пакета
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// pypiAPIResponse представляет структуру ответа от API PyPI
 | 
					// pypiAPIResponse представляет структуру ответа от API PyPI
 | 
				
			||||||
type pypiAPIResponse struct {
 | 
					type pypiAPIResponse struct {
 | 
				
			||||||
    Info pypiInfo  `json:"info"` // Информация о пакете
 | 
						Info pypiInfo  `json:"info"` // Информация о пакете
 | 
				
			||||||
    URLs []pypiURL `json:"urls"` // Список URL-адресов для загрузки пакета
 | 
						URLs []pypiURL `json:"urls"` // Список URL-адресов для загрузки пакета
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Метод SourceURL ищет и возвращает URL исходного distribution для пакета, если он существует
 | 
					// Метод SourceURL ищет и возвращает URL исходного distribution для пакета, если он существует
 | 
				
			||||||
func (res pypiAPIResponse) SourceURL() (pypiURL, error) {
 | 
					func (res pypiAPIResponse) SourceURL() (pypiURL, error) {
 | 
				
			||||||
    for _, url := range res.URLs {
 | 
						for _, url := range res.URLs {
 | 
				
			||||||
        if url.PackageType == "sdist" {
 | 
							if url.PackageType == "sdist" {
 | 
				
			||||||
            return url, nil
 | 
								return url, nil
 | 
				
			||||||
        }
 | 
							}
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
    return pypiURL{}, errors.New("package doesn't have a source distribution")
 | 
						return pypiURL{}, errors.New("package doesn't have a source distribution")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// pypiInfo содержит основную информацию о пакете, такую как имя, версия и пр.
 | 
					// pypiInfo содержит основную информацию о пакете, такую как имя, версия и пр.
 | 
				
			||||||
type pypiInfo struct {
 | 
					type pypiInfo struct {
 | 
				
			||||||
    Name     string `json:"name"`
 | 
						Name     string `json:"name"`
 | 
				
			||||||
    Version  string `json:"version"`
 | 
						Version  string `json:"version"`
 | 
				
			||||||
    Summary  string `json:"summary"`
 | 
						Summary  string `json:"summary"`
 | 
				
			||||||
    Homepage string `json:"home_page"`
 | 
						Homepage string `json:"home_page"`
 | 
				
			||||||
    License  string `json:"license"`
 | 
						License  string `json:"license"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// pypiURL представляет информацию об одном из доступных для загрузки URL
 | 
					// pypiURL представляет информацию об одном из доступных для загрузки URL
 | 
				
			||||||
type pypiURL struct {
 | 
					type pypiURL struct {
 | 
				
			||||||
    Digests     map[string]string `json:"digests"` // Контрольные суммы для файлов
 | 
						Digests     map[string]string `json:"digests"`     // Контрольные суммы для файлов
 | 
				
			||||||
    Filename    string            `json:"filename"` // Имя файла
 | 
						Filename    string            `json:"filename"`    // Имя файла
 | 
				
			||||||
    PackageType string            `json:"packagetype"` // Тип пакета (например sdist)
 | 
						PackageType string            `json:"packagetype"` // Тип пакета (например sdist)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Функция Pip загружает информацию о пакете из PyPI и использует шаблон для вывода информации
 | 
					// Функция Pip загружает информацию о пакете из PyPI и использует шаблон для вывода информации
 | 
				
			||||||
func Pip(w io.Writer, opts PipOptions) error {
 | 
					func Pip(w io.Writer, opts PipOptions) error {
 | 
				
			||||||
    // Создаем новый шаблон с добавлением функций из FuncMap
 | 
						// Создаем новый шаблон с добавлением функций из FuncMap
 | 
				
			||||||
    tmpl, err := template.New("pip").
 | 
						tmpl, err := template.New("pip").
 | 
				
			||||||
        Funcs(funcs).
 | 
							Funcs(funcs).
 | 
				
			||||||
        Parse(pipTmpl)
 | 
							Parse(pipTmpl)
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return err
 | 
							return err
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Формируем URL для запроса к PyPI на основании имени и версии пакета
 | 
						// Формируем URL для запроса к PyPI на основании имени и версии пакета
 | 
				
			||||||
    url := fmt.Sprintf(
 | 
						url := fmt.Sprintf(
 | 
				
			||||||
        "https://pypi.org/pypi/%s/%s/json",
 | 
							"https://pypi.org/pypi/%s/%s/json",
 | 
				
			||||||
        opts.Name,
 | 
							opts.Name,
 | 
				
			||||||
        opts.Version,
 | 
							opts.Version,
 | 
				
			||||||
    )
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Выполняем HTTP GET запрос к PyPI
 | 
						// Выполняем HTTP GET запрос к PyPI
 | 
				
			||||||
    res, err := http.Get(url)
 | 
						res, err := http.Get(url)
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return err
 | 
							return err
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
    defer res.Body.Close() // Закрываем тело ответа после завершения работы
 | 
						defer res.Body.Close() // Закрываем тело ответа после завершения работы
 | 
				
			||||||
    if res.StatusCode != 200 {
 | 
						if res.StatusCode != 200 {
 | 
				
			||||||
        return fmt.Errorf("pypi: %s", res.Status)
 | 
							return fmt.Errorf("pypi: %s", res.Status)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Раскодируем ответ JSON от PyPI в структуру pypiAPIResponse
 | 
						// Раскодируем ответ JSON от PyPI в структуру pypiAPIResponse
 | 
				
			||||||
    var resp pypiAPIResponse
 | 
						var resp pypiAPIResponse
 | 
				
			||||||
    err = json.NewDecoder(res.Body).Decode(&resp)
 | 
						err = json.NewDecoder(res.Body).Decode(&resp)
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return err
 | 
							return err
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Если в opts указано описание, используем его вместо описания из PyPI
 | 
						// Если в opts указано описание, используем его вместо описания из PyPI
 | 
				
			||||||
    if opts.Description != "" {
 | 
						if opts.Description != "" {
 | 
				
			||||||
        resp.Info.Summary = opts.Description
 | 
							resp.Info.Summary = opts.Description
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Выполняем шаблон с использованием данных из resp и записываем результат в w
 | 
						// Выполняем шаблон с использованием данных из resp и записываем результат в w
 | 
				
			||||||
    return tmpl.Execute(w, resp)
 | 
						return tmpl.Execute(w, resp)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					# This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					# It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
name='{{.Info.Name | tolower}}'
 | 
					name='{{.Info.Name | tolower}}'
 | 
				
			||||||
version='{{.Info.Version}}'
 | 
					version='{{.Info.Version}}'
 | 
				
			||||||
release='1'
 | 
					release='1'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package loggerctx
 | 
					package loggerctx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,18 @@
 | 
				
			|||||||
/*
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * 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
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * (at your option) any later version.
 | 
					//
 | 
				
			||||||
 *
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					//
 | 
				
			||||||
 *
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -107,6 +105,7 @@ func (a *APTRpm) UpgradeAll(opts *Opts) error {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (y *APTRpm) ListInstalled(opts *Opts) (map[string]string, error) {
 | 
					func (y *APTRpm) ListInstalled(opts *Opts) (map[string]string, error) {
 | 
				
			||||||
	out := map[string]string{}
 | 
						out := map[string]string{}
 | 
				
			||||||
	cmd := exec.Command("rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
 | 
						cmd := exec.Command("rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,154 +19,154 @@
 | 
				
			|||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
    "bufio"
 | 
						"bufio"
 | 
				
			||||||
    "fmt"
 | 
						"fmt"
 | 
				
			||||||
    "os/exec"
 | 
						"os/exec"
 | 
				
			||||||
    "strings"
 | 
						"strings"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// DNF представляет менеджер пакетов DNF
 | 
					// DNF представляет менеджер пакетов DNF
 | 
				
			||||||
type DNF struct {
 | 
					type DNF struct {
 | 
				
			||||||
    rootCmd string  // rootCmd хранит команду, используемую для выполнения команд с правами root
 | 
						rootCmd string // rootCmd хранит команду, используемую для выполнения команд с правами root
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Exists проверяет, доступен ли DNF в системе, возвращает true если да
 | 
					// Exists проверяет, доступен ли DNF в системе, возвращает true если да
 | 
				
			||||||
func (*DNF) Exists() bool {
 | 
					func (*DNF) Exists() bool {
 | 
				
			||||||
    _, err := exec.LookPath("dnf")
 | 
						_, err := exec.LookPath("dnf")
 | 
				
			||||||
    return err == nil
 | 
						return err == nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Name возвращает имя менеджера пакетов, в данном случае "dnf"
 | 
					// Name возвращает имя менеджера пакетов, в данном случае "dnf"
 | 
				
			||||||
func (*DNF) Name() string {
 | 
					func (*DNF) Name() string {
 | 
				
			||||||
    return "dnf"
 | 
						return "dnf"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Format возвращает формат пакетов "rpm", используемый DNF
 | 
					// Format возвращает формат пакетов "rpm", используемый DNF
 | 
				
			||||||
func (*DNF) Format() string {
 | 
					func (*DNF) Format() string {
 | 
				
			||||||
    return "rpm"
 | 
						return "rpm"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// SetRootCmd устанавливает команду, используемую для выполнения операций с правами root
 | 
					// SetRootCmd устанавливает команду, используемую для выполнения операций с правами root
 | 
				
			||||||
func (d *DNF) SetRootCmd(s string) {
 | 
					func (d *DNF) SetRootCmd(s string) {
 | 
				
			||||||
    d.rootCmd = s
 | 
						d.rootCmd = s
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Sync выполняет upgrade всех установленных пакетов, обновляя их до более новых версий
 | 
					// Sync выполняет upgrade всех установленных пакетов, обновляя их до более новых версий
 | 
				
			||||||
func (d *DNF) Sync(opts *Opts) error {
 | 
					func (d *DNF) Sync(opts *Opts) error {
 | 
				
			||||||
    opts = ensureOpts(opts)  // Гарантирует, что opts не равен nil и содержит допустимые значения
 | 
						opts = ensureOpts(opts) // Гарантирует, что opts не равен nil и содержит допустимые значения
 | 
				
			||||||
    cmd := d.getCmd(opts, "dnf", "upgrade")
 | 
						cmd := d.getCmd(opts, "dnf", "upgrade")
 | 
				
			||||||
    setCmdEnv(cmd)  // Устанавливает переменные окружения для команды
 | 
						setCmdEnv(cmd)   // Устанавливает переменные окружения для команды
 | 
				
			||||||
    err := cmd.Run()  // Выполняет команду
 | 
						err := cmd.Run() // Выполняет команду
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return fmt.Errorf("dnf: sync: %w", err)
 | 
							return fmt.Errorf("dnf: sync: %w", err)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
    return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Install устанавливает указанные пакеты с помощью DNF
 | 
					// Install устанавливает указанные пакеты с помощью DNF
 | 
				
			||||||
func (d *DNF) Install(opts *Opts, pkgs ...string) error {
 | 
					func (d *DNF) Install(opts *Opts, pkgs ...string) error {
 | 
				
			||||||
    opts = ensureOpts(opts)
 | 
						opts = ensureOpts(opts)
 | 
				
			||||||
    cmd := d.getCmd(opts, "dnf", "install", "--allowerasing")
 | 
						cmd := d.getCmd(opts, "dnf", "install", "--allowerasing")
 | 
				
			||||||
    cmd.Args = append(cmd.Args, pkgs...)  // Добавляем названия пакетов к команде
 | 
						cmd.Args = append(cmd.Args, pkgs...) // Добавляем названия пакетов к команде
 | 
				
			||||||
    setCmdEnv(cmd)
 | 
						setCmdEnv(cmd)
 | 
				
			||||||
    err := cmd.Run()
 | 
						err := cmd.Run()
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return fmt.Errorf("dnf: install: %w", err)
 | 
							return fmt.Errorf("dnf: install: %w", err)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
    return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// InstallLocal расширяет метод Install для установки пакетов, расположенных локально
 | 
					// InstallLocal расширяет метод Install для установки пакетов, расположенных локально
 | 
				
			||||||
func (d *DNF) InstallLocal(opts *Opts, pkgs ...string) error {
 | 
					func (d *DNF) InstallLocal(opts *Opts, pkgs ...string) error {
 | 
				
			||||||
    opts = ensureOpts(opts)
 | 
						opts = ensureOpts(opts)
 | 
				
			||||||
    return d.Install(opts, pkgs...)
 | 
						return d.Install(opts, pkgs...)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Remove удаляет указанные пакеты с помощью DNF
 | 
					// Remove удаляет указанные пакеты с помощью DNF
 | 
				
			||||||
func (d *DNF) Remove(opts *Opts, pkgs ...string) error {
 | 
					func (d *DNF) Remove(opts *Opts, pkgs ...string) error {
 | 
				
			||||||
    opts = ensureOpts(opts)
 | 
						opts = ensureOpts(opts)
 | 
				
			||||||
    cmd := d.getCmd(opts, "dnf", "remove")
 | 
						cmd := d.getCmd(opts, "dnf", "remove")
 | 
				
			||||||
    cmd.Args = append(cmd.Args, pkgs...)
 | 
						cmd.Args = append(cmd.Args, pkgs...)
 | 
				
			||||||
    setCmdEnv(cmd)
 | 
						setCmdEnv(cmd)
 | 
				
			||||||
    err := cmd.Run()
 | 
						err := cmd.Run()
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return fmt.Errorf("dnf: remove: %w", err)
 | 
							return fmt.Errorf("dnf: remove: %w", err)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
    return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Upgrade обновляет указанные пакеты до более новых версий
 | 
					// Upgrade обновляет указанные пакеты до более новых версий
 | 
				
			||||||
func (d *DNF) Upgrade(opts *Opts, pkgs ...string) error {
 | 
					func (d *DNF) Upgrade(opts *Opts, pkgs ...string) error {
 | 
				
			||||||
    opts = ensureOpts(opts)
 | 
						opts = ensureOpts(opts)
 | 
				
			||||||
    cmd := d.getCmd(opts, "dnf", "upgrade")
 | 
						cmd := d.getCmd(opts, "dnf", "upgrade")
 | 
				
			||||||
    cmd.Args = append(cmd.Args, pkgs...)
 | 
						cmd.Args = append(cmd.Args, pkgs...)
 | 
				
			||||||
    setCmdEnv(cmd)
 | 
						setCmdEnv(cmd)
 | 
				
			||||||
    err := cmd.Run()
 | 
						err := cmd.Run()
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return fmt.Errorf("dnf: upgrade: %w", err)
 | 
							return fmt.Errorf("dnf: upgrade: %w", err)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
    return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// UpgradeAll обновляет все установленные пакеты
 | 
					// UpgradeAll обновляет все установленные пакеты
 | 
				
			||||||
func (d *DNF) UpgradeAll(opts *Opts) error {
 | 
					func (d *DNF) UpgradeAll(opts *Opts) error {
 | 
				
			||||||
    opts = ensureOpts(opts)
 | 
						opts = ensureOpts(opts)
 | 
				
			||||||
    cmd := d.getCmd(opts, "dnf", "upgrade")
 | 
						cmd := d.getCmd(opts, "dnf", "upgrade")
 | 
				
			||||||
    setCmdEnv(cmd)
 | 
						setCmdEnv(cmd)
 | 
				
			||||||
    err := cmd.Run()
 | 
						err := cmd.Run()
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return fmt.Errorf("dnf: upgradeall: %w", err)
 | 
							return fmt.Errorf("dnf: upgradeall: %w", err)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
    return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ListInstalled возвращает список установленных пакетов и их версий
 | 
					// ListInstalled возвращает список установленных пакетов и их версий
 | 
				
			||||||
func (d *DNF) ListInstalled(opts *Opts) (map[string]string, error) {
 | 
					func (d *DNF) ListInstalled(opts *Opts) (map[string]string, error) {
 | 
				
			||||||
    out := map[string]string{}
 | 
						out := map[string]string{}
 | 
				
			||||||
    cmd := exec.Command("rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
 | 
						cmd := exec.Command("rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    stdout, err := cmd.StdoutPipe()
 | 
						stdout, err := cmd.StdoutPipe()
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return nil, err
 | 
							return nil, err
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    err = cmd.Start()
 | 
						err = cmd.Start()
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return nil, err
 | 
							return nil, err
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    scanner := bufio.NewScanner(stdout)
 | 
						scanner := bufio.NewScanner(stdout)
 | 
				
			||||||
    for scanner.Scan() {
 | 
						for scanner.Scan() {
 | 
				
			||||||
        name, version, ok := strings.Cut(scanner.Text(), "\u200b")
 | 
							name, version, ok := strings.Cut(scanner.Text(), "\u200b")
 | 
				
			||||||
        if !ok {
 | 
							if !ok {
 | 
				
			||||||
            continue
 | 
								continue
 | 
				
			||||||
        }
 | 
							}
 | 
				
			||||||
        version = strings.TrimPrefix(version, "0:")
 | 
							version = strings.TrimPrefix(version, "0:")
 | 
				
			||||||
        out[name] = version
 | 
							out[name] = version
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    err = scanner.Err()
 | 
						err = scanner.Err()
 | 
				
			||||||
    if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
        return nil, err
 | 
							return nil, err
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return out, nil
 | 
						return out, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// getCmd создает и возвращает команду exec.Cmd для менеджера пакетов DNF
 | 
					// getCmd создает и возвращает команду exec.Cmd для менеджера пакетов DNF
 | 
				
			||||||
func (d *DNF) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
 | 
					func (d *DNF) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
 | 
				
			||||||
    var cmd *exec.Cmd
 | 
						var cmd *exec.Cmd
 | 
				
			||||||
    if opts.AsRoot {
 | 
						if opts.AsRoot {
 | 
				
			||||||
        cmd = exec.Command(getRootCmd(d.rootCmd), mgrCmd)
 | 
							cmd = exec.Command(getRootCmd(d.rootCmd), mgrCmd)
 | 
				
			||||||
        cmd.Args = append(cmd.Args, opts.Args...)
 | 
							cmd.Args = append(cmd.Args, opts.Args...)
 | 
				
			||||||
        cmd.Args = append(cmd.Args, args...)
 | 
							cmd.Args = append(cmd.Args, args...)
 | 
				
			||||||
    } else {
 | 
						} else {
 | 
				
			||||||
        cmd = exec.Command(mgrCmd, args...)
 | 
							cmd = exec.Command(mgrCmd, args...)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if opts.NoConfirm {
 | 
						if opts.NoConfirm {
 | 
				
			||||||
        cmd.Args = append(cmd.Args, "-y")  // Добавляет параметр автоматического подтверждения (-y)
 | 
							cmd.Args = append(cmd.Args, "-y") // Добавляет параметр автоматического подтверждения (-y)
 | 
				
			||||||
    }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return cmd
 | 
						return cmd
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package manager
 | 
					package manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,22 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package repos
 | 
					package repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package repos_test
 | 
					package repos_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package repos
 | 
					package repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -35,6 +36,7 @@ import (
 | 
				
			|||||||
	"mvdan.cc/sh/v3/expand"
 | 
						"mvdan.cc/sh/v3/expand"
 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
	"mvdan.cc/sh/v3/syntax"
 | 
						"mvdan.cc/sh/v3/syntax"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/handlers"
 | 
						"plemya-x.ru/alr/internal/shutils/handlers"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * alr - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package repos_test
 | 
					package repos_test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,19 @@
 | 
				
			|||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package repos
 | 
					package repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,19 @@
 | 
				
			|||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package repos
 | 
					package repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,19 @@
 | 
				
			|||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package repos
 | 
					package repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
@@ -10,6 +26,7 @@ import (
 | 
				
			|||||||
	"github.com/go-git/go-git/v5/plumbing/format/diff"
 | 
						"github.com/go-git/go-git/v5/plumbing/format/diff"
 | 
				
			||||||
	"mvdan.cc/sh/v3/interp"
 | 
						"mvdan.cc/sh/v3/interp"
 | 
				
			||||||
	"mvdan.cc/sh/v3/syntax"
 | 
						"mvdan.cc/sh/v3/syntax"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/shutils/decoder"
 | 
						"plemya-x.ru/alr/internal/shutils/decoder"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/distro"
 | 
						"plemya-x.ru/alr/pkg/distro"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package search
 | 
					package search
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										38
									
								
								repo.go
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								repo.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,12 +25,13 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	"github.com/pelletier/go-toml/v2"
 | 
						"github.com/pelletier/go-toml/v2"
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
						"golang.org/x/exp/slices"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/types"
 | 
						"plemya-x.ru/alr/internal/types"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/repos"
 | 
						"plemya-x.ru/alr/pkg/repos"
 | 
				
			||||||
	"golang.org/x/exp/slices"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var addrepoCmd = &cli.Command{
 | 
					var addrepoCmd = &cli.Command{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,22 @@
 | 
				
			|||||||
 | 
					# This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 | 
					# It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# 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 <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
info() {
 | 
					info() {
 | 
				
			||||||
  echo $'\x1b[32m[ИНФО]\x1b[0m' $@
 | 
					  echo $'\x1b[32m[ИНФО]\x1b[0m' $@
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										42
									
								
								upgrade.go
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								upgrade.go
									
									
									
									
									
								
							@@ -1,20 +1,21 @@
 | 
				
			|||||||
/*
 | 
					// This file was originally part of the project "LURE - Linux User REpository", created by Elara Musayelyan.
 | 
				
			||||||
 * ALR - Any Linux Repository
 | 
					// It has been modified as part of "ALR - Any Linux Repository" by Евгений Храмов.
 | 
				
			||||||
 * Copyright (C) 2024 Евгений Храмов
 | 
					//
 | 
				
			||||||
 *
 | 
					// ALR - Any Linux Repository
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					// Copyright (C) 2025 Евгений Храмов
 | 
				
			||||||
 * it under the terms of the GNU General Public License as published by
 | 
					//
 | 
				
			||||||
 * the Free Software Foundation, either version 3 of the License, or
 | 
					// This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 * (at your option) any later version.
 | 
					// it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 *
 | 
					// the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 * This program is distributed in the hope that it will be useful,
 | 
					// (at your option) any later version.
 | 
				
			||||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					//
 | 
				
			||||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					// This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 * GNU General Public License for more details.
 | 
					// but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 *
 | 
					// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 * You should have received a copy of the GNU General Public License
 | 
					// GNU General Public License for more details.
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					//
 | 
				
			||||||
 */
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					// along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package main
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,6 +24,10 @@ import (
 | 
				
			|||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/urfave/cli/v2"
 | 
						"github.com/urfave/cli/v2"
 | 
				
			||||||
 | 
						"go.elara.ws/vercmp"
 | 
				
			||||||
 | 
						"golang.org/x/exp/maps"
 | 
				
			||||||
 | 
						"golang.org/x/exp/slices"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"plemya-x.ru/alr/internal/config"
 | 
						"plemya-x.ru/alr/internal/config"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/db"
 | 
						"plemya-x.ru/alr/internal/db"
 | 
				
			||||||
	"plemya-x.ru/alr/internal/types"
 | 
						"plemya-x.ru/alr/internal/types"
 | 
				
			||||||
@@ -31,9 +36,6 @@ import (
 | 
				
			|||||||
	"plemya-x.ru/alr/pkg/loggerctx"
 | 
						"plemya-x.ru/alr/pkg/loggerctx"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/manager"
 | 
						"plemya-x.ru/alr/pkg/manager"
 | 
				
			||||||
	"plemya-x.ru/alr/pkg/repos"
 | 
						"plemya-x.ru/alr/pkg/repos"
 | 
				
			||||||
	"go.elara.ws/vercmp"
 | 
					 | 
				
			||||||
	"golang.org/x/exp/maps"
 | 
					 | 
				
			||||||
	"golang.org/x/exp/slices"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var upgradeCmd = &cli.Command{
 | 
					var upgradeCmd = &cli.Command{
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user