使用cygport (Cygwin打包工具)安装一些文件到/usr/share/



我一直在对mintty进行一些黑客攻击,以使其支持主题。回购在这里https://github.com/PhilipDaniels/mintty

我的代码更改是完整的,但我不能得到使用cygport工作的包装。如果你看一下repo你会发现在根目录

pkg.cygport    # the cygport file
themes/*       # folder with lots of themes
这里是完整的pkg.cygport文件
CATEGORY="Base Shells"
DEPEND="gcc-core"
HOMEPAGE="http://mintty.googlecode.com"
SRC_URI="http://mintty.googlecode.com/files/mintty-${PV}-src.tar.bz2"
SUMMARY="Terminal emulator with native Windows look and feel"
DESCRIPTION="
Mintty is a terminal emulator for Cygwin. It is based on code
from PuTTY 0.60 by Simon Tatham and team.
Features include:
* Xterm-compatible terminal emulation.
* Full Unicode support.
* Native Windows user interface that tries to keep things simple.
* Graphical options dialog. Options stored in a text file.
* Themes.
* Drag & drop and copy & paste of text, files and folders.
* Extensive mouse support.
* Window transparency."
RESTRICT=postinst_doc
src_compile() {
  lndirs
  cd ${B}
  cygmake
}
src_install() {
  cd ${B}
  dobin mintty.exe
  doman docs/mintty.1
  dodoc COPYING LICENSE.Oxygen LICENSE.PuTTY
  # This fails with *** ERROR: file themes/* does not exist 
  # We appear to be in /c/Users/Phil/repos/mintty/mintty-1.3-alpha-1.3/build
  # during this step.
  insinto /usr/share/mintty/themes
  doins themes/*
}

带有ininsinto/doins的最后两行是我添加的唯一两行,并且是那些不起作用的行,因为看起来我们此时在不同的文件夹中-我猜cd ${B}是罪魁祸首。但如何解决呢?

您对.cygport文件的添加看起来是正确的。

我认为你的问题是由于你的主题文件不在make pkg制作的tarball中,然后由cygport解包以获得构建和打包的源代码。

将themes/目录添加到Makefile中的文件列表中是非常简单的:

 src_files := $(wildcard Makefile *.c *.h *.rc *.mft COPYING LICENSE* INSTALL)
 src_files += $(wildcard docs/$(NAME).1 docs/readme*.html scripts/* icon/*)
+src_files += $(wildcard themes/*)

不幸的是,有一个小问题,一些主题名称目前有空格,不能正确转义。我重命名了这些文件以检查构建,但您可能更喜欢更优雅的解决方案。

相关内容

  • 没有找到相关文章

最新更新