3 %bcond_without tests # build without tests
6 # - PLDize (or drop) /etc/yum/version-groups.conf
7 Summary: RPM installer/updater
8 Summary(pl.UTF-8): Narzędzie do instalowania/uaktualniania pakietów RPM
13 Group: Applications/System
14 Source0: http://yum.baseurl.org/download/3.4/%{name}-%{version}.tar.gz
15 # Source0-md5: 7c8ea8beba5b4e7fe0c215e4ebaa26ed
16 Source1: %{name}-pld-source.repo
17 Source2: %{name}-pld-ti-source.repo
18 # from util-vserver-*/contrib/
19 #Patch: %{name}-chroot.patch # disabled for now. broken or not needed
20 Patch0: rpm5-yum.patch
21 Patch1: %{name}-obsoletes.patch
23 Patch3: %{name}-pld.patch
24 Patch4: %{name}-amd64.patch
25 Patch5: %{name}-config.patch
26 Patch6: nosetests.patch
29 Patch9: pld-release.patch
31 Patch10: %{name}-HEAD.patch
32 # Patch10-md5: fed00a3fcdb2ab0115bf8e1949309763
33 Patch11: installonlyn-enable.patch
34 Patch12: %{name}-manpage-files.patch
35 Patch13: no-more-exactarchlist.patch
36 Patch14: %{name}-completion-helper.patch
37 Patch15: %{name}-distro-configs.patch
38 URL: http://yum.baseurl.org/
39 BuildRequires: bash-completion >= 2.0
40 BuildRequires: gettext-devel
41 BuildRequires: intltool
42 BuildRequires: python-rpm
43 BuildRequires: python-urlgrabber
44 BuildRequires: rpm-pythonprov
45 BuildRequires: rpmbuild(macros) >= 1.228
46 BuildConflicts: yum < 3.4.3-2.1
48 BuildRequires: python-nose
49 BuildRequires: yum-metadata-parser
50 %if %(locale -a | grep -qFx en_US.utf8; echo $?)
51 BuildRequires: glibc-localedb-all
54 Requires: python >= 1:2.5
55 Requires: python-iniparse
56 Requires: python-libxml2
57 Requires: python-pygpgme
59 Requires: python-sqlite
60 Requires: python-urlgrabber >= 1:3.9.1
61 Requires: rpm >= 4.4.2
62 Requires: yum-metadata-parser >= 1.1.4
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 %define _libdir %{_prefix}/lib
69 Yum is a utility that can check for and automatically download and
70 install updated RPM packages. Dependencies are obtained and downloaded
71 automatically prompting the user as necessary.
73 %description -l pl.UTF-8
74 Yum to narzędzie sprawdzające i automatycznie ściągające i instalujące
75 uaktualnione pakiety RPM. Zależności są ściągane automatycznie po
76 zapytaniu użytkownika w razie potrzeby.
78 %package -n bash-completion-%{name}
79 Summary: bash-completion for Yum
80 Group: Applications/Shells
82 Requires: bash-completion >= 2.0
83 Conflicts: %{name} < 3.4.3-3
85 %description -n bash-completion-%{name}
86 bash-completion for Yum.
113 # yum itself must work (tests does not cover import errors)
114 # we ignore exit code, as it will exit with error if yum is not installed:
115 # $ ./yummain.py --version
117 #CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum.conf
118 # and it will fail other ways if incompatible yum version is installed
120 ver=$(./yummain.py --version | head -n1)
121 test $ver = %{version}
123 # test/check-po-yes-no.py prints chinese to screen, need to enable utf8
124 export LC_ALL=en_US.utf8
126 NOSETESTS=nosetests-%{py_ver}
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/yum/pluginconf.d,%{_libdir}/yum-plugins,%{_datadir}/yum-plugins}
133 PYLIBDIR=%{py_scriptdir} \
134 DESTDIR=$RPM_BUILD_ROOT
136 # no cron (unstable, and poldek is main pkg manager)
137 %{__rm} $RPM_BUILD_ROOT/etc/cron.daily/0yum-update.cron
138 %{__rm} $RPM_BUILD_ROOT%{systemdunitdir}/yum-cron.service
139 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/yum/yum-cron.conf
140 %{__rm} $RPM_BUILD_ROOT%{_sbindir}/yum-cron
141 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/yum-cron.8*
143 # for now, move repodir/yum.conf back
144 mv $RPM_BUILD_ROOT%{_sysconfdir}/{yum/repos.d,/yum.repos.d}
145 mv $RPM_BUILD_ROOT%{_sysconfdir}/{yum/yum.conf,yum.conf}
147 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/pld.repo
149 install -d $RPM_BUILD_ROOT/var/lib/yum/{history,plugins,yumdb}
151 touch $RPM_BUILD_ROOT/var/lib/yum/uuid
153 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir} $RPM_BUILD_ROOT%{_datadir}/yum-cli
154 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir} $RPM_BUILD_ROOT%{_datadir}/yum-cli
156 %py_postclean %{_datadir}/yum-cli
158 mv $RPM_BUILD_ROOT%{_localedir}/lt{_LT,}
159 # duplicate with id, nl and pt
160 rm -r $RPM_BUILD_ROOT%{_localedir}/id_ID
161 rm -r $RPM_BUILD_ROOT%{_localedir}/nl_NL
162 rm -r $RPM_BUILD_ROOT%{_localedir}/pt_PT
166 # in yum-updatesd.spec
167 %{__rm} $RPM_BUILD_ROOT/etc/dbus-1/system.d/yum-updatesd.conf
168 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/yum-updatesd
169 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/yum/yum-updatesd.conf
170 %{__rm} $RPM_BUILD_ROOT%{_sbindir}/yum-updatesd
171 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man5/yum-updatesd.conf.5*
172 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/yum-updatesd.8*
175 rm -rf $RPM_BUILD_ROOT
178 # migrate to new dir. having two dirs is really confusing
179 if [ -d %{_sysconfdir}/yum/repos.d ]; then
180 echo >&2 "Migrating %{_sysconfdir}/yum/repos.d to %{_sysconfdir}/yum.repos.d"
181 mkdir -p %{_sysconfdir}/yum.repos.d
182 for a in %{_sysconfdir}/yum/repos.d/*; do
184 mv -vf $a %{_sysconfdir}/yum.repos.d/${a##*/}
187 rm -rf %{_sysconfdir}/yum/repos.d
190 %triggerpostun -- %{name} < 3.2.12-3
191 if [ -f %{_sysconfdir}/yum/repos.d/pld-source.repo.rpmsave ]; then
192 cp -f %{_sysconfdir}/yum/repos.d/pld.repo{,.rpmnew}
193 mv -f %{_sysconfdir}/yum/repos.d/{pld-source.repo.rpmsave,pld.repo}
196 %files -f %{name}.lang
197 %defattr(644,root,root,755)
198 %doc README AUTHORS TODO INSTALL ChangeLog
199 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
202 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum.conf
204 %dir %{_sysconfdir}/yum
205 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum/version-groups.conf
207 %dir %{_sysconfdir}/yum.repos.d
208 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum.repos.d/*.repo
210 %dir %{_sysconfdir}/yum/pluginconf.d
211 %dir %{_sysconfdir}/yum/protected.d
212 %dir %{_sysconfdir}/yum/vars
214 %attr(755,root,root) %{_bindir}/yum
216 %dir %{py_sitescriptdir}/yum
217 %dir %{_datadir}/yum-cli
218 %{_datadir}/yum-cli/*.py[co]
220 %{py_sitescriptdir}/yum/*.py[co]
221 %dir %{py_sitescriptdir}/rpmUtils
222 %{py_sitescriptdir}/rpmUtils/*.py[co]
224 %dir %{_libdir}/yum-plugins
225 %dir %{_datadir}/yum-plugins
227 %{_mandir}/man5/yum.conf.5*
228 %{_mandir}/man8/yum-shell.8*
229 %{_mandir}/man8/yum.8*
234 %dir /var/lib/yum/history
235 %dir /var/lib/yum/plugins
236 %dir /var/lib/yum/yumdb
237 %ghost /var/lib/yum/uuid
239 %files -n bash-completion-%{name}
240 %defattr(644,root,root,755)
241 %{_datadir}/bash-completion/completions/yum
242 %{_datadir}/bash-completion/completions/yummain.py