Questions tagged «packaging»

是指Debian或snap软件包的创建和维护。无论您是要更新供个人使用的软件包,还是想知道如何将软件交到Ubuntu用户手中,此标签都适合您。


2
在安装软件包时重新启动依赖服务的正确方法是什么?
我正在创建一个配置包,并且想停止并重新启动其配置受到影响的服务。现在我正在使用service [stop|restart]in {pre,post}{inst,rm}方式。我读了一个问题的地方,invoke-rc.d是正确的方法,因为它供奉有关服务的用户的喜好。但是,我找不到关于此的任何指南。有人知道这样的准则吗?或对我应该选择哪种方式有任何建议?该软件包仅供内部使用,在未来两年内可能仅用于14.04。但是,我想为继任者留下尽可能清晰的状态systemd,我的想法也是如此。 从invoke-rc.d手册页: Debian软件包的维护者脚本对初始化脚本的所有访问都应通过invoke-rc.d完成。 摘自《 Debian政策手册》第9章第3.3节: 维护人员应使用update-rc.d和invoke-rc.d程序提供的抽象层来处理其程序包脚本中的初始化脚本,例如postinst,prerm和postrm。 ... 软件包维护者脚本必须使用invoke-rc.d来调用/etc/init.d/*初始化脚本,而不是直接调用它们。 Debian一直在使用sysv-init并将直接转移到systemd,我想该政策手册将在适当的时候进行更新以供参考systemctl。但是,我不确定的是:我应该使用invoke-rc.d而不是service吗?我可以告诉dpkg我(通过触发器)对某些文件感兴趣,那么有没有办法告诉dpkg我对某些服务也很感兴趣并可以dpkg重新启动/重新加载呢? 需要说明的是:我不是在编写初始化脚本。我为程序包提供了其他应用程序的配置,例如Puppet,NTP等,因此我停止并重新启动了脚本中的相应服务。 例如,这里是有关invoke-rc.dvs 的Docker问题service。这个问题仍未解决,只有一个人(可能是维护者)评论说,他们绝对有兴趣以正确的方式进行操作-显然我们俩都不确定那是什么。(我的问题与该问题无关。)

2
如何将软件包从Debian复制到我的PPA?
我想将Debian sid 的最新美食包添加到我们团队的PPA中,以便希望运行最新版Gourmet的Ubuntu用户可以将该PPA添加到他们的软件源中。(在依赖方面,这不应该是一个大问题,因为我们当前所有的依赖几乎都已经在当前支持的所有Ubuntu版本中提供了。) 我已经下载了*.dsc文件以及debian和orig tarball,甚至发现我可以将其用于软件包的source.changes文件。我还下载了Debian维护者的公钥,以便dput可以验证软件包。然后,我尝试使用来将软件包上传到我们的PPA dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes(我也尝试不使用tilda。)这似乎成功了,但是我没有收到确认电子邮件,并且我们的PPA上现在没有显示软件包,这使我相信该软件包被拒绝,因为Debian维护者的钥匙显然不在我们团队成员的钥匙之列。 那么,将软件包从Debian(sid)“复制”到Launchpad PPA的最简单方法是什么?上传之前,我真的需要在本地重建整个软件包吗?
10 ppa  packaging  debian 

3
如何将二进制文件添加到现有的PPA包中
将修改后的文本文件或新文本文件添加到我的PPA包中非常简单: 第1步: apt-get source [foo-package] cd [foo-package] 步骤2: 添加或修改包含更改的新文本文件 第3步-更新变更日志: dch -i 第4步-创建补丁 dpkg-source --commit 第5步-创建源包 debuild -S 第6步-上传到启动板 cd .. dput [myppa]/[foo_source.changes] 但是,我现在需要向现有包中添加一个新的图标文件(.png文件)。 因此,在第2步 -只需复制到[foo-package] 在第4步 -我收到以下错误: dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed dpkg-source: error: unrepresentable changes to source 如果我尝试转到第5步,则会遇到上述其他错误: dpkg-source: error: add foo-package/foo-icon.png …

1
如何使用启动板配方来修补和构建原始程序包?
我有一个针对vim的补丁,适用于打包版本。我想使它自动化,以便在发布新的ubuntu时,使用配方对新的未打补丁的vim进行打补丁和构建。尽管不确定如何应用补丁,但我阅读了有关食谱的文档。 是否应该使用已修改的源创建分支并将配方合并?当修补的分支与较新版本中的发行版包过时时,该如何处理?(该补丁很可能仍会适用;但是分支机构也能够合并吗?)

1
软件中心如何确定什么是“技术项目”,什么不是?
我对包装一无所知,但是我设法建立了PPA并开始工作。但是,当我在Ubuntu软件中心中寻找我的软件时,它只会在单击“显示_技术项目”后显示。我的软件不是技术性项目。我如何将这些信息传达给软件中心,以便对其进行适当的分类? 我运送了一个.desktop文件,它完美地显示在菜单中。安装后,软件中心甚至会列出菜单条目的路径(“在菜单中找到它:...”)。 编辑:我花了一些时间在各种Ubuntu IRC频道上,从与几个不同的人的交谈中,共识似乎是没有办法解决PPA软件包的此问题(以及其他几个问题,例如显示一个图标) 。现在的情况是,软件包必须位于主存储库中才能与Ubuntu Software Center完全集成。


1
如何创建具有依赖关系的.deb文件?
我有一个使用LÖVE框架制作的游戏,我想将其打包到一个.deb文件中,以便其他人可以轻松安装它,例如可以通过Unity破折号轻松找到它。 我也有LÖVE框架love_0.7.2.deb,我也想以某种方式将它放在deb文件中。 我拥有的文件: game_icon.png game .desktop the_game.love love_0.7.2.deb 有人可以告诉我该怎么做吗?

2
如何在pbuilder构建中使用本地.deb文件?
通常,我需要创建另一个程序包依赖的程序包(即构建依赖项)。与其首先在我的ppa中构建所有这些软件包(有时可能需要一些时间),不如将pbuilder的results目录用作pbuilder本身的源。 我怎样才能做到这一点?我可以通过挂钩执行此操作吗?

6
为自定义PPA修补Wine的正确方法是什么?
我一直在手动将补丁程序应用到Wine上,以便在自己的机器上使用,但我想将其放在PPA中供我的朋友和亲戚使用。 目前,我遵循以下过程: 通过以下方式从上游PPA获取最新资源 apt-get source 使用patch申请我的非官方的,不支持的补丁。 使用创建一个包 dpkg-buildpackage -rfakeroot -uc -b 这对于创建将在我的本地计算机上运行的软件包很好。但是,我现在想通过PPA将此自定义版本分发给其他人。 这个程序是否足够,或者是否有我应该专门针对Wine的更正确和/或更容易维护的程序?


1
Launchpad上的所有源代码到底在哪里可以浏览?
当我需要链接到答案中的打包代码时,我总是发现Launchpad的源代码浏览器非常有用。URL模式很简单(https://code.launchpad.net/ubuntu/+source/<package>),我通常可以在输入code地址栏后仅替换最后一个单词。但是,最近,我发现找到实际的包装代码变得越来越不一致。 例如: GDM-那里没有什么比15.10更新的了。但是从变更日志中可以明显看出,此后包装代码已发生更改。 重击 -这很有趣。有一个链接Git仓库Launchpad上该网页,并有可以看到包装新版本。对于apt,bash,git,grub2,...也是如此。 请注意,没有列出GDM包装的Git存储库。其他如GDM:集市本身,LightDM,zsh,Chromium等。 所有包装代码都去了哪里? 请注意,我不需要下载打包代码apt-get source。我不想浏览软件源代码,我会在LP之外查找它(当然,除非该软件是在LP上开发的)。我想在线浏览Ubuntu的打包代码,并能够链接到它。对于Debian,我通常可以在Alioth上挖掘包装。

2
为什么debuild不运行override_dh_build-indep序列?
我在尝试为中的共享库生成一些文档时遇到了麻烦debian/rules。前面我问了一个问题,该问题用于生成文档。 我现在的问题是override_dh_build-indep我跑步时没有建立目标debuild。我echo在%目标的顶部插入了一条语句,发现它debuild建立了以下目标: clean build install 似乎build-indep还没有建立。我想念什么吗?

1
将自定义步骤添加到源包的debian / package.postinst?
我有一个将自动生成的debian/package.postinst.debhelper文件合并到生成的二进制文件中的软件包。当我将自己的代码放入的文件中时debian/package.postinst,自动生成的文件将不再合并到生成的二进制文件中。 如何postinst在不阻止使用自动生成代码的情况下将自定义代码添加到生成包中的文件?

1
为另一个软件包提供定制的配置文件
我们在工作中使用Ubuntu,我将需要对许多系统进行相同的配置更改,因此我将它们打包。我需要进行的配置更改之一是将lightdm设置为自动登录。对于我来说,要打包此更改,似乎我需要掩盖现有的/etc/lightdm/lightdm.conf并将其替换为我自定义的lightdm.conf。这似乎是个坏主意。 我该如何以不会造成破坏的方式做到这一点,并且与社区其他成员的工作方式保持一致?
8 packaging 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.