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