J'essaie de construire confortable Audiobook à Launchpad.
J'ai importé la branche source (Master) de GitHub et une branche différente (deb-Packaging-Juno) contenant le debian/
répertoire. La branche principale n'a pas de répertoire debian
. Je veux copier le debian/
répertoire de la deb-packaging-juno
Branche dans la branche master
lors de la construction.
J'ai traversé le tableau de bord page d'aide pour les recettes, et aussi cette réponse .
J'ai créé le suivant recette d'emballage .
# git-build-recipe format 0.4 deb-version {debupstream}-0~{revtime}
lp:cozy master
nest-part deb-packaging-juno lp:cozy debian debian master
Mais le paquet ne parvient pas à créer dans LaunchPad, avec l'erreur de construction suivante. Voici le Buildlog complet .
Traceback (most recent call last):
File "/usr/bin/git-build-recipe", line 11, in <module>
load_entry_point('git-build-recipe==0.1', 'console_scripts', 'git-build-recipe')()
File "/usr/lib/python3/dist-packages/gitbuildrecipe/main.py", line 110, in main
build_tree(base_branch, working_directory)
File "/usr/lib/python3/dist-packages/gitbuildrecipe/recipe.py", line 489, in build_tree
_build_inner_tree(base_branch, target_path)
File "/usr/lib/python3/dist-packages/gitbuildrecipe/recipe.py", line 413, in _build_inner_tree
instruction.apply(target_path)
File "/usr/lib/python3/dist-packages/gitbuildrecipe/recipe.py", line 567, in apply
target_subdir=self.target_subdir)
File "/usr/lib/python3/dist-packages/gitbuildrecipe/recipe.py", line 400, in nest_part_branch
child_branch.commit + ":" + subpath)
File "/usr/lib/python3/dist-packages/gitbuildrecipe/recipe.py", line 662, in git_call
**kwargs)
File "/usr/lib/python3.6/subprocess.py", line 356, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['git', '-C', '/home/buildd/build-RECIPEBRANCHBUILD-2811196/chroot-autobuild/home/buildd/work/tree/recipe', 'read-tree', '--prefix', 'debian', '-u', '574660454b66b1c1fd22e72c0ac2d1041e0a4b4d:debian']' returned non-zero exit status 128.
RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=chroot --series=hirsute --Arch=AMD64 RECIPEBRANCHBUILD-2811196
Scanning for processes to kill in build RECIPEBRANCHBUILD-2811196
Quelle était l'erreur avec ma recette d'emballage et comment le réparer?
L'erreur est que vous avez utilisé le mauvais nom de la branche dans le nest-part
ligne. (Le premier argument à nest-part
est un nom qui peut être utilisé pour désigner cette partie de la recette dans les variables de substitution, pas un nom de branche GIT.) Bien que le message d'erreur n'est pas la chose la plus claire, vous pouvez le repérer en regardant cette ligne Le journal de construction:
fatal: Not a valid object name 574660454b66b1c1fd22e72c0ac2d1041e0a4b4d:debian
574660454b66b1c1fd22e72c0ac2d1041e0a4b4d
est le commit actuel sur la succursale master
, et que le message d'erreur indique avec précision qu'il n'y a pas debian
répertoire dans l'arborescence référencée par ce commit.
Vous auriez dû écrire ce qui suit, ce qui semble fonctionner comme vous le souhaitez lorsque je le teste localement:
# git-build-recipe format 0.4 deb-version {debupstream}-1~{revtime}
lp:cozy master
nest-part deb-packaging-juno lp:cozy debian debian deb-packaging-juno
Ou peut-être que vous voudrez peut-être utiliser un nom différent pour le premier argument à nest-part
Pour réduire la confusion:
# git-build-recipe format 0.4 deb-version {debupstream}-1~{revtime}
lp:cozy master
nest-part packaging lp:cozy debian debian deb-packaging-juno