我有一个问题,建立包含& SVN路径中的字符。
SRC_URI = "svn://servf7/Valve&Actuator/DVPII/trunk/SOCPACManEnv;module=trunk;rev=100108"
它不起作用,因为SVN提取器找不到来源:
Failed to fetch URL svn://servf7/Valve&Actuator/DVPII/trunk/SOCPACManEnv;module=trunk;rev=100108, attempting MIRRORS if available.
添加转义字符\&
效果更好 - 下载了源代码,但由于某些原因,Yocto添加了另一个\
并且无法找到下载的文件(what exists: /trunk_servf7_.Valve&Actuator.DVPII.trunk.SOCPACManEnv_100108_.tar.gz
):
Exception: FileNotFoundError: [Errno 2] No such file or directory: '/downloads/trunk_servf7_.Valve\\&Actuator.DVPII.trunk.SOCPACManEnv_100108_.tar.gz'
我尝试过Valve\0x26Actuator
,Valve%26Actuator
转义,但在这种情况下,SVN无法找到网址。
不幸的是我无法重命名SVN文件夹,因为它包含了几十个旧的子项目。
Yocto Morty 2.2.1。
编辑:逃脱角色开始在Yocto 2.4中工作。
答案 0 :(得分:0)
抓取器的downloadfilename
参数可能对您有帮助(与&
的转义相结合)。引用文档:“指定存储下载文件时使用的文件名。”
那么这个SRC_URI(假设包名称和版本是理智的):
SRC_URI = "svn://servf7/Valve\&Actuator/DVPII/trunk/SOCPACManEnv;module=trunk;rev=100108;downloadfilename=${BP}.tar.gz"
相关文档:https://www.yoctoproject.org/docs/2.2/mega-manual/mega-manual.html#var-SRC_URI