d59dcd3
Build binaries in this package as PIEs and install shared libraries with the
d59dcd3
execute bit set on them.  Prune out the -L/usr/lib*, PIE flags, and CFLAGS
d59dcd3
where they might leak out and affect apps which just want to link with the
d59dcd3
libraries (RT#TBD).
d067ec2
d067ec2
diff -up krb5-1.7/src/config/shlib.conf krb5-1.7/src/config/shlib.conf
d067ec2
--- krb5-1.7/src/config/shlib.conf	2008-12-08 17:33:07.000000000 -0500
d067ec2
+++ krb5-1.7/src/config/shlib.conf	2009-06-04 14:01:28.000000000 -0400
d067ec2
@@ -421,6 +421,8 @@ mips-*-netbsd*)
d067ec2
 	RPATH_FLAG='-Wl,-rpath -Wl,'
d067ec2
 	PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)'
d067ec2
 	CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)'
d067ec2
+	CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) -pie $(LDFLAGS)'
d067ec2
+	INSTALL_SHLIB='${INSTALL} -m755'
d067ec2
 	CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)'
d067ec2
 	CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)'
d067ec2
 	CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)'
d067ec2
diff -up krb5-1.7/src/krb5-config.in krb5-1.7/src/krb5-config.in
d067ec2
--- krb5-1.7/src/krb5-config.in	2009-06-04 14:01:28.000000000 -0400
d067ec2
+++ krb5-1.7/src/krb5-config.in	2009-06-04 14:01:28.000000000 -0400
d59dcd3
@@ -187,8 +187,13 @@ if test -n "$do_libs"; then
d59dcd3
 	    -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \
d59dcd3
 	    -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \
d067ec2
 	    -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \
d59dcd3
-	    -e 's#\$(CFLAGS)#'"$CFLAGS"'#'`
d59dcd3
+	    -e 's#\$(CFLAGS)##'`
d067ec2
 
d067ec2
+    if test `dirname $libdir` = /usr ; then
d067ec2
+        lib_flags=`echo $lib_flags | sed -e "s#-L$libdir##" -e "s#$RPATH_FLAG$libdir##"`
d067ec2
+    fi
d067ec2
+    lib_flags=`echo $lib_flags | sed -e "s#-fPIE##" -e "s#-pie##"`
d067ec2
+
d067ec2
     if test $library = 'kdb'; then
d067ec2
 	lib_flags="$lib_flags -lkdb5 $KDB5_DB_LIB"
d067ec2
 	library=krb5