对于我所做的一些事情(以前只是口口相传,对于非常狭窄且通常是非技术性的用户群来说很有趣),我希望能够提供一个.deb
文件更容易安装。
东西没有需要在系统中安装的任何实际文件。相反,它需要向已经存在的文件中添加一些行(这些行属于xkb-data
Debian发行版中的软件包)。据我所知,搜索并四处询问后,无法将这些行放入新的单独文件中,而仍由系统选择它们,因此我编写了一个Rakefile进行安装。效果很好,但是需要用户与命令行交互,但并不总是那么好。另外,每当xkb-data
通过程序包管理器进行更新时,都需要手动再次运行rake任务,这很麻烦。
我知道DpkgPostpone和DpkgTriggers,但是这些似乎都不适合或不适合解决上述问题(不过,如果我对此有误,请纠正我!)
有什么方法可以让Debian软件包根据其一个或所有依赖项刚刚被更新的条件自动导致自己重新安装吗?我显然也对这样做的黑客方式感兴趣,DontBreakDebian被该死。
解决此问题的一种合理方法如下:
dpkg
不再替换它们,而是以不同的名称安装它们;Rakefile
使用新命名的文件,而不是原件,阅读新命名的文件和书面原件做的工作;dpkg
挂钩,在/etc/dpkg/dpkg.cfg.d
其中运行Rakefile
之后的dpkg
运行。您可以添加其他检查,例如仅在Rakefile
自上次生成修改后的文件以来原始文件的校验和已更改的情况下才运行,但是与Rakefile
每次dpkg
运行相比,这可能不会节省很多时间,并且增加了相当数量维护复杂性。(我写这个是假设您的Rakefile
行为就像Makefile一样,也就是说,如果目标比其前提条件新,则不执行任何操作,但是我得到的印象是这里的情况并非如此,因此添加其他检查可能更相关或将您的Rakefile
内容更改为不执行任何操作。或者您可以改写Makefile中的处理。)
我想您已经想到了这一点,但是我认为理想的解决方案是添加新的键盘类型,而不是更改现有的键盘定义。但是很可能有一些我没有想到的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句