%debugcflags -O0 -g -Wall
%rpmcflags %{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}
+%rpmcxxflags %{rpmcflags} -fvisibility-inlines-hidden
%rpmldflags %{nil}
# kernel compiler
%__automake automake -a -c -f --foreign
%__autoconf autoconf %{?debug:-Wall}
+%dependencytracking %{nil}
#-----------------------------------------------------------------
%configure2_13 { \
if [ -n "$LINGUAS" ]; then unset LINGUAS; fi; \
LDFLAGS="${LDFLAGS:-%rpmldflags}" ; export LDFLAGS ; \
CFLAGS="${CFLAGS:-%rpmcflags}" ; export CFLAGS ; \
- CXXFLAGS="${CXXFLAGS:-%rpmcflags}" ; export CXXFLAGS ; \
+ CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" ; export CXXFLAGS ; \
FFLAGS="${FFLAGS:-%rpmcflags}" ; export FFLAGS ; \
CPPFLAGS="${CPPFLAGS:-}" ; export CPPFLAGS ; \
%{?__cc:CC="%{__cc}" ; export CC ; } \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--x-libraries=/usr/X11R6/%{_lib} \
+ %{dependencytracking} \
}
#----------------------------------------------------------------
%configure {./configure \
LDFLAGS="${LDFLAGS:-%rpmldflags}" \
CFLAGS="${CFLAGS:-%rpmcflags}" \
- CXXFLAGS="${CXXFLAGS:-%rpmcflags}" \
+ CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" \
FFLAGS="${FFLAGS:-%rpmcflags}" \
CPPFLAGS="${CPPFLAGS:-}" \
%{?__cc:CC="%{__cc}"} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--x-libraries=/usr/X11R6/%{_lib} \
+ %{dependencytracking} \
}
# ------------------------------------------------------------------------
# Requires name = version-release
%requires_releq() %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}-%%{release}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
+
+%releq_kernel_up() %(LC_ALL="C" rpm -qf --qf 'kernel-up = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -vE "(is not|no such)")
+%releq_kernel_smp() %(LC_ALL="C" rpm -qf --qf 'kernel-smp = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -vE "(is not|no such)")
%requires_releq_kernel_up() %(LC_ALL="C" rpm -qf --qf 'Prereq: kernel-up = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -vE "(is not|no such)")
%requires_releq_kernel_smp() %(LC_ALL="C" rpm -qf --qf 'Prereq: kernel-smp = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -vE "(is not|no such)")
+
%requires_eq_to() %(LC_ALL="C" rpm -q --qf 'Requires: %1 = %%{epoch}:%%{version}\\n' %2 | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
%apache_modules_api %(awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' /usr/include/apache/ap_mmn.h 2>/dev/null || echo ERROR)
if [ -d "$RPM_BUILD_ROOT" ]; then \
echo "Remove RPATH from executable binaries and shared object files."; \
find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*" %{?_noautochrpath:! -regex "%{_noautochrpath}"} | xargs -r file | \
- awk '/ELF.*(executable|shared object)/ {print $1}' | cut -d: -f1 | \
+ awk '/ELF.*(executable.*dynamically linked|shared object)/ {print $1}' | cut -d: -f1 | \
while read file ; do \
rpath= ; \
chmod u+w "$file"; \
# Requires/Provides automation
# exceptions system by Jacek Konieczny <jajcus@pld.org.pl>
#
-%_noautoreqfiles %(sed -e s'/#.*//' /etc/rpm/noautoreqfiles)
-%_noautoprovfiles %(sed -e s'/#.*//' /etc/rpm/noautoprovfiles)
-%_noautoreq %(sed -e s'/#.*//' /etc/rpm/noautoreq)
-%_noautoreqdep %(sed -e s'/#.*//' /etc/rpm/noautoreqdep)
-%_noautoprov %(sed -e s'/#.*//' /etc/rpm/noautoprov)
+%__noautoreqfiles %(sed -e s'/#.*//' /etc/rpm/noautoreqfiles)%{?_noautoreqfiles: %{_noautoreqfiles}}
+%__noautoprovfiles %(sed -e s'/#.*//' /etc/rpm/noautoprovfiles)%{?_noautoprovfiles: %{_noautoprovfiles}}
+%__noautoreq %(sed -e s'/#.*//' /etc/rpm/noautoreq)%{?_noautoreq: %{_noautoreq}}
+%__noautoreqdep %(sed -e s'/#.*//' /etc/rpm/noautoreqdep)%{?_noautoreqdep: %{_noautoreqdep}}
+%__noautoprov %(sed -e s'/#.*//' /etc/rpm/noautoprov)%{?_noautoprov: %{_noautoprov}}
#%_noautocompressdoc %{nil}
#
%_missing_doc_files_terminate_build 1%{nil}
#
%usertestrm /usr/lib/rpm/user_group.sh user testrm
%grouptestrm /usr/lib/rpm/user_group.sh group testrm
+# user group membership management macros
+#
+# Usage:
+# %addusertogroup myuser agroup
+#
+%addusertogroup /usr/lib/rpm/user_group.sh user addtogroup