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