]> git.pld-linux.org Git - packages/poldek.git/blame - poldek.spec
- avoid packaging *~
[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
0579f9b7
ER
156# cleanup backups after patching
157find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
158
b44549bf 159%build
df3bea74 160%{__autopoint}
21a83253
MM
161%{__aclocal} -I m4
162%{__autoconf}
163%{__automake}
63bd61a7 164cp -f config.sub trurlib
b25cb9a7 165
1f84648f 166%configure \
b25cb9a7 167 %{?with_static:--enable-static --disable-shared} \
9fe14a3f 168 %{!?with_imode:--disable-imode} \
58c31de0
JB
169 --enable-nls \
170 %{?with_python:--with-python}
03159b71 171%{__make}
8efee472 172
b44549bf 173%install
174rm -rf $RPM_BUILD_ROOT
23749bce 175install -d $RPM_BUILD_ROOT%{_sysconfdir}
8efee472 176
c8f7d829 177%{__make} install \
178 DESTDIR=$RPM_BUILD_ROOT
de1099c4 179
58c31de0
JB
180%if %{with python}
181%{__make} -C python install \
182 DESTDIR=$RPM_BUILD_ROOT \
183 libdir=%{py_sitedir}
184%endif
185
9fe14a3f 186%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
a49836bb 187
9639596f 188%ifarch i486 i686 ppc sparc alpha athlon
a49836bb 189%define _ftp_arch %{_target_cpu}
190%else
9639596f 191%ifarch %{x8664}
590302c4 192%define _ftp_arch x86_64
b25cb9a7
JB
193%define _ftp_alt_arch i686
194%else
9639596f
PS
195%ifarch i586
196%define _ftp_arch i486
a49836bb 197%else
198%ifarch pentium2 pentium3 pentium4
199%define _ftp_arch i686
200%else
201%ifarch sparcv9 sparc64
202%define _ftp_arch sparc
203%endif
204%endif
205%endif
206%endif
b25cb9a7 207%endif
a49836bb 208
b25cb9a7 209%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
32697bd0 210
7adf66ff
ER
211sed -e '
212 s|%%ARCH%%|%{_ftp_arch}|g
213' < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-source.conf
b44549bf 214
590302c4 215%ifarch %{x8664}
7adf66ff
ER
216sed '
217 s|%%ARCH%%|%{_ftp_alt_arch}|g
218' < %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-multilib-source.conf
b25cb9a7
JB
219%endif
220
221install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/aliases.conf
222
223# get rid of non-pld sources
224rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,fedora}-source.conf
225# include them in %doc
226rm -rf configs
227cp -a conf configs
228rm -f configs/Makefile*
229
62e80071 230%if %{with python}
58c31de0
JB
231%py_postclean
232rm -f $RPM_BUILD_ROOT%{py_sitedir}/_poldekmod.la
62e80071 233%endif
58c31de0 234
b25cb9a7 235%find_lang %{name}
f373d903 236
b44549bf 237%clean
238rm -rf $RPM_BUILD_ROOT
239
b25cb9a7
JB
240%post
241[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
242
243%postun
244[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
245
246%post libs -p /sbin/ldconfig
247%postun libs -p /sbin/ldconfig
248
f581a7d5 249%triggerpostun -- poldek <= 0.18.3-5
b25cb9a7
JB
250if [ -f /etc/poldek.conf ]; then
251 sed -i -e '/^promoteepoch:.*yes/s/^/#/' /etc/poldek.conf
252fi
aa3b63c5 253
a49836bb 254# otherwise don't touch
255%ifarch i386 i586 i686 ppc sparc alpha amd64 athlon
1b2ec187 256%triggerpostun -- poldek <= 0.18.7-1
b25cb9a7
JB
257if [ -f /etc/poldek.conf ]; then
258 sed -i -e 's://ftp.pld-linux.org://ftp.ac.pld-linux.org:g' /etc/poldek.conf
259fi
a49836bb 260%endif
1b2ec187 261
b25cb9a7
JB
262%triggerpostun -- poldek < 0.19.0-1.20050613.22.0
263if [ -f /etc/poldek.conf.rpmsave ]; then
264 awk '/^source/ {
265 name = $3;
266 path = $4;
267 auto = "yes";
268 autoup = "yes";
269 type = "pdir";
f154dd55 270 pri = "";
b25cb9a7
JB
271
272 if (sub(",noauto", "", name)) {
273 auto = "no";
274 }
275
f154dd55
ER
276 # process pri=\d+
277 if (match(name, /,pri=[0-9]+/)) {
278 pri = substr(name, RSTART + 5, RLENGTH - 5);
279 name = substr(name, 1, RSTART - 1) substr(name, RSTART + RLENGTH);
280 }
281
b25cb9a7
JB
282 # skip ac sources. already in new config.
283 if (name !~ /^ac(-(ready|test|supported|updates-(general|security)))?$/) {
284 print "";
285 print "[source]";
286 print "name = " name;
287 print "type = " type;
288 print "path = " path;
289 print "auto = " auto;
290 print "autoup = " autoup;
f154dd55
ER
291 if (pri) {
292 print "pri = " pri;
293 }
b25cb9a7
JB
294 }
295
296 }' < /etc/poldek.conf.rpmsave >> /etc/poldek/source.conf
19cae196 297 echo "Converted old custom sources from /etc/poldek.conf.rpmsave to new poldek format in /etc/poldek/source.conf"
b25cb9a7
JB
298
299 # copy hold=
300 hold=$(grep ^hold /etc/poldek.conf.rpmsave)
301 if [ "$hold" ]; then
302 sed -i -e "/^#hold =/s/^.*/$hold/" /etc/poldek/poldek.conf
303 fi
304fi
305
767366b0 306%files -f %{name}.lang
b44549bf 307%defattr(644,root,root,755)
b25cb9a7
JB
308%doc README* NEWS TODO configs/
309%dir %{_sysconfdir}/%{name}
168acc54 310%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
8efee472 311%attr(755,root,root) %{_bindir}/*
b25cb9a7
JB
312%dir %{_libdir}/%{name}
313%attr(755,root,root) %{_libdir}/%{name}/*
b44549bf 314%{_mandir}/man1/%{name}*
d8826405 315%lang(pl) %{_mandir}/pl/man1/%{name}*
b25cb9a7
JB
316%{_infodir}/poldek.info*
317
f8c7c6b5 318%if !%{with static}
b25cb9a7
JB
319%files libs
320%defattr(644,root,root,755)
321%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
322%endif
323
324%files devel
325%defattr(644,root,root,755)
326%{!?with_static:%attr(755,root,root) %{_libdir}/lib*.so}
327%{_libdir}/lib*.la
328%{_includedir}/*
329
330%files static
331%defattr(644,root,root,755)
332%{_libdir}/lib*.a
58c31de0
JB
333
334%if %{with python}
335%files -n python-poldek
336%defattr(644,root,root,755)
337%attr(755,root,root) %{py_sitedir}/_poldekmod.so
338%{py_sitescriptdir}/poldek.py[co]
339%{py_sitescriptdir}/poldekmod.py[co]
340%endif
This page took 0.115086 seconds and 4 git commands to generate.