forked from Plemya-x/ALR
		
	Необольшие изменения
This commit is contained in:
		@@ -7,7 +7,7 @@ builds:
 | 
			
		||||
      - CGO_ENABLED=0
 | 
			
		||||
    binary: alr
 | 
			
		||||
    ldflags:
 | 
			
		||||
      - -X go.elara.ws/alr/internal/config.Version={{.Version}}
 | 
			
		||||
      - -X plemya-x.ru/alr/internal/config.Version={{.Version}}
 | 
			
		||||
    goos:
 | 
			
		||||
      - linux
 | 
			
		||||
    goarch:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@@ -2,7 +2,7 @@ PREFIX ?= /usr/local
 | 
			
		||||
GIT_VERSION = $(shell git describe --tags )
 | 
			
		||||
 | 
			
		||||
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:
 | 
			
		||||
	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 написан на чистом 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
 | 
			
		||||
 | 
			
		||||
### 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
 | 
			
		||||
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/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.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 | 
			
		||||
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=
 | 
			
		||||
lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
 | 
			
		||||
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=
 | 
			
		||||
modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw=
 | 
			
		||||
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
 | 
			
		||||
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
info() {
 | 
			
		||||
  echo $'\x1b[32m[INFO]\x1b[0m' $@
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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 "Готово!"
 | 
			
		||||
git clone https://gitflic.ru/project/xpamych/alr.git /tmp/alr
 | 
			
		||||
cd /tmp/alr
 | 
			
		||||
sudo make install
 | 
			
		||||
rm -rf /tmp/alr
 | 
			
		||||
		Reference in New Issue
	
	Block a user