LINUX.ORG.RU

Как установить новый Godot в Debian Buster?

 , , , ,


0

1

В репозиториях лежит ну ооочень старый 3.0.6, у меня же проект на 3.5.1, как получить эту версию движка в Debian Buster?

Да, можно скачать архивом с сайта, но нужны ярлыки в меню, запуск из терминала и другое, присущее установленной программе. Как понять каким образом был собран пакет из репозиториев, может сделать свой .deb пакет, но с новым бинарником? Как вообще происходит процесс установки и что куда пишет?

Временное решение: скачал с сайта 3.5.1, скопировал его в /usr/bin/, переименовав в godot, создал .desktop в /usr/share/applications/ и сменил иконку на более новую, закинув .svg в /usr/share/icons/ и прописав ее в .desktop. Но таким путем гном показывает лаунчер отдельно от основного приложения (новым окном).

★★★★

Последнее исправление: GREAT-DNG (всего исправлений: 4)

Если установка вручную (без deb-пакета) то класть лучше было в /usr/local а не в /usr.

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

А там только бинарник один и всё? Ну тогда всё просто - распаковываешь имеющийся пакет, редактируешь ему версию, подменяешь нужные файлы, запаковываешь назад и ставишь.

firkax ★★★★★
()

Мог бы тоже самое делать с /home/$USER/.local/bin и /home/$USER/.local/share/applications. Дело в гноме если для него надо что-то своё делать.

Скачай apt download godot3 распакуй и погляди как там пакет устроен, подмени на своё и запакуй обратно.

Но оно надо? И так всё работает, тебе же не нужно запускать по 5 штук годотов.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от utanho

для Makefile =) Ему не собирать предлагают, а перепаковать deb пакет. Ему надо распаковать, заменить бинарь (и ещё что-то по надобности например версию) и вызвать dpkg-deb --build ./каталог_со_всей_кашей и всё

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

Для тяп-ляп и готово, когда никаких других вариантов точно нет. Редактирование имеющегося пакета более старой версии точно даст более адекватный результат чем тупое checkinstall.

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

Ты вообще в курсе что checkinstall это не штатный инструмент для создания пакетов, а жуткий костыль лишь для тех случаев когда ничего лучше у тебя времени нет делать?

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

Повторю ещё раз: обновить полноценный старый пакет новым бинарником - это намного лучше, чем тупо запаковать файлы из make install. Ещё лучше это собрать новый пакет (не checkinstall-ом а нормально), уделяя внимание всем его деталям, но автор вряд ли будет это делать.

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

На том, что это пакет, собранный мейнтейнером, и в нём прописаны все нужные метаданные. Конечно, с версией они могли и поменяться, но лучше так, чем как в checkinstall-е где их не будет вообще.

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

Вы чего спорите то? У ТС нет Makefile для генерации пакета через checkinstall у него просто архив. По нормальному нужно создать рукамми каталоги прописать controll файл и выполнить dpkg-deb –build всё. Иного пути у него нет. За исключением пути взять уже готовы пакет перепаковать тем самым избавив себя от прописывания control руками. И вообще для таких случаев есть .local/bin и /opt и никакой интеграции с ситемой для одного бинарника ненужно. Разве что descktop файл закинуть себе в хомяк для меню и панельки.

Можно ещё собрать из исхожников и выполнить всё по всем правилам создания пакета, но в этом случае chekinstall ненужен, это программа нужна когда у софта есть Makefile и что-бы не срать в систему и не удлять всё потом руками создаётся пакет, всё. Это не его случай

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

Не поленился, сходил на сайт.

Extract and run. Godot is self-contained and does not require installation.

Тут вообще не надо никаких телодвижений. Разве что линк в `/.local/share/applications/

https://docs.godotengine.org/en/latest/development/compiling/compiling_for_li...

здесь инструкция для сборки.

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

Разве что линк в `/.local/share/applications/

Всё так и бинарник в ~/.local/bin или в /opt не в загрузках же валяться бинарю. Единственный смысл то что он сделал уже руками или ели бы пакет сделал тоже самое у него несколько пользователей и годот должен быть доступен всем им, например если комп не только его, а ещё кто в семье есть или у него отдельные пользователи для разного, отдых/разработка/ещё что.

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

Ай ладно. Финальная проблема у него вообще не в этом всём, а в том что гном на панельке почему то по особому (по словам ТС) показывает запущенное приложение. =)

здесь инструкция для сборки.

Будет он собирать, ага =)

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

Ай ладно. Финальная проблема у него вообще не в этом всём, а в том что гном на панельке почему то по особому (по словам ТС) показывает запущенное приложение. =)

У панды та же проблема. Когда-то находил решение, но потом перебрался на хромиум и теперь не помню.

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

Ну, как решение проблемы вполне может подойти, так как всё работает нормально, значок на панели работает корректно, проект спокойно компилится и запускается: https://imgur.com/a/M4SvGwa

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

Держи тапок!

Пытаюсь добиться целостности системы, чтобы все пакеты были через apt, никаких обходов, типа стима или флатпака.

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

GREAT-DNG ★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

dpkg-deb --buildу нужен каталог DEBIAN, которого нет при простой распаковке пакета архиватором. Или надо как-то хитро распаковывать?

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

Я по своему делаю лень расписывать, но вот наверное тебе будет удобнее всего так

mkdir godot
cd godot
apt download godot3
mkdir unpack
dpkg-deb -R *.deb unpack

Меняешь бинарник, иконки,версию чё там ещё есть то на своё.

Затем

dpkg-deb -b unpack тут_прошлое_имя_пакета_но_с_версией_выше.deb
sudo apt install ./имя_нового_пакета.deb

Всё. md5sums файл можно выкинуть или пересчитай суммы руками, но это лишнее.

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

Многие наверно знают, что арч-дистрибутивах есть AUR. Но не многие в курсе, что и для систем на дебиане делали подобное (DUR).

Т.е. не надо делать все эти телодвижения выше, makedeb сам все установит в нужные директории, пропишет пакет в системе и доустановит зависимости (во всяком случае в арче именно так).

godot-bin 3.5.1-1 Last Updated: 2022-09-28

git clone 'https://mpr.makedeb.org/godot-bin'
cd godot-bin/
makedeb -si


p.s. Понятно, что я не проверял и все что написано, только теория с моей стороны. :)

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

Ну нахер, яб не рисковал. AUR/DUR это аналог тонны виндовых сайтов с кучей софта на все случаи жизни. Никто ничего не проверяет, заливает что хочет кто хочет.

А так https://www.makedeb.org/news/security-incident-on-the-mpr/ вот прям почти на днях

Что утекло

Все, что было в базе данных MPR, было потенциально утекло. Эти данные включают:

     Имена пользователей
     Пароли (хотя был сохранен только соленый хеш - обязательный пароль был введен в качестве меры предосторожности, как указано выше)
     Электронные письма (включая резервные электронные письма)
     Настоящие имена
     Языковые настройки
     Часовые пояса
     Домашние страницы
     IRC-никнеймы
     Зарегистрированные ключи PGP
     Время последнего входа по HTTP и SSH
     IP-адреса последнего входа по HTTP и SSH
     Дата регистрации
     Ключи API (они были отозваны, как указано выше)
     Временные метки того, что любые комментарии к пакету были отредактированы
     IP-адреса для любых запросов к конечным точкам API.

Лучше если уж бинарь то от разработчика (если уж нужен бинарь), 5 минут потратить на упаковку и всё. Идея AUR/DUR вроде хорошая, но блин даже на рутрекере всё строже и больше доверия =)

Но как некая крайняя меря когда да пофиг, очень надо и как можно скорее!!! думаю штука будет незаменима.

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

Держи тапок!

Да за шо?

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

А, ну раз прям принципиально через dpkg/apt ставить, то удачи ;)

b0tN3t
()
Ответ на: комментарий от LINUX-ORG-RU

Ага, собралось. Позже разберусь, пересоберу детальнее.

Зато теперь отвалилась иконка, хотя в .desktop прописано Icon=godot. И проблема с вторым окном не ушла. Зато теперь apt знает о пакете :D

GREAT-DNG ★★★★
() автор топика