]> git.pld-linux.org Git - packages/poldek.git/blame - poldek.spec
This commit was manufactured by cvs2git to create tag 'auto-ac-poldek-
[packages/poldek.git] / poldek.spec
CommitLineData
8bc4c6c3
ER
1# TODO:
2# - fails to build without poldek-devel - fix it !
a4399f72 3#
de1099c4 4# Conditional build:
9fe14a3f 5%bcond_with static # don't use shared libraries
6%bcond_without imode # don't build interactive mode
58c31de0 7%bcond_without python # don't build python bindings
f16d05f2 8
373c6f03 9# required versions (forced to avoid SEGV with mixed db used by rpm and poldek)
9dbba342
ER
10%define ver_db 4.5.20
11%define ver_rpm 4.5-49
f16d05f2 12
17efea37 13%define snap rc2
14%define rel 4%{pld_release}
b44549bf 15Summary: RPM packages management helper tool
8bc4c6c3 16Summary(hu.UTF-8): RPM csomagkezelést segítő eszköz
9faf625a 17Summary(pl.UTF-8): Pomocnicze narzędzie do zarządzania pakietami RPM
b44549bf 18Name: poldek
24ad8b8d 19Version: 0.30
17efea37 20Release: 0.%{snap}.%{rel}
9f931ada 21License: GPL v2
8efee472 22Group: Applications/System
e8235e63 23#Source0: http://poldek.pld-linux.org/download/snapshots/%{name}-%{version}-cvs%{snap}.tar.bz2
17efea37 24#Source0: http://carme.pld-linux.org/~megabajt/snaps/poldek/%{name}-%{version}%{snap}.tar.bz2
25Source0: http://carme.pld-linux.org/~cactus/snaps/poldek/%{name}-%{version}%{snap}.tar.bz2
26# Source0-md5: 14135ae2960da09990c50d5b5342be64
911a8560 27Source1: %{name}.conf
b25cb9a7 28Source2: %{name}-multilib.conf
e8235e63
ER
29Source5: %{name}-aliases.conf
30Source6: %{name}.desktop
31Source7: %{name}.png
a4399f72
ER
32Patch100: %{name}-dirdeps.patch
33Patch0: %{name}-vserver-packages.patch
34Patch1: %{name}-config.patch
8bc4c6c3 35Patch2: %{name}-size-type.patch
17efea37 36Patch4: %{name}-Os-fail-workaround.patch
39ca2371 37URL: http://poldek.pld-linux.org/
a4268952 38BuildRequires: autoconf
b25cb9a7 39BuildRequires: automake
373c6f03 40BuildRequires: bzip2-devel
8bc4c6c3 41BuildRequires: check-devel
b1928c7a 42BuildRequires: db-devel >= %{ver_db}
c0d8905a 43BuildRequires: gettext-autopoint
f16d05f2 44BuildRequires: gettext-devel
b25cb9a7
JB
45BuildRequires: libtool
46BuildRequires: libxml2-devel
cbc6f56b 47BuildRequires: openssl-devel >= 0.9.7d
13fd950e 48BuildRequires: pcre-devel
b3ea4b51 49BuildRequires: pkgconfig
13fd950e 50BuildRequires: popt-devel
58c31de0 51%{?with_python:BuildRequires: python-devel}
b25cb9a7 52BuildRequires: readline-devel >= 5.0
373c6f03 53BuildRequires: rpm-devel >= %{ver_rpm}
300927eb 54%{?with_python:BuildRequires: rpm-pythonprov}
107643f3 55BuildRequires: sed >= 4.0
9dbba342 56BuildRequires: swig-python
96475e5e 57BuildRequires: zlib-devel
373c6f03
JB
58%if %{with static}
59BuildRequires: bzip2-static
b1928c7a 60BuildRequires: db-static >= %{ver_db}
2fac0b02 61BuildRequires: glibc-static
acb26797 62BuildRequires: libselinux-static
b25cb9a7 63BuildRequires: libxml2-static
373c6f03
JB
64BuildRequires: ncurses-static
65BuildRequires: openssl-static
66BuildRequires: pcre-static
67BuildRequires: popt-static
68BuildRequires: readline-static
69BuildRequires: rpm-static
70BuildRequires: zlib-static
373c6f03 71%endif
b25cb9a7 72Requires(triggerpostun): awk
168acc54 73Requires(triggerpostun): sed >= 4.0
09d4c571 74Requires: %{name}-libs = %{version}-%{release}
b1928c7a 75Requires: db >= %{ver_db}
107643f3 76Requires: openssl >= 0.9.7d
373c6f03 77Requires: rpm >= %{ver_rpm}
78b0cd64 78Requires: rpm-lib = %(rpm -q --qf '%{V}' rpm-lib)
e202a52a
ER
79# vf* scripts use sed
80Requires: sed
b44549bf 81BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82
83%description
0fa0dc36 84poldek is an RPM package management tool which allows you to easily
85perform package verification, installation (including system
13fd950e 86installation from scratch), upgrading, and removal.
0fa0dc36 87
13fd950e
JB
88Program can be used in batch (like apt-get from Debian's APT) or
89interactive mode. The interactive mode puts you into a readline
90interface with command line autocompletion and history, similar to the
91shell mode of Perl's CPAN.
8efee472 92
9fe14a3f 93%{?with_static:This version is statically linked.}
d94b28a6 94
9fe14a3f 95%{!?with_imode:This version hasn't got interactive mode.}
7f07e487 96#'vim
1f84648f 97
8bc4c6c3
ER
98%description -l hu.UTF-8
99poldek egy RPM csomagkezelő eszköz, amely megkönnyíti a
100csomagellenőrzést, telepítést (beleértve a rendszertelepítést a
101nulláról), frissítést és eltávolítást.
102
103A program használható parancssorból (mint a Debian apt-get programja)
104vagy interaktív módban. Az interaktív mód egy readline környezetet
105jelent, parancskiegészítéssel és előzményekkel, hasonlóan a Perl CPAN
106shell módjához.
107
108%{?with_static:Ez a verzió statikusan linkelt.}
109
110%{!?with_imode:Ennek a verziónak nincs interaktív módja.}
111
caed9b36
JR
112%description -l pl.UTF-8
113poldek jest narzędziem linii poleceń służącym do weryfikacji,
114instalacji (włączając instalację systemu od zera), aktualizacji i
115usuwania pakietów.
56e1ab51 116
caed9b36 117Program może być używany w trybie wsadowym (jak debianowy apt-get) lub
d82a9cb2 118interaktywnym. Tryb interaktywny posiada interfejs readline z
caed9b36
JR
119dopełnianiem komend i historią, podobny do trybu shell perlowego
120modułu CPAN.
8efee472 121
9fe14a3f 122%{?with_static:Ta wersja jest konsolidowana statycznie.}
a611e0bc 123
9fe14a3f 124%{!?with_imode:Ta wersja nie posiada trybu interaktywnego.}
b44549bf 125
b25cb9a7 126%package libs
168acc54 127Summary: poldek libraries
8bc4c6c3 128Summary(hu.UTF-8): A poldek könyvtárai
9faf625a 129Summary(pl.UTF-8): Biblioteki poldka
168acc54 130Group: Libraries
b25cb9a7
JB
131
132%description libs
133poldek libraries.
134
8bc4c6c3
ER
135%description libs -l hu.UTF-8
136A poldek könyvtárai.
137
caed9b36 138%description libs -l pl.UTF-8
b25cb9a7
JB
139Biblioteki poldka.
140
141%package devel
168acc54 142Summary: Header files for poldek libraries
8bc4c6c3 143Summary(hu.UTF-8): A poldek könyvtár fejlesztői fájljai
9faf625a 144Summary(pl.UTF-8): Pliki nagłówkowe bibliotek poldka
168acc54 145Group: Development/Libraries
09d4c571 146Requires: %{name}-libs = %{version}-%{release}
f16d05f2 147Requires: rpm-devel >= %{ver_rpm}
b25cb9a7
JB
148
149%description devel
150Header files for poldek libraries.
151
8bc4c6c3
ER
152%description devel -l hu.UTF-8
153A poldek könyvtár fejlesztői fájljai.
154
caed9b36
JR
155%description devel -l pl.UTF-8
156Pliki nagłówkowe bibliotek poldka.
b25cb9a7
JB
157
158%package static
168acc54 159Summary: poldek static libraries
8bc4c6c3 160Summary(hu.UTF-8): poldek statikus könyvtárak
9faf625a 161Summary(pl.UTF-8): Biblioteki statyczne poldka
168acc54 162Group: Development/Libraries
09d4c571 163Requires: %{name}-devel = %{version}-%{release}
b25cb9a7
JB
164
165%description static
166poldek static libraries.
167
8bc4c6c3
ER
168%description static -l hu.UTF-8
169poldek statikus könyvtárak.
170
caed9b36 171%description static -l pl.UTF-8
b25cb9a7
JB
172Biblioteki statyczne poldka.
173
58c31de0
JB
174%package -n python-poldek
175Summary: Python modules for poldek
8bc4c6c3 176Summary(hu.UTF-8): Python modulok poldek-hez
9faf625a 177Summary(pl.UTF-8): Moduły języka Python dla poldka
58c31de0
JB
178Group: Libraries/Python
179Requires: %{name}-libs = %{version}-%{release}
180%pyrequires_eq python-libs
181
182%description -n python-poldek
183Python modules for poldek.
184
8bc4c6c3
ER
185%description -n python-poldek -l hu.UTF-8
186Python modulok poldek-hez.
187
caed9b36
JR
188%description -n python-poldek -l pl.UTF-8
189Moduły języka Python dla poldka.
58c31de0 190
03159b71 191%prep
8bc4c6c3 192%setup -q
a4399f72 193%patch100 -p1
107643f3 194%patch0 -p1
13aa6434
AM
195%patch1 -p1
196%patch2 -p1
e8235e63 197%patch4 -p1
8bc4c6c3
ER
198
199rm -f m4/libtool.m4 m4/lt*.m4
b44549bf 200
0579f9b7
ER
201# cleanup backups after patching
202find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
9dbba342 203chmod u+x ./configure ./doc/conf-xml2.sh
0579f9b7 204
b44549bf 205%build
8bc4c6c3 206%{__libtoolize}
21a83253 207%{__aclocal} -I m4
8bc4c6c3 208%{__autoheader}
21a83253
MM
209%{__autoconf}
210%{__automake}
17efea37 211cp -f config.sub trurlib
b25cb9a7 212
97ecf213 213CPPFLAGS="-std=gnu99"
1f84648f 214%configure \
b25cb9a7 215 %{?with_static:--enable-static --disable-shared} \
9fe14a3f 216 %{!?with_imode:--disable-imode} \
58c31de0
JB
217 --enable-nls \
218 %{?with_python:--with-python}
03159b71 219%{__make}
f16d05f2 220# --enable-trace
8efee472 221
b44549bf 222%install
223rm -rf $RPM_BUILD_ROOT
17efea37 224install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d
8efee472 225
17efea37 226# -j1 due: https://bugs.launchpad.net/poldek/+bug/891997
227%{__make} -j1 install \
c8f7d829 228 DESTDIR=$RPM_BUILD_ROOT
de1099c4 229
58c31de0
JB
230%if %{with python}
231%{__make} -C python install \
232 DESTDIR=$RPM_BUILD_ROOT \
233 libdir=%{py_sitedir}
234%endif
235
9fe14a3f 236%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
a49836bb 237
107643f3 238%ifarch i386 i586 i686 ppc sparc alpha athlon
a49836bb 239%define _ftp_arch %{_target_cpu}
6a463341 240%endif
9639596f 241%ifarch %{x8664}
107643f3 242%define _ftp_arch amd64
b25cb9a7 243%define _ftp_alt_arch i686
6a463341 244%endif
107643f3
ER
245%ifarch i486
246%define _ftp_arch i386
6a463341 247%endif
a49836bb 248%ifarch pentium2 pentium3 pentium4
249%define _ftp_arch i686
6a463341 250%endif
a49836bb 251%ifarch sparcv9 sparc64
252%define _ftp_arch sparc
253%endif
a49836bb 254
b25cb9a7 255%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
32697bd0 256
7adf66ff
ER
257sed -e '
258 s|%%ARCH%%|%{_ftp_arch}|g
dec8d59a 259' < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld.conf
b44549bf 260
590302c4 261%ifarch %{x8664}
7adf66ff
ER
262sed '
263 s|%%ARCH%%|%{_ftp_alt_arch}|g
dec8d59a 264' < %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
b25cb9a7
JB
265%endif
266
17efea37 267install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cli.conf
b25cb9a7 268
9e6ff4ef 269%if %{with imode}
270# add desktop file and icon
271install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
17efea37 272cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
273cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
9e6ff4ef 274%endif
275
dec8d59a
ER
276# sources we don't package
277rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,pld,fedora,centos}-source.conf
b25cb9a7
JB
278# include them in %doc
279rm -rf configs
280cp -a conf configs
281rm -f configs/Makefile*
282
62e80071 283%if %{with python}
58c31de0
JB
284%py_postclean
285rm -f $RPM_BUILD_ROOT%{py_sitedir}/_poldekmod.la
62e80071 286%endif
58c31de0 287
b25cb9a7 288%find_lang %{name}
f373d903 289
b44549bf 290%clean
291rm -rf $RPM_BUILD_ROOT
292
f16d05f2
ER
293%post
294[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
295if [ "$1" = "1" ]; then
296 # remove ignore = vserver-packages inside vserver on first install
297 {
298 while read f ctx; do
299 [ "$f" = "VxID:" -o "$f" = "s_context:" ] && break
300 done </proc/self/status
301 } 2>/dev/null
302 if [ -z "$ctx" -o "$ctx" = "0" ]; then
303 VSERVER=no
304 else
305 VSERVER=yes
306 fi
307 if [ "$VSERVER" = "yes" ]; then
308 %{__sed} -i -e '/^ignore/s/vserver-packages//' %{_sysconfdir}/%{name}/poldek.conf
309 fi
310fi
b25cb9a7 311
3896c8b1
ER
312%postun -p /sbin/postshell
313-/usr/sbin/fix-info-dir -c %{_infodir}
b25cb9a7
JB
314
315%post libs -p /sbin/ldconfig
316%postun libs -p /sbin/ldconfig
317
b25cb9a7
JB
318%triggerpostun -- poldek < 0.19.0-1.20050613.22.0
319if [ -f /etc/poldek.conf.rpmsave ]; then
320 awk '/^source/ {
321 name = $3;
322 path = $4;
323 auto = "yes";
324 autoup = "yes";
325 type = "pdir";
f154dd55 326 pri = "";
b25cb9a7
JB
327
328 if (sub(",noauto", "", name)) {
329 auto = "no";
330 }
331
f154dd55
ER
332 # process pri=\d+
333 if (match(name, /,pri=[0-9]+/)) {
334 pri = substr(name, RSTART + 5, RLENGTH - 5);
335 name = substr(name, 1, RSTART - 1) substr(name, RSTART + RLENGTH);
336 }
337
b25cb9a7
JB
338 # skip ac sources. already in new config.
339 if (name !~ /^ac(-(ready|test|supported|updates-(general|security)))?$/) {
340 print "";
341 print "[source]";
342 print "name = " name;
343 print "type = " type;
344 print "path = " path;
345 print "auto = " auto;
346 print "autoup = " autoup;
f154dd55
ER
347 if (pri) {
348 print "pri = " pri;
349 }
b25cb9a7
JB
350 }
351
352 }' < /etc/poldek.conf.rpmsave >> /etc/poldek/source.conf
19cae196 353 echo "Converted old custom sources from /etc/poldek.conf.rpmsave to new poldek format in /etc/poldek/source.conf"
b25cb9a7
JB
354
355 # copy hold=
356 hold=$(grep ^hold /etc/poldek.conf.rpmsave)
357 if [ "$hold" ]; then
358 sed -i -e "/^#hold =/s/^.*/$hold/" /etc/poldek/poldek.conf
359 fi
360fi
361
dec8d59a
ER
362%triggerpostun -- poldek < 0.30-0.20080225.00.1
363if ! grep -q '^%%includedir repos.d' %{_sysconfdir}/%{name}/poldek.conf; then
364 %{__sed} -i -e '/^%%include source.conf/{
365 a
366 a# /etc/poldek/repos.d/*.conf
367 a%%includedir repos.d
368 }' %{_sysconfdir}/%{name}/poldek.conf
369fi
370
371%{__sed} -i -e '/%%include %%{_distro}-source.conf/d' %{_sysconfdir}/%{name}/poldek.conf
372%{__sed} -i -e '/%%include %%{_distro}-multilib-source.conf/d' %{_sysconfdir}/%{name}/poldek.conf
373
374if [ -f %{_sysconfdir}/%{name}/pld-source.conf.rpmsave ]; then
375 cp -f %{_sysconfdir}/%{name}/repos.d/pld.conf{,.rpmnew}
376 mv -f %{_sysconfdir}/%{name}/pld-source.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld.conf
6a463341
ER
377 %{__sed} -i -e 's,_pld_arch,_arch,g;s,_ac_idxtype,_type,g;s,_pld_prefix,_prefix,g' \
378 %{_sysconfdir}/%{name}/repos.d/pld.conf
dec8d59a
ER
379fi
380
381%ifarch %{x8664}
382if [ -f %{_sysconfdir}/%{name}/pld-multilib-source.conf.rpmsave ]; then
383 cp -f %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf{,.rpmnew}
384 mv -f %{_sysconfdir}/%{name}/pld-multilib-source.conf.rpmsave %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
6a463341
ER
385 %{__sed} -i -e 's,_pld_arch,_arch,g;s,_ac_idxtype,_type,g;s,_pld_prefix,_prefix,g' \
386 %{_sysconfdir}/%{name}/repos.d/pld-multilib.conf
dec8d59a
ER
387fi
388%endif
389
767366b0 390%files -f %{name}.lang
b44549bf 391%defattr(644,root,root,755)
8bc4c6c3 392%doc ChangeLog README* NEWS TODO configs
b25cb9a7 393%dir %{_sysconfdir}/%{name}
02a559d2 394%dir %{_sysconfdir}/%{name}/repos.d
168acc54 395%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
dec8d59a 396%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/repos.d/*.conf
8efee472 397%attr(755,root,root) %{_bindir}/*
b25cb9a7
JB
398%dir %{_libdir}/%{name}
399%attr(755,root,root) %{_libdir}/%{name}/*
b44549bf 400%{_mandir}/man1/%{name}*
d8826405 401%lang(pl) %{_mandir}/pl/man1/%{name}*
b25cb9a7 402%{_infodir}/poldek.info*
9e6ff4ef 403%if %{with imode}
404%{_desktopdir}/%{name}.desktop
405%{_pixmapsdir}/%{name}.png
406%endif
b25cb9a7 407
dec8d59a 408%if %{without static}
b25cb9a7
JB
409%files libs
410%defattr(644,root,root,755)
42dc0b56
ER
411%attr(755,root,root) %{_libdir}/libpoclidek.so.*.*.*
412%attr(755,root,root) %{_libdir}/libpoldek.so.*.*.*
413%attr(755,root,root) %{_libdir}/libtndb.so.*.*.*
414%attr(755,root,root) %{_libdir}/libtrurl.so.*.*.*
415%attr(755,root,root) %{_libdir}/libvfile.so.*.*.*
416%attr(755,root,root) %ghost %{_libdir}/libpoclidek.so.0
417%attr(755,root,root) %ghost %{_libdir}/libpoldek.so.2
418%attr(755,root,root) %ghost %{_libdir}/libtndb.so.0
419%attr(755,root,root) %ghost %{_libdir}/libtrurl.so.0
420%attr(755,root,root) %ghost %{_libdir}/libvfile.so.0
b25cb9a7
JB
421%endif
422
423%files devel
424%defattr(644,root,root,755)
425%{!?with_static:%attr(755,root,root) %{_libdir}/lib*.so}
426%{_libdir}/lib*.la
427%{_includedir}/*
428
429%files static
430%defattr(644,root,root,755)
431%{_libdir}/lib*.a
58c31de0
JB
432
433%if %{with python}
434%files -n python-poldek
435%defattr(644,root,root,755)
436%attr(755,root,root) %{py_sitedir}/_poldekmod.so
437%{py_sitescriptdir}/poldek.py[co]
438%{py_sitescriptdir}/poldekmod.py[co]
439%endif
This page took 0.124595 seconds and 4 git commands to generate.