From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DNS_FROM_AHBL_RHSBL,RCVD_IN_DNSWL_NONE, RP_MATCHES_RCVD,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imath.kiev.ua; s=hydra; t=1458249264; bh=yUaM47u8EBb7wawCFAOSuL2KHDZm4maSr/MRxi96lgY=; h=Date:From:To:Subject; b=vskzuz//JOyzp1keGhKN8KV1GuTzyf/8kdP439JqSnawIExPc4byVbINKq2cWdoQ4 6RrxLYFJL0qImgD3dcKgAmVJGCM+uaWL4h927PGFeJ8efDqZUDZ+Nh5YzaOJISr6Dm kH5IUms7XR+jHQCEWC0iTXKnBWcESrPlwl0PIGLA= X-Virus-Scanned: amavisd-new at imath.kiev.ua DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imath.kiev.ua; s=hydra; t=1458249258; bh=yUaM47u8EBb7wawCFAOSuL2KHDZm4maSr/MRxi96lgY=; h=Date:From:To:Subject; b=Yb7WEhKwAwEbpi5o/vXyC77DlSzHzd3grzjFc5OK208XNAPnMou7T7cGK+sdv3bQC tcn6Xlg+6nHLVFNdpTBhAaEZb3BMjv4XjPZQ8mTBeZspowy+k0S32/xJqVQOeCVvVe mgmRCCqoDE2fTZfBOgdr5CqrtZSdnktgk5MtpSzU= Date: Thu, 17 Mar 2016 23:14:17 +0200 From: Igor Vlasenko To: devel@lists.altlinux.org Message-ID: <20160317211417.GA9893@dad.imath.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.23 (2014-03-12) Subject: [devel] =?utf-8?b?0JLRi9Cx0L7RgNC60LAg0LjQtyAyMCDQvdC10LTQvtGB?= =?utf-8?b?0L7QsdGA0LDQvdC90YvRhSDQv9Cw0LrQtdGC0L7QsiAoYnVpbGRyZXEtc3Jj?= =?utf-8?b?KS4=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Mar 2016 21:14:26 -0000 Archived-At: List-Archive: List-Post: Уважаемые коллеги, не успел следующую часть по buildreq-src, поэтому публикую результаты эксперимента по поиску надособранных пакетов с помощью buildreq-src. Скандал дня желтой прессы: chromium в ALTLinux, по видимому, собран без поддержки gif В выборке: cabextract force @everybody cairo-dock-plugins antohami @everybody callweaver @nobody centerim oddity @qa @everybody cfengine stanv @everybody cfitsio zerg chromium cas @everybody c-icap-modules cas @everybody cinnamon-control-center cow @everybody codeblocks dk conserver stanv @qa crimson-fields george @qa crossfire eugvv @qa @everybody crossfire-client eugvv @qa @everybody crrcsim mike @everybody cryptmount pauli cryptsetup naf shaba csync boyarsh @everybody cvsgraph force @everybody Выборка получена путем прогона пакетов c*.src.rpm через buildreq-src. cd /ALT/Sisyphus/files/SRPMS rpm -i c*.src.rpm cd ~/RPM/SPECS for i in *.spec; do buildreq-src --force -bp $i; echo; done 2>&1| tee log 63% - без нареканий buildreq-src: c2050.spec already contains all found dependencies 32% - с дополнением BR:, но, как правило, безвредным. 5% - были выявлены проблемы. Проблем может быть и больше, но там, где BR: слишком лаконичные и оптимизированные, buildreq-src выдавал большие простыни, и я в них глубоко не вникал. Поэтому 5% это то, что я пробежался по верхам и затем проверил, глянув в исходники. Детали по выборке: cabextract: # BEGIN SourceDeps(oneline): BuildRequires: libmspack-devel # END SourceDeps(oneline) некритическое замечание: cabextract может линковаться со внешней libmspack, но линкуется статически с копией libmspack, которую таскает с собой. cairo-dock-plugins: Сама программа buildreq-src плохо справилась с работой. cairo-dock-plugins использует CMake, а плагин CMake для SourceAnalyzer еще в разработке, и в нем еще нет поддержки переменных. Поэтому ряд зависимостей, спрятанных в переменных, программа не у видела, поэтому и поругалась: INFO: SourceAnalyzer: nothing in pkg-config provides ${DBUSMENU_GTK_MODULE}. INFO: SourceAnalyzer: nothing in pkg-config provides ${INDICATOR_APPLET_MODULE}. INFO: SourceAnalyzer: nothing in pkg-config provides ${TERMINAL_MODULE}. INFO: SourceAnalyzer: nothing in pkg-config provides ${GMENU_MODULE}. INFO: SourceAnalyzer: nothing in pkg-config provides ${DBUSMENU_MODULE}. INFO: SourceAnalyzer: nothing in pkg-config provides ${IDO_MODULE}. INFO: SourceAnalyzer: nothing in pkg-config provides thunar-vfs-1. INFO: SourceAnalyzer: nothing in pkg-config provides ${WEBKIT_MODULE}. SourceAnalyzer: some deps weren't found. Is DistroMap database outdated? Однако и в выданной простыне # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/msgfmt /usr/bin/python /usr/bin/python2 /usr/bin/python3 /usr/bin/valac kdelibs libqt4-devel pkgconfig(gio-2.0) pkgconfig(glib-2.0) pkgconfig(glib-sharp-2.0) pkgconfig(gnome-vfs-2.0) pkgconfig(gobject-2.0) pkgconfig(libgnomeui-2.0) pkgconfig(ndesk-dbus-1.0) pkgconfig(ndesk-dbus-glib-1.0) pkgconfig(x11) pkgconfig(zeitgeist-1.0) pkgconfig(zeitgeist-2.0) # END SourceDeps(oneline) Видно, что пакету явно не хватает BuildRequires: pkgconfig(zeitgeist-2.0) что подтверждает лог сборки. -- checking for module 'zeitgeist-2.0' -- package 'zeitgeist-2.0' not found -- Could not find 'zeitgeist-2.0'; trying with an old version 'zeitgeist-1.0'... -- checking for module 'zeitgeist-1.0' -- package 'zeitgeist-1.0' not found -- Could not find libzeitgeist; Cairo-Dock won't be built with Zeitgeist support Там, в логе сборки, видно, что из зависимостей, которые спрятаны в переменные, многих тоже не хватает. callweaver: # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/nspr-config /usr/sbin/groupadd ElectricFence libOpenSP-devel libbluez-devel libcurl-devel libdb4.8-devel libjs-devel libldap-devel libmISDN libmemcache-devel libncurses-devel libnet-snmp-devel libnewt-devel libogg-devel libpq5.8-devel libpri-devel libsrtp-devel libtonezone-dahdi-devel perl-CGI perl-DBD-mysql perl-DBI perl-Net-Jabber perl-base perl-devel pkgconfig(alsa) pkgconfig(loudmouth-1.0) # END SourceDeps(oneline) простыня, глубоко не вник, но похоже, как минимум с libmemcache-devel надо дособрать. centerim: # BEGIN SourceDeps(oneline): BuildRequires: gcc-c++ libXScrnSaver-devel libfribidi-devel libotr-devel libotr2-devel nss_compat_ossl-devel perl(File/Spec/Functions.pm) perl(Time/Local.pm) perl(Time/ParseDate.pm) pkgconfig(nss) # END SourceDeps(oneline) Посмотрел rpmquery --requires -p centerim-4.22.10-alt2.x86_64.rpm G Xss - пусто. а с libXScrnSaver-devel стоило бы собрать. cfengine: # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/getconf libgd2-devel libgraphviz-devel libgraphviz-frozen-devel libldap-devel libmongoc0-devel libpq5.8-devel libtokyocabinet-devel libvirt-devel perl(getopts.pl) postgresql9.5-devel qdbm-devel # END SourceDeps(oneline) В спеке написано --without-graphviz, а вот отсутствие в BR: libtokyocabinet-devel и других DB существенно -- пакет недособран, часть его возможностей не активирована. cfitsio: # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/gfortran bzlib-devel # END SourceDeps(oneline) /usr/bin/gfortran по сути избыточный - в спеке уже есть gcc-fortran, но gcc-fortran (предоставляется не одним пакетом, а многими, это библиотеку сбило с толку) а вот отсутствие bzlib-devel по существу -- cfitsio с удовольствием слинковался бы с -lbz, да никто ему не дал. chromium: Большая простыня # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/go /usr/bin/llvm-config /usr/bin/python /usr/bin/valgrind boost-program_options-devel fontconfig-devel libGL-devel libGLU-devel libfreetype-devel libgif-devel libglibmm-devel libgperftools-devel libgtest-devel libtrilinos10-devel perl-JSON perl-Math-BigInt perl-Pod-Usage perl-Statistics-Descriptive perl-Statistics-Distributions perl-Tie-File perl-base perl-devel pkgconfig(lua) rpm-build-perl rpm-build-python swig texinfo # END SourceDeps(oneline) Глубоко не разбирался, но очень подозрительно было отсутствие libgif-devel. $ rpmquery --requires -p chromium-48.0.2564.116-alt1.x86_64.rpm G gif пусто. Порылся в исходниках -- libgif-devel нужна используемой внутри skia, см. chromium/src/third_party/skia/cmake/CMakeLists.txt Выглядит как баг --- показывает ли chromium gif? c-icap-modules: # BEGIN SourceDeps(oneline): BuildRequires: bzlib-devel # END SourceDeps(oneline) опять хотело бы слинковался с -lbz, да никто не дал. cinnamon-control-center: # BEGIN SourceDeps(oneline): BuildRequires: libXxf86misc-devel pkgconfig(NetworkManager) pkgconfig(gdk-pixbuf-2.0) xorg-kbproto-devel # END SourceDeps(oneline) libXxf86misc-devel здесь похоже пропущено зря, судя по configure.ac cinnamon-control-center линковаться с libXxf86misc хочет. соответственно пакет недособран, какая-то часть его возможностей не активирована. codeblocks: # BEGIN SourceDeps(oneline): BuildRequires: boost-devel-headers bzlib-devel imake libXt-devel pkgconfig(fontconfig) pkgconfig(glib-2.0) swig xorg-cf-files zlib-devel # END SourceDeps(oneline) Бросается в глаза bzlib-devel. и действительно, пакет недособран, опять нет bz2 conserver: # BEGIN SourceDeps(oneline): BuildRequires: libpam0-devel libsocket-devel libwrap-devel # END SourceDeps(oneline) Здесь libsocket-devel, как и выше, мусорный артефакт, а вот с libpam0-devel пакет явно стоило слинковать. по поводу libwrap-devel - линковать с ней можно, возможно, стоило бы тоже слинковать. crimson-fields: # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/xmllint /usr/bin/xsltproc libSDL_net-devel zlib-devel # END SourceDeps(oneline) Сетку потеряли (libSDL_net-devel) crossfire: SourceAnalyzer: some deps weren't found. Is DistroMap database outdated? # BEGIN SourceDeps(oneline): BuildRequires: libcheck-devel libcurl-devel perl-base # END SourceDeps(oneline) libcheck-devel для тестов, надо бы добавить. configure: WARNING: Check not found; cannot run unit tests! а libcurl-devel явно пропущен - недолинковка - баг. crossfire-client: # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/perl libGL-devel libGLU-devel libXt-devel libalsa-devel libfreeglut-devel zlib-devel # END SourceDeps(oneline) нет libalsa-devel -- в спеке стоит --disable-alsa что выглядит 10летней давности протухшим архаизмом, и учитывая выхлоп configure Using OSS sound system configure: Will build sound server? yes (OSS) явно баг, надо менять на Alsa crrcsim: # BEGIN SourceDeps(oneline): BuildRequires: libcgal-devel # END SourceDeps(oneline) crrcsim ищет libcgal-devel, но не находит... надо добавить. cryptmount: # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/doxygen libudev-devel pkgconfig(libcryptsetup) # END SourceDeps(oneline) doxygen для (пере)генерации документации, что можно проигнорировать, а вот libudev-devel и pkgconfig(libcryptsetup) там по сути, какая-то часть функциональности утеряна. cryptsetup: # BEGIN SourceDeps(oneline): BuildRequires: libnettle-devel pkgconfig(nss) pkgconfig(openssl) pkgconfig(pwquality) # END SourceDeps(oneline) libnettle-devel pkgconfig(nss) pkgconfig(openssl) -- альтернативные backends, в пакете вместо них выбран gcrypt, а вот pwquality (проверку качества паролей) можно было бы и добавить. csync: # BEGIN SourceDeps(oneline): BuildRequires: /usr/bin/doxygen perl(Carp/Assert.pm) perl(HTTP/DAV.pm) pkgconfig(check) # END SourceDeps(oneline) мелочь, а тесты отключены [pkgconfig(check)]. cvsgraph: # BEGIN SourceDeps(oneline): BuildRequires: libjpeg-devel libpng-devel zlib-devel # END SourceDeps(oneline) нужны. Как же он graph нарисует без поддержки png? недособран. -- I V