我正在使用Jenkins(linux)构建一个小的conda包,应该只是:
构建成功运行,但程序包不包含字体文件,但基本上是空的。我的build.sh有:
mkdir $PREFIX\root\share\fonts
cp *.* $PREFIX\root\share\fonts
我的meta.yaml来源有:
source:
url: <ftp server url>/next-fonts.zip
fn: next-fonts.zip
在詹金斯,我做:
mkdir build
conda build fonts
虽然在这一部分,控制台输出很奇怪:
+ mkdir /var/lib/jenkins/conda-bld/fonts_1478708638575/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_prootsharefonts
+ cp Lato-Black.ttf Lato-BlackItalic.ttf Lato-Bold.ttf Lato-BoldItalic.ttf Lato-Hairline.ttf Lato-HairlineItalic.ttf Lato-Italic.ttf Lato-Light.ttf Lato-LightItalic.ttf Lato-Regular.ttf MyriadPro-Black.otf MyriadPro-Bold.otf MyriadPro-Light.otf MyriadPro-Regular.otf MyriadPro-Semibold.otf conda_build.sh /var/lib/jenkins/conda-bld/fonts_1478708638575/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_prootsharefonts
BUILD START: fonts-1-1
Source cache directory is: /var/lib/jenkins/conda-bld/src_cache
Found source in cache: next-fonts.zip
Extracting download
Package: fonts-1-1
source tree in: /var/lib/jenkins/conda-bld/fonts_1478708638575/work/Fonts
number of files: 0
对我来说,似乎cp要么没有完成,要么复制到错误的目录。不幸的是,使用占位符的东西我真的不能在复制时字体确切地落在哪里,我所知道的是在/ work / Fonts中,没有文件,因此没有任何内容包括在内包裹。键入时,我还注意到/ work / Fonts实际上有以大写字母F开头的字体,而在配置或脚本中没有任何字体以大写字母F开头。
对可能出现的问题的任何见解?
答案 0 :(得分:0)
mkdir $PREFIX\root\share\fonts
cp *.* $PREFIX\root\share\fonts
应替换为
mkdir $PREFIX/root/share/fonts
cp * $PREFIX/root/share/fonts
构建脚本取自另一个在Windows中构建的包,在更改构建脚本时我忘了更改文件夹分隔符。
另外,在Linux中,在Linux中创建子文件夹结构是不可能的。所以这个
mkdir $PREFIX/root/
mkdir $PREFIX/root/share/
mkdir $PREFIX/root/share/fonts/
cp * $PREFIX/root/share/fonts/
是问题的最终解决方案。