diff --git a/yum.spec b/yum.spec index f20ba61..a950fd6 100644 --- a/yum.spec +++ b/yum.spec @@ -1,5 +1,15 @@ +%define move_yum_conf_back 1 +%define auto_sitelib 1 +%define yum_updatesd 0 + +%if %{auto_sitelib} + %{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%else +%define python_sitelib /usr/lib/python?.?/site-packages +%endif + # We always used /usr/lib here, even on 64bit ... so it's a bit meh. %define yum_pluginslib /usr/lib/yum-plugins %define yum_pluginsshare /usr/share/yum-plugins @@ -23,13 +33,14 @@ Patch7: yum-ppc64-preferred.patch Patch20: yum-manpage-files.patch URL: http://yum.baseurl.org/ -BuildArch: noarch +BuildArchitectures: noarch BuildRequires: python BuildRequires: gettext BuildRequires: intltool # This is really CheckRequires ... BuildRequires: python-nose -BuildRequires: python >= 2.4, rpm-python, rpm >= 0:4.4.2 +BuildRequires: python >= 2.4 +BuildRequires: rpm-python, rpm >= 0:4.4.2 BuildRequires: python-iniparse BuildRequires: python-sqlite BuildRequires: python-urlgrabber >= 3.9.0-8 @@ -37,7 +48,8 @@ BuildRequires: yum-metadata-parser >= 1.1.0 BuildRequires: pygpgme # End of CheckRequires Conflicts: pirut < 1.1.4 -Requires: python >= 2.4, rpm-python, rpm >= 0:4.4.2 +Requires: python >= 2.4 +Requires: rpm-python, rpm >= 0:4.4.2 Requires: python-iniparse Requires: python-sqlite Requires: python-urlgrabber >= 3.9.0-8 @@ -79,6 +91,7 @@ Provides: yum-plugin-protect-packages = 1.1.27-0.yum Obsoletes: yum-plugin-download-order <= 0.2-2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + %description Yum is a utility that can check for and automatically download and install updated RPM packages. Dependencies are obtained and downloaded @@ -94,6 +107,9 @@ Requires(preun): /sbin/chkconfig Requires(post): /sbin/chkconfig Requires(preun): /sbin/service Requires(post): /sbin/service +Requires(postun): /sbin/chkconfig +Requires(postun): /sbin/service + %description updatesd yum-updatesd provides a daemon which checks for available updates and @@ -130,16 +146,23 @@ Install this package if you want auto yum updates nightly via cron. %build make + %install -rm -rf $RPM_BUILD_ROOT +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/yum.conf mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/yum/pluginconf.d $RPM_BUILD_ROOT/%{yum_pluginslib} mkdir -p $RPM_BUILD_ROOT/%{yum_pluginsshare} +%if %{move_yum_conf_back} # for now, move repodir/yum.conf back mv $RPM_BUILD_ROOT/%{_sysconfdir}/yum/repos.d $RPM_BUILD_ROOT/%{_sysconfdir}/yum.repos.d rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/yum/yum.conf +%endif + +%if %{yum_updatesd} +echo Keeping local yum-updatesd +%else # yum-updatesd has moved to the separate source version rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/yum/yum-updatesd.conf @@ -149,6 +172,8 @@ rm -f $RPM_BUILD_ROOT/%{_sbindir}/yum-updatesd rm -f $RPM_BUILD_ROOT/%{_mandir}/man*/yum-updatesd* rm -f $RPM_BUILD_ROOT/%{_datadir}/yum-cli/yumupd.py* +%endif + # Ghost files: mkdir -p $RPM_BUILD_ROOT/var/lib/yum/history mkdir -p $RPM_BUILD_ROOT/var/lib/yum/plugins @@ -163,7 +188,22 @@ chmod +x $RPM_BUILD_ROOT/%{python_sitelib}/rpmUtils/*.py %find_lang %name %clean -rm -rf $RPM_BUILD_ROOT +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT + + +%if %{yum_updatesd} +%post updatesd +/sbin/chkconfig --add yum-updatesd +/sbin/service yum-updatesd condrestart >/dev/null 2>&1 +exit 0 + +%preun updatesd +if [ $1 = 0 ]; then + /sbin/chkconfig --del yum-updatesd + /sbin/service yum-updatesd stop >/dev/null 2>&1 +fi +exit 0 +%endif %post cron @@ -211,17 +251,25 @@ exit 0 %files -f %{name}.lang %defattr(-, root, root, -) -%doc README AUTHORS COPYING TODO INSTALL ChangeLog +%doc README AUTHORS COPYING TODO INSTALL ChangeLog PLUGINS +%if %{move_yum_conf_back} %config(noreplace) %{_sysconfdir}/yum.conf -%dir %{_sysconfdir}/yum +%dir %{_sysconfdir}/yum.repos.d +%else +%config(noreplace) %{_sysconfdir}/yum/yum.conf +%dir %{_sysconfdir}/yum/repos.d +%endif %config(noreplace) %{_sysconfdir}/yum/version-groups.conf +%dir %{_sysconfdir}/yum %dir %{_sysconfdir}/yum/protected.d -%dir %{_sysconfdir}/yum.repos.d %dir %{_sysconfdir}/yum/vars -%config(noreplace) %{_sysconfdir}/logrotate.d/yum +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %{_sysconfdir}/bash_completion.d %dir %{_datadir}/yum-cli %{_datadir}/yum-cli/* +%if !%{yum_updatesd} +%exclude %{_datadir}/yum-cli/yumupd.py* +%endif %{_bindir}/yum %{python_sitelib}/yum %{python_sitelib}/rpmUtils @@ -250,6 +298,17 @@ exit 0 %{_datadir}/yum-cron/update.yum %{_datadir}/yum-cron/cleanup.yum +%if %{yum_updatesd} +%files updatesd +%defattr(-, root, root) +%config(noreplace) %{_sysconfdir}/yum/yum-updatesd.conf +%config %{_sysconfdir}/rc.d/init.d/yum-updatesd +%config %{_sysconfdir}/dbus-1/system.d/yum-updatesd.conf +%{_datadir}/yum-cli/yumupd.py* +%{_sbindir}/yum-updatesd +%{_mandir}/man*/yum-updatesd* +%endif + %changelog * Fri Jul 29 2011 James Antill - 3.4.3-5 - update to latest HEAD