我正在 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/