Обсуждение:Ports/arm/Experience: различия между версиями

Материал из ALT Linux Wiki
м (+python)
м (test/check)
Строка 7: Строка 7:
#* python: <tt>--without valgrind --without tk</tt> (вполне возможно дополнить и другими ручками, но явно сперва лобовой --nodeps на том, что есть)
#* python: <tt>--without valgrind --without tk</tt> (вполне возможно дополнить и другими ручками, но явно сперва лобовой --nodeps на том, что есть)
# также отключать сборку man/info;
# также отключать сборку man/info;
# также и задействование системных gnulib и библиотек вроде glib, если есть добавленные в исходники;
# ...поддержку SSL;
# вероятно, отключать тесты (на рассуждение майнтейнера/портирующего);
# ...задействование системных gnulib и библиотек вроде glib, если есть добавленные в исходники;
# отключать тесты (занимают существенное время, порой обламываются по мелочам, нередко требуют дополнительных BR)
#* обратите внимание на произведение --{without,disable} {test,check}, при обнаружении отличающегося от '''disable check''' рекомендуется приводить к общему знаменателю
# возможно, в %configure на первых порах добавлять --disable-asm --disable-gtk-doc
# возможно, в %configure на первых порах добавлять --disable-asm --disable-gtk-doc



Версия от 18:11, 7 февраля 2016

%def_without bootstrap

Предлагаю:

  1. обкладывать спеки пакетов, которые затрагивает бутстрап базового сборочного окружения, параметром bootstrap;
  2. по нему: --disable check --disable static --without doc --without apidocs --without profile --disable selinux --without selinux --disable java --without java --without python3 --disable ldap --disable udev и подобное (возможно, в т.ч. cxx/cpp, nls, included_gettext);
    • vim: --disable gui_gnome2 --disable gui_gtk2 --disable gui_neXtaw --disable perlinterp --disable rubyinterp --disable tclinterp --disableluainterp --disable gui_any
    • python: --without valgrind --without tk (вполне возможно дополнить и другими ручками, но явно сперва лобовой --nodeps на том, что есть)
  3. также отключать сборку man/info;
  4. ...поддержку SSL;
  5. ...задействование системных gnulib и библиотек вроде glib, если есть добавленные в исходники;
  6. отключать тесты (занимают существенное время, порой обламываются по мелочам, нередко требуют дополнительных BR)
    • обратите внимание на произведение --{without,disable} {test,check}, при обнаружении отличающегося от disable check рекомендуется приводить к общему знаменателю
  7. возможно, в %configure на первых порах добавлять --disable-asm --disable-gtk-doc

Кусочки кода в процессе получения findutils-4.6.0-alt1.1.e2k.rpm:

%def_with bootstrap
# ...
%if_with bootstrap
%def_disable check
%else
%def_enable selinux
%endif # bootstrap
# ...
%{?!_with_bootstrap:BuildRequires: makeinfo glibc-devel-static}
# ...
%if_without bootstrap
%package -n find-static
Summary: Static version of the GNU find
Group: File tools
Requires: %name = %version-%release

%description -n find-static
This package contains statically linked version of the GNU find program.
%endif
# ...
%check
%if_without bootstrap
%make_build -k check -C dynamic
%make_build -k check -C static
%endif
# ...
%if_without bootstrap
%_infodir/*.info*
%endif
# ...
%if_without bootstrap
%files -n find-static
%_bindir/find.static
%endif

%changelog
* Sat Jan 16 2016 Michael Shigorin <mike@altlinux.org> 4.6.0-alt1.1
- BOOTSTRAP:
  + don't build static version
  + disable selinux
  + disable tests

NB: rpmbuild тоже умеет --nodeps, при этом игнорирует BR:

rpm -bb --nodeps --short-circuit --with bootstrap krb5.spec