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