]> git.pld-linux.org Git - packages/yum.git/blob - yum.spec
Merge patches from rpm5-yum project https://launchpad.net/yum
[packages/yum.git] / yum.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # build without tests
4
5 # TODO
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
9 Name:           yum
10 Version:        3.4.3
11 Release:        5
12 License:        GPL v2+
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
22 Patch2:         cli-pyc.patch
23 Patch3:         %{name}-pld.patch
24 Patch4:         %{name}-amd64.patch
25 Patch5:         %{name}-config.patch
26 Patch6:         nosetests.patch
27 Patch7:         rpm5.patch
28 Patch8:         tests.patch
29 Patch9:         pld-release.patch
30 # fc
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
47 %if %{with tests}
48 BuildRequires:  python-nose
49 BuildRequires:  yum-metadata-parser
50 %if %(locale -a | grep -qFx en_US.utf8; echo $?)
51 BuildRequires:  glibc-localedb-all
52 %endif
53 %endif
54 Requires:       python >= 1:2.5
55 Requires:       python-iniparse
56 Requires:       python-libxml2
57 Requires:       python-pygpgme
58 Requires:       python-rpm
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
63 BuildArch:      noarch
64 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65
66 %define         _libdir         %{_prefix}/lib
67
68 %description
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.
72
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.
77
78 %package -n bash-completion-%{name}
79 Summary:        bash-completion for Yum
80 Group:          Applications/Shells
81 Requires:       %{name}
82 Requires:       bash-completion >= 2.0
83 Conflicts:      %{name} < 3.4.3-3
84
85 %description -n bash-completion-%{name}
86 bash-completion for Yum.
87
88 %prep
89 %setup -q
90 # fc
91 %patch10 -p1
92 %patch11 -p0
93 %patch12 -p1
94 %patch13 -p0
95 %patch14 -p1
96 %patch15 -p1
97 # pld
98 %patch1 -p1
99 %patch2 -p1
100 %patch3 -p1
101 %patch4 -p1
102 %patch5 -p1
103 %patch6 -p1
104 %patch7 -p1
105 %patch8 -p1
106 %patch9 -p1
107 %patch0 -p1
108
109 %build
110 %{__make}
111
112 %if %{with tests}
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
116 #3.4.3
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
119
120 ver=$(./yummain.py --version | head -n1)
121 test $ver = %{version}
122
123 # test/check-po-yes-no.py prints chinese to screen, need to enable utf8
124 export LC_ALL=en_US.utf8
125 %{__make} test \
126         NOSETESTS=nosetests-%{py_ver}
127 %endif
128
129 %install
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/yum/pluginconf.d,%{_libdir}/yum-plugins,%{_datadir}/yum-plugins}
132 %{__make} install \
133         PYLIBDIR=%{py_scriptdir} \
134         DESTDIR=$RPM_BUILD_ROOT
135
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*
142
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}
146
147 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/pld.repo
148
149 install -d $RPM_BUILD_ROOT/var/lib/yum/{history,plugins,yumdb}
150 # see yum.conf(5)
151 touch $RPM_BUILD_ROOT/var/lib/yum/uuid
152
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
155
156 %py_postclean %{_datadir}/yum-cli
157
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
163
164 %find_lang %{name}
165
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*
173
174 %clean
175 rm -rf $RPM_BUILD_ROOT
176
177 %pretrans
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
183                 if [ -f "$a" ]; then
184                         mv -vf $a %{_sysconfdir}/yum.repos.d/${a##*/}
185                 fi
186         done
187         rm -rf %{_sysconfdir}/yum/repos.d
188 fi
189
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}
194 fi
195
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}
200
201 # main yum config
202 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum.conf
203
204 %dir %{_sysconfdir}/yum
205 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum/version-groups.conf
206
207 %dir %{_sysconfdir}/yum.repos.d
208 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum.repos.d/*.repo
209
210 %dir %{_sysconfdir}/yum/pluginconf.d
211 %dir %{_sysconfdir}/yum/protected.d
212 %dir %{_sysconfdir}/yum/vars
213
214 %attr(755,root,root) %{_bindir}/yum
215
216 %dir %{py_sitescriptdir}/yum
217 %dir %{_datadir}/yum-cli
218 %{_datadir}/yum-cli/*.py[co]
219
220 %{py_sitescriptdir}/yum/*.py[co]
221 %dir %{py_sitescriptdir}/rpmUtils
222 %{py_sitescriptdir}/rpmUtils/*.py[co]
223
224 %dir %{_libdir}/yum-plugins
225 %dir %{_datadir}/yum-plugins
226
227 %{_mandir}/man5/yum.conf.5*
228 %{_mandir}/man8/yum-shell.8*
229 %{_mandir}/man8/yum.8*
230
231 %dir /var/cache/yum
232
233 %dir /var/lib/yum
234 %dir /var/lib/yum/history
235 %dir /var/lib/yum/plugins
236 %dir /var/lib/yum/yumdb
237 %ghost /var/lib/yum/uuid
238
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
This page took 0.073852 seconds and 3 git commands to generate.