web-dev-qa-db-fra.com

Copier le répertoire de Debian d'une autre succursale à construire dans LaunchPad

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?

1

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
1
Colin Watson