Add PIE linker flags
[platform/upstream/krb5.git] / packaging / krb5.spec
index 6147e71..9f8e843 100644 (file)
@@ -17,7 +17,7 @@
 
 
 %define build_mini 0
-%define srcRoot krb5-1.10.2
+%define srcRoot krb5-1.15.1
 %define krb5docdir  %{_defaultdocdir}/krb5
 
 Name:           krb5
@@ -28,7 +28,7 @@ BuildRequires:  keyutils
 BuildRequires:  keyutils-devel
 BuildRequires:  libcom_err-devel
 BuildRequires:  ncurses-devel
-Version:        1.10.2
+Version:        1.15.1
 Release:        0
 Summary:        MIT Kerberos5 Implementation--Libraries
 License:        MIT
@@ -36,6 +36,7 @@ Group:          Productivity/Networking/Security
 Source0:         krb5-%{version}.tar.bz2
 Source1:        baselibs.conf
 Source2:        krb5-rpmlintrc
+Source1001:    krb5.manifest
 
 %description
 Kerberos V5 is a trusted-third-party network authentication system,
@@ -58,14 +59,16 @@ Include Files for Development
 
 %prep
 %setup -q -n %{srcRoot}
+cp %{SOURCE1001} .
 
 %build
 # needs to be re-generated
 rm -f src/lib/krb5/krb/deltat.c
 cd src
-./util/reconf
-CFLAGS="$RPM_OPT_FLAGS -I/usr/include/et -fno-strict-aliasing -D_GNU_SOURCE -fPIC " \
+%{?asan:LDFLAGS+=" -ldl -pthread "}
+CFLAGS="$RPM_OPT_FLAGS -I/usr/include/et -fno-strict-aliasing -D_GNU_SOURCE -fPIC -fgnu89-inline -Wl,-pie " \
 ./configure \
+       --host=%{_host} --build=%{_build} \
        --prefix=/usr/lib/mit \
        --sysconfdir=%{_sysconfdir} \
        --mandir=%{_mandir} \
@@ -83,14 +86,14 @@ CFLAGS="$RPM_OPT_FLAGS -I/usr/include/et -fno-strict-aliasing -D_GNU_SOURCE -fPI
         --without-pam \
         --with-system-et \
         --with-system-ss
-make %{?jobs:-j%jobs} 
+make %{?jobs:-j%jobs}
 
 %install
 cd src
-make DESTDIR=%{buildroot} install 
+make DESTDIR=%{buildroot} install
 cd ..
 # Munge the krb5-config script to remove rpaths and CFLAGS.
-sed "s|^CC_LINK=.*|CC_LINK='\$(CC) \$(PROG_LIBPATH)'|g" src/krb5-config > $RPM_BUILD_ROOT/usr/lib/mit/bin/krb5-config
+sed "s|^CC_LINK=.*|CC_LINK='\$(CC) \$(PROG_LIBPATH)'|g" src/build-tools/krb5-config > $RPM_BUILD_ROOT/usr/lib/mit/bin/krb5-config
 # install autoconf macro
 mkdir -p %{buildroot}/%{_datadir}/aclocal
 install -m 644 src/util/ac_check_krb5.m4 %{buildroot}%{_datadir}/aclocal/
@@ -105,15 +108,15 @@ mkdir -p %{buildroot}/etc/sysconfig/SuSEfirewall2.d/services/
 mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/kdb
 mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/preauth
 mkdir -p %{buildroot}/%{_libdir}/krb5/plugins/libkrb5
-# all libs must have permissions 0755 
+# all libs must have permissions 0755
 for lib in `find %{buildroot}/%{_libdir}/ -type f -name "*.so*"`
-do 
-  chmod 0755 ${lib} 
+do
+  chmod 0755 ${lib}
 done
 # and binaries too
 chmod 0755 %{buildroot}/usr/lib/mit/bin/ksu
 find . -type f -name '*.ps' -exec gzip -9 {} \;
-# create rc* links 
+# create rc* links
 # create links for kinit and klist, because of the java ones
 #ln -sf ../../usr/lib/mit/bin/kinit   %{buildroot}/usr/bin/kinit
 #ln -sf ../../usr/lib/mit/bin/klist   %{buildroot}/usr/bin/klist
@@ -144,6 +147,7 @@ rm -rf %{buildroot}/usr/lib/mit/share/locale
 ########################################################
 
 %files devel
+%manifest %{name}.manifest
 %defattr(-,root,root)
 /usr/bin/krb5-config
 %dir /usr/lib/mit
@@ -157,21 +161,20 @@ rm -rf %{buildroot}/usr/lib/mit/share/locale
 %{_libdir}/libkadm5clnt.so
 %{_libdir}/libkadm5srv_mit.so
 %{_libdir}/libkadm5srv.so
+%{_libdir}/libkrad.so
 %{_libdir}/libkdb5.so
 %{_libdir}/libkrb5.so
 %{_libdir}/libkrb5support.so
 %{_libdir}/libverto.so
-%{_libdir}/libverto-k5ev.so
 %{_includedir}/*
 /usr/lib/mit/bin/krb5-config
 /usr/lib/mit/sbin/krb5-send-pr
-/usr/lib/mit/share/gnats
-%{_mandir}/man1/krb5-send-pr.1*
 %{_mandir}/man1/krb5-config.1*
 %{_datadir}/aclocal/ac_check_krb5.m4
-
+%{_libdir}/pkgconfig/*
 
 %files
+%manifest %{name}.manifest
 %defattr(-,root,root)
 %dir %{krb5docdir}
 # add directories
@@ -180,6 +183,7 @@ rm -rf %{buildroot}/usr/lib/mit/share/locale
 %dir %{_libdir}/krb5/plugins/kdb
 %dir %{_libdir}/krb5/plugins/preauth
 %dir %{_libdir}/krb5/plugins/libkrb5
+%dir %{_libdir}/krb5/plugins/tls
 %dir %{_localstatedir}/lib/kerberos/
 %dir %{_localstatedir}/lib/kerberos/krb5kdc
 %attr(0700,root,root) %dir /var/log/krb5
@@ -187,22 +191,19 @@ rm -rf %{buildroot}/usr/lib/mit/share/locale
 %dir /usr/lib/mit/sbin
 %dir /usr/lib/mit/bin
 %doc %{krb5docdir}/README
-#%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/krb5.conf
-#%attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kdc.conf
-#%attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kadm5.acl
-#%attr(0600,root,root) %config(noreplace) %{_localstatedir}/lib/kerberos/krb5kdc/kadm5.dict
 %{_libdir}/libgssapi_krb5.*
 %{_libdir}/libgssrpc.so.*
 %{_libdir}/libk5crypto.so.*
 %{_libdir}/libkadm5clnt_mit.so.*
 %{_libdir}/libkadm5srv_mit.so.*
+%{_libdir}/libkrad.so.*
 %{_libdir}/libkdb5.so.*
 %{_libdir}/libkrb5.so.*
 %{_libdir}/libkrb5support.so.*
 %{_libdir}/libverto.so.*
-%{_libdir}/libverto-k5ev.so.*
 %{_libdir}/krb5/plugins/kdb/*
-#/usr/lib/mit/sbin/*
+%{_libdir}/krb5/plugins/preauth/*
+%{_libdir}/krb5/plugins/tls/*
 /usr/lib/mit/sbin/kadmin.local
 /usr/lib/mit/sbin/kadmind
 /usr/lib/mit/sbin/kpropd
@@ -228,20 +229,18 @@ rm -rf %{buildroot}/usr/lib/mit/share/locale
 /usr/lib/mit/bin/sclient
 /usr/lib/mit/bin/gss-client
 /usr/lib/mit/bin/sim_client
-#/usr/bin/kinit
-#/usr/bin/klist
 %{_mandir}/man1/kvno.1*
 %{_mandir}/man1/kinit.1*
 %{_mandir}/man1/kdestroy.1*
 %{_mandir}/man1/kpasswd.1*
 %{_mandir}/man1/klist.1*
-%{_mandir}/man1/kerberos.1*
 %{_mandir}/man1/ksu.1*
 %{_mandir}/man1/sclient.1*
 %{_mandir}/man1/kadmin.1*
 %{_mandir}/man1/ktutil.1*
 %{_mandir}/man1/k5srvutil.1*
 %{_mandir}/man1/kswitch.1*
+%{_mandir}/man1/krb5-config.1*
 %{_mandir}/man5/*
 %{_mandir}/man5/.k5login.5.gz
 %{_mandir}/man5/.k5identity.5*