Обсуждение:Ports/arm/Experience

Материал из ALT Linux Wiki

%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 и подобное (возможно, в т.ч. cxx/cpp, nls, included_gettext);
  3. также отключать сборку man/info;
  4. также и задействование системных gnulib и библиотек вроде glib, если есть добавленные в исходники;
  5. вероятно, отключать тесты (на рассуждение майнтейнера/портирующего);
  6. возможно, в %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