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