]> git.pld-linux.org Git - packages/poldek.git/blob - poldek.spec
- sources should not be bconded
[packages/poldek.git] / poldek.spec
1 #
2 # Conditional build:
3 %bcond_with     static  # don't use shared libraries
4 %bcond_without  imode   # don't build interactive mode
5 %bcond_without  python  # don't build python bindings
6 #
7 # required versions (forced to avoid SEGV with mixed db used by rpm and poldek)
8 %define ver_db  4.3.27-1
9 %define ver_rpm 4.4.9-1
10 #
11 %define         snap    20070703.00
12 %define         rel     15
13 Summary:        RPM packages management helper tool
14 Summary(pl.UTF-8):      Pomocnicze narzędzie do zarządzania pakietami RPM
15 Name:           poldek
16 Version:        0.21
17 Release:        0.%{snap}.%{rel}
18 License:        GPL v2
19 Group:          Applications/System
20 Source0:        http://poldek.pld-linux.org/download/snapshots/%{name}-%{version}-cvs%{snap}.tar.bz2
21 # Source0-md5:  dae23dec560fad954abf157fd250e4c3
22 Source1:        %{name}.conf
23 Source2:        %{name}-multilib.conf
24 Source3:        %{name}-aliases.conf
25 Source4:        %{name}.desktop
26 Source5:        %{name}.png
27 Patch1:         %{name}-vserver-packages.patch
28 Patch2:         %{name}-config.patch
29 Patch3:         %{name}-multilib.patch
30 Patch4:         %{name}-ndie_fix.patch
31 Patch5:         %{name}-uri-escape-fix.patch
32 Patch6:         %{name}-install-dist.patch
33 Patch7:         %{name}-nohold-fix.patch
34 Patch8:         %{name}-dir-dot.patch
35 Patch9:         %{name}-suggests-one-package.patch
36 Patch10:        %{name}-reversed-prompt.patch
37 URL:            http://poldek.pld-linux.org/
38 BuildRequires:  autoconf
39 BuildRequires:  automake
40 BuildRequires:  bzip2-devel
41 BuildRequires:  check
42 BuildRequires:  db-devel >= %{ver_db}
43 BuildRequires:  gettext-autopoint
44 BuildRequires:  libtool
45 BuildRequires:  libxml2-devel
46 BuildRequires:  openssl-devel >= 0.9.7d
47 BuildRequires:  pcre-devel
48 BuildRequires:  perl-tools-pod
49 BuildRequires:  pkgconfig
50 BuildRequires:  popt-devel
51 %{?with_python:BuildRequires:   python-devel}
52 BuildRequires:  readline-devel >= 5.0
53 BuildRequires:  rpm-devel >= %{ver_rpm}
54 %{?with_python:BuildRequires:   rpm-pythonprov}
55 BuildRequires:  xmlto
56 BuildRequires:  zlib-devel
57 %if %{with static}
58 BuildRequires:  bzip2-static
59 BuildRequires:  db-static >= %{ver_db}
60 BuildRequires:  glibc-static
61 BuildRequires:  libselinux-static
62 BuildRequires:  libxml2-static
63 BuildRequires:  ncurses-static
64 BuildRequires:  openssl-static
65 BuildRequires:  pcre-static
66 BuildRequires:  popt-static
67 BuildRequires:  readline-static
68 BuildRequires:  rpm-static
69 BuildRequires:  zlib-static
70 %endif
71 Requires(triggerpostun):        awk
72 Requires(triggerpostun):        sed >= 4.0
73 Requires:       %{name}-libs = %{version}-%{release}
74 Requires:       db >= %{ver_db}
75 Requires:       rpm >= %{ver_rpm}
76 Requires:       rpm-lib = %(rpm -q --qf '%{V}' rpm-lib)
77 # vf* scripts use sed
78 Requires:       sed
79 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80
81 %description
82 poldek is an RPM package management tool which allows you to easily
83 perform package verification, installation (including system
84 installation from scratch), upgrading, and removal.
85
86 Program can be used in batch (like apt-get from Debian's APT) or
87 interactive mode. The interactive mode puts you into a readline
88 interface with command line autocompletion and history, similar to the
89 shell mode of Perl's CPAN.
90
91 %{?with_static:This version is statically linked.}
92
93 %{!?with_imode:This version hasn't got interactive mode.}
94 #'vim
95
96 %description -l pl.UTF-8
97 poldek jest narzędziem linii poleceń służącym do weryfikacji,
98 instalacji (włączając instalację systemu od zera), aktualizacji i
99 usuwania pakietów.
100
101 Program może być używany w trybie wsadowym (jak debianowy apt-get) lub
102 interaktywnym. Tryb interaktywny posiada interfejs readline z
103 dopełnianiem komend i historią, podobny do trybu shell perlowego
104 modułu CPAN.
105
106 %{?with_static:Ta wersja jest konsolidowana statycznie.}
107
108 %{!?with_imode:Ta wersja nie posiada trybu interaktywnego.}
109
110 %package libs
111 Summary:        poldek libraries
112 Summary(pl.UTF-8):      Biblioteki poldka
113 Group:          Libraries
114
115 %description libs
116 poldek libraries.
117
118 %description libs -l pl.UTF-8
119 Biblioteki poldka.
120
121 %package devel
122 Summary:        Header files for poldek libraries
123 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek poldka
124 Group:          Development/Libraries
125 Requires:       %{name}-libs = %{version}-%{release}
126
127 %description devel
128 Header files for poldek libraries.
129
130 %description devel -l pl.UTF-8
131 Pliki nagłówkowe bibliotek poldka.
132
133 %package static
134 Summary:        poldek static libraries
135 Summary(pl.UTF-8):      Biblioteki statyczne poldka
136 Group:          Development/Libraries
137 Requires:       %{name}-devel = %{version}-%{release}
138
139 %description static
140 poldek static libraries.
141
142 %description static -l pl.UTF-8
143 Biblioteki statyczne poldka.
144
145 %package -n python-poldek
146 Summary:        Python modules for poldek
147 Summary(pl.UTF-8):      Moduły języka Python dla poldka
148 Group:          Libraries/Python
149 Requires:       %{name}-libs = %{version}-%{release}
150 %pyrequires_eq  python-libs
151
152 %description -n python-poldek
153 Python modules for poldek.
154
155 %description -n python-poldek -l pl.UTF-8
156 Moduły języka Python dla poldka.
157
158 %prep
159 %setup -q -n %{name}-%{version}%{?snap:-cvs%{snap}}
160 %patch1 -p1
161 %patch2 -p1
162 %ifarch %{x8664}
163 %patch3 -p1
164 %endif
165 %patch4 -p0
166 %patch5 -p0
167 %patch6 -p1
168 %patch7 -p1
169 %patch8 -p1
170 %patch9 -p1
171 %patch10 -p1
172
173 # cleanup backups after patching
174 find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
175
176 %build
177 %{__autopoint}
178 %{__aclocal} -I m4
179 %{__autoconf}
180 %{__automake}
181 cp -f config.sub trurlib
182
183 %configure \
184         %{?with_static:--enable-static --disable-shared} \
185         %{!?with_imode:--disable-imode} \
186         --enable-nls \
187         %{?with_python:--with-python}
188 %{__make}
189
190 %install
191 rm -rf $RPM_BUILD_ROOT
192 install -d $RPM_BUILD_ROOT%{_sysconfdir}
193
194 %{__make} install \
195         DESTDIR=$RPM_BUILD_ROOT
196
197 %if %{with python}
198 %{__make} -C python install \
199         DESTDIR=$RPM_BUILD_ROOT \
200         libdir=%{py_sitedir}
201 %endif
202
203 %{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
204
205 %ifarch i486 i686 ppc sparc alpha athlon
206 %define         _ftp_arch       %{_target_cpu}
207 %else
208 %ifarch %{x8664}
209 %define         _ftp_arch       x86_64
210 %define         _ftp_alt_arch   i686
211 %else
212 %ifarch i586
213 %define         _ftp_arch       i486
214 %else
215 %ifarch pentium2 pentium3 pentium4
216 %define         _ftp_arch       i686
217 %else
218 %ifarch sparcv9 sparc64
219 %define         _ftp_arch       sparc
220 %endif
221 %endif
222 %endif
223 %endif
224 %endif
225
226 %{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
227
228 sed -e '
229         s|%%ARCH%%|%{_ftp_arch}|g
230 ' < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-source.conf
231
232 %ifarch %{x8664}
233 sed '
234         s|%%ARCH%%|%{_ftp_alt_arch}|g
235 ' < %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-multilib-source.conf
236 %endif
237
238 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/aliases.conf
239
240 %if %{with imode}
241 # add desktop file and icon
242 install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
243 install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
244 install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
245 %endif
246
247 # get rid of non-pld sources
248 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,fedora}-source.conf
249 # include them in %doc
250 rm -rf configs
251 cp -a conf configs
252 rm -f configs/Makefile*
253
254 %if %{with python}
255 %py_postclean
256 rm -f $RPM_BUILD_ROOT%{py_sitedir}/_poldekmod.la
257 %endif
258
259 %find_lang %{name}
260
261 %clean
262 rm -rf $RPM_BUILD_ROOT
263
264 %post   -p      /sbin/postshell
265 -/usr/sbin/fix-info-dir -c %{_infodir}
266
267 %postun -p      /sbin/postshell
268 -/usr/sbin/fix-info-dir -c %{_infodir}
269
270 %post   libs -p /sbin/ldconfig
271 %postun libs -p /sbin/ldconfig
272
273 %triggerpostun -- poldek < 0.19.0-1.20050613.22.0
274 if [ -f /etc/poldek.conf.rpmsave ]; then
275         awk '/^source/ {
276         name = $3;
277         path = $4;
278         auto = "yes";
279         autoup = "yes";
280         type = "pdir";
281         pri = "";
282
283         if (sub(",noauto", "", name)) {
284                 auto = "no";
285         }
286
287         # process pri=\d+
288         if (match(name, /,pri=[0-9]+/)) {
289                 pri = substr(name, RSTART + 5, RLENGTH - 5);
290                 name = substr(name, 1, RSTART - 1) substr(name, RSTART + RLENGTH);
291         }
292
293         # skip ac sources. already in new config.
294         if (name !~ /^ac(-(ready|test|supported|updates-(general|security)))?$/) {
295                 print "";
296                 print "[source]";
297                 print "name = " name;
298                 print "type = " type;
299                 print "path = " path;
300                 print "auto = " auto;
301                 print "autoup = " autoup;
302                 if (pri) {
303                         print "pri = " pri;
304                 }
305         }
306
307         }' < /etc/poldek.conf.rpmsave >> /etc/poldek/source.conf
308         echo "Converted old custom sources from /etc/poldek.conf.rpmsave to new poldek format in /etc/poldek/source.conf"
309
310         # copy hold=
311         hold=$(grep ^hold /etc/poldek.conf.rpmsave)
312         if [ "$hold" ]; then
313                 sed -i -e "/^#hold =/s/^.*/$hold/" /etc/poldek/poldek.conf
314         fi
315 fi
316
317 %files -f %{name}.lang
318 %defattr(644,root,root,755)
319 %doc README* NEWS TODO configs/
320 %dir %{_sysconfdir}/%{name}
321 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
322 %attr(755,root,root) %{_bindir}/*
323 %dir %{_libdir}/%{name}
324 %attr(755,root,root) %{_libdir}/%{name}/*
325 %{_mandir}/man1/%{name}*
326 %lang(pl) %{_mandir}/pl/man1/%{name}*
327 %{_infodir}/poldek.info*
328 %if %{with imode}
329 %{_desktopdir}/%{name}.desktop
330 %{_pixmapsdir}/%{name}.png
331 %endif
332
333 %if !%{with static}
334 %files libs
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
337 %endif
338
339 %files devel
340 %defattr(644,root,root,755)
341 %{!?with_static:%attr(755,root,root) %{_libdir}/lib*.so}
342 %{_libdir}/lib*.la
343 %{_includedir}/*
344
345 %files static
346 %defattr(644,root,root,755)
347 %{_libdir}/lib*.a
348
349 %if %{with python}
350 %files -n python-poldek
351 %defattr(644,root,root,755)
352 %attr(755,root,root) %{py_sitedir}/_poldekmod.so
353 %{py_sitescriptdir}/poldek.py[co]
354 %{py_sitescriptdir}/poldekmod.py[co]
355 %endif
This page took 0.111885 seconds and 4 git commands to generate.