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