或者甚至可以提供一个基本的 /debian/ 目录。
背景:Stretch(新马厩),掉落 Celestia。 这对 Debian 生态系统和用户来说是一个巨大的损失。
(顺便说一句,也失去了可能的贡献者的来源)
@drzraf Alexell 不适用于 Linux,并且绝对不熟悉上述内容。 现在我们没有一个人了解 Linux 的 Celestia 代码。
请描述一下,我们究竟应该怎么做才能解决这个问题? 谁能做到这一点?
[ ] 使用 Debian 的人已经制作了一个 Debian 软件包(或想学习它)
[ ] 为 Celestia 安装必要的 Linux 构建环境
最标准的是所需的构建工具(autotools、cmake、..)越好/越简单
[] 在 Debian 上构建、运行和测试 Celestia
从这个可以创建 Debian 必要的文件(可能修改旧版本),规定程序的一些特征。
[ ] 它需要构建的依赖项 [软件/版本]
[ ] 它需要运行的依赖项 [软件/版本]
如果由于某种原因它崩溃,错误,......需要一些自定义补丁
而这些往往是 Debian 维护者最痛苦的工作。
在上游代码中快速修复大多数问题在这里很有帮助。
在最好的情况下,Debian/Linux 不需要额外的补丁来构建和运行。 然后打包只需几个基本文件(https://wiki.debian.org/Packaging),然后即可轻松下载/安装。
在 Debian 9 存储库中分发(再次)软件包更多的是“社会工作”,但我认为 Linux 上的软件构建/稳定性是唯一真正可能的阻碍。
顺便说一句,另一个/替代方向: flatpak
@drzraf您精通您所写的内容。 也许你可以自己做所有事情? 我们将非常感谢您的帮助。
我尝试在 Stretch 上安装 Celestia,但我遇到了 glu.h、libjpg、libpng 的问题,并且请求的 lua 版本太旧,即使在成功配置 make 失败后
可能有帮助
好吧,我,尤其是我的孩子们现在已经有一段时间想念塞拉斯蒂娅了。 我的第一次尝试也是从 celestia projetc 页面的 1.6.1 代码构建(这有多难......)。 稍后修复了一些代码,链接器错误阻止了我。 今天,我在 Ububtu 17.10 上运行了几年后第一次运行它。
接下来是什么? 有什么方法可以提供我的更改并使 celestia 恢复一段时间吗?
一个问题,因为我绝对不是汽车制造大师......我需要解决命令行上的一个方面:
-ldl -llua5.1 ../celengine/libcelengine.a -ldl ../celtxf/libceltxf.a
问题是所有 celestia 库都在一个 automake 变量 $(all_libraries) 中,出于某种原因,-ldl 需要完全落后于 libcelengine.a .... 第一个 -ldl 没有帮助。 我可以为 libcelengine.a 等特定库添加链接器标志吗?
很高兴能帮它找回来——我的孩子们会很高兴,因为 celestia 真的是一种很好的、有趣的方式来观察我们的宇宙:)。
伟大的@TheBigW。
你认为-ldl
编译调整是在以前的 Celestia Debian 软件包中的吗?
请参阅https://sources.debian.net/src/celestia/1.6.1%2Bdfsg-3.1/debian/patches/ (OP) 以获取在以前的 Debian 版本中构建 Celestia 所需的补丁列表。
我的印象是从1.6.1 包的debian/
目录开始可能是正确的方向。 然后,使用dpkg-buildpackage
,您应该能够生成一个 Debian 软件包。
可能必须从当前的debian/ 目录改编的内容可能是:
control
文件中的构建/运行时依赖项的版本(使用 Debian 的 Stretch 版本)我很高兴能够自己(我在 Debian Stretch 上)使用您将添加到 debian/ 目录中的更改来dpkg-buildpackage
。 然后我可以测试生成的包的稳定性。
(在某些时候,你可以在 Debian 的 bugtracker 上打开一个 ITP-bug ( Intend to Package
),并希望一个稳定的包可以回到存储库中,并取悦这么多的 Debian 用户。
嗨,德拉夫,
上面提到的 -ldl 应该可以工作,但据我所知,它只在配置文件中修复。 如果我没有错,下一个 ./configure 将覆盖它 - 但对于构建包,这将起作用(仍然比在命令行上手动链接更好:))。
一个问题:我使用我找到的 Ubuntu src 包作为 zip 下载。 这对我有用,但当然会错过所有 Debian 细节(更改日志等...)。你知道我如何让以前的 debian celestia src 包在不同的 linux 上运行(我在 Ubuntu 17.10 上)。 我知道在最坏的情况下,我可以在 VM 中获取 Jessie 并执行“apt-get source”,但更可取的方法是更简单的方法。
好的,我在这里找到了一个源包(基本上和我在 ubuntu 包页面上得到的一样):
http://http.debian.net/debian/pool/main/c/celestia/celestia_1.6.1+dfsg.orig.tar.gz
问题是要维护历史记录、更改日志等。我可能需要您的源链接中的完整 debian 子文件夹。 如果可以从上面的源包形式从头开始构建,我可以继续,但即使我至少复制了更改日志,以前的 deb/包历史也会丢失。 还值得继续吗?
并更具体地回答(也许):
让我们 ping 前维护者@gsliepen / 上传者 @kees
...并引用导致包孤立的原始问题 2 年前:
Upstream 在过去 4 年中没有发布任何新版本。
与此同时,由于bitrot,该软件包正在积累错误。 它已经
不是一个无故障的包,由于一些非常重要的资源不是
符合 DFSG。
为了让 Celestia 重新进入 Debian,您首先需要解决我必须将其删除的原因:
最后但并非最不重要的一点是,塞拉斯蒂娅真的需要认真地重新审视一下。 移至 C++11,在适当的情况下使用标准库和 Boost,更改渲染引擎以要求 OpenGL ES 2.0 并放弃对任何更早版本的支持。 不要试图在 Linux 上支持 5 个不同的前端(这甚至不包括 Windows 和 Mac 的东西),而是选择真正跨平台的东西并坚持下去。 如果您不需要成熟的小部件工具包,我会选择 SDL2,否则我会推荐 Qt5。 如果你不承诺,恐怕我看不到塞拉斯蒂娅的美好未来。
就在我完成创建第一个未签名的 deb 包进行测试时:)。 基本上,如果有任何方法可以让它再次在 debian/Ubuntu 上安装/运行,对我(也许还有其他人)来说会很好。 这并不一定意味着将其作为 debian 主存档的一部分。
目前的问题是,没有任何软件包(旧的 deb 软件包和直接来自 celestia 站点的软件包)甚至无法通过编译...
我可以处理代码方面,只要它意味着清理(无警告、C++11 等)——任何进一步的工作都是一个相当大的任务。 Do-over 听起来很有趣……也许需要考虑一下……
好的,看起来 celestia 团队已经听到了我们的意见,现在正在为 Windows 开发新的 QT5 版本:):
https://github.com/CelestiaProject/Celestia
我现在为 Ubuntu 编译了它,它开箱即用。 我将与他们讨论如何将我的更改返回给他们,我还将了解如何完成 .deb 二进制包。
这是要再次考虑的事情,还是我应该只专注于让 linux 支持为他们工作并将其托管在他们身边?
你好,
这是我为 Debian 9 创建 celestia 软件包的分步说明。
快乐建筑:-)
apt-get install git build-essential autoconf debhelper freeglut3-dev liblua5.1-dev libgnomeui-dev libgtkglext1-dev libtheora-dev chrpath libjpeg-dev
git 克隆https://github.com/CelestiaProject/Celestia.git
cd 塞拉斯蒂亚
自动重新配置 -iv
./configure --with-gnome --enable-cairo --enable-theora --with-lua --disable-warnings --prefix=/usr
制作 -j2
导出 MKDIR_P='mkdir -p'
checkinstall -D --pkgversion 1.6.1 make install-strip
mkdir debian
触摸 debian/控制
dpkg-shlibdeps /usr/bin/celestia
猫 debian/substvars
dpkg-deb -R celestia_1.6.1-1_amd64.deb 。
[桌面输入]
编码=UTF-8
版本=1.6.1
类型=应用程序
exec=celestia -c /usr/share/celestia/celestia.cfg
图标=天体
X-GNOME-DocPath=
终端=假
名称=塞拉斯蒂娅
评论=空间模拟器
启动通知=真
类别=天文学;科学;应用;教育;
dpkg-deb --build 。 ../celestia_1.6.1-1_amd64.deb
在 2017 年 12 月 4 日星期一上午 06:26:59 +0000,m23project 写道:
这是我为 Debian 9 创建 celestia 软件包的分步说明。
这不是应该如何构建正确的 Debian 软件包。 这永远不会
被 Debian 接受,我认为你在伤害他人
提供这些说明。
请参阅https://wiki.debian.org/Packaging/Intro和/或链接
由@dzraf 发布。
——
遇见了 vriendelijke groet / 亲切的问候,
Guus Sliepen [email protected]
你好,
我无意构建一个有价值的软件包以包含在 Debian 中。
对于想要自己构建软件包的人来说,这只是一个循序渐进的过程。
库豪克
你好! 我目前正在为基于 debian 的发行版HuayraLinux开发一个软件包。 当我有一个最可用的包(使用 Qt5 前端)(以及重新创建它的debian/
文件夹)时,我会更新它。
我已经看到早期版本的 celestia 在 debian 上分成几个包(主要是为了法律原因)。 任何人都可以给我一些支持吗? 我在法律问题上没有经验,但如果我可以构建一个可用的包,我认为它对重新分配 Celestia 非常有用。
PS:继续努力! Celestia 是一个很棒的软件!
如果你们提供快照或扁平包装图像,我将不胜感激。
我们通过https://build.opensuse.org/package/show/home :munix9:unstable/celestia 提供 *.deb 和 *.appimage
你好,
我来自Debian Astro团队。
由于 Debian 文件看起来已经很不错了:您会考虑直接在 Debian 中维护软件包吗? 这将允许人们以标准方式安装 Celestia,而无需任何额外的努力。
此致
奥莱
嗨,奥莱,
这实际上是我的计划,但是当 1.7 发布时。 对于即将发布的 1.6.2 版本,我们仍然存在一些纹理许可证的旧问题。 对于类 Unix 系统,1.6.x 仅提供 glut 和 gtk2 接口,我担心 Debian 迟早会放弃它(gtk2)。
最有用的评论
你好,
这是我为 Debian 9 创建 celestia 软件包的分步说明。
快乐建筑:-)
安装构建依赖
apt-get install git build-essential autoconf debhelper freeglut3-dev liblua5.1-dev libgnomeui-dev libgtkglext1-dev libtheora-dev chrpath libjpeg-dev
获取源码
git 克隆https://github.com/CelestiaProject/Celestia.git
配置它
cd 塞拉斯蒂亚
自动重新配置 -iv
./configure --with-gnome --enable-cairo --enable-theora --with-lua --disable-warnings --prefix=/usr
编译
制作 -j2
make 错误的解决方法
导出 MKDIR_P='mkdir -p'
构建 Debian 软件包
checkinstall -D --pkgversion 1.6.1 make install-strip
获取包依赖
mkdir debian
触摸 debian/控制
dpkg-shlibdeps /usr/bin/celestia
猫 debian/substvars
提取包
dpkg-deb -R celestia_1.6.1-1_amd64.deb 。
向 DEBIAN/control 添加依赖项(添加带有“Depends:”的新行)
更改菜单项文件:usr/share/applications/celestia.desktop
[桌面输入]
编码=UTF-8
版本=1.6.1
类型=应用程序
exec=celestia -c /usr/share/celestia/celestia.cfg
图标=天体
X-GNOME-DocPath=
终端=假
名称=塞拉斯蒂娅
评论=空间模拟器
启动通知=真
类别=天文学;科学;应用;教育;
构建更改的包
dpkg-deb --build 。 ../celestia_1.6.1-1_amd64.deb