我正在尝试建立一个.dsc
文件,并且正在关注这指导。
我输入了bzr dh-make
命令,但意识到我一定是输入了错误的命令,因为所有生成的文件都被锁定为 root(我的错),并且我创建了错误的结果文件......
无论如何,我在正确的目录上再次尝试,但收到此错误:
bzr: ERROR: Either run the command from an existing branch of upstream, or move <program_name> aside and a new branch will be created there.
我尝试将文件夹移动到不同位置,然后dh-make
再次执行命令,但得到相同的结果。
我应该怎么办?
答案1
本指南假设您有一个上游 tarball,并且您想使用它来创建一个 bazaar 分支,然后使用它进行打包。命令bzr dh_make
( bzr dh-make PACKAGE_NAME VERSION TARBALL
) 将 tarball 提取到目录名PACKAGE_NAME
,并将其设置为 bazaar 分支。从文档:
如果 bzr 中有上游可用,则从与 0.1 版本对应的分支的根目录运行该命令。
如果 bzr 中没有可用的上游,则从分支外部运行该命令,它将在与您作为第二个参数指定的包名称相同的目录中为您创建一个分支。
在第二种模式(也就是您所使用的模式)下,bzr
将拒绝提取到现有目录以创建分支。这就是您遇到的错误。Bazaar 分支本质上是目录。
简单的解决方法(虽然我觉得这不是预期的方法)是:
cd /path/to/resolutionx
# create tarball in parent directory
tar zcf ../resolutionx-1.0.tar.gz -C .. resolutionx
bzr dh_make resolutionx 1.0 ../resolutionx-1.0.tar.gz
如果您已在使用git
版本控制,那么请进行研究git-buildpackage
。