Peek: 将Peek添加到PPA

创建于 2016-08-31  ·  32评论  ·  资料来源: phw/peek

这将使我们能够更新Peek,而不必在每个版本上都重新下载其deb安装程序。

help wanted packaging

最有用的评论

好的,我们到了某个地方:)我终于开始着手进行了,现在有一个每日构建PPA:

https://code.launchpad.net/~peek-developers/+archive/ubuntu/daily

使用以下配方构建代码: https :
包装信息实际上位于主Peek git存储库中的一个孤立分支中,请参阅https://github.com/phw/peek/tree/debian-packaging

我希望能有人对此有所帮助,并给我一些反馈,因为自从我摆弄Debian打包和Launchpad PPA以来已经很长时间了,而且Launchpad UI太糟糕了。

所有32条评论

绝对,我非常希望看到这一点。 但是至少在目前,我不能维持PPA并保持最新状态是不现实的,因此在这里我需要一些帮助。 如果有人可以设置它,那就太好了:)

是否可以验证是否发布了新版本? 最好看看何时发布了新的东西,并且我认为可以运行“ dpkg -i”之类的东西来安装它。

是的,确实可以,您可以浏览此页面以查看最新版本: Releases 。 您甚至可以观看原子供稿

下一个版本的Peek将为您提供“ --version”命令行参数,因此您可以轻松比较本地版本。

我是否可以建议跳过PPA阶段,直接使用Snappy打包(对于想要的人,官方存储库中的DEB可能已经过时了)? 我认为Snappy的要点之一是消除人们必须添加许多PPA来保持软件包比默认存储库更最新的必要性。 您要做的就是制作一个Snap,然后将其上传到官方商店,瞧,Ubuntu用户(以及Arch和Debian Unstable用户,以及启用了Snappy存储库的Fedora,Gentoo和OpenSUSE用户)具有最新的功能。日期约会。 我认为在完成快照后保持更新并不难。

一个AppImage怎么样?
我已将一个实验性的上传到
https://bintray.com/probono/AppImages/Peek/_latestVersion#files
只需下载AppImage,使其可执行即可运行。 下面的GIF是用它制作的:-)

应该在2014ish或更高版本上运行。
可能需要一些粗糙的边缘,可能需要测试和抛光。

makeexec

@phw让我知道您是否对此感兴趣。 如果是,我可以扩展您现有的.travis.yml以便在每个版本上生成一个新鲜的,连续的AppImage。 (上面的AppImage是使用此配方由debs制成的,但我知道您正在寻找更“敏捷”的东西)。

很棒@probonopd (我不是这里的贡献者,但是做得很好)! 越多的软件包格式越好(只要它们的维护成本较低,并且我认为_______通常会在完成初始实现后使用Snappy和AppImage之类的格式),但我确实认为Snappy更好,因为它们会自动更新。

我曾尝试将适用于Linux的Spotify Web Player(另一个FOSS应用程序)捆绑到Snap中,但它可能比我认为的要抓紧应用程序还要工作...伟大的AppImage如此简单

@ Ads20000检查AppImageUpdate

@probonopd很好,但是看起来不是很自动(毕竟它是去中心化的)? 我非常喜欢Snappy系统,尽管默认存储是Ubuntu存储(这使其非常集中),但可以设置替代应用商店。

哦,您是AppImageKit的创建者/维护者,没意识到! 就像我说的那样,适当的自动更新对您来说要成为主要格式可能是必要的。 还可以使用系统或其他AppImage中已经存在的库(仅当它们是相同版本时)来减小文件大小吗? 如果他们很聪明,并且使用其他版本相同的库的一部分,那将会更酷。

感谢@probonopd提供该AppImage。 配方看起来很简单,而且很容易运行。 不幸的是,您制作的AppImage不能在我的Arch安装上运行,执行后失败,并显示以下信息:

$ ./Peek-0.7.2.glibc2.14-x86_64.AppImage 
/tmp/.mount_GvkHNy/usr/bin/peek: symbol lookup error: /usr/lib/libpangoft2-1.0.so.0: undefined symbol: hb_buffer_set_cluster_level

否则,我会喜欢这个想法,也可以使用travis自动构建它。 是否也可以提供32位(可能需要我研究32位交叉编译,这是我到目前为止所避免的)。 如果您可以为此提供拉取请求,那就太好了。

我所有包装的主要问题是,我不想自己做,并且在发布时应尽量减少努力,因为无论如何我都找不到开发时间。 拥有PPA至少是我知道该怎么做的,但是由于我自己不使用Ubuntu,所以很难跟上所有不同的版本(我知道,因为我在为另一个项目维护PPA,并且当新的Ubuntu版本可用时,必须经常检查奇怪的构建错误)。

快照图像听起来很有趣,但是对我来说(尽管有所有主张)它们非常特定于Ubuntu。 例如,尽管有Ubuntu,但我看不到任何其他“应用商店”。 如果有人要维护这样的程序包,我会满意的,但是由于上述原因,不会是我。

另一个选择是Flatpak,我个人认为它比Snappy更有趣,尤其是因为它已集成到Gnome Software中。

是的,我同意@phw可能是Snappy的最大问题,尽管Ubuntu做出了很大的努力,但Ubuntu-y仍然足够有趣。

我还认为,这些新工作的目的是尝试使它们变得足够容易的通用包装系统,以使开发人员自己可以包装和切断中间人,但是我想,如果您真的没有时间进行包装,那可以吗?没有帮助。

@phw不能100%确定,但是undefined symbol: hb_buffer_set_cluster_level似乎是您的基本系统的问题; 参见http://unix.stackexchange.com/questions/235012/problem-with-gtk-application-s

否则,我会喜欢这个想法,也可以使用travis自动构建它。

如果您想走这条路,则不需要deb打包即可生成AppImage。 例子:
https://github.com/search?q=%22Package+the+binaries+built+on+Travis-CI+as+an+AppImage%22&type=Code&utf8=%E2%9C%93

是否也可以提供32位(可能需要我研究32位交叉编译,这是我到目前为止所避免的)。 如果您可以为此提供拉取请求,那就太好了。

我没有对此领域进行过多调查,但是绝对可以。 MuseScore项目为x86_64,i686和armhf(例如Raspberry Pi)提供了AppImage。

我所有包装的主要问题是,我不想自己做,在发布时应尽量减少

AppImage是在考虑此用例的情况下完成的... :)

拥有PPA至少是我知道该怎么做的

然后,您可以使用类似我上面发布的食谱之类的东西,将(理想情况下可信任的或更旧的)ppa中的debs转换为AppImage,并且自动进行。

拥有PPA至少是我知道该怎么做的

然后,您可以使用类似我上面发布的食谱之类的东西,将(理想情况下可信任的或更旧的)ppa中的debs转换为AppImage,并且自动进行。

这也是32位版本的可能计划。 设置PPA(免费获取32位版本)然后将交叉编译添加到CMake版本可能更容易。

@phw不是100%肯定,但符号未定义:hb_buffer_set_cluster_level似乎是您的基本系统的问题; 参见http://unix.stackexchange.com/questions/235012/problem-with-gtk-application-s

我宁可怀疑此库所针对的库是否存在问题,因为我的系统上所有库的版本都是最新的且通常未修改。 我的赌注经常是发生在某些Debian / Ubuntu补丁上:)

从您的食谱中,我还不清楚如何以及从何处获取AppImage的Peek二进制文件。 从配方创建最终的AppImage时是否指定了某些内容?

从您的食谱中,我还不清楚如何以及从何处获取AppImage的Peek二进制文件。 从配方创建最终的AppImage时是否指定了某些内容?

运行食谱的脚本位于https://github.com/probonopd/AppImages/blob/master/recipes/meta/Recipe

这个OBS Ubuntu存储库怎么样? 谁来维护它,它是“官方的”吗? 我从webupd8.org与Andrew联系,以提供和维护Peek的PPA。 如果不再维护该OBS,Andrew可以帮助您。

我认为这是用户在以下位置提到的那个:
http://www.omgubuntu.co.uk/2016/08/peek-desktop-gif-screen-recorder-linux#comment -2894366969

看起来他不想管理它,但是我可以请他授予我访问权限,或者至少给我使用的配置。 OBS的好处是它也可以为其他系统构建。 另一方面,我发现OBS上次尝试使用时有点不愉快。

由您决定。 就像我说的那样,如果您喜欢PPA,安德鲁可能会有所帮助;-)

@phw

我可以将窥视纳入自己的PPA中。 但是要正确执行此操作,您需要在启动板上正确设置它,这样就不必维护它。 当它检测到新的更改时,它将自动编译。

1,首先在启动板上创建一个名为“ Peek”的新项目。 在该项目下创建一个PPA(命名为“ peek-daily”)。

  1. 在项目->代码下,选择导入。 选择目标和源都为git。 给主分支命名(例如: trunk )。 显然所有者应该是你自己

  2. setup1

  3. 在GitHub上创建一个新的仓库“ Peek-Packaging”,该仓库只能包含

  4. 以与主仓库相同的方式导入包装仓库。 在导入期间输入任何名称,例如“ debian-packaging”

  5. 转到项目(即窥视)->代码->查看git存储库。 单击lp:~USERNAME/kee/+git/trunk 。 然后单击create a packaging recipe

  6. 给出食谱名称。 选择您自己的PPA和支票分发系列。 (热情,奔放等等)

  7. 现在配方内容。 它看起来应该像这样:

# git-build-recipe format 0.4 deb-version {debupstream}+{time}
lp:~USERNAME/keep/+git/trunk master
nest-part packaging lp:~USERNAME/keep/+git/debian-packaging debian debian master
  1. 保存它,然后单击“请求构建”。 它将开始构建您的代码! 如果有错误,请检查构建日志。 不要将名称与“ build-daily”混淆。 它仅在检测到主仓库或包装仓库中的任何更改时才构建。

  2. 完成!

它只会导入master分支。 您可以使用使用单独的分支发布。 在配方创建期间,您可以使用该特定分支而不是主干。

好的,我们到了某个地方:)我终于开始着手进行了,现在有一个每日构建PPA:

https://code.launchpad.net/~peek-developers/+archive/ubuntu/daily

使用以下配方构建代码: https :
包装信息实际上位于主Peek git存储库中的一个孤立分支中,请参阅https://github.com/phw/peek/tree/debian-packaging

我希望能有人对此有所帮助,并给我一些反馈,因为自从我摆弄Debian打包和Launchpad PPA以来已经很长时间了,而且Launchpad UI太糟糕了。

从我坐在的@phw位置看,这确实很简单,而且效果很好。 谢谢。

$ sudo add-apt-repository ppa:peek-developers/daily
[sudo] password for anavarre: 
 Daily builds for the Peek animated GIF recorder
 More info: https://launchpad.net/~peek-developers/+archive/ubuntu/daily
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmp_lh3fua0/secring.gpg' created
gpg: keyring `/tmp/tmp_lh3fua0/pubring.gpg' created
gpg: requesting key 76BAFBC6 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp_lh3fua0/trustdb.gpg: trustdb created
gpg: key 76BAFBC6: public key "Launchpad PPA for Peek Developers" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
$ sudo apt-get update
(snipped)
Fetched 2,348 kB in 2s (990 kB/s)
Reading package lists... Done
$ sudo apt-cache search ^peek
peek - create animated GIF screencasts
$ sudo apt-get install peek
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  peek
0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.
Need to get 63.5 kB of archives.
After this operation, 263 kB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/peek-developers/daily/ubuntu xenial/main amd64 peek amd64 0.8.0-0~ppa201702141228~ubuntu16.04.1 [63.5 kB]
Fetched 63.5 kB in 0s (260 kB/s)
Selecting previously unselected package peek.
(Reading database ... 270537 files and directories currently installed.)
Preparing to unpack .../peek_0.8.0-0~ppa201702141228~ubuntu16.04.1_amd64.deb ...
Unpacking peek (0.8.0-0~ppa201702141228~ubuntu16.04.1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for libglib2.0-0:i386 (2.48.2-0ubuntu1) ...
Processing triggers for libglib2.0-0:amd64 (2.48.2-0ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Setting up peek (0.8.0-0~ppa201702141228~ubuntu16.04.1) ...

@phw工作得非常好。 谢谢。

@phw是否可以向
谢谢。

@probonopd Trusty当前由于GTK版本而失败,但是我还是想降低所需的版本,请参阅#54。

如果这样也可以修复Precise的构建,那么我也将在此构建它。 否则,我将不会为“精确”而烦恼,因为它即将寿终正寝。

同意

@probonopd我试图为Trust进行这项工作,但我决定将不会建立可信赖的版本,Peek使用了许多功能,这些功能在Gtk 3.10中不可用,并且可信赖的glib和gio版本提供了这些功能,因此需要变通办法或获取残疾人,这对我来说太难了。

@probonopd是否可以使用AppImage来解决此问题,或者Peek与系统的其余部分集成度太高了(例如,如果您将自己的GTK捆绑在AppImage中和/或我在Snap中捆绑了)它可以工作吗?)

编辑:是的,您说过要在2014+发行版上进行此工作?

将AppImage放在一起的@ Ads20000可以决定要捆绑的商品以及从目标系统使用的商品。 peek项目可以决定将pet所需的Gtk 3.10和glib和gio版本捆绑为AppImage中的私有副本。 对于Gtk 3.10,glib和gio,仍应在仍可以编译的最旧系统上进行编译,以免引入最新的glibc等版本。 结果将是更大的AppImage,该Image仍然可以在较早的发行版上运行。

@probonopd不,我的意思是,Peek可以在AppImage中捆绑GTK的较新版本(高于3.10)以使其在较旧的发行版上工作吗?

@ Ads20000是的,只要将在较旧的发行版上编译GTK的较新版本(高于3.10)即可。

好的,这似乎现在可行。 我已经更新了自述文件。

现在有两种PPA,一种具有每日构建的版本,另一种具有稳定的发布版本:

此页面是否有帮助?
0 / 5 - 0 等级