Я делаю несколько огромных сборок пакетов с помощью dpkg-buildpackage -b
в Ubuntu 17.04 (как в Debian "stretch/sid"). Пакеты имеют очень большое количество файлов, и в процессе сборки есть шаг Scanning upstream source for new/changed copyright notices...
со сценарием licensecheck
для воссоздания 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
это программа, потребляющая процессорное время). Он делает что-то вроде пользовательского поиска всех файлов. Но у меня быстрая ФС и чтение всех файлов (с вычислением md5sum) занимает всего 10 секунд.
Я хочу сделать этот шаг быстрее: либо полностью отключив запуск licensecheck, либо изменив некоторые настройки licensecheck, чтобы сделать его быстрее.