这将使我们能够更新Peek,而不必在每个版本上都重新下载其deb安装程序。
绝对,我非常希望看到这一点。 但是至少在目前,我不能维持PPA并保持最新状态是不现实的,因此在这里我需要一些帮助。 如果有人可以设置它,那就太好了:)
是否可以验证是否发布了新版本? 最好看看何时发布了新的东西,并且我认为可以运行“ dpkg -i”之类的东西来安装它。
下一个版本的Peek将为您提供“ --version”命令行参数,因此您可以轻松比较本地版本。
我是否可以建议跳过PPA阶段,直接使用Snappy打包(对于想要的人,官方存储库中的DEB可能已经过时了)? 我认为Snappy的要点之一是消除人们必须添加许多PPA来保持软件包比默认存储库更最新的必要性。 您要做的就是制作一个Snap,然后将其上传到官方商店,瞧,Ubuntu用户(以及Arch和Debian Unstable用户,以及启用了Snappy存储库的Fedora,Gentoo和OpenSUSE用户)具有最新的功能。日期约会。 我认为在完成快照后保持更新并不难。
很棒@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”)。
在项目->代码下,选择导入。 选择目标和源都为git。 给主分支命名(例如: trunk )。 显然所有者应该是你自己
在GitHub上创建一个新的仓库“ Peek-Packaging”,该仓库只能包含
以与主仓库相同的方式导入包装仓库。 在导入期间输入任何名称,例如“ debian-packaging”
转到项目(即窥视)->代码->查看git存储库。 单击lp:~USERNAME/kee/+git/trunk
。 然后单击create a packaging recipe
。
给出食谱名称。 选择您自己的PPA和支票分发系列。 (热情,奔放等等)
现在配方内容。 它看起来应该像这样:
# 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
保存它,然后单击“请求构建”。 它将开始构建您的代码! 如果有错误,请检查构建日志。 不要将名称与“ build-daily”混淆。 它仅在检测到主仓库或包装仓库中的任何更改时才构建。
完成!
它只会导入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,一种具有每日构建的版本,另一种具有稳定的发布版本:
最有用的评论
好的,我们到了某个地方:)我终于开始着手进行了,现在有一个每日构建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太糟糕了。