diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 8a5c74a..709a9bb 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -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: diff --git a/Makefile b/Makefile index 32efb37..2d201d2 100644 --- a/Makefile +++ b/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 diff --git a/README.md b/README.md index 229ca36..e87bfa0 100644 --- a/README.md +++ b/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 diff --git a/go.sum b/go.sum index f54c4fe..aae20da 100644 --- a/go.sum +++ b/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= diff --git a/scripts/install.sh b/scripts/install.sh index 39f4dfa..ad5628e 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -16,85 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -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 "Готово!" \ No newline at end of file +git clone https://gitflic.ru/project/xpamych/alr.git /tmp/alr +cd /tmp/alr +sudo make install +rm -rf /tmp/alr \ No newline at end of file