# Requires name = version-release
%requires_releq() %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}-%%{release}\\n' | sed -e 's/ (none):/ /' | grep -v "is not")
-%releq_kernel() %((LC_ALL="C" rpm -qf --qf '%%{name} = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
-%requires_releq_kernel(s:) Requires%{-s:(%{-s*})}: %releq_kernel
+%releq_kernel() %((LC_ALL="C" rpm -qf --qf '%%{name} = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
+%releq_kernel_up() %((LC_ALL="C" rpm -qf --qf '%%{name}-up = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
+%releq_kernel_smp() %((LC_ALL="C" rpm -qf --qf '%%{name}-smp = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
+%requires_releq_kernel(s:) Requires%{-s:(%{-s*})}: %releq_kernel
+%requires_releq_kernel_up(s:) Requires%{-s:(%{-s*})}: %releq_kernel_up
+%requires_releq_kernel_smp(s:) Requires%{-s:(%{-s*})}: %releq_kernel_smp
%requires_eq() %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
%requires_eq_to() %(LC_ALL="C" rpm -q --qf 'Requires: %1 = %%{epoch}:%%{version}\\n' %2 | sed -e 's/ (none):/ /' | grep -v "is not")
echo "Compress man pages: $i"; \
find "$RPM_BUILD_ROOT$i" -name '*.bz2' -print | xargs -r %{__bzip2} -df; \
find "$RPM_BUILD_ROOT$i" -name '*.gz' -print | xargs -r %{__gzip} -dnf; \
+ find $RPM_BUILD_ROOT$i -type l | while read a; do \
+ m=$(readlink $a); \
+ rm -f $a; \
+ echo .so ${m##*/} > $a; \
+ echo >&2 "Converted ${a#$RPM_BUILD_ROOT} from symlink to man link: ${m##*/}"; \
+ done; \
find "$RPM_BUILD_ROOT$i" -type f -size +%{_min_compress_bytes}c -print | xargs -r %{__gzip} -9nf; \
fi; \
done; \
echo "DONE"; \
fi; \
fi; \
- filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*" ! -regex ".*libpthread-[0-9.]*so.*" ! -regex ".*/usr/lib[0-9]*/debug/.*\.debug" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*" %{?_noautostrip:! -regex "%{_noautostrip}"}`; \
- # vim - " \
- if [ -z "$filelist" ]; then \
- return; \
+ filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*/usr/lib[0-9]*/debug/.*\.debug" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*" %{?_noautostrip:! -regex "%{_noautostrip}"} %{?_autostripall:! -regex "%{_autostripall}"} %{?_autostripunneeded:! -regex "%{_autostripunneeded}"} %{?_autostripdebug:! -regex "%{_autostripdebug}"}`; \
+ if [ -n "$filelist" ]; then \
+ filetypes=`echo "$filelist" | xargs -r -d'\\n' file`; \
+ elfexelist=`echo "$filetypes" | awk -F: '/ELF.*executable/ {print $1}'`; \
+ elfsharedlist=`echo "$filetypes" | awk -F: '/LF.*shared object/ {print $1}'`; \
+ archiveslist=`echo "$filetypes" | awk -F '/current ar archive/ {print $1}'`; \
+ if [ -n "$elfexelist" ]; then \
+ printf "Stripping %d ELF executables..." $(echo "$elfexelist" | wc -l); \
+ chmod u+w $elfexelist; \
+ %{__strip} --remove-section=.note --remove-section=.comment $elfexelist; \
+ echo "DONE"; \
+ fi; \
+ if [ -n "$elfsharedlist" ]; then \
+ printf "Stripping %d ELF shared libraries..." $(echo "$elfsharedlist" | wc -l); \
+ chmod u+w $elfsharedlist; \
+ %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $elfsharedlist; \
+ echo "DONE"; \
+ fi; \
+ if [ -n "$archiveslist" ]; then \
+ printf "Stripping %d ar archives..." $(echo "$elfsharedlist" | wc -l); \
+ chmod u+w $archiveslist; \
+ %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
+ echo "DONE"; \
+ fi; \
fi; \
- filetypes=`echo "$filelist" | xargs -r -d'\\n' file`; \
- elfexelist=`echo "$filetypes" | awk -F: '/ELF.*executable/ {print $1}'`; \
- elfsharedlist=`echo "$filetypes" | awk -F: '/LF.*shared object/ {print $1}'`; \
- archiveslist=`echo "$filetypes" | awk -F '/current ar archive/ {print $1}'`; \
- if [ -n "$elfexelist" ]; then \
- printf "Stripping %d ELF executables..." $(echo "$elfexelist" | wc -l); \
+ filelist_all=%{?_autostripall:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripall}"} \
+ filelist_unneeded=%{?_autostripunneeded:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripunneeded}"} \
+ filelist_debug=%{?_autostripdebug:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripdebug}"} \
+ if [ -n "$filelist_all" ]; then \
+ printf "Stripping everything from %d additional files..." $(echo "$filelist_all" | wc -l); \
chmod u+w $elfexelist; \
- %{__strip} --remove-section=.note --remove-section=.comment $elfexelist; \
+ %{__strip} --remove-section=.note --remove-section=.comment $filelist_all; \
echo "DONE"; \
fi; \
- if [ -n "$elfsharedlist" ]; then \
- printf "Stripping %d ELF shared libraries..." $(echo "$elfsharedlist" | wc -l); \
+ if [ -n "$filelist_unneeded" ]; then \
+ printf "Stripping unneeded from %d additional files..." $(echo "$filelist_unneeded" | wc -l); \
chmod u+w $elfsharedlist; \
- %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $elfsharedlist; \
+ %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $filelist_unneeded; \
echo "DONE"; \
fi; \
- if [ -n "$archiveslist" ]; then \
- printf "Stripping %d ar archives..." $(echo "$elfsharedlist" | wc -l); \
+ if [ -n "$filelist_debug" ]; then \
+ printf "Stripping debuginfo from %d additional files..." $(echo "$filelist_debug" | wc -l); \
chmod u+w $archiveslist; \
- %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
+ %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $filelist_debug; \
echo "DONE"; \
fi; \
fi; }; __spec_install_post_strip } } }
%ruby_archdir %(ruby -r rbconfig -e 'print Config::CONFIG["archdir"]' 2>/dev/null || echo ERROR)
%ruby_ridir %(ruby -r rbconfig -e 'include Config; print File.join(CONFIG["datadir"], "ri", CONFIG["ruby_version"], "system")' 2>/dev/null || echo ERROR)
%ruby_rubylibdir %(ruby -r rbconfig -e 'print Config::CONFIG["rubylibdir"]' 2>/dev/null || echo ERROR)
+%ruby_vendorarchdir %(ruby -r rbconfig -e 'print Config::CONFIG["vendorarchdir"]' 2>/dev/null || echo ERROR)
+%ruby_vendorlibdir %(ruby -r rbconfig -e 'print Config::CONFIG["vendorlibdir"]' 2>/dev/null || echo ERROR)
%ruby_sitearchdir %(ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]' 2>/dev/null || echo ERROR)
%ruby_sitelibdir %(ruby -r rbconfig -e 'print Config::CONFIG["sitelibdir"]' 2>/dev/null || echo ERROR)
%ruby_version %(ruby -r rbconfig -e 'print Config::CONFIG["ruby_version"]' 2>/dev/null || echo ERROR)
# Directory where arch-specific (JNI) version-independent jars are installed.
%_jnidir %{_libdir}/java
-
%java_home %([ -f %{_javadir}-utils/java-functions ] || { echo ERROR; exit 0; }; unset JAVA_HOME; . %{_javadir}-utils/java-functions; set_jvm; echo ${JAVA_HOME:-ERROR})
%ant JAVA_HOME=%{java_home} ant
run "$@"\
EOF
+# jpackage 1.7
+# Directory for maven depmaps
+#
+%_mavendepmapdir /etc/maven
+%_mavendepmapfragdir /etc/maven/fragments
+
+#
+# add_to_depmap adds an entry to the depmap. The arguments are:
+#
+# %1 the original groupid
+# %2 the original artifact id
+# %3 the version
+# %4 the new groupid
+# %5 the new artifactid
+#
+
+%add_to_maven_depmap() \
+install -dm 755 $RPM_BUILD_ROOT/%{_mavendepmapfragdir}\
+cat >>$RPM_BUILD_ROOT/%{_mavendepmapfragdir}/%{name}<< EOF\
+<dependency>\
+ <maven>\
+ <groupId>%1</groupId>\
+ <artifactId>%2</artifactId>\
+ <version>%3</version>\
+ </maven>\
+ <jpp>\
+ <groupId>%4</groupId>\
+ <artifactId>%5</artifactId>\
+ <version>%3</version>\
+ </jpp>\
+</dependency>\
+\
+EOF\
+%{nil}
+
+#==============================================================================
+#
+# update_maven_depmap updates the main maven depmap
+#
+%update_maven_depmap() \
+echo -e "<dependencies>\\n" > %{_mavendepmapdir}/maven2-depmap.xml\
+if [ -d %{_mavendepmapfragdir} ] && [ -n "`find %{_mavendepmapfragdir} -type f`" ]; then\
+cat %{_mavendepmapfragdir}/* >> %{_mavendepmapdir}/maven2-depmap.xml\
+fi\
+echo -e "</dependencies>\\n" >> %{_mavendepmapdir}/maven2-depmap.xml
+
+
# PEAR install macros
# Author: Elan Ruusamäe <glen@pld-linux.org>
#
compile() { \
L="<"; [[ '%{*}' != *$L$L* ]] || PATCH_SH="set -x -e;$(cat)" \
set -e -x \
+ local cfgs='%{?with_dist_kernel:%{?with_smp: smp}%{?with_up: up}}%{!?with_dist_kernel: nondist}' \
\
-for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do \
+for cfg in ${cfgs:-dist}; do \
[ -r "%{_kernelsrcdir}/config-$cfg" ] || exit 1 \
\
rm -rf o \
ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h \
%ifarch ppc ppc64 \
install -d o/include/asm \
- [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* o/include/asm \
- [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -snf %{_kernelsrcdir}/include/asm-powerpc/* o/include/asm \
+ [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -snf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* o/include/asm \
+ [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -snf %{_kernelsrcdir}/include/asm-powerpc/* o/include/asm \
%else \
ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} o/include/asm \
%endif \
# -s <suffix> -- suffix to use when installing modules, useful when module
# with same name exists in kernel already
# -n <file> -- name of modprobe config file to use (without .conf extension)
-# for definig aliases, only useful with -s
+# for defining aliases, only useful with -s
%install_kernel_modules(m:d:s:n:) \
%{!?-m:%{error:%{0}: Required module name (-m) missing}exit 1} \
%define KernelD $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver} \
%define ModprobeD $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{_kernel_ver} \
\
-install -d %{KernelD}/%{-d*} \
-%{?-s:install -d %{ModprobeD}} \
+local cfgs='%{?with_dist_kernel:%{?with_smp: smp}%{?with_up: up}}%{!?with_dist_kernel: nondist}' \
\
for MODULE in {%{-m*},}; do \
[ -n "${MODULE}" ] || continue \
- MNAME=${MODULE##*/} \
- %if %{without dist_kernel} \
- install ${MODULE}-nondist.ko \\\
- %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko \
- %{?-s:echo "alias ${MNAME} ${MNAME}-%{-s*}" \\\
- >> %{ModprobeD}/%{-n*}.conf} \
- %else \
- install ${MODULE}-dist.ko \\\
- %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko \
- %{?-s:echo "alias ${MNAME} ${MNAME}-%{-s*}" \\\
- >> %{ModprobeD}/%{-n*}.conf} \
- %endif \
+ for cfg in ${cfgs:-dist}; do \
+ [ "$cfg" = smp ] && suf=smp || suf= \
+ MNAME=${MODULE##*/} \
+ install -D ${MODULE}-$cfg.ko \\\
+ %{KernelD}$suf/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko \
+ %{?-s:install -d %{ModprobeD}$suf \
+ echo "alias ${MNAME} ${MNAME}-%{-s*}" \\\
+ >> %{ModprobeD}$suf/%{-n*}.conf} \
+ done \
done \
%{nil}