forked from Plemya-x/ALR
		
	Необольшие изменения
This commit is contained in:
		| @@ -7,7 +7,7 @@ builds: | |||||||
|       - CGO_ENABLED=0 |       - CGO_ENABLED=0 | ||||||
|     binary: alr |     binary: alr | ||||||
|     ldflags: |     ldflags: | ||||||
|       - -X go.elara.ws/alr/internal/config.Version={{.Version}} |       - -X plemya-x.ru/alr/internal/config.Version={{.Version}} | ||||||
|     goos: |     goos: | ||||||
|       - linux |       - linux | ||||||
|     goarch: |     goarch: | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -2,7 +2,7 @@ PREFIX ?= /usr/local | |||||||
| GIT_VERSION = $(shell git describe --tags ) | GIT_VERSION = $(shell git describe --tags ) | ||||||
|  |  | ||||||
| alr: | alr: | ||||||
| 	CGO_ENABLED=0 go build -ldflags="-X 'go.elara.ws/alr/internal/config.Version=$(GIT_VERSION)'" | 	CGO_ENABLED=0 go build -ldflags="-X 'plemya-x.ru/alr/internal/config.Version=$(GIT_VERSION)'" | ||||||
|  |  | ||||||
| clean: | clean: | ||||||
| 	rm -f alr | 	rm -f alr | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								README.md
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | |||||||
|  |  | ||||||
| ALR - это независимая от дистрибутива система сборки для Linux, аналогичная [AUR](https://wiki.archlinux.org/title/Arch_User_Repository). В настоящее время она находится в стадии бета-тестирования. Исправлено большинство основных ошибок и добавлено большинство важных функций. alr готов к общему использованию, но все еще может время от времени ломаться или заменяться. | ALR - это независимая от дистрибутива система сборки для Linux, аналогичная [AUR](https://wiki.archlinux.org/title/Arch_User_Repository). В настоящее время она находится в стадии бета-тестирования. Исправлено большинство основных ошибок и добавлено большинство важных функций. alr готов к общему использованию, но все еще может время от времени ломаться или заменяться. | ||||||
|  |  | ||||||
| alr написан на чистом Go и после сборки не имеет зависимостей. Единственное, для повышения привилегий alr требуется команда area, такая как "sudo", "doas" и т.д., а также поддерживаемый менеджер пакетов. В настоящее время alr поддерживает `apt`, `pacman`, `apk`, `dnf`, `yum`, and `zypper`. Если в вашей системе существует поддерживаемый менеджер пакетов, он будет обнаружен и использован автоматически. | ALR написан на чистом Go и после сборки не имеет зависимостей. Единственное, для повышения привилегий ALR требуется команда, такая как `sudo`, `doas` и т.д., а также поддерживаемый менеджер пакетов. В настоящее время ALR поддерживает `apt`, `pacman`, `apk`, `dnf`, `yum`, and `zypper`. Если в вашей системе существует поддерживаемый менеджер пакетов, он будет обнаружен и использован автоматически. | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
| @@ -24,9 +24,9 @@ curl -fsSL plemya-x.ru/arl/install | bash | |||||||
|  |  | ||||||
| Пакеты для дистрибутивов и двоичные архивы представлены в последней версии на Gitflic: https://gitflic.ru/project/xpamych/alr/package | Пакеты для дистрибутивов и двоичные архивы представлены в последней версии на Gitflic: https://gitflic.ru/project/xpamych/alr/package | ||||||
|  |  | ||||||
| ### Building from source | ### Сборка из исодного кода | ||||||
|  |  | ||||||
| To build alr from source, you'll need Go 1.18 or newer. Once Go is installed, clone this repo and run: | Чтобы собрать ALR из исходного кода, вам понадобится версия Go 1.18 или новее. Как только Go будет установлен, клонируйте это репозиторий и запустите: | ||||||
|  |  | ||||||
| ```shell | ```shell | ||||||
| sudo make install | sudo make install | ||||||
| @@ -34,33 +34,27 @@ sudo make install | |||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
| ## Why? | ## Почему? | ||||||
|  |  | ||||||
| alr was created because packaging software for multiple Linux distros can be difficult and error-prone, and installing those packages can be a nightmare for users unless they're available in their distro's official repositories. It automates the process of building and installing unofficial packages. | ALR был создан потому, что упаковка программного обеспечения для нескольких дистрибутивов Linux может быть сложной и чреватой ошибками, а установка этих пакетов может стать кошмаром для пользователей, если они не доступны в официальных репозиториях их дистрибутива. Он автоматизирует процесс создания и установки неофициальных пакетов. | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
| ## Documentation | ## Документация | ||||||
|  |  | ||||||
| The documentation for alr is in the [docs](docs) directory in this repo. | Документация по всем этим вопросам находится в [Wiki](https://gitflic.ru/project/xpamych/alr/wiki). | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
| ## Web Interface | ## Репозитории | ||||||
|  |  | ||||||
| alr has an open source web interface, licensed under the AGPLv3 (https://gitea.elara.ws/alr/alr-web), and it's available at https://gitflic.ru/project/xpamych/alr/. | Репозитории alr - это git-хранилища, которые содержат каталог для каждого пакета с файлом "alr.sh` внутри. Файл `alr.sh" содержит все инструкции по сборке пакета и информацию о нем. Скрипты "alr.sh` аналогичны скриптам Aur PKGBUILD. | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
| ## Repositories | ## Спасибы | ||||||
|  |  | ||||||
| alr's repos are git repositories that contain a directory for each package, with a `alr.sh` file inside. The `alr.sh` file tells alr how to build the package and information about it. `alr.sh` scripts are similar to the AUR's PKGBUILD scripts. | Благодарим следующие проекты за то, что они сделали все возможное: | ||||||
|  |  | ||||||
| --- |  | ||||||
|  |  | ||||||
| ## Acknowledgements |  | ||||||
|  |  | ||||||
| Thanks to the following projects for making alr possible: |  | ||||||
|  |  | ||||||
| - https://github.com/mvdan/sh | - https://github.com/mvdan/sh | ||||||
| - https://github.com/go-git/go-git | - https://github.com/go-git/go-git | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								go.sum
									
									
									
									
									
								
							| @@ -1,5 +1,3 @@ | |||||||
| lure.sh/fakeroot v0.0.0-20231024000108-b130d64a68ee h1:kSXIuMid56Q29WEl7EQb5QUtmGqQqAu66EZ2G0OSUfU= |  | ||||||
| lure.sh/fakeroot v0.0.0-20231024000108-b130d64a68ee/go.mod h1:/v0u0AZ+wbzUWhV02KzciOf1KFNh7/7rbkz5Z0b5gDA= |  | ||||||
| cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | ||||||
| cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= | ||||||
| cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= | cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= | ||||||
| @@ -610,6 +608,7 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh | |||||||
| honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= | honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= | ||||||
| lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= | lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= | ||||||
| lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= | lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= | ||||||
|  | lure.sh/fakeroot v0.0.0-20231024000108-b130d64a68ee h1:kSXIuMid56Q29WEl7EQb5QUtmGqQqAu66EZ2G0OSUfU= | ||||||
| lure.sh/fakeroot v0.0.0-20231024000108-b130d64a68ee/go.mod h1:/v0u0AZ+wbzUWhV02KzciOf1KFNh7/7rbkz5Z0b5gDA= | lure.sh/fakeroot v0.0.0-20231024000108-b130d64a68ee/go.mod h1:/v0u0AZ+wbzUWhV02KzciOf1KFNh7/7rbkz5Z0b5gDA= | ||||||
| modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= | modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= | ||||||
| modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= | modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= | ||||||
|   | |||||||
| @@ -16,85 +16,7 @@ | |||||||
| # 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/>. | ||||||
|  |  | ||||||
| info() { | git clone https://gitflic.ru/project/xpamych/alr.git /tmp/alr | ||||||
|   echo $'\x1b[32m[INFO]\x1b[0m' $@ | cd /tmp/alr | ||||||
| } | sudo make install | ||||||
|  | rm -rf /tmp/alr | ||||||
| warn() { |  | ||||||
|   echo $'\x1b[31m[WARN]\x1b[0m' $@ |  | ||||||
| } |  | ||||||
|  |  | ||||||
| error() { |  | ||||||
|   echo $'\x1b[31;1m[ERR]\x1b[0m' $@ |  | ||||||
|   exit 1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| installPkg() { |  | ||||||
|   rootCmd="" |  | ||||||
|   if command -v doas &>/dev/null; then |  | ||||||
|     rootCmd="doas" |  | ||||||
|   elif command -v sudo &>/dev/null; then |  | ||||||
|     rootCmd="sudo" |  | ||||||
|   else |  | ||||||
|     warn "Команда повышения привилегий (например, sudo, do as) не обнаружена" |  | ||||||
|   fi |  | ||||||
|    |  | ||||||
|   case $1 in |  | ||||||
|   pacman) $rootCmd pacman --noconfirm -U ${@:2} ;; |  | ||||||
|   apk) $rootCmd apk add --allow-untrusted ${@:2} ;; |  | ||||||
|   zypper) $rootCmd zypper --no-gpg-checks install ${@:2} ;; |  | ||||||
|   *) $rootCmd $1 install -y ${@:2} ;; |  | ||||||
|   esac |  | ||||||
| } |  | ||||||
|  |  | ||||||
| if ! command -v curl &>/dev/null; then |  | ||||||
|   error "Для этого скрипта требуется команда curl. Пожалуйста, установите его и запустите снова." |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| pkgFormat="" |  | ||||||
| pkgMgr="" |  | ||||||
| if command -v pacman &>/dev/null; then |  | ||||||
|   info "Обнаружен pacman" |  | ||||||
|   pkgFormat="pkg.tar.zst" |  | ||||||
|   pkgMgr="pacman" |  | ||||||
| elif command -v apt &>/dev/null; then |  | ||||||
|   info "Обнаружен apt" |  | ||||||
|   pkgFormat="deb" |  | ||||||
|   pkgMgr="apt" |  | ||||||
| elif command -v dnf &>/dev/null; then |  | ||||||
|   info "Обнаружен dnf" |  | ||||||
|   pkgFormat="rpm" |  | ||||||
|   pkgMgr="dnf" |  | ||||||
| elif command -v yum &>/dev/null; then |  | ||||||
|   info "Обнаружен yum" |  | ||||||
|   pkgFormat="rpm" |  | ||||||
|   pkgMgr="yum" |  | ||||||
| elif command -v zypper &>/dev/null; then |  | ||||||
|   info "Обнаружен zypper" |  | ||||||
|   pkgFormat="rpm" |  | ||||||
|   pkgMgr="zypper" |  | ||||||
| elif command -v apk &>/dev/null; then |  | ||||||
|   info "Обнаружен apk" |  | ||||||
|   pkgFormat="apk" |  | ||||||
|   pkgMgr="apk" |  | ||||||
| else |  | ||||||
|   error "Не обнаружен поддерживаемый пакетный менеджер!" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| # Заменить на запрос версии через api gitflic |  | ||||||
| #latestVersion=$(curl -sI 'https://gitflic.ru/project/xpamych/alr/release/latest' | grep -io 'location: .*' | rev | cut -d '/' -f1 | rev | tr -d '[:space:]') |  | ||||||
| #info "Найдена последняя версия ALR:" $latestVersion |  | ||||||
|  |  | ||||||
| fname="$(mktemp -u -p /tmp "alr.XXXXXXXXXX").${pkgFormat}" |  | ||||||
| url="https://registry.gitflic.ru/project/xpamych/alr/package/-/generic/alr-linux-x86-64/${latestVersion}/releases-${latestVersion}.${pkgFormat}" |  | ||||||
|  |  | ||||||
| info "Скачивается пакет ALR" |  | ||||||
| curl --location --request GET $url -o $fname |  | ||||||
|  |  | ||||||
| info "Устанавливается ALR" |  | ||||||
| installPkg $pkgMgr $fname |  | ||||||
|  |  | ||||||
| info "Очистка" |  | ||||||
| rm $fname |  | ||||||
|  |  | ||||||
| info "Готово!" |  | ||||||
		Reference in New Issue
	
	Block a user