Sophie

Sophie

distrib > Mandriva > current > i586 > media > contrib-release-src > by-pkgid > 4b0164bd90d742e58f9385b55d61bc6c > files > 7

prelink-0.4.2-1.20091104.1mdv2010.1.src.rpm

%define	name	prelink
%define	version	0.4.2
%define	date	20091104
%define rel 1
%define	release	%mkrel 1.%{date}.%{rel}

Summary:	An ELF prelinking utility
Name:		%{name}
Version:	%{version}
Release:	%{release}
License:	GPL
Epoch:		1
Group:		System/Base
Source0:	ftp://people.redhat.com/jakub/prelink/%{name}-%{date}.tar.bz2
Source2:	prelink.conf
Source3:	prelink.cron
Source4:	prelink.sysconfig
Patch0:		prelink-0.3.10-init.patch
Patch1:		cron-use-ionice.diff
Patch2:		conf-skip-debug-files.patch

Buildroot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires:	elfutils-static-devel glibc-static-devel perl
Requires:	coreutils findutils
Requires:	util-linux gawk grep
Requires(post):	rpm-helper

%description
The prelink package contains a utility which modifies ELF shared libraries
and executables, so that far fewer relocations need to be resolved at runtime
and thus programs come up faster.

%prep
%setup -q -n %{name}
%patch0 -p1 -b .init
cp -a %{SOURCE2} %{SOURCE3} %{SOURCE4} .
%patch1 -p0 -b .ionice
%patch2 -p0 -b .skip_debug
perl -MConfig -e 'print "-l $Config{archlib}\n-l $Config{installvendorarch}\n"' >> prelink.conf

%build
%configure2_5x --disable-shared
%make

%check
echo ====================TESTING=========================
%make -C testsuite check-harder
%make -C testsuite check-cycle
echo ====================TESTING END=====================

%install
rm -rf $RPM_BUILD_ROOT
%{makeinstall}
mkdir -p %{buildroot}%{_sys_macros_dir}
cp -a prelink.conf %{buildroot}%{_sysconfdir}

mkdir -p %{buildroot}%{_sysconfdir}/{sysconfig,cron.daily,logrotate.d}

cp -a prelink.cron %{buildroot}%{_sysconfdir}/cron.daily/prelink
cp -a prelink.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/prelink
chmod 755 %{buildroot}%{_sysconfdir}/cron.daily/prelink
chmod 644 %{buildroot}%{_sysconfdir}/{sysconfig/prelink,prelink.conf}
cat > %{buildroot}%{_sys_macros_dir}/%name.macros <<"EOF"
# rpm-4.1 verifies prelinked libraries using a prelink undo helper.
#       Note: The 2nd token is used as argv[0] and "library" is a
#       placeholder that will be deleted and replaced with the appropriate
#       library file path.
%%__prelink_undo_cmd     %{_sbindir}/prelink prelink -y library
EOF

chmod 644 %{buildroot}%{_sys_macros_dir}/%name.macros

mkdir -p %{buildroot}{%{_localstatedir}/lib/misc,%{_var}/log/prelink}
touch %{buildroot}%{_localstatedir}/lib/misc/prelink.full
touch %{buildroot}%{_localstatedir}/lib/misc/prelink.force
touch %{buildroot}/%{_var}/log/prelink/prelink.log

cat > %buildroot%{_sysconfdir}/logrotate.d/%{name} << EOF
/var/log/prelink.log {
    missingok
    notifempty
}
EOF

mkdir -p %{buildroot}/%{_sysconfdir}/prelink.conf.d
touch %{buildroot}/%{_sysconfdir}/prelink.cache

%post
%create_ghostfile %{_localstatedir}/lib/misc/prelink.full root root 644
%create_ghostfile %{_localstatedir}/lib/misc/prelink.force root root 644
%create_ghostfile %{_var}/log/prelink.log root root 600

%preun
if [ "$1" = "0" ]; then
 echo undo prelinking, it might take some time
 %{_sbindir}/prelink -ua 2> /dev/null
fi

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%doc doc/prelink.pdf
%verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/prelink.conf
%verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/sysconfig/prelink
%verify(not md5 size mtime) %{_sysconfdir}/prelink.cache
%dir %{_sysconfdir}/prelink.conf.d
%config(noreplace) %{_sys_macros_dir}/%{name}.macros
%{_sysconfdir}/cron.daily/prelink
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%{_sbindir}/prelink
%{_bindir}/execstack
%{_mandir}/man8/prelink.8*
%{_mandir}/man8/execstack.8*
%dir %{_var}/log/prelink
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_localstatedir}/lib/misc/prelink.full
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_localstatedir}/lib/misc/prelink.force
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_var}/log/prelink/prelink.log





%changelog
* Wed Dec 02 2009 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 1:0.4.2-1.20091104.1mdv2010.1
+ Revision: 472611
- Updated to 20091104 snapshot.

* Sat Sep 26 2009 Frederik Himpe <fhimpe@mandriva.org> 1:0.4.2-1.20090925.1mdv2010.0
+ Revision: 449647
- Update to new version 20090925

* Thu Jul 30 2009 Frederik Himpe <fhimpe@mandriva.org> 1:0.4.2-1.20090709.1mdv2010.0
+ Revision: 404832
- Update to new version 0.4.2-20090709 from Fedora

* Thu Dec 18 2008 Frederic Crozat <fcrozat@mandriva.com> 1:0.4.0-1.20071009.4mdv2009.1
+ Revision: 315630
- Add preun script to undo prelink when uninstalling package
- Update configuration to prelink kde3 too

* Mon Jun 02 2008 Pixel <pixel@mandriva.com> 1:0.4.0-1.20071009.3mdv2009.0
+ Revision: 214231
- adapt to %%_localstatedir now being /var instead of /var/lib (#22312)

  + Thierry Vignaud <tvignaud@mandriva.com>
    - remove useless kernel require
    - kill re-definition of %%buildroot on Pixel's request

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

* Thu Dec 06 2007 Thierry Vignaud <tvignaud@mandriva.com> 1:0.4.0-1.20071009.2mdv2008.1
+ Revision: 115914
- prelink perl modules in vendor directory too
- log file has moved
- enable test suite

* Wed Dec 05 2007 Thierry Vignaud <tvignaud@mandriva.com> 1:0.4.0-1.20071009.1mdv2008.1
+ Revision: 115690
- prelink perl too
- patch 2: skip debug files from *-debug packages
- patch 1: use ionice
- alter management of extra sources so that we can patch them while still easily
  enabling to sync with fedora
- sync description with fedora
- new release (from fedora)

* Tue Nov 13 2007 Thierry Vignaud <tvignaud@mandriva.com> 1:0.3.10-1.20061201.2mdv2008.1
+ Revision: 108452
- use ionice


* Sat Jan 13 2007 Olivier Thauvin <nanardon@mandriva.org> 0.3.10-1.20061201.1mdv2007.0
+ Revision: 108357
- From (Frederik Himpe <fhimpe at telenet.be>)
  * update to 0.3.10 (supports DT_GNU_HASH)
  * run /sbin/init U after init is prelinked, otherwise umounting of / will fail

* Tue Aug 08 2006 Olivier Thauvin <nanardon@mandriva.org> 1:0.3.6-1.20060213.1mdv2007.0
+ Revision: 54230
- fix release tag according software version
- add sources files...
- 20060213
- Import prelink

* Tue Jan 31 2006 Per Øyvind Karlsen <pkarlsen@mandriva.com> 0.3.6-1mdk
- 0.3.6
- fix executable-marked-as-config-file

* Sat Jan 14 2006 Olivier Thauvin <nanardon@mandriva.org> 0.3.5-2mdk
- don't use anymore /etc/rpm/macros.%%name but /etc/rpm/macros.d

* Fri Jul 08 2005 Per Øyvind Karlsen <pkarlsen@mandriva.com> 0.3.5-1mdk
- 0.3.5
- fix requires
- %%mkrel

* Thu Feb 17 2005 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 0.3.4-1mdk
- 0.3.4

* Fri Dec 17 2004 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 0.3.3-1mdk
- 0.3.3 (sync with fedora)

* Thu Jul 29 2004 Thierry Vignaud <tvignaud@mandrakesoft.com> 0.3.2-2mdk
- fix update from mdk10.0

* Thu Jun 17 2004 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 0.3.2-1mdk
- sync with fedora
- cosmetics
- disable tests