Необольшие изменения
This commit is contained in:
parent
fb61b3ab94
commit
23e8e8e1fe
@ -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
|
Loading…
Reference in New Issue
Block a user