AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1343820
Accepted
Archisman Panigrahi
Archisman Panigrahi
Asked: 2021-06-05 22:06:22 +0800 CST2021-06-05 22:06:22 +0800 CST 2021-06-05 22:06:22 +0800 CST

从另一个分支复制 debian 目录以在 Launchpad 中构建

  • 772

我正在尝试在启动板中构建舒适的有声读物。

我从 GitHub 导入了源分支(master),并且有一个包含该debian/目录的不同分支(deb-packaging-juno)。master 分支没有debian 目录。我想在构建期间将debian/目录从deb-packaging-juno分支复制到master分支中。

我浏览了食谱的 Launchpad帮助页面,还有这个答案。

我创建了以下包装配方。

# git-build-recipe format 0.4 deb-version {debupstream}-0~{revtime}
lp:cozy master
nest-part deb-packaging-juno lp:cozy debian debian master

但是该包无法在 Launchpad 中构建,并出现以下构建错误。这是完整的构建日志。

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

我的包装配方有什么错误以及如何解决?

packaging
  • 2 2 个回答
  • 55 Views

2 个回答

  • Voted
  1. Archisman Panigrahi
    2021-06-06T02:51:25+08:002021-06-06T02:51:25+08:00

    虽然我无法以这种方式复制 debian 目录,但我找到了一个替代方法,将分支合并到 master。

    当前deb-packaging-juno目录无法合并到主目录,因为它们来自同一个库,并且存在合并冲突(但是,这可能与复制目录失败无关,如问题中所述)。

    我创建了一个名为包含 debian 目录的新孤立分支(这样就不会有共同的历史记录) deb-dir,并且我可以使用以下配方将其复制到 master 中。

    # git-build-recipe format 0.4 deb-version {debupstream}-0~{revtime}
    lp:cozy master
    merge deb-dir lp:cozy deb-dir
    
    • 1
  2. Best Answer
    Colin Watson
    2021-06-07T03:40:58+08:002021-06-07T03:40:58+08:00

    错误是您在该nest-part行中使用了错误的分支名称。(第一个参数nest-part是一个名称,可用于在替换变量中引用配方的那部分,而不是 Git 分支名称。)虽然错误消息不是最清楚的,但您可以通过查看构建日志中的这一行:

    fatal: Not a valid object name 574660454b66b1c1fd22e72c0ac2d1041e0a4b4d:debian
    

    574660454b66b1c1fd22e72c0ac2d1041e0a4b4d是分支上的当前提交master,并且该错误消息准确地说是debian该提交引用的树中没有目录。

    您应该改为编写以下内容,当我在本地对其进行测试时,这似乎可以正常工作:

    # 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
    

    或者您可能想为第一个参数使用不同的名称nest-part以减少混淆:

    # 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

相关问题

  • 什么是最简单的 Debian 打包指南?

  • 我的 PPA 的身份验证问题

  • 为自定义 PPA 修补 Wine 的正确方法是什么?

  • 我如何创建自己的 php 5.3.3 包/ppa?

  • 当上游维护者似乎不活跃时,如何将补丁应用于包?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve