RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Matthew Dawkins Root: /v/rpm/cvs Email: mdawk...@rpm5.org Module: rpm Date: 08-May-2012 02:35:20 Branch: rpm-5_4 Handle: 2012050800351901 Modified files: (Branch: rpm-5_4) rpm CHANGES rpm/macros mandriva.in Log: applied mdv patch rpm-5.4.4-merge-rpm-mandriva-setup-build-macros.patch Submitted by: mdawkins Summary: Revision Changes Path 1.3501.2.278+1 -0 rpm/CHANGES 1.7.2.14 +296 -0 rpm/macros/mandriva.in ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3501.2.277 -r1.3501.2.278 CHANGES --- rpm/CHANGES 8 May 2012 00:33:53 -0000 1.3501.2.277 +++ rpm/CHANGES 8 May 2012 00:35:19 -0000 1.3501.2.278 @@ -1,4 +1,5 @@ 5.4.8 -> 5.4.9: + - mdawkins: applied mdv patch rpm-5.4.4-merge-rpm-mandriva-setup-build-macros.patch - mdawkins: applied mdv patch rpm-5.4.4-merge-common-rpm-mandriva-setup-macros.patch - mdawkins: applied mdv patch rpm-5.4.4-merge-manbo-macros.patch - mdawkins: applied mdv patch rpm-5.4.4-use-xz-payload.patch @@ . patch -p0 <<'@@ .' Index: rpm/macros/mandriva.in ============================================================================ $ cvs diff -u -r1.7.2.13 -r1.7.2.14 mandriva.in --- rpm/macros/mandriva.in 8 May 2012 00:33:54 -0000 1.7.2.13 +++ rpm/macros/mandriva.in 8 May 2012 00:35:20 -0000 1.7.2.14 @@ -195,4 +195,300 @@ # activate filetriggers (cf http://wiki.mandriva.com/en/Rpm_filetriggers) %_filetriggers_dir /var/lib/rpm/filetriggers + +%__gzip /bin/gzip + +%_sys_macros_dir %{_sysconfdir}/macros.d +%build_sysmacrospath() %{_sys_macros_dir}/%{?1:%{1}}%{?!1:%{name}}.macros + +# when %_with_git_repository is set, these macros modify the behaviour of "%prep" step: +%_after_setup %{?_with_git_repository:GIT_URL="%{?git_url}" GIT_REPOSITORY_CACHE=%{?git_repository_cache} @USRLIBRPM@/@RPMCANONVENDOR@/git-repository--after-tarball} +%_patch %{?_with_git_repository:PKG_NAME=%{name} @USRLIBRPM@/@RPMCANONVENDOR@/git-repository--apply-patch}%{?!_with_git_repository:%__patch -U} + +# used by "git-repository--after-tarball": +%git_repository_cache %_topdir/%{name}.git + + +# Various programs used in rpm scripts +%_update_desktop_database_bin %{_bindir}/update-desktop-database +%_update_mime_database_bin %{_bindir}/update-mime-database +%_update_icon_cache_bin %{_bindir}/gtk-update-icon-cache +%_gconftool_bin %{_bindir}/gconftool-2 +%_scrollkeeper_bin %{_bindir}/scrollkeeper-update + +%__service /sbin/service +%__chkconfig /sbin/chkconfig + +#============================================================================== +# ---- Required rpmrc macros. +# Macros that used to be initialized as a side effect of rpmrc parsing. +# These are the default values that can be overridden by other +# (e.g. per-platform, per-system, per-packager, per-package) macros. +# + +%debug_package_and_restore %{debug_package} \ +%package __restore__\ +Summary: %{summary}\ +Group: %{group}\ +%description __restore__ + +%_arch_tag_suffix (%_lib) +%arch_tagged() %{1}%{_arch_tag_suffix} %{?2:%{2} %{3}%{?!3:%{error:undefined 3rd argument in arch_tagged}}} + +# Games macros +%_gamesdir games +%_gamesbindir %{_prefix}/%{_gamesdir} +%_gamesdatadir %{_datadir}/%{_gamesdir} + +# Menu directories +%_menudir %{_prefix}/lib/menu +%_iconsdir %{_datadir}/icons +%_miconsdir %{_datadir}/icons/mini +%_liconsdir %{_datadir}/icons/large + +%_xfontdir %_datadir/fonts + +%_webconfdir %{_sysconfdir}/httpd/conf +%_webappconfdir %_webconfdir/webapps.d +# compatibility +%webappconfdir %_webappconfdir + +#============================================================================== +# ---- Build configuration macros. +# +# Package version macro. +# The type of package to produce, for compatibility with legacy +# versions of rpm. +# +# Script gets packaged file list on input. +# Returns list of multiarch files that are not marked as such, +# i.e. files in $RPM_BUILD_ROOT that have arch-dependent values +# +# Note: Disable (by commenting out) for legacy compatibility. +#%__check_multiarch_files @USRLIBRPM@/check-multiarch-files %{buildroot} + +# Use internal dependency generator rather than external helpers? +%_use_internal_dependency_generator 0 + +%__find_provides @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_provides_exceptions:%{_provides_exceptions}}%{!?_provides_exceptions: }' '%{?_exclude_files_from_autoprov:%{_exclude_files_from_autoprov}}%{!?_exclude_files_from_autoprov: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-provides +%__find_requires @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_requires_exceptions:%{_requires_exceptions}}%{!?_requires_exceptions: }' '%{?_exclude_files_from_autoreq:%{_exclude_files_from_autoreq}}%{!?_exclude_files_from_autoreq: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}} + +# Update Menu +%_update_menus_bin %{_bindir}/update-menus + +# Update Window Managers session. +%_fndsession_bin %{_sbindir}/fndSession +%make_session %{nil} +%make_dm_session if [ -x %{_fndsession_bin} ]; then %{_fndsession_bin} || true ; fi \ +%{nil} + +# For rebuilding gcj-db +%_rebuildgcjdb_bin %{_bindir}/rebuild-gcj-db +%update_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \ +%{nil} + +%clean_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \ +%{nil} + +# Rebuild icon cache +%update_icon_cache() if [ -x %{_update_icon_cache_bin} ]; then \ +%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true; fi \ +%{nil} + +%clean_icon_cache() if [ -x %{_update_icon_cache_bin} -a -r %{_iconsdir}/%{1}/index.theme ]; then \ +%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true ; fi \ +%{nil} + +# GConf schemas: +# installation is handled by filetriggers +%post_install_gconf_schemas() %{nil} +# but uninstall still need to be done in %preun: +%preun_uninstall_gconf_schemas() if [ "$1" = "0" -a -x %{_gconftool_bin} ]; then \ +SCHEMAS="" \ +for SCHEMA in %{*} ; do \ + SCHEMAS="$SCHEMAS %{_sysconfdir}/gconf/schemas/$SCHEMA.schemas" \ +done \ +GCONF_CONFIG_SOURCE=`%{_gconftool_bin} --get-default-source` %{_gconftool_bin} --makefile-uninstall-rule $SCHEMAS > /dev/null || true ; fi \ +%{nil} + +# Mandriva Linux version +# - "9.1" => 910 +# - "10.2.2" => 1022 +# (user may copy the following line in specfile) +%mdkversion %(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandriva-release) + +#============================================================================== +# ---- Build policy macros. +# +#--------------------------------------------------------------------- +# Expanded at end of %install scriptlet. +# + +%__os_install_post \ + %{?__spec_helper_post}%{?!__spec_helper_post:/usr/share/spec-helper/spec-helper} \ +%{nil} + +#============================================================================== +# ---- specfile macros. +# Macro(s) here can be used reliably for reproducible builds. +# (Note: Above is the goal, below are the macros under development) +# + +%__fix_libtool_ltmain_from_overlinking @USRLIBRPM@/@RPMCANONVENDOR@/fix-libtool-ltmain-from-overlinking +%__fix_libtool_from_moving_options_after_libs @USRLIBRPM@/@RPMCANONVENDOR@/fix-libtool-from-moving-options-after-libs +%__fix_dlsearch_path_in_libtool_for_multilib @USRLIBRPM@/@RPMCANONVENDOR@/fix-dlsearch-path-in-libtool-for-multilib + +%__cputoolize cputoolize + +%__libtoolize_configure %{?__libtoolize:(cd $CONFIGURE_TOP; [ ! -f configure.in -a ! -f configure.ac ] || %{__libtoolize} --copy --force)} + +%ldflags %{?!_disable_ld_as_needed: -Wl,--as-needed}%{?!_disable_ld_no_undefined: -Wl,--no-undefined}%{?!_disable_ld_relro: -Wl,-z,relro}%{?!_disable_ld_O1: -Wl,-O1}%{?!_disable_ld_build_id: -Wl,--build-id}%{?!_disable_ld_enable_new_dtags: -Wl,--enable-new-dtags}%{?_hardened_flags: %_hardened_flags} + +%setup_compile_flags \ + CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ + CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ + FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ + %(if [ -n '%ldflags' ]; then echo 'LDFLAGS="$LDFLAGS%ldflags"; export LDFLAGS ;'; fi) + +%before_configure \ + %setup_compile_flags \ + CONFIGURE_TOP="${CONFIGURE_TOP:-.}"; \ + %{?!_disable_ld_as_needed:@USRLIBRPM@/@RPMCANONVENDOR@/force-as-needed-for-shared-lib-in-libtool ;} \ + %{?!_disable_ld_no_undefined:@USRLIBRPM@/@RPMCANONVENDOR@/drop-ld-no-undefined-for-shared-lib-modules-in-libtool ;} \ + %{__fix_libtool_ltmain_from_overlinking} ; \ + %{__fix_libtool_from_moving_options_after_libs} $CONFIGURE_TOP ; \ + %{__fix_dlsearch_path_in_libtool_for_multilib} $CONFIGURE_TOP %{_lib} + +# This is an improved version of %configure (from PLD team). +%configure \ + %before_configure ; \ + %{?!_disable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \ + [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \ + CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \ + $CONFIGURE_TOP/configure %{_target_platform} \\\ + --program-prefix=%{?_program_prefix} \\\ + --prefix=%{_prefix} \\\ + --exec-prefix=%{_exec_prefix} \\\ + --bindir=%{_bindir} \\\ + --sbindir=%{_sbindir} \\\ + --sysconfdir=%{_sysconfdir} \\\ + --datadir=%{_datadir} \\\ + --includedir=%{_includedir} \\\ + --libdir=%{_libdir} \\\ + --libexecdir=%{_libexecdir} \\\ + --localstatedir=%{_localstatedir} \\\ + --sharedstatedir=%{_sharedstatedir} \\\ + --mandir=%{_mandir} \\\ + --infodir=%{_infodir} \\\ + $CONFIGURE_XPATH + +%configure2_5x \ + %before_configure ; \ + %{?_enable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \ + [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \ + CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \ + $CONFIGURE_TOP/configure --build=%{_target_platform} \\\ + --prefix=%{_prefix} \\\ + --exec-prefix=%{_exec_prefix} \\\ + --bindir=%{_bindir} \\\ + --sbindir=%{_sbindir} \\\ + --sysconfdir=%{_sysconfdir} \\\ + --datadir=%{_datadir} \\\ + --includedir=%{_includedir} \\\ + --libdir=%{_libdir} \\\ + --libexecdir=%{_libexecdir} \\\ + --localstatedir=%{_localstatedir} \\\ + --sharedstatedir=%{_sharedstatedir} \\\ + --mandir=%{_mandir} \\\ + --infodir=%{_infodir} \\\ + $CONFIGURE_XPATH + + +%old_makeinstall \ + make \\\ + prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\ + exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\ + bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\ + sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\ + sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\ + datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\ + includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\ + libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\ + libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\ + localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\ + sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\ + mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\ + infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\ + install + + +%perl_convert_version() %(perl -Mversion -le ' + $x = "%{1}"; + $y = $x; + $x =~ s/[[:alpha:]]*$//; + $y =~ s/^$x//; + $x =~ s/\D*$//; + $v = version->new($x)->normal; + $v =~ s/^v//; + print "$v$y"; +') + +# kept for compatibility, but should not be used, especially the ugly perl_archlib! +%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch) +%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib) + +#-------------------------------------------------------------------------------- +# Macro from conectiva + +# Shorthand for %{defined with_...} +# macros provided by rpm 4.4, but buggy :( +%_with() %{expand: %%{?_with_%1:1} %%{!?_with_%1: %%{?_without_%1:0} %%{!?_without_%1: %%{?with_%1:%%{with_%1}} %%{!?with_%1: %%{?without_%1:!%%{without_%1}} %%{!?without_%1: %%{?2:%%2} %%{!?2:1} } } } } } +%_without() !%{expand: %%{with %1 %{?2:%2}}} + +%_package_i18n(g:f:) \ +%%package -n %{?1:%{1}}%{?!1:%{name}}-i18n\ +Summary: Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\ +License: %{license}\ +Group: %{?-g:%{-g*}}%{?!-g:%{group}}\ +\ +%%description -n %{?1:%{1}}%{?!1:%{name}}-i18n\ +Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\ +\ +%%files -n %{?1:%{1}}%{?!1:%{name}}-i18n %{?-f:%{-f}}%{?!-f:-f %{?1:%{1}}%{?!1:%{name}}.lang}\ +%{nil} + + +#------------------------------------------------------------------------------ +# Ocaml macro +# + +%ocaml_sitelib %(if [ -x /usr/bin/ocamlc ]; then ocamlc -where;fi)/site-lib + +#------------------------------------------------------------------------------ +# Redefine RPM sections to allow jumping over them using "--without <section>". +# This an interesting alternative to --short-circuit. +# The following are mostly equivalent: +# % rpmbuild -bi --short-circuit foo.spec && rpmbuild -bb --short-circuit foo.spec +# % rpmbuild -bb --without build foo.spec + +%prep %%prep \ +[ %{_with prep} -eq 1 ] || exit 0 \ +[ %{_with build} -eq 1 ] || exit 0 \ +[ %{_with install} -eq 1 ] || exit 0 \ +%{nil} + +%build %%build \ +[ %{_with install} -eq 1 ] || exit 0 \ +[ %{_with build} -eq 1 ] || exit 0 \ +%{nil} + +%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package_and_restore}}}\ +%%install\ +[ %{_with install} -eq 1 ] || exit 0 \ +%{nil} + +%check %%check \ +[ %{_with check} -eq 1 ] || exit 0 \ +%{nil} + %{load:/etc/rpm/macros.d/*.macros} @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org