linux - 使用 "dpkg-buildpackage -b"为本地构建禁用 CDBS 许可证检查步骤

标签 linux ubuntu debian deb dpkg

我正在 Ubuntu 17.04(类似 Debian 的“stretch/sid”)中使用 dpkg-buildpackage -b 构建多个大型软件包。软件包有很多文件,在构建过程中有步骤Scanning upstream source for new/changed copyright notices... with licensecheck script to recreate debian/copyright_newhints:

apt source packagename-V.E.R
sudo apt build-dep packagename-V.E.R
cd packagename-V.E.R

DEB_BUILD_OPTIONS='nostrip noopt debug' dpkg-buildpackage -b -uc -us

... normal work ...

make[1]: Leaving directory '..../debian/build/deb'
touch debian/stamp-makefile-check/deb
CDBS WARNING:  DEB_MAKE_CHECK_TARGET unset, not running checks
 fakeroot debian/rules binary
CDBS WARNING:  copyright-check disabled - touch debian/copyright_hints to enable.
debian/rules:158: warning: overriding recipe for target 'list-missing'
/usr/share/cdbs/1/rules/utils.mk:126: warning: ignoring old recipe for target 'list-missing'
test -x debian/rules
dh_testroot
dh_prep -X org.gtk.test.gschema.xml.orig
dh_installdirs -A
mkdir -p "debian/build"
CDBS WARNING:    DEB_DH_INSTALL_ARGS is deprecated since 0.4.85
CDBS WARNING:    DEB_DH_STRIP_ARGS is deprecated since 0.4.85
CDBS WARNING:    DEB_DH_BUILDDEB_ARGS is deprecated since 0.4.85

Scanning upstream source for new/changed copyright notices...

set -e; LC_ALL=C.UTF-8 /usr/bin/licensecheck --check '.*' --recursive --copyright --deb-fmt --ignore '^(debian/(changelog|copyright(|_hints|_newhints)))$' --lines 0 * | /usr/lib/cdbs/licensecheck2dep5 > debian/copyright_newhints

步骤 licensecheck --check '.*' --recursive 非常慢,需要十几分钟甚至更长的时间(在 top 输出 licensecheck 是消耗 CPU 时间的程序)。它执行类似于所有文件的自定义 grepping 之类的操作。但是我有快速的 FS 并且读取所有文件(使用 md5sum 计算)只需 10 秒。

我想让这一步更快:通过完全禁用 licensecheck run 或更改 licensecheck 的某些设置以使其更快。

最佳答案

我自己也被困在这个问题上。一个快速而肮脏的解决方法是简单地 apt-get remove licensecheck,然后在完成构建后重新安装。它只会说找不到它并继续构建。

我会将此作为评论发布,但 stackoverflow 要我注册一个帐户。

关于linux - 使用 "dpkg-buildpackage -b"为本地构建禁用 CDBS 许可证检查步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453240/

相关文章:

linux - chmod 的官方文档在哪里?

python - 错误 Tensorflow 找不到字段 google.protobuf.EnumDescriptorProto.EnumReservedRange.start

windows - 如何在 EC2 ubuntu flask 应用程序或命令提示符中获取 Windows 登录用户名

python - 为什么 pip 在 Debian 上安装 texttract 失败?

cron - 来自Cronjob的奇怪电子邮件。 (没有相应的文件和目录)

linux - LVS LocalNode 无法在内核 4.1.6 上运行

c - 对于为什么这些程序在 Windows 和 Linux 上运行不同的原因有什么直觉或见解吗?

c - unsigned long 到 char 数组

python - 在 Ubuntu 中调用 py 导致 collections.abc 弃用警告

混帐克隆 : fatal: gnutls_handshake() failed