2017-04-26 3 views
2

J'ai un problème pour construire la recette contenant le caractère & dans le chemin SVN.Comment utiliser le caractère '&' dans Yocto SRC_URI svn: //

SRC_URI = "svn://servf7/Valve&Actuator/DVPII/trunk/SOCPACManEnv;module=trunk;rev=100108" 

Il ne fonctionne pas, parce que SVN fetcher ne peut pas trouver des sources:

Failed to fetch URL svn://servf7/Valve&Actuator/DVPII/trunk/SOCPACManEnv;module=trunk;rev=100108, attempting MIRRORS if available. 

Ajout caractère d'échappement \& fonctionne mieux - sources sont téléchargées, mais pour une raison quelconque Yocto ajoute une autre \ et ne peut pas trouver le fichier téléchargé (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' 

J'ai essayé échapper par Valve\0x26Actuator, Valve%26Actuator, mais dans ces cas SVN n'a pas pu localiser l'URL.

Malheureusement je ne peux pas renommer le dossier SVN, bacuase il contient des dizaines de vieux sous-projets.

Yocto Morty 2.2.1.

Répondre

0

Le paramètre downloadfilename de l'extracteur peut vous aider (en conjonction avec l'échappement de &). Citant la documentation: "Spécifie le nom de fichier utilisé lors du stockage du fichier téléchargé."

Alors qu'en est-ce SRC_URI (en supposant que le nom du paquet et la version sont sains d'esprit):

SRC_URI = "svn://servf7/Valve\&Actuator/DVPII/trunk/SOCPACManEnv;module=trunk;rev=100108;downloadfilename=${BP}.tar.gz" 

Documentation connexe: https://www.yoctoproject.org/docs/2.2/mega-manual/mega-manual.html#var-SRC_URI