]> git.pld-linux.org Git - packages/rpm.git/blobdiff - macros.pld.in
use libexec directory for private binaries - optional since FHS 3.0
[packages/rpm.git] / macros.pld.in
index 2906629f4c9b679d2c84625b833b00d8e295dec3..326b00b546611ca5c0ff91d7ef03e2336970c41e 100644 (file)
@@ -1,12 +1,13 @@
-# PLD rpm macros
+# PLD Linux rpm macros
+# vim:ft=spec
 
 %distribution          PLD Linux
-%vendor                        pld 
+%vendor                        pld
 %bugurl                        http://bugs.pld-linux.org/
 %disturl               http://www.pld-linux.org/
 %pld_release           th
 
-# 
+#
 # Per-platform rpm configuration file.
 
 #==============================================================================
@@ -14,7 +15,7 @@
 #
 %_vendor               pld
 %_os                   linux
-%_target_platform      %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu}
+%_target_platform      %{_target_cpu}-%{_vendor}-%{_target_os}
 
 #==============================================================================
 # ---- configure macros.  note that most of these are inherited
 %_exec_prefix          %{_prefix}
 %_bindir               %{_exec_prefix}/bin
 %_sbindir              %{_exec_prefix}/sbin
-%_libexecdir           %{_exec_prefix}/%{_lib}
+%_libexecdir           %{_exec_prefix}/libexec
 %_datadir              %{_prefix}/share
 %_sysconfdir           %{_prefix}/etc
 %_sharedstatedir       /var/lib
 %_localstatedir                /var
-%_lib                  lib
 %_libdir               %{_exec_prefix}/%{_lib}
 %_includedir           %{_prefix}/include
 %_oldincludedir                /usr/include
 %__os_install_post \
 %{__spec_install_post_strip}\
 %{__spec_install_post_chrpath}\
+%{__spec_install_post_compress_modules}\
 %{__spec_install_post_check_so}\
 %{__spec_install_post_check_tmpfiles}\
+%{__spec_install_post_check_shebangs}\
 %{__spec_install_post_compress_docs}\
-%{__spec_install_post_compress_modules}\
 %{__spec_install_post_py_hardlink}\
 %{__spec_install_post_perl_clean}\
 %{__arch_install_post}\
 %{nil}
 
+%__spec_install_post\
+%{expand:%%define __sip_%{?_enable_debug_packages} 1}%{?__sip_1:%{?__debug_package:%{__debug_install_post}}}%{expand:%%undefine __sip_%{?_enable_debug_packages}}\
+%{__arch_install_post}\
+%{__os_install_post}\
+%{nil}
+
 #---------------------------------------------------------------------
 #      Template for debug information sub-package.
 %_enable_debug_packages                1
-%{expand:%%define __sip_%{?_enable_debug_packages} 1}%{?__sip_1:%{?__debug_package:%{__debug_install_post}}}%{expand:%%undefine __sip_%{?_enable_debug_packages}}\
 
 %debug_package \
 %ifnarch noarch\
@@ -87,6 +93,13 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 #---------------------------------------------------------------------
 # Overwrite RPM macros with PLD specific one here.
 
+%__cp                  /bin/cp
+%__find                        /usr/bin/find
+%__grep                        /bin/grep
+%__lua                 %{_bindir}/lua
+%__rc                  %{_bindir}/rc
+%__xar                 %{_bindir}/xar
+
 %_tmppath              %(echo "${TMPDIR:-/var/tmp}")
 %tmpdir                        %{_tmppath}
 
@@ -95,40 +108,88 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 %buildroot             %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
 
 %_source_payload       w9.gzdio
-%_binary_payload       w9.lzdio
+%_binary_payload       w6.lzdio
 
 %_rpmfc_magic_path     /usr/share/file/magic
 
-%undefine              __scriptlet_requires
-
 # provides don't obsolete
 %_upgrade_tag          name
 
+# Disable automatic dependencies on symlinks for now (debuginfo packages pull too many deps)
+%_check_symlink_deps    0 
+# Do not generate executable() dependencies for scriptlets,
+# as it may give false positives, for example:
+# [ ! -x /bin/prog ] || /bin/prog
+# will generate R:/bin/prog and we don't want that as /bin/prog is optional in this case
+# 0 - Use external generator
+# 1 - Use internal generator if available
+# 2 - Use __scriptlet_requires to process scriptlet dependencies
+%_use_internal_dependency_generator    1
+
+%_duplicate_files_terminate_build      1
+%_files_listed_twice_terminate_build   1
+%_unpackaged_subdirs_terminate_build   0
+
+#
+# Export package NEVRA (stamped with install tid) info for HRMIB on this path.
+#
+# XXX  Note: escaped %% for use in headerSprintf()
+%_hrmib_path   /var/cache/hrmib/%{___NVRA}
+
 #-----------------------------------------------------------------
 # CFLAGS and LDFLAGS used to build
 
-%debuginfocflags       %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1: -gdwarf-2 -g2}%{expand:%%undefine __dic_%{?_enable_debug_packages}}
+%debuginfocflags       %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1: -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2}%{expand:%%undefine __dic_%{?_enable_debug_packages}}
 # -feliminate-dwarf2-dups disabled until PR ld/3290 is fixed.
 
-%debugcflags   -O0 -g -Wall
-%debugcppflags %{nil}
-%debugldflags  %{nil}
+%debugcflags   -O0 -g -Wall
+%debugcppflags %{nil}
+%debugldflags  %{nil}
 
-%optldflags    -Wl,--as-needed -Wl,-z,relro -Wl,-z,-combreloc
-%optcppflags   -D_FORTIFY_SOURCE=2
+%optldflags    -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,relro -Wl,-z,combreloc
+%optcppflags   %{nil}
 
 # Warning: those macros are overwritten by macros.build,
 #          left here for compatibility
-%rpmcflags     %{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}
-%rpmcxxflags   %{rpmcflags}
-%rpmldflags    %{!?no_build_with_as_needed:-Wl,--as-needed}
-%rpmcppflags   -D_FORTIFY_SOURCE=2
+%rpmcflags %(awk 'BEGIN {
+       split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I);
+       split("%{?filterout} %{?filterout_c} %{?filterout_ld}",F);
+       %{filter_out}
+}')
+%rpmcppflags       %(awk 'BEGIN {
+       split("%{?debug:%debugcppflags}%{!?debug:%optcppflags}%{?debuginfocppflags}",I);
+       split("%{?filterout} %{?filterout_cpp} %{?filterout_cpp}",F);
+       %{filter_out}
+}')
+%rpmcxxflags       %(awk 'BEGIN {
+       split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I);
+       split("%{?filterout} %{?filterout_cxx} %{?filterout_ld}",F);
+       %{filter_out}
+}')
+%rpmldflags        %(awk 'BEGIN {
+       split("%{?optldflags}",I);
+       split("%{?filterout_ld}",F)
+       %{filter_out}
+}')
+
+# common compilation flags
+%_fortify_cflags       -Wp,-D_FORTIFY_SOURCE=2
+
+# cf http://wiki.mandriva.com/en/Development/Packaging/Problems#format_not_a_string_literal_and_no_format_arguments
+%Werror_cflags         -Wformat -Werror=format-security
+
+%_ssp_cflags           -fstack-protector-strong --param=ssp-buffer-size=4
+%__common_cflags       -O2 -fwrapv -pipe %{Werror_cflags} %{debuginfocflags} %{?_fortify_cflags} %{!?nospecflags:%{?specflags}}
+%__common_cflags_with_ssp      %{__common_cflags} %{?_ssp_cflags}
 
 # arch macros
 %ix86  i386 i486 i586 i686 pentium3 pentium4 athlon
 %x8664 x86_64 amd64 ia32e
 %ppc   ppc ppc7400 ppc7450
 
+# avoid fdatasync syscall flood during database operations.
+%__nofsync     nofsync
 
 #---------------------------------------------------------------------
 #      Expanded at end of %prep
@@ -142,6 +203,8 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 
 %__id          /bin/id
 
+#
+# DO NOT put anything after this %%{load:...} !
 #
 # rpm5 prolog for loading the standard macro
 %{load:/etc/rpm/macros.d/*.macros}
This page took 0.039687 seconds and 4 git commands to generate.