LINUX.ORG.RU

Как добавить бинарный пакет в AUR?

 ,


1

1

Пакет есть, PKGBUILD есть, регистрация в aur.archlinux.org есть. При чтении инструкции не понял как создать новую пару ключей, потому что предлагает заменить существующие. Так же я не понял нужен ли Git при добавлении бинарных пакетов. Так же я зыбыл где кнопка «Добавить PKGBUILD» (может её и не было, через git clone вообще не понимаю). Попробовал команду «git init», чтобы проверить есть ли у меня git, выдал какой то текст, не стал далее пробовать так как 99% есть подозрение что это для сборки с исходников.

Перемещено dataman из talks

Перемещено hobbit из general

★

При чтении инструкции не понял как создать новую пару ключей, потому что предлагает заменить существующие.

Значит ты их уже создал. Если хочешь новую — ну используй другое имя.

В инструкции по твоей ссылке IdentityFile ~/.ssh/aur в конфиге и $ ssh-keygen -f ~/.ssh/aur в команде. Вот ты вместо aur можешь любое имя использовать на самом деле. Хоть сотню их насоздавай — главное, чтоб с разными именами файлов.

Ну или если те, что ты уже создал, не нравятся — ну замени.

Так же я не понял нужен ли Git при добавлении бинарных пакетов.

Git нужен для добавления пакетов AUR. Каких-то специальных бинарных пакетов в AUR нет. AUR — это репозиторий, в котором содержатся PKGBUILD’ы. Они не бинарные. Сам твой PKGBUILD может уже качать бинарные файлы откуда-то, без проблем. Но сами бинарники должны где-то хоститься, не в AUR. Ну и надеюсь, единственная причина в том, что ты хочешь добавить что-то, не имеющее исходников. Потому что иначе правильно добавлять нормальный скрипт сборки.

Попробовал команду «git init», чтобы проверить есть ли у меня git, выдал какой то текст, не стал далее пробовать так как 99% есть подозрение что это для сборки с исходников.

git ничего не знает о сборке, он только отслеживает изменения в файлах, которые ты в него помещаешь. Что там из них собирается и собирается ли вообще, или это роман в десяти томах в Markdown, git’у фиолетово — он ничего не собирает и не знает, как оно собирается. В данном случае, у тебя в репозитории будет файл PKGBUILD, можешь считать его тоже «исходниками».

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

Значит ты их уже создал. Если хочешь новую — ну используй другое имя.

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

AZJIO ★
() автор топика
Ответ на: комментарий от AZJIO

Я вроде понятно всё объяснил. Ты уже создал конкретно ~/.ssh/aur. Хочешь — используй его, хочешь, создай ~/.ssh/yanifiganeponimayu и используй его. Вообще без разницы. Какой в конфиг пропишешь, тот и будет.

CrX ★★★★★
()
Ответ на: комментарий от AZJIO

Проблема в том, что не нужно сразу искать какие-то скрытые смыслы в очень простом вопросе.

dataman ★★★★★
()
Ответ на: комментарий от CrX

Но сами бинарники должны где-то хоститься, не в AUR

Конечно, в PKGBUILD есть ссылка, он по ней скачает, хоть на свой сайт, хоть на гитхаб. Но проблема добавить PKGBUILD.

AZJIO ★
() автор топика
Ответ на: комментарий от AZJIO

Так это же я знаю, зачем мне говорить то что я знаю?

Чтобы ты понял, очевидно. Если ты не хочешь, чтобы тебе говорили то, что необходимо для твоего понимания — не задавай вопросов вообще. Ещё посоветую вот так вот не реагировать, когда тебе пытаются помочь. Я-то ладно, я терпеливый, но большинство людей просто плюнет и скажет «ну знаешь — вот и разбирайся тогда сам».

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от AZJIO

Выше уже написали, ключевой момент, ты должен создать пару ssh ключей. Затем скопировать содержимое публичного ключа в профиль на сайте AUR. И только после этого станет доступно всё остальное, а именно git push то есть закачка твоего PKGBUILD, в виде git репозитория. Как сделать правильно репозиторий и отправить его содержимое в AUR написано по твоей ссылке, просто копипастишь с правками под себя и всё.

Не торопись, делай всё поступательно.

  • создание ssh ключей и внесенение открытого ключа в профиль aur
  • создание локального git репозитория, добавление в него pkgbuild
  • отправка готового git репозитория в aur через ssh

И всё.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

создание локального git репозитория, добавление в него pkgbuild

Где он находится, чтобы в него добавить?

Ну вот тупо по инструкции делаю

git -c init.defaultBranch=master clone ssh://aur@aur.archlinux.org/findgui.git

Получаю некий текст с моими данными и в конце строка «fatal: Не удалось прочитать из внешнего репозитория.»

Также у меня в аккаунте указан публичный ключ, а та система где я его генерировал уже за загружается. Я создал новый ключ, ввёл, сохранил, обновляю страницу, там старый ключ. Готовлюсь к будущей проблеме.

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 2)
Ответ на: комментарий от AZJIO
makepkg --printsrcinfo > .SRCINFO

Прочти инструкцию ещё разок-другой. Я серьёзно. Меньше будет вопросов.

Да и показал бы здесь свой PKGBUILD, может какие ошибки увидим.

greenman ★★★★★
()
Ответ на: комментарий от greenman

показал бы здесь свой PKGBUILD

# using fakeroot version 1.22
# Wed Dec 03 08:16:27 UTC 2023
pkgname = find_gui-bin
pkgver = 1.2-1
pkgdesc = GUI shell for the well-known 'find' utility.
url = https://azjio.ucoz.ru/load/programs/linux/find_gui_linux/11-1-0-73
builddate = 1701591387
packager = пока убрал
size = 400000
arch = x86_64
license = custom
conflict = 
depends = findutils
depends = gtk3
depends = sed
depends = grep

depends=(gtk3 sed grep findutils)

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 2)
Ответ на: комментарий от AZJIO

Всё равно его придётся переупаковывать. Такова действительность.

(либо хитро извращаться, вроде были такие пакеты, но это не точно)

Либо делать своё репо.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от AZJIO

Это так не работает. Права ты задашь в PKGBUILD.

Ещё проблемы: у тебя пробелы вокруг знаков равенства, в pkgdesc кавычек нет. И depends переопределяется много раз — будет только последний «считаться».

Может ты не понял, но PKGBUILD это шелл-скрипт. Он должен синтаксису шелла соответствовать.

И тебе обязательно нужен source — что качать-то. Где там твой .tar.zst (.zst, кстати, никакие права не умеет, их умеет .tar) — экстрасенсы угадывать будут? Ну и package(), где ты напишешь, что с этим твоим .tar.zst делать.

Ну и помимо source ещё контрольная сумма твоего архива этого, да. Тоже как в примере выше.

P.S. Теперь очень забавно смотрится твоё предыдущее сообщение про «я знаю» в свете отсутствия source в PKGBUILD… Знает он…

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 4)
Ответ на: комментарий от greenman

вроде были такие пакеты, но это не точно

Такой пакет есть один, но слабоватый.

Я не тот PKGBUILD дал, я там ссылки на пакет не вижу. Просто сейчас я не заморачивался с PKGBUILD, моя задача разобраться как его добавить, а уж потом смотреть чтобы добавить правильный, я просто взял с папки проекта. Я делал отдельный PKGBUILD для скачивания по ссылке, так как до этого я делал PKGBUILD с контентом внутри, но меня как то попросили сделать прямую ссылку и я решил попробовать сделать PKGBUILD с использованием скачивания, это сработало и я забросил на несколько лет, так как в то время мне не удалось добавить его в AUR.

AZJIO ★
() автор топика
Ответ на: комментарий от AZJIO

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

Надо наоборот. Сперва убедись, что PKGBUILD работает, потом уже добавляй.

Нафиг он там будет нерабочий висеть? Чтобы юзеры время зря тратили?

CrX ★★★★★
()
Ответ на: комментарий от AZJIO

Значит прочти ещё разделы git и ssh в вики, для прояснения сознания.

(Кстати, вот посмотрит юзер на PKGBUILD, увидит, что там используется грязный хак, и сто раз подумает, а ставить ли ему такой пакет)

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от CrX

Сперва убедись, что PKGBUILD работает

Он работает. Но не тот что я выложил. Я задал вопрос, но вместо этого я получаю вопрос про PKGBUILD. Создайте тему и спрашивайте, у меня есть моя сокращённая инструкция по его созданию.

Ой, да там как раз и есть правильный пакет со ссылкой.

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 1)
Ответ на: комментарий от greenman

Значит прочти ещё разделы git и ssh в вики, для прояснения сознания.

Этот текст сделан на основе не предоставленного PKGBUILD? Где связь, вы мне предлагаете найти его прежде чем искать способ его добавить?

AZJIO ★
() автор топика
Ответ на: комментарий от greenman

для прояснения сознания.

И тут меня обвиняли что я слишком неприятно отвечаю… Так я же готовлюсь что меня пошлют в гугл, пошлют исправлять сознание вместо помощи. Так что вы от меня тогда нежности просите…

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 3)
Ответ на: комментарий от greenman

для прояснения сознания.

Это грубость и оскорбление?

Конечно, всегда легче обвинить человека что у него непросветлённое сознание и послать в гугл. Этом может сделать любой пятиклассник не напрягаясь.

AZJIO ★
() автор топика
Ответ на: комментарий от AZJIO

Ты ждёшь, что тебе будут читать нужные строчки из вики и манов?

Ты про создание .SRCINFO не увидел в вики, разве не так?

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от greenman

Тебе не обязательно помогать. Если ты хочешь чтобы я читал гугл и ман, для этого не надо отвечать, и мне придётся это сделать волею судьбы. Разве что я хотел ускорить процесс.

AZJIO ★
() автор топика
Ответ на: комментарий от AZJIO

Ты чего такой злой? Просишь помочь и скалишься с рыком на руку помощи.

anonymous
()
Ответ на: комментарий от greenman

Ты про создание .SRCINFO не увидел в вики, разве не так?

Ну и что что я увидел? makepkg - команда сборки. В строчке makepkg --printsrcinfo > .SRCINFO нет укзания на пакет, чей исходник-инфо он будет составлять? И есть ли у меня исходник в пакете?

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 1)
Ответ на: комментарий от AZJIO

Ты, скорее всего, не понимаешь, где берёт makepkg PKGBUILD при работе. Ты собирал пакеты не с помощью aur-helper-а, а посредством только makepkg?

Тебе надо создать каталог (последняя часть пути — с помощью команды git clone, что ты привёл выше)

~/projects/aur/find_gui-bin

и работать уже в нём

В нём будут и PKGBUILD и .SRCINFO и служебные файлы git

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 4)
Ответ на: комментарий от AZJIO

В строчке makepkg –printsrcinfo > .SRCINFO нет укзания на пакет, чей исходник-инфо он будет составлять?

По умолчанию makepkg работает с PKGBUILD (и другими файлами, если они вдруг есть) в текущем каталоге, поэтому ничего указывать дополнительно и не надо. Другой каталог ему можно указать при помощи --dir, но в твоём случае смысла в этом нет, удобнее работать как раз в текущем (ведь и .SRCINFO тебе нужен в нём же).

CrX ★★★★★
()
Ответ на: комментарий от greenman

Ты, скорее всего, не понимаешь, где берёт makepkg PKGBUILD

Знаю. Ты ответил как раз через 10 минут после того как я понял. Но удалять/исправлять сообщение не стал, так как это логическое рассуждение почему я не использовал эту команду на момент чтения иструкции.

AZJIO ★
() автор топика

Выполнил «git init», по умолчанию папка/каталог/директория Find_GUI_AUR и в ней появилась папка/каталог/директория «.git». И получил сообщение «Инициализирован пустой репозиторий Git в …/Find_GUI_AUR/.git/». Там 4 «папка/каталог/директория». Пока непонятно нужно ли в какуюто из этих папок переносить PKGBUILD и .SRCINFO? Если это репозиторий и он пустой, то вроде как нужно. На вики написано, что если репозиторий пуст, то вы получите об этом сообщение, поэтому я пока решил сделать клон пустого репозитория выполнив команду git -c init.defaultBranch=master clone ssh://aur@aur.archlinux.org/find-gui-bin.git. Получаю текст

Клонирование в «find-gui-bin»… aur@aur.archlinux.org: Permission denied (publickey). fatal: Не удалось прочитать из внешнего репозитория.

Удостоверьтесь, что у вас есть необходимые права доступа и репозиторий существует.

AZJIO ★
() автор топика
Ответ на: комментарий от AZJIO

А тебе советовали изучить гит, да все без толку. .git - это служебная директория гита, лазить туда не нужно.

anonymous
()

Загуглил строку «aur@aur.archlinux.org: Permission denied (publickey).» и нашёл инфу, что команда «ssh aur.archlinux.org help» должна выдать ответ справку по командам, но вместо этого я снова получаю «aur@aur.archlinux.org: Permission denied (publickey).» Что означает «В разрешении отказано (публичный ключ)»

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 1)
Ответ на: комментарий от AZJIO

Я сменил ключ чтобы он соответствовал текущему в .ssh, теперь он пишет
Enter passphrase for key '/home/user/.ssh/aur':
Что тут нужно ввести, пароль регистрации на сайте или ключ из поля "Публичный SSH ключ: "?

И можно ли вводить ключ копированием вставкой? Терминал вроде как не принимает такой способ, а вводить 98 символов как то тяжеловато, тем более не видя вводимых данных.

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 1)
Ответ на: комментарий от AZJIO

Жаль что исправлять нельзя последнее сообщение. В общем понял я что такое фраза, это часть данных вводимых при создании ключа, чтобы сделать его более стойким. Но мне это не помогло, по ответам ясно что может быть проблема с репозиторием. В файле .git/description написано что текст нужно изменить на название/описание пакета. Так же не понятно откуда этот каталог будет знать о наличии PKGBUILD, если он в него не копируется. Также разобрался про создание новых ключей, ведь команда поддерживает параметры имя файла ключа. Не понятно какой ключ указывать в аккаунте, я попробовал без начала «ssh-ed25519», пишет неправильный ключ, по нему он узнаёт видимо формат ключа. Имя пользователя и имя операционки, тоже не понятно нужно ли оно (в конце ключа). Пока у меня не получилось пройти ошибку ввода фразы.

AZJIO ★
() автор топика
Последнее исправление: AZJIO (всего исправлений: 1)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария