LINUX.ORG.RU

Новая жизнь TheirBirthday

 


1

1

С тех пор я каждый день пользуюсь этим великолепным творением и вспоминаю его замечательных создателей tiinn и hobbit с благодарностью :=)

И все было хорошо до тех пор, пока мне не пришлось перехать с Intel на ARM64, т.е. на aarch64.
И тут начались проблемы, потому что в основных репозитариях Arch и AUR этого напоминателя пока не нашлось.

В этом посте greenman выложил PKBUILD, который, если правильно понимаю, нужен для компиляции TheirBirthday под Arch.
Только я в ней не разбираюсь, и может, кто-то поможет портировать TheirBirthday в новую среду?

★★★★★

Ответ на: комментарий от alex1101

В pkgbuild указано.

Шутишь, да? Никаких команд в нем не указано.
Более того - там есть

arch=('x86_64')
а уменя
aarch64
И что я должен с этим сделать - поменять на aarch64, или дополнить ним то ли через пробел, то ли через запятую.

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

пришлось перехать с Intel на ARM64, т.е. на aarch64

в основных репозитариях Arch и AUR

То есть пришлось поменять не только процессорную архитектуру, но и дистрибутив?

Так-то для армов есть и вполне себе клоны дебиана, для малинки - Raspberry Pi OS (бывш. Raspbian), для других Armbian… (К примеру, на спонсорской малинке, находящейся сейчас у меня в руках, как раз распбиан.)

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

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

Михаил, у меня не малинка и прочее железо, у меня - TV-приставка, на которой после работает только одна ОС - Manjaro.

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

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

у меня - TV-приставка, на которой после работает только одна ОС - Manjaro.

Будет время и желание, создай тему в разделе «Галерея» (пример 1, пример2), с каким-то произвольным текстом, как все делают.

А то как заходит речь об arm, мне кроме темы от @burato и нечего привести в пример, только к нему я даю отсылки.

Все же tv-box, это не готовая железка из магазина за втридорога, над ней поколдовать надо.

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

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

Не надо ничего колдовать! У меня Манжаро уже месяц работает на приставке, и в этом плане ничего менять не надо.

Вообще смотри на название темы - в ней суть вопроса.

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

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

В Arch Linux пакеты собираются утилитой makepkg. При запуске makepkg находит в рабочем каталоге файл PKGBUILD и выполняет содержащиеся в нём указания по получению необходимых файлов, их компиляции и сборке архива пакета

Массив названий архитектур, под которые пакет может быть собран по данному PKGBUILD. Arch официально поддерживает только x86_64, но существуют сторонние проекты для других архитектур. Например, Arch Linux 32 работает с i686 и pentium4, а Arch Linux ARM предоставляет поддержку для arm (armv5), armv6h (armv6 hardfloat), armv7h (armv7 hardfloat) и aarch64 (armv8 64-bit).

В параметре используются два типа значений:
- arch=('any') — пакет соберётся на любой архитектуре и в откомпилированном состоянии будет архитектурно-независимым (пакеты со сценариями оболочки, шрифтами, темами, многими типами расширений и т.п.).
- arch=('x86_64') — пакет соберётся только на указанной(-ых) архитектуре(-ах). После компиляции пакет становится архитектурно-зависимым. В параметре указываются все архитектуры, для которых будет работать данный PKGBUILD. Для пакетов из официальных репозиториев и AUR в параметре arch указывается значение x86_64, хотя пакеты из AUR могут также поддерживать дополнительные архитектуры.

Прописываете arch=('any') и makepkg в каталоге с файлом PKGBUILD

П.С. собирать на приставке, чтобы под эту же архитектуру и собрало

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

Наконец-то разумный ответ, без бодяги :=)

Но только я делал несколько по другому.
Например, для сборки Сильфиды:

1. Прописывал arch=('aarch64')

2. Выполнял команды:

sudo pacman -Syu base-devel git micro
git clone https://aur.archlinux.org/sylpheed.git
cd sylpheed
makepkg -Asrcif
Для Сильфиды и некоторых других приложений срабатывало, для других - нет.
Я не знаю, в чем дело, и тем более не понимаю, зачем ключи -Asrcif
Я старый чукча, мне эти тонкости не положено знать :-)
Мне сказали: «Делай так!» - и я делаю.

А вы, знатоки, все это знаете, и могли бы давно подсказать.

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

Михаил тогда, еще в мае, живописал:

PKGBUILD

Ура-ура. Ждём в AUR.
В самом деле, почему никто до сих пор не закинул сборку в AUR?
Ведь есть же здесь арчовцы и манжаровцы, для них это плевое дело!

Ведь шикарная же напоминалка в самом деле!
Получила бы распротранение не только в ЛОРе, но и в мире :=)

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

Получила бы распротранение не только в ЛОРе, но и в мире :=)

events.txt и dates.txt исключительно для россиян

Т.е. только на русском языке, и даты в основном связаны с Россией.

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

В самом деле, почему никто до сих пор не закинул сборку в AUR?

Вот ты, например, не хочешь почитать немного вики, и понять, что в AUR не «сборки», а практически голые PKGBUILD-ы (ну иногда к ним install файлы и патчи). И поместить всё это в AUR может любой «доброжелатель», легко уничтожив всё, что есть на дисках (ведь инсталляция пакета идёт из-под рута).

Кстати, была история много лет назад. В одном из достаточно популярных PKGBUILD-ов автор сделал опечатку сделал криво. И любители собирать пакеты от рута остались без /usr

https://archlinux.org.ru/forum/topic/5355/

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

меня снова уводят в сторону ненужными советами.

Это вообще-то, не совет был, а просьба. Достаточно деликатная.

и в этом плане ничего менять не надо

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

Будет время и желание

Мда, нехорошо получилось.

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

Увы, зачастую manjaro накладывает отпечаток. Даже на людей со значительным опытом в linux.

пример неумения читать выхлоп процесса сборки

Ну, блин, соберите хоть пяток пакетов через makepkg, прежде чем начинать всё делать через AUR helper.

(В manjaro, видимо, pacaur сразу идёт в системе, поэтому так печально)

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

Мог бы просто написать makepkg же без подколок сверху и снизу. Мне там вообще make примерещился o_O

А манжара здорово экономит время, не уверен, дошли ли бы у меня руки до ванильного арча, а манжару просто поставил и пользуюсь. По обновлениям иногда (редко) бывают вопросы, ну так они и с родительским дистрибутивом были бы. (И с мажорными обновлениями условного дебиана или федоры тоже не всё шоколадно бывает.)

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

Тема чисто юмористическая.

Ну это тебе так кажется. А человеку надо программу постввить. Он просто не слишком конкретно задаёт вопрос и с параллелями у него туговато. Но чего он хочет — понять можно. Конечно, посыл «А поговорить?» в ОП присутствует, но это стиль такой.

По сути дела, его вопрос сводился к тому, что делать с захардкоженной в конфиге архитектурой, и на этот вопрос @Jurik_Phys вроде как ответил.

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

Внимательно прочел ваши советы, спасибо.
Никаких подколок в мою сторону не заметил, но если я кого нечаянно обидел, прошу прощения.
На нашем лоровском форуме я больше 10 лет, наверное, имеет смысл рассказать немного о себе, чтобы не было лишних вопросов и удивления моей несообразительности.

Чукча уже старый дед, начал свое знакомство с компьютерами с ЕС-1022, т.е. с перфокарт и перфолент.
Потом появились микропроцессоры, у нас в виде К580ИК80, т.е. Intel 8080, и я надолго ударился в эту тему, программируя в кодах в школьной тетрадке.
Затем разработал контроллер на этом процессоре и накопитель на магнитофоне, дело пошло веселее.
На контроллере создал сеть с контролем коллизий, работающую по телефонному кабелю. В качестве сетевого адаптера использовалсь К580ИК51, а в качестве элемента согласования с кабелем оптронная развязка. Скорость невелика - 9600, зато дальность свыше 1000 м.
Благодаря техническому прогрессу у нас пояились армянские накопители на больших гибких дисках, которые покупал по 5 рублей.
Марку до сих пор помню - BASF в конверте темно-синего цвета.
Потом пошла CP/M80, ISIS-2, ASM80, PLM80 и др. - названия, которые многим из вас, наверное, мало о чем говорят.
Для народного компьютера ZX80, дизассемблировав в тетрадке «ленточный» Паскаль, разработал драйвер для работы с 5-дюймовым НГМД и воткнул его в Паскаль, благодаря чему работа с ним пошла намного быстрее, чем на магнитной лентой.
Еще много есть о чем вспомнить, но не буду отнимать ваше внимание.
Из последних проектов, который создал на пару с приятелем-программистом - https://rx-tx.info

К чему это все: все мои способности в прошлом, осталась только неугасающая любовь к компьютерам как к хобби и великолеппному инструменту для решения многих задач :-)
Так что не удивляйтесь, что я недостаточно сообразителен, возраст дело такое, поэтому предпочитаю пользоваться только готовыми решениям и хавту.
Вникать в тонкости, к сожалению, это уже не про меня, да и время поджимает.
Спасибо, что дочитали. Надеюсь, что я был достаточно краток :-)

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

Не знаю как другие, но я, отвечая кому-то, часто сначала смотрю в профиль, чтобы иметь представление о собеседнике и выстроить диалог в правильном ключе.

  • Так, если вижу там «Мне 61 год», то и не настаиваю на чем-то, даже если считаю, что так лучше.
  • Или есть один ЛОРовец, часто создает на первый взгляд странные и нелогичные темы, у него в комментах часто подтрунивают над ним. Была мысль тоже опубликовать «удачный коммент», но посмотрев видео с его ютуб-канала, оставил эту идею, все же человек живет на своей волне и в этом нет ничего такого.

Так что, опубликовать несколько строк в собственном профиле это и не такая плохая идея, типа «начал свое знакомство с компьютерами с ЕС-1022, т.е. с перфокарт и перфолент.»

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

кто и как будет проверять, что он действительно начал свое знакомство с компьютерами с ЕС-1022, т.е. с перфокарт и перфолент?

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

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

Я могу ошибаться, но что-то any мне кажется не очень хорошей идеей. Подозреваю, что это для скриптоты, которой совсем уж всё равно, где работать (типа как noarch для RPM). Хотя да, найти архитектуру, на которую не портированы C++11 и Qt5, надо постараться.

(А! Вот и @wandrien про то же самое. Это хорошо, значит, это не моя паранойя… :) )

Я вот заглянул в man PKGBUILD (да-да, в Манжаре, которую некоторые так не любят, он тоже есть) и прочитал:

  arch (array)
           Defines on which architectures the given package is available (e.g., arch=('i686' 'x86_64')). Packages that contain no architecture specific files should use arch=('any'). Valid characters for members of this array are
           alphanumerics and “_”.

Таки через пробел (это ответ на вопрос ТСа).

После этого я взял PKGBUILD, который построил @greenman, и поправил там 7-ю строчку:

arch=('x86_64' 'aarch64')

Дальше начал возмущённо верещать pkgver(), но тут я сам сообразил, что это виноват mcedit, который при копипастинге разбил длинные строки (в том числе git describe ...). Поправил.

После этого makepkg отработал без приключений. Программа запустилась и даже напомнила про выдающегося человека, чьё 70-летие наступит через 6 дней.

…Но это всё было на x86_64. Проверить, как сработает на aarch64, предоставляю ТСу. Я проверю только когда руки дойдут малинку развернуть, и это точно не сегодня.

@chukcha, работает?

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

Я могу ошибаться, но что-то any мне кажется не очень хорошей идеей.

Вообще, логично, что идея так себе в общем случае, но здесь 'any', чтобы у ТС'а точно проект собрался и не застопорился из-за неправильной архитектуры или просто опечатки

Jurik_Phys ★★★★★
()

Странно, что мимо внимания всех прошел этот коммент Новая жизнь TheirBirthday (комментарий).
Думал будут радостные хлопки в ладоши, веселые хороводы, восторженные крики «Вау!». 😀

Пришлось самому проверять, как там все. Запустил на ноуте с системой x86 сборку первого попавшегося небольшого пакета nano-git:

  • Ничего не менял, PKGBUILD не правил.
  • Дефолтно arch=(x86_64).
  • Запустил makepkg -Asrcif.
  • На выходе nano-git-20231016-1-i686.pkg.tar.zst.
krasnh ★★★
()
Ответ на: комментарий от wandrien

Ты знал и молчал. )

На самом деле, лично у меня, железо только под x86 и x86_64, но в принципе никогда не задумывался, что в AUR любой arch=(x86_64) пакет можно собрать в любой архитектуре. Считал, что если специально мейнтейнером не прописано arch=(‘x86_64’ ‘i686’), то не судьба. :)

Может не сильно нужно было, потому как-то и не поинтересовался. Все же основной комп x86_64. Как-то так.

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

Собрать можно попробовать всё, что угодно.)

При условии, что:

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

, результат будет иметь место.

Это поле в случае дистрибутива, поддерживающего разные архитектуры, должно содержать указания для билд фермы, какие пакеты куда собирать.

Но так как сам Арч официально использует одну архитектуру, то это поле становится неинформативным.

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

Пришлось самому проверять, как там все. Запустил на ноуте с системой x86 сборку первого попавшегося небольшого пакета nano-git:

Ничего не менял, PKGBUILD не правил.
Дефолтно arch=(x86_64).
Запустил makepkg -Asrcif.
На выходе nano-git-20231016-1-i686.pkg.tar.zst

Тут явно яего-то нехватает. А именно - начала.

Где и как взял эту сборку, куда и как разместил ее и т.д.?
На полноценное хавту явно не тянет, иначе давно повторил бы сей подвиг.

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