16896301 mediator links in GCC 4.5 are broken (incomplete) s11-update
authorStefan Teleman <stefan.teleman@oracle.com>
Fri, 28 Jun 2013 08:41:58 -0700
branchs11-update
changeset 2659 448527b1336a
parent 2658 da82c17b12eb
child 2660 ddf51785f046
16896301 mediator links in GCC 4.5 are broken (incomplete)
components/gcc45/gcc-45-runtime.p5m
components/gcc45/gcc-45.p5m
--- a/components/gcc45/gcc-45-runtime.p5m	Wed Jun 26 14:16:16 2013 -0700
+++ b/components/gcc45/gcc-45-runtime.p5m	Fri Jun 28 08:41:58 2013 -0700
@@ -24,6 +24,7 @@
 set name=pkg.fmri value=pkg:/system/library/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="GCC - 4.5 Runtime"
 set name=com.oracle.info.description value="the GNU Compiler Collection"
+set name=com.oracle.info.tpno value=4456
 set name=info.classification value="org.opensolaris.category.2008:Development/C" \
     value="org.opensolaris.category.2008:Development/C++" \
     value="org.opensolaris.category.2008:Development/Fortran" \
@@ -36,17 +37,6 @@
 
 license gcc45.license license='GPLv3 with Runtime Exception'
 
-dir path=usr
-dir path=usr/lib
-dir path=usr/lib/$(MACH64)
-dir path=usr/gcc
-dir path=usr/gcc/4.5
-dir path=usr/gcc/4.5/lib
-dir path=usr/gcc/4.5/lib/$(MACH64)
-dir path=usr/gcc/4.5/lib/gcc
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/$(MACH64)
 file path=usr/gcc/4.5/lib/libgcc_s.so.1
 file path=usr/gcc/4.5/lib/libgfortran.so.3.0.0
 file path=usr/gcc/4.5/lib/libgomp.so.1.0.0
@@ -88,29 +78,103 @@
 link path=usr/gcc/4.5/lib/libstdc++.so target=libstdc++.so.6.0.14
 link path=usr/gcc/4.5/lib/libstdc++.so.6 target=libstdc++.so.6.0.14
 
-link path=usr/lib/libgcc_s.so.1 target=../gcc/4.5/lib/libgcc_s.so.1 
-link path=usr/lib/libgcc_s.so target=../gcc/4.5/lib/libgcc_s.so 
-link path=usr/lib/libgfortran.so target=../gcc/4.5/lib/libgfortran.so 
-link path=usr/lib/libgfortran.so.3 target=../gcc/4.5/lib/libgfortran.so.3 
-link path=usr/lib/libobjc.so target=../gcc/4.5/lib/libobjc.so 
-link path=usr/lib/libobjc.so.2 target=../gcc/4.5/lib/libobjc.so.2 
-link path=usr/lib/libstdc++.so target=../gcc/4.5/lib/libstdc++.so 
-link path=usr/lib/libstdc++.so.6 target=../gcc/4.5/lib/libstdc++.so.6 
-link path=usr/lib/libgomp.so target=../gcc/4.5/lib/libgomp.so 
-link path=usr/lib/libgomp.so.1 target=../gcc/4.5/lib/libgomp.so.1 
-link path=usr/lib/libssp.so target=../gcc/4.5/lib/libssp.so 
-link path=usr/lib/libssp.so.0 target=../gcc/4.5/lib/libssp.so.0 
-link path=usr/lib/$(MACH64)/libgcc_s.so.1 target=../../gcc/4.5/lib/$(MACH64)/libgcc_s.so.1 
-link path=usr/lib/$(MACH64)/libgcc_s.so target=../../gcc/4.5/lib/$(MACH64)/libgcc_s.so 
-link path=usr/lib/$(MACH64)/libgcc_s_$(MACH64).so target=../../gcc/4.5/lib/$(MACH64)/libgcc_s.so 
-link path=usr/lib/$(MACH64)/libgfortran.so target=../../gcc/4.5/lib/$(MACH64)/libgfortran.so 
-link path=usr/lib/$(MACH64)/libgfortran.so.3 target=../../gcc/4.5/lib/$(MACH64)/libgfortran.so.3 
-link path=usr/lib/$(MACH64)/libstdc++.so target=../../gcc/4.5/lib/$(MACH64)/libstdc++.so 
-link path=usr/lib/$(MACH64)/libstdc++.so.6 target=../../gcc/4.5/lib/$(MACH64)/libstdc++.so.6 
-link path=usr/lib/$(MACH64)/libgomp.so target=../../gcc/4.5/lib/$(MACH64)/libgomp.so 
-link path=usr/lib/$(MACH64)/libgomp.so.1 target=../../gcc/4.5/lib/$(MACH64)/libgomp.so.1 
-link path=usr/lib/$(MACH64)/libssp.so target=../../gcc/4.5/lib/$(MACH64)/libssp.so 
-link path=usr/lib/$(MACH64)/libssp.so.0 target=../../gcc/4.5/lib/$(MACH64)/libssp.so.0 
-link path=usr/lib/$(MACH64)/libobjc.so target=../../gcc/4.5/lib/$(MACH64)/libobjc.so 
-link path=usr/lib/$(MACH64)/libobjc.so.2 target=../../gcc/4.5/lib/$(MACH64)/libobjc.so.2 
-
+# Mediated links for GCC 4.5
+link path=usr/lib/libgcc_s.so.1 \
+    target=../gcc/4.5/lib/libgcc_s.so.1 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libgcc_s.so \
+    target=../gcc/4.5/lib/libgcc_s.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libgfortran.so \
+    target=../gcc/4.5/lib/libgfortran.so  \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libgfortran.so.3 \
+    target=../gcc/4.5/lib/libgfortran.so.3 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libobjc.so \
+    target=../gcc/4.5/lib/libobjc.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libobjc.so.2 \
+    target=../gcc/4.5/lib/libobjc.so.2 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libstdc++.so \
+    target=../gcc/4.5/lib/libstdc++.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libstdc++.so.6 \
+    target=../gcc/4.5/lib/libstdc++.so.6 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libgomp.so \
+    target=../gcc/4.5/lib/libgomp.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libgomp.so.1 \
+    target=../gcc/4.5/lib/libgomp.so.1 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libssp.so \
+    target=../gcc/4.5/lib/libssp.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/libssp.so.0 \
+    target=../gcc/4.5/lib/libssp.so.0 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libgcc_s.so.1 \
+    target=../../gcc/4.5/lib/$(MACH64)/libgcc_s.so.1 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libgcc_s.so \
+    target=../../gcc/4.5/lib/$(MACH64)/libgcc_s.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libgcc_s_$(MACH64).so \
+    target=../../gcc/4.5/lib/$(MACH64)/libgcc_s.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libgfortran.so \
+    target=../../gcc/4.5/lib/$(MACH64)/libgfortran.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libgfortran.so.3 \
+    target=../../gcc/4.5/lib/$(MACH64)/libgfortran.so.3 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libstdc++.so \
+    target=../../gcc/4.5/lib/$(MACH64)/libstdc++.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libstdc++.so.6 \
+    target=../../gcc/4.5/lib/$(MACH64)/libstdc++.so.6 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libgomp.so \
+    target=../../gcc/4.5/lib/$(MACH64)/libgomp.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libgomp.so.1 \
+    target=../../gcc/4.5/lib/$(MACH64)/libgomp.so.1 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libssp.so \
+    target=../../gcc/4.5/lib/$(MACH64)/libssp.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libssp.so.0 \
+    target=../../gcc/4.5/lib/$(MACH64)/libssp.so.0 \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libobjc.so \
+    target=../../gcc/4.5/lib/$(MACH64)/libobjc.so \
+    mediator=gcc-runtime mediator-version=4.5
+    
+link path=usr/lib/$(MACH64)/libobjc.so.2 \
+    target=../../gcc/4.5/lib/$(MACH64)/libobjc.so.2 \
+    mediator=gcc-runtime mediator-version=4.5
--- a/components/gcc45/gcc-45.p5m	Wed Jun 26 14:16:16 2013 -0700
+++ b/components/gcc45/gcc-45.p5m	Fri Jun 28 08:41:58 2013 -0700
@@ -25,6 +25,7 @@
 set name=pkg.fmri value=pkg:/developer/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="GCC - 4.5 Compilers"
 set name=com.oracle.info.description value="the GNU Compiler Collection"
+set name=com.oracle.info.tpno value=4456
 set name=info.classification value="org.opensolaris.category.2008:Development/C" \
     value="org.opensolaris.category.2008:Development/C++" \
     value="org.opensolaris.category.2008:Development/Fortran" \
@@ -37,123 +38,6 @@
 
 license gcc45.license license='GPLv3 with Runtime Exception, FDLv1.2'
 
-dir path=usr
-dir path=usr/bin
-dir path=usr/gcc
-dir path=usr/gcc/4.5
-dir path=usr/gcc/4.5/bin
-dir path=usr/gcc/4.5/include
-dir path=usr/gcc/4.5/include/c++
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/$(GNU_ARCH)
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/$(GNU_ARCH)/$(MACH64)
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/$(GNU_ARCH)/$(MACH64)/bits
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/$(GNU_ARCH)/bits
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/backward
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/bits
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/debug
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/decimal
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/basic_tree_policy
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/bin_search_tree_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/binary_heap_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/binomial_heap_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/binomial_heap_base_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/eq_fn
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/gp_hash_table_map_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/hash_fn
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/left_child_next_sibling_heap_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/list_update_map_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/list_update_policy
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/ov_tree_map_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/pairing_heap_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/pat_trie_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/rb_tree_map_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/rc_binomial_heap_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/resize_policy
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/splay_tree_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/thin_heap_
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/tree_policy
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/trie_policy
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/unordered_iterator
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/parallel
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/profile
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/profile/impl
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/tr1
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/tr1_impl
-dir path=usr/gcc/4.5/lib
-dir path=usr/gcc/4.5/lib/$(MACH64)
-dir path=usr/gcc/4.5/lib/gcc
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/$(MACH64)
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/finclude
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/include
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/include-fixed
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/include/objc
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/include/ssp
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/install-tools
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/install-tools/include
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include/ada
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include/ada/gcc-interface
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include/config
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include/config/$(MACH)
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include/cp
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include/java
-dir path=usr/gcc/4.5/lib/gcc/$(GNU_ARCH)/$(COMPONENT_VERSION)/plugin/include/objc
-dir path=usr/gcc/4.5/share
-dir path=usr/gcc/4.5/share/info
-dir path=usr/gcc/4.5/share/gcc-$(COMPONENT_VERSION)
-dir path=usr/gcc/4.5/share/gcc-$(COMPONENT_VERSION)/python
-dir path=usr/gcc/4.5/share/gcc-$(COMPONENT_VERSION)/python/libstdcxx
-dir path=usr/gcc/4.5/share/gcc-$(COMPONENT_VERSION)/python/libstdcxx/v6
-dir path=usr/gcc/4.5/share/locale
-dir path=usr/gcc/4.5/share/locale/be
-dir path=usr/gcc/4.5/share/locale/be/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/ca
-dir path=usr/gcc/4.5/share/locale/ca/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/da
-dir path=usr/gcc/4.5/share/locale/da/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/de
-dir path=usr/gcc/4.5/share/locale/de/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/el
-dir path=usr/gcc/4.5/share/locale/el/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/es
-dir path=usr/gcc/4.5/share/locale/es/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/fi
-dir path=usr/gcc/4.5/share/locale/fi/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/fr
-dir path=usr/gcc/4.5/share/locale/fr/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/id
-dir path=usr/gcc/4.5/share/locale/id/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/ja
-dir path=usr/gcc/4.5/share/locale/ja/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/nl
-dir path=usr/gcc/4.5/share/locale/nl/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/ru
-dir path=usr/gcc/4.5/share/locale/ru/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/sr
-dir path=usr/gcc/4.5/share/locale/sr/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/sv
-dir path=usr/gcc/4.5/share/locale/sv/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/tr
-dir path=usr/gcc/4.5/share/locale/tr/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/uk
-dir path=usr/gcc/4.5/share/locale/uk/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/vi
-dir path=usr/gcc/4.5/share/locale/vi/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/zh_CN
-dir path=usr/gcc/4.5/share/locale/zh_CN/LC_MESSAGES
-dir path=usr/gcc/4.5/share/locale/zh_TW
-dir path=usr/gcc/4.5/share/locale/zh_TW/LC_MESSAGES
-dir path=usr/gcc/4.5/share/man
-dir path=usr/gcc/4.5/share/man/man1
-dir path=usr/gcc/4.5/share/man/man7
 file path=usr/gcc/4.5/bin/$(GNU_ARCH)-g++
 file path=usr/gcc/4.5/bin/cpp
 file path=usr/gcc/4.5/bin/gcc
@@ -444,7 +328,7 @@
 file path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
 file path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
 file path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
-dir path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+file path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
 file path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
 file path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
 file path=usr/gcc/4.5/include/c++/$(COMPONENT_VERSION)/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
@@ -1534,20 +1418,57 @@
 hardlink path=usr/gcc/4.5/bin/c++ target=$(GNU_ARCH)-g++
 hardlink path=usr/gcc/4.5/bin/g++ target=$(GNU_ARCH)-g++
 
-link path=usr/bin/g++ target=../gcc/4.5/bin/g++ 
-link path=usr/bin/gfortran target=../gcc/4.5/bin/gfortran 
-link path=usr/bin/gcc target=../gcc/4.5/bin/gcc 
-link path=usr/bin/gcov target=../gcc/4.5/bin/gcov 
-link path=usr/bin/gcpp target=../gcc/4.5/bin/cpp 
-link path=usr/share/man/man1/g++.1 target=../../../gcc/4.5/share/man/man1/g++.1
-link path=usr/share/man/man1/gfortran.1 target=../../../gcc/4.5/share/man/man1/gfortran.1
-link path=usr/share/man/man1/gcc.1 target=../../../gcc/4.5/share/man/man1/gcc.1
-link path=usr/share/man/man1/gcov.1 target=../../../gcc/4.5/share/man/man1/gcov.1
-link path=usr/share/man/man1/gcpp.1 target=../../../gcc/4.5/share/man/man1/cpp.1
+# Mediated links for gcc binaries in /usr/bin
+link path=usr/bin/c++ target=../gcc/4.5/bin/c++ \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/bin/g++ target=../gcc/4.5/bin/g++ \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/bin/gcc target=../gcc/4.5/bin/gcc \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/bin/gcov target=../gcc/4.5/bin/gcov \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/bin/gcpp target=../gcc/4.5/bin/cpp \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/bin/gfortran target=../gcc/4.5/bin/gfortran \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/share/man/man1/g++.1 \
+    target=../../../gcc/4.5/share/man/man1/g++.1 \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/share/man/man1/gcc.1 \
+    target=../../../gcc/4.5/share/man/man1/gcc.1 \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/share/man/man1/gcov.1 \
+    target=../../../gcc/4.5/share/man/man1/gcov.1 \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/share/man/man1/gcpp.1 \
+    target=../../../gcc/4.5/share/man/man1/cpp.1 \
+    mediator=gcc mediator-version=4.5
+    
 link path=usr/share/man/man7/fsf-funding.7 \
-    target=../../../gcc/4.5/share/man/man7/fsf-funding.7
-link path=usr/share/man/man7/gfdl.7 target=../../../gcc/4.5/share/man/man7/gfdl.7
-link path=usr/share/man/man7/gpl.7 target=../../../gcc/4.5/share/man/man7/gpl.7
+    target=../../../gcc/4.5/share/man/man7/fsf-funding.7 \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/share/man/man7/gfdl.7 \
+    target=../../../gcc/4.5/share/man/man7/gfdl.7 \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/share/man/man1/gfortran.1 \
+    target=../../../gcc/4.5/share/man/man1/gfortran.1 \
+    mediator=gcc mediator-version=4.5
+    
+link path=usr/share/man/man7/gpl.7 \
+    target=../../../gcc/4.5/share/man/man7/gpl.7 \
+    mediator=gcc mediator-version=4.5
+    
 
 # gcc 4.5 on x86 uses the CRT files in /usr/lib, and gcc 4.5 on SPARC 
 # does not.  Any upgrade to this package should reverify this and adjust