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 для размещения комментария