问题标签 [dpkg-buildpackage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debian - 在 dpkg-buildpackage (debhelper) 中获取包名或包构建目录
dpkg-buildpackage
使用(and )创建 Debian 软件包时debhelper
,我使用以下条目来分配to (而不是) 的debian/rules
所有权:my-config
my-user
root
dpkg-buildpackage
作为构建管道的一部分运行,其中包名称可以选择为my-package
或my-package-n
(n
是整数)。它目前在的情况下失败,my-package-n
因为.my-package
chown
dpkg_buildpackage
(特别是)是否有机制debhelper
可以访问包名称(my-package
或my-package-n
在我的情况下)或包构建目录($(CURDIR)/debian/my-package
或$(CURDIR)/debian/my-package-n
在我的情况下)?
我已经打印了set
介于 indh_fixperms
和chown
: 之间的“普通”环境变量,显然没有这样的环境变量包含所需的信息。
debhelper - 没有构建工具的 Debian 打包
我想在不使用诸如 autotools 或 CMake 之类的构建工具的情况下从 C 程序创建一个 Debian 包。我的debian/rules
文件:
运行后dpkg-buildpackage
,我得到:
dh: error: Unknown sequence application (choose from: binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep)
debian - 如何将分号传递给 dh_auto_configure
我需要将分号分隔的路径列表传递给 cmake,我正在这样做。
但是 dpkg-buildpackage 似乎得到了这一点,如您所见,分号被切断后的所有内容,第二条路径甚至发布类型都丢失了。
有什么办法可以解决这个问题?
dpkg - dpkg-source 在错误的目录中寻找文件
假设我在文件夹中package
并正在运行dpkg-source --build .
. ../package.tar.xz
它在打印处创建一个存档,building package in package.tar.xz
然后是unable to change permission of 'package.tar.xz': No such file or directory
.
该文件确实存在,在上层目录中。我认为它正在寻找CWD
?我究竟做错了什么?
同样的错误发生在dpkg-source
, debuild
, dpkg-buildpackage
。
deb - 如何在 preinst 中获取 deb 包所在目录
我正在创建一个 .deb 包,它将运行一个 shell 脚本作为 preinst。
shell 脚本需要一些输入文件,这些文件可以在我有 .deb 包的地方使用,如下所示。
我只需将所有文件传输到任何位置的不同机器并使用 dpkg -i mydebpackage.deb 安装它
我尝试在 preinst 中使用 pwd 来获取当前 deb 文件所在的目录。
因此,我可以从 preinst 脚本中获取输入文件的路径。
但是如果我pwd
从 preinst 运行,它会给我 / 而不是包所在的目录。
我也尝试从 PIPE 传递 pwd 来实现这一点,如下所示,
但我不想依赖用户输入的路径。
请指导我从 preinst 脚本内部获取当前 deb 包位于目录路径。
debian - 在 dpkg-buildpackage DEB_BUILD_OPTIONS=nocheck 之后手动执行检查
我正在运行 dpkg-buildpackage,环境变量 DEB_BUILD_OPTIONS 设置为 nocheck。这会编译但会跳过测试。dpkg-buildpackage 完成后,我可以使用哪个命令手动执行检查?
dpkg-buildpackage - 无法将配置文件添加到 .deb 包
我正在尝试创建一个带有配置文件的 debian 包/etc
,但它不起作用。我有包含所有文件的源目录,以及一个etc
目录和debian
目录。在debian
目录中,与其他文件(规则、控件等)一起,我创建<pkgname>.conffiles
并放置了etc/sxfeeder.ini
. /
在路径的开头也尝试过,但在包创建过程中出现同样的错误: dpkg-deb: error: conffile 'etc/sxfeeder.ini' does not appear in package
. 如果我删除<pkgname>.conffiles
,则包构建良好(仅限二进制)。我也尝试过使用与sxfeeder.ini
源文件相同级别的文件(安装etc
文件夹内部源级别)。我不知道该怎么做才能解决这个问题。我正在使用这个命令来构建包:(fakeroot dpkg-buildpackage -b
仅限二进制)
dpkg-buildpackage - 为什么 dpkg-buildpackage 压缩一些文档内容,以及如何阻止它?
我使用dpkg-buildpackage为我的应用程序构建 debian 和 Ubuntu 软件包。到目前为止这工作正常,但我想知道为什么我安装的一些文件(*.json 和 *.md)/usr/share/doc/
最终通过 apt 或 dpkg 安装为目标机器上的 *.gz。
例如,我${PACKAGE_ROOT}/usr/share/doc/samba-exporter/grafana/SambaService.json
在debian/rules
构建脚本中安装了一个示例 json 文件。但是当创建包时,我/usr/share/doc/samba-exporter/grafana/SambaService.json.gz
在包中找到。该文件也作为压缩版本安装在目标机器上。
我在文件夹中看到我的“更大”(超过 5kB)文件的这种行为/usr/share/doc/*
。较小的按原样安装。
我想知道这是否是因为https://www.debian.org/doc/debian-policy/ch-docs.html#additional-documentation?那里的Debian团队告诉Plain text documentation should be compressed with gzip -9 unless it is small
我可以看到原因,但在现代,我认为 5kB 或 20kB 的文件很小。
那么,有人知道为什么会发生这种情况,以及如何覆盖这种行为吗?
感谢您提供任何帮助。
伊克
PS:您可能想在这里检查一个示例包:https ://github.com/imker25/samba_exporter/releases/download/1.6.2-pre/samba-exporter_1.6.2-pre.ppa1.debian11_amd64.deb
makefile - buster 上的包装问题
我正在尝试从源代码构建一些软件包,尽管进行了很多谷歌搜索,但我仍面临着我无法理解的麻烦。某些包会发生这种情况,而其他包则可以正常编译和打包。打包失败的软件之一是 libva。
当我使用时;
我收到此错误;
我还在控制文件中设置了架构。
但是,当我跑步时;
它可以正常编译,但是我在尝试将其安装到 fakeroot 下的同一文件夹时遇到了另一个问题。
在构建其他软件包(如 aria2 和 intel-media)时,我遇到了类似的错误。
我在 debian buster 上编译,带有 gcc、glibc 和 libtool。
你能提供任何帮助或指示吗?
python - dpkg-buildpackage 带有 cookiecutter 无效或不存在的源目录路径:debian/sampleproject
您好,我正在尝试从带有 virtualenv 的 python 项目创建一个 deb 包,并且我正在使用 cookiecutter。我一生中从未创建过 deb 包,所以我按照此处列出的指南进行操作,但我在尝试构建包时遇到了一些问题
dpkg-buildpackage -us -uc
(我在 ubuntu 21.10 上,我使用 python 3.9.7),首先所有它都被警告缺少文件(无法运行pyversions),但我设法通过安装python 2.7解决了这个问题,但不幸的是我发现自己有一个错误,我真的到处搜索过,但我找不到任何东西和有问题的错误是:
也就是说,它期望存在一个尚未创建的目录
情况树是:
而 sample.py 代码(一个简单的测试程序)是:
但是init .py 我无法理解它的用处,它是一个空文件,而其他所有内容都是通过回答以下问题生成的:
我用pip install cookiecutter
.
我希望有人能帮助我,因为几乎没有关于这些事情的任何信息。