diff --git a/gcc.changes b/gcc.changes index 0ce9284..2e23fa9 100644 --- a/gcc.changes +++ b/gcc.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Nov 28 14:03:29 UTC 2012 - rguenther@suse.com + +- Rework gcc-info. + * Install symlinks to the versioned info files and adjust + install_info calls. [bnc#756182] + * Provide uninstall hook that removes the alias entries. + ------------------------------------------------------------------- Thu Oct 4 18:21:01 UTC 2012 - dmueller@suse.com diff --git a/gcc.spec b/gcc.spec index 96d1b14..8eae4a2 100644 --- a/gcc.spec +++ b/gcc.spec @@ -106,21 +106,28 @@ Summary: The system GNU Compiler documentation License: GFDL-1.2 Group: Development/Languages/C and C++ PreReq: %{install_info_prereq} -Requires: gcc%{gcc_version}-info +PreReq: gcc%{gcc_version}-info %description -n gcc-info The system GNU Compiler documentation. -# There is intentionally no postun with install_info_delete as there -# is no way to just remove the aliased entries. The content owners -# install_info_delete will also remove the aliases though. -# install-info does not pick up descriptions from the content. +# install / update the entries %post -n gcc-info -%install_info --info-dir=%{_infodir} --name=cpp --description=\\"The GNU C preprocessor.\\" %{_infodir}/cpp-%{gcc_suffix}.info.gz -%install_info --info-dir=%{_infodir} --name=gcc --description=\\"The GNU Compiler Collection.\\" %{_infodir}/gcc-%{gcc_suffix}.info.gz -%install_info --info-dir=%{_infodir} --name=g++ --description=\\"The GNU C++ compiler.\\" %{_infodir}/g++-%{gcc_suffix}.info.gz -%install_info --info-dir=%{_infodir} --name=gcj --description=\\"Ahead-of-time compiler for the Java language\\" %{_infodir}/gcj-%{gcc_suffix}.info.gz -%install_info --info-dir=%{_infodir} --name=gfortran --description=\\"The GNU Fortran compiler.\\" %{_infodir}/gfortran-%{gcc_suffix}.info.gz +%install_info --info-dir=%{_infodir} --name=cpp --description='The GNU C preprocessor.' %{_infodir}/cpp.info.gz +%install_info --info-dir=%{_infodir} --name=gcc --description='The GNU Compiler Collection.' %{_infodir}/gcc.info.gz +%install_info --info-dir=%{_infodir} --name=g++ --description='The GNU C++ compiler.' %{_infodir}/g++.info.gz +%install_info --info-dir=%{_infodir} --name=gcj --description='Ahead-of-time compiler for the Java language' %{_infodir}/gcj.info.gz +%install_info --info-dir=%{_infodir} --name=gfortran --description='The GNU Fortran compiler.' %{_infodir}/gfortran.info.gz + +# if we uninstall, clean the entries +%preun -n gcc-info +if [ "$1" -eq "0" ] ; then + %install_info --delete --info-dir=%{_infodir} --name=cpp %{_infodir}/cpp.info.gz + %install_info --delete --info-dir=%{_infodir} --name=gcc %{_infodir}/gcc.info.gz + %install_info --delete --info-dir=%{_infodir} --name=g++ %{_infodir}/g++.info.gz + %install_info --delete --info-dir=%{_infodir} --name=gcj %{_infodir}/gcj.info.gz + %install_info --delete --info-dir=%{_infodir} --name=gfortran %{_infodir}/gfortran.info.gz +fi %package -n gcc-c++ Summary: The system GNU C++ Compiler @@ -342,6 +349,7 @@ echo "This is a dummy package to provide a dependency on the system compiler." > mkdir -p $RPM_BUILD_ROOT/lib mkdir -p $RPM_BUILD_ROOT%{_prefix}/bin mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +mkdir -p $RPM_BUILD_ROOT%{_infodir} mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/doc/packages/gcc-objc/ mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/doc/packages/gcc-obj-c++/ # Link all the binaries @@ -384,6 +392,10 @@ for man1 in \ ; do ln -sf $man1-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/$man1.1.gz done +# Link info pages +for info in cpp gcc g++ gcj gfortran ; do + ln -sf $info-%{gcc_suffix}.info.gz $RPM_BUILD_ROOT%{_infodir}/$info.info.gz +done # Provide the traditional /lib/cpp that only handles C cp $RPM_SOURCE_DIR/cpp $RPM_BUILD_ROOT/lib/ chmod 755 $RPM_BUILD_ROOT/lib/cpp @@ -490,8 +502,11 @@ EOF %files -n gcc-info %defattr(-,root,root) -# empty - only for the dependency -%doc README +%{_infodir}/cpp.info.gz +%{_infodir}/gcc.info.gz +%{_infodir}/g++.info.gz +%{_infodir}/gcj.info.gz +%{_infodir}/gfortran.info.gz %if %{build_ada} %files -n gcc-ada