Перейти к основному содержимому
Версия: Canary 🚧

Руководство для пользователей

НАЗВАНИЕ:
stplr - Интерфейс командной строки для Stapler, универсальной системы сборки пакетов Linux

ИСПОЛЬЗОВАНИЕ:
stplr [глобальные опции] команда [опции команды] [аргументы...]

КОМАНДЫ:
install, in Установить новый пакет
remove, rm Удалить установленный пакет
upgrade, up Обновить все установленные пакеты
info Отобразить информацию о пакете
list, ls Список пакетов репозитория Stapler
build Сборка локального пакета
refresh, ref Скачать все изменённые репозитории
fix Попытка устранить проблемы с Stapler
helper Запустить вспомогательную команду Staplerfile
version Показать текущую версию Stapler и выйти
search, s Поиск пакетов
repo Управление репозиториями
config Управление конфигурацией
help, h Показывает список команд или справку по одной команде

ГЛОБАЛЬНЫЕ ОПЦИИ:
--pm-args value, -P value Аргументы, которые будут переданы менеджеру пакетов
--interactive, -i Включение интерактивных вопросов и запросов (default: true)
--help, -h Показать справку

Команды

install

Команда install устанавливает пакет из репозиториев stplr. Любые пакеты, которых нет в репозиториях stplr, передаются в системный менеджер пакетов для установки. stplr проверит массив и сообщит, если точное совпадение не найдено. Также поддерживается использование % в качестве замены. Если найдено несколько пакетов, вы будете проинформированы о выборе пакета для установки. По умолчанию, если пакет уже был собран, stplr установит кэшированный пакет вместо повторной пересборки. Используйте флаг -c или --clean, чтобы принудительно пересобрать пакет.

Примеры:

stplr install stplr-bin         # найдёт только stplr-bin
stplr in stplr # находит stplr-bin и stplr-git
stplr in it% # находит stplr-bin, stplr-git и itgui-git
stplr in -c stplr-bin # пересоберёт и установит stplr-bin
stplr in pkg+stplr-repo # конкретный пакет с указанием репозитория
stplr in repo/pkg # то же самое другим способом

remove

Команда remove предназначена для удобства. Она просто перенаправляет команду удаления в системный менеджер пакетов.

Пример:

stplr rm firefox

upgrade

Проверяет установленные пакеты и сравнивает их версии с версиями в репозиториях stplr (используется алгоритм rpmvercmp). Если найдена более новая версия — пакет обновляется.

Пример:

stplr up

info

Команда info отображает информацию о пакете в репозиториях stplr.

Если найдено несколько пакетов, вам будет предложено выбрать, какой из них вы хотите просмотреть.

Пример:

stplr info stplr-bin          # находит только stplr-bin
stplr info stplr # находит stplr-bin и stplr-git
stplr info it% # находит stplr-bin, stplr-git и itgui-git
stplr info pkg+stplr-default # конкретный пакет с указанием репозитория
stplr info stplr-default/pkg # то же самое другим способом

list

Команда list отображает все пакеты из репозитория stplr, а также их версии.

Существует флаг -I или --installed, который фильтрует пакеты, установленные в системе.

Примеры:

stplr ls     # выводит все пакеты stplr
stplr ls -I # выводит все установленные пакеты

refresh

Команда refresh загружает все изменения из всех репозиториев stplr, которые были изменены.

Пример:

stplr ref

fix

Команда fix пытается исправить проблемы с stplr, удаляя и пересобирая кэш stplr.

Пример:

stplr fix

version

Команда version возвращает текущую версию stplr и завершает выполнение.

Пример:

stplr version

Команда search позволяет искать пакеты в репозиториях stplr по различным критериям. Вы можете фильтровать результаты поиска по имени, описанию, репозиторию или предоставляемым возможностям (provides). По умолчанию вывод ограничен информацией для текущего дистрибутива, но можно отобразить все результаты, используя флаг --all. Для настройки формата вывода используйте опцию --format с шаблоном Go.

stplr search -n stplr-bin       # поиск пакета по имени
stplr search -d "git" # поиск по описанию, содержащему 'git'
stplr search -p libfoo # поиск пакетов, предоставляющих libfoo

stplr search -f ""{{.Repository}}/{{.Name}} {{.Version}}-{{.Release}}"" # получить вывод как у stplr list

repo

stplr repo
НАЗВАНИЕ:
stplr repo - Управление репозиториями

ИСПОЛЬЗОВАНИЕ:
stplr repo команда [опции команды] [аргументы...]

КОМАНДЫ:
remove, rm Удалить существующий репозиторий
add Добавить новый репозиторий
set-ref Установить ссылку на версию репозитория
mirror Управление зеркалами репозитория
set-url Установить главный URL репозитория
help, h Показывает список команд или справку по одной команде

ПАРАМЕТРЫ:
--help, -h Показать справку

repo remove

Команда repo remove (repo rm) удаляет репозиторий из stplr и удаляет его содержимое, если он существует.

Пример:

stplr repo remove stplr-repo

repo add

Команда repo add добавляет репозиторий в stplr, если он еще не существует.

Пример:

stplr repo add stplr-repo https://gitea.plemya-x.ru/Plemya-x/stplr-repo.git

repo set-ref

Команда установит ссылку на версию репозитория

Пример:

stplr repo set-ref [опции команды] <имя> <ссылка_на_версию>

repo mirror

Команда repo mirror позволяет управлять зеркалами репозиториев в stplr. Вы можете добавлять новые зеркала, удалять одно или все зеркала для указанного репозитория. Зеркала используются как резервные источники: если основной URL репозитория недоступен, stplr автоматически пробует скачать пакеты с доступных зеркал по порядку, пока не найдёт работающий. Это повышает надёжность.

Вы можете добавлять новые зеркала, удалять одно или все зеркала для указанного репозитория. При удалении можно указать частичный URL или игнорировать отсутствие зеркала.

stplr repo mirror add my-repo https://mirror.example.com  # добавить зеркало для репозитория my-repo
stplr repo mirror rm my-repo https://mirror.example.com # удалить конкретное зеркало из my-repo
stplr repo mirror rm -p my-repo github.com # удалить все зеркала с частичным совпадением github.com
stplr repo mirror clear my-repo # удалить все зеркала из my-repo

config

НАЗВАНИЕ:
stplr config - Управление конфигурацией

ИСПОЛЬЗОВАНИЕ:
stplr config команда [опции команды] [аргументы...]

КОМАНДЫ:
show Показать конфигурацию
set Установить значение в конфигурации
get Получить значение из конфигурации
help, h Показывает список команд или справку по одной команде

ПАРАМЕТРЫ:
--help, -h Показать справку

config show

Показать конфигурацию

$ stplr config show
rootCmd: sudo
useRootCmd: true
pagerStyle: github
ignorePkgUpdates: []
repo:
- name: plemya-x-repo
url: https://gitea.plemya-x.ru/Plemya-x/stplr-repo.git
ref: ""
mirrors: []
autoPull: true
logLevel: INFO

config set

Установить значение в конфигурации

stplr config set rootCmd doas
Успешно установлено rootCmd = doas

config get

Получить значение из конфигурации

stplr config get rootCmd
doas

build

Собирает пакет с помощью скрипта сборки Staplerfile. По умолчанию используется ./Staplerfile, путь можно изменить опцией -s.

Собрать локальный пакет
stplr build -s ./Staplerfile
Собрать пакет из репозитория
stplr build -p repo/pkg
ОпцияОписание
-s, --script <path>Путь к Staplerfile (по умолчанию ./Staplerfile)
--sb, --subpackage <name>Сборка подпакета (для многопакетного скрипта)
-p, --package <repo/pkg>Имя пакета и репозиторий (например default/go-bin)
-c, --cleanПересобрать даже при наличии готового пакета
--no-suffixНе добавлять суффикс к имени пакета
-h, --helpПоказать справку

Также можно воспользоваться вспомогательным инструментом stplr-spec.

stplr-spec clean-build