]> TLD Linux GIT Repositories - packages/rpm-tld-macros.git/blobdiff - macros.tld
- merged 2011 from PLD
[packages/rpm-tld-macros.git] / macros.tld
index 7e26d8c537fb4cf256c394e81bf04f4a717659df..366637d7f08ca93032de75443cb6f0138b60dacb 100644 (file)
@@ -1,7 +1,7 @@
 # vim:ts=4 sw=4 noet ft=spec
 #
 # TLD Linux rpm macros.
-# <https://www.tld-linux.org/>
+# <https://tld-linux.org/>
 
 %distribution  TLD Linux
 %vendor                tld
@@ -82,7 +82,6 @@
 %{__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_py_hardlink}\
 #      Template for debug information sub-package.
 %_enable_debug_packages                1
 
-%debug_package \
-%ifnarch noarch\
-%global __debug_package 1\
+%_debuginfo_template \
 %package debuginfo\
 Summary: Debug information for package %{name}\
 Summary(pl.UTF-8): Informacje dla debuggera dla pakietu %{name}\
@@ -119,6 +116,32 @@ Informacje te są przydatne przy rozwijaniu aplikacji używających tego\
 pakietu oraz przy odpluskwianiu samego pakietu.\
 %files debuginfo -f debugfiles.list\
 %defattr(-,root,root)\
+%{nil}
+
+%_debugsource_template \
+%package debugsource\
+Summary: Debug sources for package %{name}\
+Summary(pl.UTF-8): Źródła dla debuggera dla pakietu %{name}\
+Group: Development/Debug\
+AutoReqProv: 0\
+%description debugsource\
+This package provides debug sources for package %{name}.\
+Debug sources are useful when developing applications that use this\
+package or when debugging this package.\
+%description debugsource -l pl.UTF-8\
+Ten pakiet dostarcza źródła dla debuggera dla pakietu %{name}.\
+Źródła te są przydatne przy rozwijaniu aplikacji używających tego\
+pakietu oraz przy odpluskwianiu samego pakietu.\
+%files debugsource -f debugsourcefiles.list\
+%{nil}
+
+%debug_package \
+%ifnarch noarch\
+%global __debug_package 1\
+%_debuginfo_template\
+%if 0%{?_debugsource_packages}\
+%_debugsource_template\
+%endif\
 %endif\
 %{nil}
 
@@ -227,7 +250,7 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 %__make                /usr/bin/make %{?_make_opts} %{?_smp_mflags}
 %__scons       /usr/bin/scons %{?_smp_mflags}
 %__waf         /usr/bin/waf %{?_smp_mflags}
-%__cmake       /usr/bin/cmake -Wno-dev
+%__cmake       /usr/bin/cmake
 %__meson       /usr/bin/meson
 %__meson_wrap_mode     nodownload
 %__ninja       /usr/bin/ninja
@@ -461,7 +484,7 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
 %{?__cxx:CXX="${CXX:-%{__cxx}}"} \\\
 CPPFLAGS="${CPPFLAGS:-%{rpmcppflags}}" \\\
 %{__cmake} \\\
-       -DCMAKE_VERBOSE_MAKEFILE=BOOL:ON \\\
+       -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\
        -DCMAKE_BUILD_TYPE=%{!?debug:TLD}%{?debug:Debug} \\\
        -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \\\
        -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \\\
@@ -629,6 +652,10 @@ LC_ALL=C.UTF-8 %{__meson} \
 %__true_false() %{expand:%%{?with_%{1}:true}%%{!?with_%{1}:false}}
 %__true_false_not() %{expand:%%{?with_%{1}:false}%%{!?with_%{1}:true}}
 
+# expands to enabled or disabled based on bcond; for use with meson or cmake
+%__enabled_disabled() %{expand:%%{?with_%{1}:enabled}%%{!?with_%{1}:disabled}}
+%__enabled_disabled_not() %{expand:%%{?with_%{1}:disabled}%%{!?with_%{1}:enabled}}
+
 # for use with cmake:
 # Usage: cmake_on_off BCOND_NAME [OPTION_NAME]
 # BuildRequires: rpmbuild(macros) >= 1.742
@@ -644,6 +671,8 @@ LC_ALL=C.UTF-8 %{__meson} \
 %%prep\
 %{nil}
 
+%_build_id_links       %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1:alldebug}%{?__dic_0:none}%{expand:%%undefine __dic_%{?_enable_debug_packages}}
+
 # If non-empty "debug" macro defined, add "dbg" suffix to release number
 %_rpmfilename          %%{NAME}-%%{VERSION}-%%{RELEASE}%{?debug:dbg}.%%{ARCH}.rpm
 
@@ -943,14 +972,6 @@ __spec_install_post_check_execstack() { \
        %{!?no_install_post_check_execstack:return $fail;} \
 }; __spec_install_post_check_execstack }}
 
-#-----------------------------------------------------------------
-# Do not verify if each directory under /var/run contains
-# tmpfiles.d configuration. TLD Linux doesn't use tmpfiles.d.
-#
-%no_install_post_check_tmpfiles 1
-#
-%__spec_install_post_check_tmpfiles %{nil}
-
 #-----------------------------------------------------------------
 # Verify that scripts have reasonable shebangs
 # Test spec: see "test/spec_install_post_check_shebangs" branch on packages/test.spec
@@ -1115,7 +1136,6 @@ fi; \
 #
 %__noautoreqfiles      %(sed -e s'/#.*//' /etc/rpm/noautoreqfiles)%{?_noautoreqfiles: %{_noautoreqfiles}}
 %__noautoprovfiles     %(sed -e s'/#.*//' /etc/rpm/noautoprovfiles)%{?_noautoprovfiles: %{_noautoprovfiles}}
-%__noautoreqdep                %(sed -e s'/#.*//' /etc/rpm/noautoreqdep)%{?_noautoreqdep: %{_noautoreqdep}}
 %__noautoprov          %(sed -e s'/#.*//' /etc/rpm/noautoprov) \
        %{?_noautoprov: %{_noautoprov}} \
        %{?_noautoprov_java: %{__noauto_regexp_helper -p java %{_noautoprov_java}}} \
@@ -1127,6 +1147,7 @@ fi; \
        %{nil}
 %__noautoreq           %(sed -e s'/#.*//' /etc/rpm/noautoreq) \
        %{?_noautoreq: %{_noautoreq}} \
+       %{?_noautoreqdep: %{_noautoreqdep}} \
        %{?_noautoreq_java: %{__noauto_regexp_helper -p java %{_noautoreq_java}}} \
        %{?_noautoreq_mono: %{__noauto_regexp_helper -p mono %{_noautoreq_mono}}} \
        %{?_noautoreq_pear: %{__noauto_regexp_helper -p pear %{_noautoreq_pear}}} \
@@ -1135,6 +1156,27 @@ fi; \
        %{?_noautoreq_py3egg: %{__noauto_regexp_helper -p python3egg %{_noautoreq_py3egg}}} \
        %{nil}
 
+%__noautodep_helper() %(awk -v x="%*" 'BEGIN {
+       RS = "\n([ \t]+\n)+";
+       FS = " ";
+       split(x, F);
+       if (length(F) > 0) {
+               printf("(");
+               for (i=1; i<=length(F); i++) {
+                       s = F[i];
+                       sub(/#.*/, "z&z", s);
+                       if (s ~ /^$/) { continue; };
+                       printf(s);
+                       if (i != length(F)) { printf("|"); };
+               };
+               printf(")");
+       }
+}')
+%__requires_exclude_from       %{__noautodep_helper %{__noautoreqfiles}}%{nil}
+%__provides_exclude_from       %{__noautodep_helper %{__noautoprovfiles}}%{nil}
+%__requires_exclude                    %{__noautodep_helper %{__noautoreq}}%{nil}
+%__provides_exclude                    %{__noautodep_helper %{__noautoprov}}%{nil}
+
 # helper for wrapping _noautoreq between perl() or pear()
 # Author: Elan Ruusamäe <glen@pld-linux.org>
 # Usage: