Update compiler executable lists, make their package triggers more targeted.
This commit is contained in:
parent
d54c7baca2
commit
21996824a3
99
ccache.spec
99
ccache.spec
@ -1,8 +1,15 @@
|
||||
%define compilers gcc g++ cc c++ gcc296 g++296 gcc32 c++32 g++32 gcc34 c++34 g++34 gcc44 g++44 g++-libstdc++-so_7 avr-gcc avr-c++ avr-g++ arm-gp2x-linux-gcc arm-gp2x-linux-c++ arm-gp2x-linux-g++ msp430-gcc
|
||||
%define pkgs gcc, gcc-c++, compat-gcc, compat-gcc-c++, compat-gcc-32, compat-gcc-32-c++, gcc34, gcc34-c++, compat-gcc-34, compat-gcc-34-c++, gcc44, gcc44-c++, libstdc++so7-devel, avr-gcc, avr-gcc-c++, arm-gp2x-linux-gcc, arm-gp2x-linux-gcc-c++, msp430-gcc
|
||||
%ifarch x86_64
|
||||
%global archs %{ix86} x86_64
|
||||
%else
|
||||
%ifarch %{ix86}
|
||||
%global archs %{ix86}
|
||||
%else
|
||||
%global archs %{_target_cpu}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%define abs2rel() perl -MFile::Spec -e 'print File::Spec->abs2rel(@ARGV)' %1 %2
|
||||
%{expand: %%define relccache %(%abs2rel %{_bindir}/ccache %{_libdir}/ccache)}
|
||||
%global relccache %(%abs2rel %{_bindir}/ccache %{_libdir}/ccache)
|
||||
|
||||
Name: ccache
|
||||
Version: 3.1.3
|
||||
@ -45,19 +52,33 @@ make %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT %{name}-%{version}.compilers
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
||||
install -pm 644 %{name}.sh %{name}.csh $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
||||
install -dm 755 $RPM_BUILD_ROOT%{_libdir}/ccache
|
||||
for name in %{compilers} ; do
|
||||
for c in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do
|
||||
ln -s %{relccache} $RPM_BUILD_ROOT%{_libdir}/ccache/$c
|
||||
echo "%ghost %{_libdir}/ccache/$c" >> %{name}-%{version}.compilers
|
||||
done
|
||||
done
|
||||
|
||||
install -dm 770 $RPM_BUILD_ROOT%{_var}/cache/ccache
|
||||
|
||||
# %%ghost files for ownership, keep in sync with triggers
|
||||
install -dm 755 $RPM_BUILD_ROOT%{_libdir}/ccache
|
||||
for n in cc gcc g++ c++ ; do
|
||||
ln -s %{relccache} $RPM_BUILD_ROOT%{_libdir}/ccache/$n
|
||||
for p in avr- arm-gp2x-linux- msp430- ; do
|
||||
ln -s %{relccache} $RPM_BUILD_ROOT%{_libdir}/ccache/$p$n
|
||||
done
|
||||
for s in 32 34 4 44 ; do
|
||||
ln -s %{relccache} $RPM_BUILD_ROOT%{_libdir}/ccache/$n$s
|
||||
done
|
||||
for a in %{archs} ; do
|
||||
ln -s %{relccache} \
|
||||
$RPM_BUILD_ROOT%{_libdir}/ccache/$a-%{_vendor}-%{_target_os}-$n
|
||||
done
|
||||
done
|
||||
find $RPM_BUILD_ROOT%{_libdir}/ccache -type l | \
|
||||
sed -e "s|^$RPM_BUILD_ROOT|%%ghost |" > %{name}-%{version}.compilers
|
||||
|
||||
|
||||
%check
|
||||
make check
|
||||
@ -67,25 +88,46 @@ make check
|
||||
rm -fr $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%define ccache_trigger(p:) \
|
||||
%triggerin -- %{-p*}\
|
||||
for n in %* ; do\
|
||||
[ ! -x %{_bindir}/$n ] || ln -sf %{relccache} %{_libdir}/ccache/$n\
|
||||
for a in %{archs} ; do\
|
||||
[ ! -x %{_bindir}/$a-%{_vendor}-%{_target_os}-$n ] || \\\
|
||||
ln -sf %{relccache} %{_libdir}/ccache/$a-%{_vendor}-%{_target_os}-$n\
|
||||
done\
|
||||
done\
|
||||
:\
|
||||
%triggerpostun -- %{-p*}\
|
||||
for n in %* ; do\
|
||||
[ -x %{_bindir}/$n ] || rm -f %{_libdir}/ccache/$n\
|
||||
for a in %{archs} ; do\
|
||||
[ -x %{_bindir}/$a-%{_vendor}-%{_target_os}-$n ] || \\\
|
||||
rm -f %{_libdir}/ccache/$a-%{_vendor}-%{_target_os}-$n\
|
||||
done\
|
||||
done\
|
||||
:\
|
||||
%{nil}
|
||||
|
||||
%ccache_trigger -p arm-gp2x-linux-gcc arm-gp2x-linux-cc arm-gp2x-linux-gcc
|
||||
%ccache_trigger -p arm-gp2x-linux-gcc-c++ arm-gp2x-linux-c++ arm-gp2x-linux-g++
|
||||
%ccache_trigger -p avr-gcc avr-cc avr-gcc
|
||||
%ccache_trigger -p avr-gcc-c++ avr-c++ avr-g++
|
||||
%ccache_trigger -p compat-gcc-32 cc32 gcc32
|
||||
%ccache_trigger -p compat-gcc-32-c++ c++32 g++32
|
||||
%ccache_trigger -p compat-gcc-34 cc34 gcc34
|
||||
%ccache_trigger -p compat-gcc-34-c++ c++34 g++34
|
||||
%ccache_trigger -p gcc cc gcc
|
||||
%ccache_trigger -p gcc-c++ c++ g++
|
||||
%ccache_trigger -p gcc4 cc4 gcc4
|
||||
%ccache_trigger -p gcc4-c++ c++4 g++4
|
||||
%ccache_trigger -p gcc44 cc4 gcc44
|
||||
%ccache_trigger -p gcc44-c++ c++44 g++44
|
||||
%ccache_trigger -p msp430-gcc msp430-cc msp430-gcc
|
||||
|
||||
%pre
|
||||
getent group ccache >/dev/null || groupadd -r ccache || :
|
||||
|
||||
%triggerin -- %{pkgs}
|
||||
for name in %{compilers} ; do
|
||||
for c in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do
|
||||
[ ! -x %{_bindir}/$c ] || ln -sf %{relccache} %{_libdir}/ccache/$c
|
||||
done
|
||||
done
|
||||
:
|
||||
|
||||
%triggerpostun -- %{pkgs}
|
||||
for name in %{compilers} ; do
|
||||
for c in $name %{_target_cpu}-%{_vendor}-%{_target_os}-$name ; do
|
||||
[ -x %{_bindir}/$c ] || rm -f %{_libdir}/ccache/$c
|
||||
done
|
||||
done
|
||||
:
|
||||
|
||||
|
||||
%files -f %{name}-%{version}.compilers
|
||||
%defattr(-,root,root,-)
|
||||
@ -98,6 +140,9 @@ done
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Dec 5 2010 Ville Skyttä <ville.skytta@iki.fi>
|
||||
- Update compiler executable lists, make their package triggers more targeted.
|
||||
|
||||
* Sun Nov 28 2010 Ville Skyttä <ville.skytta@iki.fi> - 3.1.3-1
|
||||
- Update to 3.1.3, fixes #657857.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user