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