Celestia: предоставить пакет Debian Stretch

Созданный на 22 июн. 2017  ·  20Комментарии  ·  Источник: CelestiaProject/Celestia

или, возможно, даже предоставить каталог base / debian /.

Контекст: Stretch (новая конюшня), выпала Селестия. Это огромная потеря для экосистемы Debian и пользователей.
(и, кстати, потеря источника возможных участников)

packaging

Самый полезный комментарий

Привет,

вот моя пошаговая инструкция по созданию пакета celestia для Debian 9.

Удачного строительства :-)

Установить зависимости сборки

apt-get install git build-essential autoconf debhelper freeglut3-dev liblua5.1-dev libgnomeui-dev libgtkglext1-dev libtheora-dev chrpath libjpeg-dev

Получить источник

git clone https://github.com/CelestiaProject/Celestia.git

Настроить это

cd Celestia
autoreconf -iv
./configure --with-gnome --enable-cairo --enable-theora --with-lua --disable-warnings --prefix = / usr

Компилировать

make -j2

Обход ошибки make

экспорт MKDIR_P = 'mkdir -p'

Собрать пакет Debian

checkinstall -D --pkgversion 1.6.1 make install-strip

Получить зависимости пакетов

mkdir debian
коснитесь debian / control
dpkg-shlibdeps / usr / bin / celestia
cat debian / substvars

Извлечь пакет

dpkg-deb -R celestia_1.6.1-1_amd64.deb.

Добавьте зависимости в DEBIAN / control (добавьте новую строку с «Depends:»)

Изменить файл записи меню: usr / share / applications / celestia.desktop

[Desktop Entry]
Кодировка = UTF-8
Версия = 1.6.1
Тип = Приложение
Exec = celestia -c /usr/share/celestia/celestia.cfg
Значок = Селестия
X-GNOME-DocPath =
Терминал = ложь
Имя = Селестия
Комментарий = Космический симулятор
StartupNotify = true
Категории = Астрономия; Наука; Применение; Образование;

Сборка измененного пакета

dpkg-deb --build. ../celestia_1.6.1-1_amd64.deb

Все 20 Комментарий

@drzraf Alexell не работает с Linux и совершенно не знаком с вышеперечисленным. Сейчас у нас нет человека, разбирающегося в коде Celestia для Linux.
Опишите, пожалуйста, что именно нужно делать для решения проблемы? Кто может это сделать?

[] кто-то, использующий Debian, который уже создал пакет Debian (или хочет его изучить)
[] установить необходимую среду сборки Linux для Celestia
Самыми стандартными являются необходимые инструменты сборки (autotools, cmake, ..), тем лучше / проще
[] построить, запустить и протестировать Celestia на Debian

Отсюда можно создать необходимые файлы Debian (возможно, модифицируя старую версию), которые определяют некоторые характеристики программы.
[] зависимости, которые необходимо построить [программное обеспечение / версии]
[] зависимости, необходимые для запуска [программное обеспечение / версии]

Если по какой-то причине происходит сбой, ошибка, ... необходимы какие-то специальные патчи
и это часто самая болезненная работа для сопровождающего Debian.
Здесь очень помогает быстрое исправление большинства исправлений в исходном коде.

В лучшем случае Debian / Linux не будет нуждаться в дополнительных патчах ни для сборки, ни для запуска. Тогда упаковка будет находиться всего в нескольких базовых файлах (https://wiki.debian.org/Packaging), а затем легко загружаться / устанавливаться.

Распространение пакета (снова) в репозитории Debian 9 - это скорее «социальная работа», но я думаю, что создание / стабильность программного обеспечения в Linux - единственное возможное препятствие.

Другое / Альтернативное направление кстати: Flatpak

@drzraf Вы хорошо разбираетесь в том, что пишете. Может ты сам все сможешь сделать? Будем очень благодарны за помощь.

Я попытался установить Celestia на Stretch, и у меня возникли проблемы с glu.h, libjpg, libpng, а запрошенная версия lua слишком старая, даже после успешной настройки make не удалось
может быть полезно

хорошо, мне и особенно моим детям уже давно не хватает Селестии. Моя первая попытка заключалась в том, чтобы просто собрать код для 1.6.1 со страницы celestia projetc (насколько это сложно ...). Некоторые исправления кода, позже меня остановила ошибка компоновщика. Сегодня я впервые запустил его после нескольких лет работы на Ububtu 17.10.

Что дальше? Есть ли способ внести мои изменения и когда-нибудь вернуть Селестию?

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

-ldl -llua5.1 ../celengine/libcelengine.a -ldl ../celtxf/libceltxf.a

проблема заключалась в том, что все библиотеки celestia находятся в переменной automake $ (all_libraries) и по какой-то причине -ldl должен быть точно за libcelengine.a .... первая -ldl не помогает. Могу ли я установить флаг компоновщика для конкретной библиотеки, например libcelengine.a?

рада помочь вернуть его - мои дети будут счастливы, ведь Селестия действительно отличный и интересный способ взглянуть на нашу вселенную :).

Отлично @TheBigW.
Как вы думаете, эта настройка компиляции -ldl была в предыдущем пакете Celestia Debian ?
См. Https://sources.debian.net/src/celestia/1.6.1%2Bdfsg-3.1/debian/patches/ (OP) для получения списка исправлений, необходимых для сборки Celestia в предыдущих выпусках Debian.

У меня сложилось впечатление, что начало с каталога debian/ пакета 1.6.1 могло бы быть правильным направлением. Затем, используя dpkg-buildpackage , вы сможете создать пакет Debian.

Что, вероятно, придется адаптировать из текущего каталога debian / :

Я был бы рад иметь возможность самому dpkg-buildpackage (я использую Debian Stretch) с изменениями, которые вы добавите в каталог debian /. Затем я мог бы проверить стабильность полученного пакета.
(в какой-то момент вы могли бы открыть ITP-ошибку ( Intend to Package ) в системе отслеживания ошибок Debian и надеяться, что стабильный пакет вернется в репозитории и понравится такому количеству пользователей Debian.

Привет, Drzraf,
-ldl, упомянутый выше, должен работать, но, насколько я видел, исправляет его только в файле конфигурации. Если я не ошибаюсь, следующий ./configure переопределит его, но для сборки пакета это будет работать (все же лучше, чем ручное связывание в командной строке :)).
Один вопрос: я использовал пакет Ubuntu src, который нашел как zip для загрузки. Это работает для меня, но, конечно, упускает все особенности Debian (журнал изменений и т. Д.). Вы знаете, как я могу запустить предыдущий пакет debian celestia src на другом Linux (я использую Ubuntu 17.10). Я знаю, что в худшем случае я могу получить Jessie в виртуальной машине и сделать «apt-get source», но более простой способ предпочтительнее.

хорошо, я нашел здесь исходный пакет (в основном тот же, что и на странице пакета ubuntu):
http://http.debian.net/debian/pool/main/c/celestia/celestia_1.6.1+dfsg.orig.tar.gz
проблема в том, что для поддержки истории, журнала изменений и т. д. мне, вероятно, понадобится полная подпапка debian из вашей исходной ссылки. Если можно собрать исходный пакет с нуля, я могу продолжить, но предыдущая история deb / package будет потеряна, даже если я скопирую хотя бы журнал изменений. Стоит ли продолжать?

и ответить (возможно) более конкретно по существу:

Давайте пингуем бывшего сопровождающего

... и процитируйте исходную проблему, которая привела к потере пакетов 2 года назад:

Upstream не выпускал никаких новых релизов за последние 4 года.
Тем временем в пакете накапливаются ошибки из-за битрота. Это уже
не был беспроблемным пакетом из-за того, что некоторые довольно важные ресурсы не
соответствует требованиям DFSG.

Чтобы вернуть Celestia обратно в Debian, вам нужно прежде всего устранить причины, по которым мне пришлось удалить ее:

  • Делайте правильные релизы.
  • Если вы хотите, чтобы Celestia находилась в основном архиве Debian, убедитесь, что он поставляется с файлами данных, совместимыми с DFSG.
  • Убедитесь, что он правильно работает на современном оборудовании под управлением Linux. Протестируйте его с достаточно свежими картами AMD, Intel и Nvidia.
  • Убедитесь, что он компилируется без предупреждений (не только код, но также autoconf и automake должны работать без предупреждений) и правильно работает с библиотеками, которые находятся в Debian.
  • Убедитесь, что есть специальный сопровождающий для пакета Debian (это не буду я).

И последнее, но не менее важное: Селестии действительно нужна серьезная переделка. Перейдите на C ++ 11, используйте стандартную библиотеку и Boost там, где это необходимо, измените механизм рендеринга, чтобы он требовал OpenGL ES 2.0, и откажитесь от поддержки всего, что старше этого. Не пытайтесь поддерживать 5 разных интерфейсов в Linux (и это даже не считая Windows и Mac), а выберите что-то действительно кроссплатформенное и придерживайтесь этого. Если вы можете обойтись без полноценного инструментария виджетов, я бы выбрал SDL2, в противном случае я бы рекомендовал Qt5. Если ты этого не сделаешь, боюсь, я не вижу для Селестии светлого будущего.

как раз когда я закончил создавать 1-й неподписанный пакет deb для тестирования :). В принципе, для меня (и, возможно, других) было бы хорошо, если бы вообще был какой-либо способ снова установить / запустить его на debian / Ubuntu. Это не обязательно означает, что он будет частью основного архива debian.
На данный момент проблема заключается в том, что ни один из пакетов (ни старый пакет deb, ни пакет непосредственно с сайта celestia) не может даже пройти компиляцию ...

Я могу обрабатывать аспекты кода, если это означает очистку (без предупреждений, C ++ 11 и т. Д.) - все остальное - довольно большая задача. Доработка звучит интересно ... может быть, есть над чем подумать ...

Хорошо, похоже, команда celestia нас услышала и прямо сейчас разрабатывает новую версию QT5 для windows :):

https://github.com/CelestiaProject/Celestia

Я скомпилировал его для Ubuntu, и он работает «из коробки». Я буду обсуждать с ними, как вернуть им свои изменения, а также посмотрю, как создать двоичный пакет .deb.

Надо ли это еще раз рассмотреть, или мне лучше сосредоточиться на том, чтобы поддержка Linux работала на них, а она просто размещалась на их стороне?

Привет,

вот моя пошаговая инструкция по созданию пакета celestia для Debian 9.

Удачного строительства :-)

Установить зависимости сборки

apt-get install git build-essential autoconf debhelper freeglut3-dev liblua5.1-dev libgnomeui-dev libgtkglext1-dev libtheora-dev chrpath libjpeg-dev

Получить источник

git clone https://github.com/CelestiaProject/Celestia.git

Настроить это

cd Celestia
autoreconf -iv
./configure --with-gnome --enable-cairo --enable-theora --with-lua --disable-warnings --prefix = / usr

Компилировать

make -j2

Обход ошибки make

экспорт MKDIR_P = 'mkdir -p'

Собрать пакет Debian

checkinstall -D --pkgversion 1.6.1 make install-strip

Получить зависимости пакетов

mkdir debian
коснитесь debian / control
dpkg-shlibdeps / usr / bin / celestia
cat debian / substvars

Извлечь пакет

dpkg-deb -R celestia_1.6.1-1_amd64.deb.

Добавьте зависимости в DEBIAN / control (добавьте новую строку с «Depends:»)

Изменить файл записи меню: usr / share / applications / celestia.desktop

[Desktop Entry]
Кодировка = UTF-8
Версия = 1.6.1
Тип = Приложение
Exec = celestia -c /usr/share/celestia/celestia.cfg
Значок = Селестия
X-GNOME-DocPath =
Терминал = ложь
Имя = Селестия
Комментарий = Космический симулятор
StartupNotify = true
Категории = Астрономия; Наука; Применение; Образование;

Сборка измененного пакета

dpkg-deb --build. ../celestia_1.6.1-1_amd64.deb

В понедельник, 4 декабря 2017 г., в 06:26:59 +0000, m23project написал:

вот моя пошаговая инструкция по созданию пакета celestia для Debian 9.

Это НЕ то, как следует собирать правильные пакеты Debian. Это никогда не будет
быть принятым в Debian, и я думаю, что вы оказываете другим медвежью услугу,
представляя эти инструкции.

См. Https://wiki.debian.org/Packaging/Intro и / или ссылки
отправлено @dzraf.

-
Встретил vriendelijke groet / с наилучшими пожеланиями,
Гус Слипен [email protected]

Привет,

я не собирался создавать ценный пакет для включения в Debian.
Это просто пошаговая инструкция для людей, которые хотят собрать пакет самостоятельно.

Ку Хауке

Привет! В настоящее время я работаю над пакетом для дистрибутива на основе Debian HuayraLinux . Когда у меня есть наиболее полезный пакет (с использованием внешнего интерфейса Qt5) (и папка debian/ которая его воссоздает), я обновлю его.

Я видел, что более ранние версии celestia были разделены на несколько пакетов в debian (в основном по юридическим причинам). Может ли кто-нибудь оказать мне некоторую поддержку в том, что происходит? У меня нет опыта по юридическим вопросам, но если я смогу создать полезный пакет, я думаю, что он может быть действительно полезен для распространения Celestia.

PS: Продолжайте в том же духе! Celestia - замечательная программа!

РЕДАКТИРОВАТЬ: у меня есть пакет для быстрой и грязной работы пакет WorkInProgress debian cspice

Я был бы очень признателен, если бы вы предоставили изображения в формате Snap или Flatpack.

мы предоставляем * .deb и * .appimage через https://build.opensuse.org/package/show/home : munix9: unstable / celestia

Привет,

Я из команды Debian Astro .

Поскольку файлы Debian уже выглядят неплохо: не могли бы вы поддержать пакет непосредственно в Debian? Это позволило бы людям устанавливать Celestia стандартным способом без дополнительных усилий.

С наилучшими пожеланиями

Оле

Привет Оле,

На самом деле это был мой план, но когда выйдет 1.7. В грядущей версии 1.6.2 у нас все еще есть старая проблема с лицензиями на некоторые текстуры. А для Unix-подобных систем 1.6.x предоставляет только интерфейсы перенасыщения и gtk2, и я боюсь, что Debian рано или поздно откажется от него (gtk2).

Была ли эта страница полезной?
0 / 5 - 0 рейтинги