3 %bcond_without selinux # SELinux support
4 %bcond_without tests # tests after build
6 Summary: Tool to optimize relocations in object files
7 Summary(pl.UTF-8): Narzędzie optymalizujące relokacje w plikach obiektów
12 Group: Development/Tools
13 # backup: http://distfiles.gentoo.org/distfiles/%{name}-%{version}.tar.bz2
14 Source0: http://people.redhat.com/jakub/prelink/%{name}-%{version}.tar.bz2
15 # Source0-md5: 4cab1571718a9b25665bd025069a02c7
17 Source2: http://people.redhat.com/jakub/prelink/%{name}.pdf
18 # Source2-md5: 50946b654da9ccb26230cc1e00ccc53c
20 Source4: %{name}.sysconfig
21 Patch0: %{name}-Makefile.patch
22 Patch1: %{name}-fsync.patch
23 Patch2: %{name}-init.patch
24 Patch3: %{name}-md5sha.patch
25 Patch4: %{name}-prelink.h.patch
26 Patch5: %{name}-tests.patch
27 BuildRequires: autoconf >= 2.13
28 BuildRequires: automake >= 1.4
29 BuildRequires: elfutils-devel
30 BuildRequires: glibc-devel >= 2.3
31 %{?with_selinux:BuildRequires: libselinux-devel}
32 BuildRequires: libstdc++-devel
33 BuildRequires: libtool
34 Requires: glibc >= 2.3.4-0.20040722
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 This program replaces relocations in object files with less expensive
40 ones. This allows faster run-time dynamic linking.
42 %description -l pl.UTF-8
43 Ten program zamienia relokacje w plikach obiektów na mniej wymagające.
44 Dzięki temu program jest szybciej konsolidowany w momencie
64 %{!?with_selinux:ac_cv_lib_selinux_is_selinux_enabled=no} \
67 CLFAGS="%{rpmcflags} -D_LARGEFILE64_SOURCE"
69 %{__make} -C testsuite check-harder
70 %{__make} -C testsuite check-cycle
74 rm -rf $RPM_BUILD_ROOT
75 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{sysconfig,rpm,cron.daily}}
78 DESTDIR=$RPM_BUILD_ROOT
80 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
82 cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.daily/prelink
83 cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/prelink
85 install -d $RPM_BUILD_ROOT/var/{lib/misc,log/prelink}
86 touch $RPM_BUILD_ROOT/var/lib/misc/prelink.full
87 touch $RPM_BUILD_ROOT/var/lib/misc/prelink.quick
88 touch $RPM_BUILD_ROOT/var/lib/misc/prelink.force
89 touch $RPM_BUILD_ROOT/var/log/prelink/prelink.log
91 cat > $RPM_BUILD_ROOT/etc/rpm/macros.prelink <<'EOF'
92 # rpm-4.1 verifies prelinked libraries using a prelink undo helper.
93 # Note: The 2nd token is used as argv[0] and "library" is a
94 # placeholder that will be deleted and replaced with the appropriate
96 %%__prelink_undo_cmd %{_sbindir}/prelink prelink -y library
100 rm -rf $RPM_BUILD_ROOT
104 touch /var/lib/misc/prelink.force
107 %defattr(644,root,root,755)
108 %doc AUTHORS ChangeLog NEWS README THANKS TODO prelink.pdf
109 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelink.conf
110 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/prelink
111 /etc/rpm/macros.prelink
112 %attr(755,root,root) /etc/cron.daily/prelink
113 %attr(755,root,root) %{_bindir}/execstack
114 %attr(755,root,root) %{_sbindir}/prelink
115 %{_mandir}/man8/execstack.8*
116 %{_mandir}/man8/prelink.8*
117 %verify(not md5 mtime size) %ghost %config(missingok,noreplace) /var/lib/misc/prelink.full
118 %verify(not md5 mtime size) %ghost %config(missingok,noreplace) /var/lib/misc/prelink.quick
119 %verify(not md5 mtime size) %ghost %config(missingok,noreplace) /var/lib/misc/prelink.force
120 %dir /var/log/prelink
121 %verify(not md5 mtime size) %ghost %config(missingok,noreplace) /var/log/prelink/prelink.log