]> git.pld-linux.org Git - packages/poldek.git/blame - poldek.spec
- more strict rpm req
[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)
ad60ba0e 8%define ver_db 4.3.27-1
75ff0ed8 9%define ver_rpm 4.4.9-1
7617242e 10#
bbc50e33 11%define snap 20070620.10
b44549bf 12Summary: RPM packages management helper tool
9faf625a 13Summary(pl.UTF-8): Pomocnicze narzędzie do zarządzania pakietami RPM
b44549bf 14Name: poldek
bbc50e33 15Version: 0.21
75ff0ed8 16Release: 0.%{snap}.2
9f931ada 17License: GPL v2
8efee472 18Group: Applications/System
56213e3b 19Source0: http://poldek.pld-linux.org/download/snapshots/%{name}-%{version}-cvs%{snap}.tar.bz2
bbc50e33 20# Source0-md5: 72eb6de08fd32835a1f162038af47e49
911a8560 21Source1: %{name}.conf
b25cb9a7
JB
22Source2: %{name}-multilib.conf
23Source3: %{name}-aliases.conf
13aa6434
AM
24Patch1: %{name}-vserver-packages.patch
25Patch2: %{name}-config.patch
26Patch3: %{name}-multilib.patch
431a1e13 27Patch4: %{name}-desc_in_utf8.patch
39ca2371 28URL: http://poldek.pld-linux.org/
a4268952 29BuildRequires: autoconf
b25cb9a7 30BuildRequires: automake
373c6f03 31BuildRequires: bzip2-devel
b25cb9a7 32BuildRequires: check
b1928c7a 33BuildRequires: db-devel >= %{ver_db}
c0d8905a 34BuildRequires: gettext-autopoint
b25cb9a7
JB
35BuildRequires: libtool
36BuildRequires: libxml2-devel
cbc6f56b 37BuildRequires: openssl-devel >= 0.9.7d
13fd950e 38BuildRequires: pcre-devel
f373d903 39BuildRequires: perl-tools-pod
13fd950e 40BuildRequires: popt-devel
58c31de0 41%{?with_python:BuildRequires: python-devel}
b25cb9a7 42BuildRequires: readline-devel >= 5.0
373c6f03 43BuildRequires: rpm-devel >= %{ver_rpm}
300927eb 44%{?with_python:BuildRequires: rpm-pythonprov}
282cfaec 45BuildRequires: xmlto
96475e5e 46BuildRequires: zlib-devel
373c6f03
JB
47%if %{with static}
48BuildRequires: bzip2-static
b1928c7a 49BuildRequires: db-static >= %{ver_db}
2fac0b02 50BuildRequires: glibc-static
acb26797 51BuildRequires: libselinux-static
b25cb9a7 52BuildRequires: libxml2-static
373c6f03
JB
53BuildRequires: ncurses-static
54BuildRequires: openssl-static
55BuildRequires: pcre-static
56BuildRequires: popt-static
57BuildRequires: readline-static
58BuildRequires: rpm-static
59BuildRequires: zlib-static
373c6f03 60%endif
b25cb9a7 61Requires(triggerpostun): awk
168acc54 62Requires(triggerpostun): sed >= 4.0
09d4c571 63Requires: %{name}-libs = %{version}-%{release}
b1928c7a 64Requires: db >= %{ver_db}
373c6f03 65Requires: rpm >= %{ver_rpm}
e202a52a
ER
66# vf* scripts use sed
67Requires: sed
b44549bf 68BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69
70%description
0fa0dc36 71poldek is an RPM package management tool which allows you to easily
72perform package verification, installation (including system
13fd950e 73installation from scratch), upgrading, and removal.
0fa0dc36 74
13fd950e
JB
75Program can be used in batch (like apt-get from Debian's APT) or
76interactive mode. The interactive mode puts you into a readline
77interface with command line autocompletion and history, similar to the
78shell mode of Perl's CPAN.
8efee472 79
9fe14a3f 80%{?with_static:This version is statically linked.}
d94b28a6 81
9fe14a3f 82%{!?with_imode:This version hasn't got interactive mode.}
7f07e487 83#'vim
1f84648f 84
caed9b36
JR
85%description -l pl.UTF-8
86poldek jest narzędziem linii poleceń służącym do weryfikacji,
87instalacji (włączając instalację systemu od zera), aktualizacji i
88usuwania pakietów.
56e1ab51 89
caed9b36 90Program może być używany w trybie wsadowym (jak debianowy apt-get) lub
d82a9cb2 91interaktywnym. Tryb interaktywny posiada interfejs readline z
caed9b36
JR
92dopełnianiem komend i historią, podobny do trybu shell perlowego
93modułu CPAN.
8efee472 94
9fe14a3f 95%{?with_static:Ta wersja jest konsolidowana statycznie.}
a611e0bc 96
9fe14a3f 97%{!?with_imode:Ta wersja nie posiada trybu interaktywnego.}
b44549bf 98
b25cb9a7 99%package libs
168acc54 100Summary: poldek libraries
9faf625a 101Summary(pl.UTF-8): Biblioteki poldka
168acc54 102Group: Libraries
b25cb9a7
JB
103
104%description libs
105poldek libraries.
106
caed9b36 107%description libs -l pl.UTF-8
b25cb9a7
JB
108Biblioteki poldka.
109
110%package devel
168acc54 111Summary: Header files for poldek libraries
9faf625a 112Summary(pl.UTF-8): Pliki nagłówkowe bibliotek poldka
168acc54 113Group: Development/Libraries
09d4c571 114Requires: %{name}-libs = %{version}-%{release}
b25cb9a7
JB
115
116%description devel
117Header files for poldek libraries.
118
caed9b36
JR
119%description devel -l pl.UTF-8
120Pliki nagłówkowe bibliotek poldka.
b25cb9a7
JB
121
122%package static
168acc54 123Summary: poldek static libraries
9faf625a 124Summary(pl.UTF-8): Biblioteki statyczne poldka
168acc54 125Group: Development/Libraries
09d4c571 126Requires: %{name}-devel = %{version}-%{release}
b25cb9a7
JB
127
128%description static
129poldek static libraries.
130
caed9b36 131%description static -l pl.UTF-8
b25cb9a7
JB
132Biblioteki statyczne poldka.
133
58c31de0
JB
134%package -n python-poldek
135Summary: Python modules for poldek
9faf625a 136Summary(pl.UTF-8): Moduły języka Python dla poldka
58c31de0
JB
137Group: Libraries/Python
138Requires: %{name}-libs = %{version}-%{release}
139%pyrequires_eq python-libs
140
141%description -n python-poldek
142Python modules for poldek.
143
caed9b36
JR
144%description -n python-poldek -l pl.UTF-8
145Moduły języka Python dla poldka.
58c31de0 146
03159b71 147%prep
6bf978ec 148%setup -q -n %{name}-%{version}%{?snap:-cvs%{snap}}
13aa6434
AM
149%patch1 -p1
150%patch2 -p1
3375120c 151%ifarch %{x8664}
13aa6434 152%patch3 -p1
3375120c 153%endif
82f6fd2b 154%patch4 -p1
b44549bf 155
156%build
df3bea74 157%{__autopoint}
21a83253
MM
158%{__aclocal} -I m4
159%{__autoconf}
160%{__automake}
63bd61a7 161cp -f config.sub trurlib
b25cb9a7 162
1f84648f 163%configure \
b25cb9a7 164 %{?with_static:--enable-static --disable-shared} \
9fe14a3f 165 %{!?with_imode:--disable-imode} \
58c31de0
JB
166 --enable-nls \
167 %{?with_python:--with-python}
03159b71 168%{__make}
8efee472 169
b44549bf 170%install
171rm -rf $RPM_BUILD_ROOT
23749bce 172install -d $RPM_BUILD_ROOT%{_sysconfdir}
8efee472 173
c8f7d829 174%{__make} install \
175 DESTDIR=$RPM_BUILD_ROOT
de1099c4 176
58c31de0
JB
177%if %{with python}
178%{__make} -C python install \
179 DESTDIR=$RPM_BUILD_ROOT \
180 libdir=%{py_sitedir}
181%endif
182
9fe14a3f 183%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
a49836bb 184
9639596f 185%ifarch i486 i686 ppc sparc alpha athlon
a49836bb 186%define _ftp_arch %{_target_cpu}
187%else
9639596f 188%ifarch %{x8664}
590302c4 189%define _ftp_arch x86_64
b25cb9a7
JB
190%define _ftp_alt_arch i686
191%else
9639596f
PS
192%ifarch i586
193%define _ftp_arch i486
a49836bb 194%else
195%ifarch pentium2 pentium3 pentium4
196%define _ftp_arch i686
197%else
198%ifarch sparcv9 sparc64
199%define _ftp_arch sparc
200%endif
201%endif
202%endif
203%endif
b25cb9a7 204%endif
a49836bb 205
b25cb9a7 206%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
32697bd0 207
7adf66ff
ER
208sed -e '
209 s|%%ARCH%%|%{_ftp_arch}|g
210' < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-source.conf
b44549bf 211
590302c4 212%ifarch %{x8664}
7adf66ff
ER
213sed '
214 s|%%ARCH%%|%{_ftp_alt_arch}|g
215' < %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-multilib-source.conf
b25cb9a7
JB
216%endif
217
218install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/aliases.conf
219
220# get rid of non-pld sources
221rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,fedora}-source.conf
222# include them in %doc
223rm -rf configs
224cp -a conf configs
225rm -f configs/Makefile*
226
62e80071 227%if %{with python}
58c31de0
JB
228%py_postclean
229rm -f $RPM_BUILD_ROOT%{py_sitedir}/_poldekmod.la
62e80071 230%endif
58c31de0 231
b25cb9a7 232%find_lang %{name}
f373d903 233
b44549bf 234%clean
235rm -rf $RPM_BUILD_ROOT
236
b25cb9a7
JB
237%post
238[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
239
240%postun
241[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
242
243%post libs -p /sbin/ldconfig
244%postun libs -p /sbin/ldconfig
245
f581a7d5 246%triggerpostun -- poldek <= 0.18.3-5
b25cb9a7
JB
247if [ -f /etc/poldek.conf ]; then
248 sed -i -e '/^promoteepoch:.*yes/s/^/#/' /etc/poldek.conf
249fi
aa3b63c5 250
a49836bb 251# otherwise don't touch
252%ifarch i386 i586 i686 ppc sparc alpha amd64 athlon
1b2ec187 253%triggerpostun -- poldek <= 0.18.7-1
b25cb9a7
JB
254if [ -f /etc/poldek.conf ]; then
255 sed -i -e 's://ftp.pld-linux.org://ftp.ac.pld-linux.org:g' /etc/poldek.conf
256fi
a49836bb 257%endif
1b2ec187 258
b25cb9a7
JB
259%triggerpostun -- poldek < 0.19.0-1.20050613.22.0
260if [ -f /etc/poldek.conf.rpmsave ]; then
261 awk '/^source/ {
262 name = $3;
263 path = $4;
264 auto = "yes";
265 autoup = "yes";
266 type = "pdir";
f154dd55 267 pri = "";
b25cb9a7
JB
268
269 if (sub(",noauto", "", name)) {
270 auto = "no";
271 }
272
f154dd55
ER
273 # process pri=\d+
274 if (match(name, /,pri=[0-9]+/)) {
275 pri = substr(name, RSTART + 5, RLENGTH - 5);
276 name = substr(name, 1, RSTART - 1) substr(name, RSTART + RLENGTH);
277 }
278
b25cb9a7
JB
279 # skip ac sources. already in new config.
280 if (name !~ /^ac(-(ready|test|supported|updates-(general|security)))?$/) {
281 print "";
282 print "[source]";
283 print "name = " name;
284 print "type = " type;
285 print "path = " path;
286 print "auto = " auto;
287 print "autoup = " autoup;
f154dd55
ER
288 if (pri) {
289 print "pri = " pri;
290 }
b25cb9a7
JB
291 }
292
293 }' < /etc/poldek.conf.rpmsave >> /etc/poldek/source.conf
19cae196 294 echo "Converted old custom sources from /etc/poldek.conf.rpmsave to new poldek format in /etc/poldek/source.conf"
b25cb9a7
JB
295
296 # copy hold=
297 hold=$(grep ^hold /etc/poldek.conf.rpmsave)
298 if [ "$hold" ]; then
299 sed -i -e "/^#hold =/s/^.*/$hold/" /etc/poldek/poldek.conf
300 fi
301fi
302
767366b0 303%files -f %{name}.lang
b44549bf 304%defattr(644,root,root,755)
b25cb9a7
JB
305%doc README* NEWS TODO configs/
306%dir %{_sysconfdir}/%{name}
168acc54 307%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
8efee472 308%attr(755,root,root) %{_bindir}/*
b25cb9a7
JB
309%dir %{_libdir}/%{name}
310%attr(755,root,root) %{_libdir}/%{name}/*
b44549bf 311%{_mandir}/man1/%{name}*
d8826405 312%lang(pl) %{_mandir}/pl/man1/%{name}*
b25cb9a7
JB
313%{_infodir}/poldek.info*
314
f8c7c6b5 315%if !%{with static}
b25cb9a7
JB
316%files libs
317%defattr(644,root,root,755)
318%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
319%endif
320
321%files devel
322%defattr(644,root,root,755)
323%{!?with_static:%attr(755,root,root) %{_libdir}/lib*.so}
324%{_libdir}/lib*.la
325%{_includedir}/*
326
327%files static
328%defattr(644,root,root,755)
329%{_libdir}/lib*.a
58c31de0
JB
330
331%if %{with python}
332%files -n python-poldek
333%defattr(644,root,root,755)
334%attr(755,root,root) %{py_sitedir}/_poldekmod.so
335%{py_sitescriptdir}/poldek.py[co]
336%{py_sitescriptdir}/poldekmod.py[co]
337%endif
This page took 0.095968 seconds and 4 git commands to generate.