]> git.pld-linux.org Git - packages/poldek.git/blame - poldek.spec
- and fix #118
[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)
5486bf2e
ER
8%define ver_db 4.3.27-1
9%define ver_rpm 4.4.9-1
10#
24ad8b8d 11%define snap 20080225.00
533cf0f6 12%define rel 0.2
b44549bf 13Summary: RPM packages management helper tool
9faf625a 14Summary(pl.UTF-8): Pomocnicze narzędzie do zarządzania pakietami RPM
b44549bf 15Name: poldek
24ad8b8d 16Version: 0.30
78b0cd64 17Release: 0.%{snap}.%{rel}
9f931ada 18License: GPL v2
8efee472 19Group: Applications/System
7b350490 20Source0: http://poldek.pld-linux.org/download/snapshots/%{name}-%{version}-cvs%{snap}.tar.bz2
24ad8b8d 21# Source0-md5: 22b2cfb19cebd123e8d8148fb6ca27de
911a8560 22Source1: %{name}.conf
b25cb9a7
JB
23Source2: %{name}-multilib.conf
24Source3: %{name}-aliases.conf
9e6ff4ef 25Source4: %{name}.desktop
26Source5: %{name}.png
13aa6434
AM
27Patch1: %{name}-vserver-packages.patch
28Patch2: %{name}-config.patch
29Patch3: %{name}-multilib.patch
533cf0f6 30Patch4: %{name}-bug117hack.patch
39ca2371 31URL: http://poldek.pld-linux.org/
a4268952 32BuildRequires: autoconf
b25cb9a7 33BuildRequires: automake
373c6f03 34BuildRequires: bzip2-devel
b25cb9a7 35BuildRequires: check
b1928c7a 36BuildRequires: db-devel >= %{ver_db}
c0d8905a 37BuildRequires: gettext-autopoint
b25cb9a7
JB
38BuildRequires: libtool
39BuildRequires: libxml2-devel
cbc6f56b 40BuildRequires: openssl-devel >= 0.9.7d
13fd950e 41BuildRequires: pcre-devel
f373d903 42BuildRequires: perl-tools-pod
b3ea4b51 43BuildRequires: pkgconfig
13fd950e 44BuildRequires: popt-devel
58c31de0 45%{?with_python:BuildRequires: python-devel}
b25cb9a7 46BuildRequires: readline-devel >= 5.0
373c6f03 47BuildRequires: rpm-devel >= %{ver_rpm}
300927eb 48%{?with_python:BuildRequires: rpm-pythonprov}
282cfaec 49BuildRequires: xmlto
96475e5e 50BuildRequires: zlib-devel
373c6f03
JB
51%if %{with static}
52BuildRequires: bzip2-static
b1928c7a 53BuildRequires: db-static >= %{ver_db}
2fac0b02 54BuildRequires: glibc-static
acb26797 55BuildRequires: libselinux-static
b25cb9a7 56BuildRequires: libxml2-static
373c6f03
JB
57BuildRequires: ncurses-static
58BuildRequires: openssl-static
59BuildRequires: pcre-static
60BuildRequires: popt-static
61BuildRequires: readline-static
62BuildRequires: rpm-static
63BuildRequires: zlib-static
373c6f03 64%endif
b25cb9a7 65Requires(triggerpostun): awk
168acc54 66Requires(triggerpostun): sed >= 4.0
09d4c571 67Requires: %{name}-libs = %{version}-%{release}
b1928c7a 68Requires: db >= %{ver_db}
373c6f03 69Requires: rpm >= %{ver_rpm}
78b0cd64 70Requires: rpm-lib = %(rpm -q --qf '%{V}' rpm-lib)
e202a52a
ER
71# vf* scripts use sed
72Requires: sed
b44549bf 73BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74
75%description
0fa0dc36 76poldek is an RPM package management tool which allows you to easily
77perform package verification, installation (including system
13fd950e 78installation from scratch), upgrading, and removal.
0fa0dc36 79
13fd950e
JB
80Program can be used in batch (like apt-get from Debian's APT) or
81interactive mode. The interactive mode puts you into a readline
82interface with command line autocompletion and history, similar to the
83shell mode of Perl's CPAN.
8efee472 84
9fe14a3f 85%{?with_static:This version is statically linked.}
d94b28a6 86
9fe14a3f 87%{!?with_imode:This version hasn't got interactive mode.}
7f07e487 88#'vim
1f84648f 89
caed9b36
JR
90%description -l pl.UTF-8
91poldek jest narzędziem linii poleceń służącym do weryfikacji,
92instalacji (włączając instalację systemu od zera), aktualizacji i
93usuwania pakietów.
56e1ab51 94
caed9b36 95Program może być używany w trybie wsadowym (jak debianowy apt-get) lub
d82a9cb2 96interaktywnym. Tryb interaktywny posiada interfejs readline z
caed9b36
JR
97dopełnianiem komend i historią, podobny do trybu shell perlowego
98modułu CPAN.
8efee472 99
9fe14a3f 100%{?with_static:Ta wersja jest konsolidowana statycznie.}
a611e0bc 101
9fe14a3f 102%{!?with_imode:Ta wersja nie posiada trybu interaktywnego.}
b44549bf 103
b25cb9a7 104%package libs
168acc54 105Summary: poldek libraries
9faf625a 106Summary(pl.UTF-8): Biblioteki poldka
168acc54 107Group: Libraries
b25cb9a7
JB
108
109%description libs
110poldek libraries.
111
caed9b36 112%description libs -l pl.UTF-8
b25cb9a7
JB
113Biblioteki poldka.
114
115%package devel
168acc54 116Summary: Header files for poldek libraries
9faf625a 117Summary(pl.UTF-8): Pliki nagłówkowe bibliotek poldka
168acc54 118Group: Development/Libraries
09d4c571 119Requires: %{name}-libs = %{version}-%{release}
b25cb9a7
JB
120
121%description devel
122Header files for poldek libraries.
123
caed9b36
JR
124%description devel -l pl.UTF-8
125Pliki nagłówkowe bibliotek poldka.
b25cb9a7
JB
126
127%package static
168acc54 128Summary: poldek static libraries
9faf625a 129Summary(pl.UTF-8): Biblioteki statyczne poldka
168acc54 130Group: Development/Libraries
09d4c571 131Requires: %{name}-devel = %{version}-%{release}
b25cb9a7
JB
132
133%description static
134poldek static libraries.
135
caed9b36 136%description static -l pl.UTF-8
b25cb9a7
JB
137Biblioteki statyczne poldka.
138
58c31de0
JB
139%package -n python-poldek
140Summary: Python modules for poldek
9faf625a 141Summary(pl.UTF-8): Moduły języka Python dla poldka
58c31de0
JB
142Group: Libraries/Python
143Requires: %{name}-libs = %{version}-%{release}
144%pyrequires_eq python-libs
145
146%description -n python-poldek
147Python modules for poldek.
148
caed9b36
JR
149%description -n python-poldek -l pl.UTF-8
150Moduły języka Python dla poldka.
58c31de0 151
03159b71 152%prep
78b0cd64 153%setup -q -n %{name}-%{version}%{?snap:-cvs%{snap}}
13aa6434
AM
154%patch1 -p1
155%patch2 -p1
3375120c 156%ifarch %{x8664}
13aa6434 157%patch3 -p1
3375120c 158%endif
533cf0f6 159%patch4 -p0
b44549bf 160
0579f9b7
ER
161# cleanup backups after patching
162find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
163
b44549bf 164%build
df3bea74 165%{__autopoint}
21a83253
MM
166%{__aclocal} -I m4
167%{__autoconf}
168%{__automake}
63bd61a7 169cp -f config.sub trurlib
b25cb9a7 170
97ecf213 171CPPFLAGS="-std=gnu99"
1f84648f 172%configure \
b25cb9a7 173 %{?with_static:--enable-static --disable-shared} \
9fe14a3f 174 %{!?with_imode:--disable-imode} \
58c31de0
JB
175 --enable-nls \
176 %{?with_python:--with-python}
03159b71 177%{__make}
8efee472 178
b44549bf 179%install
180rm -rf $RPM_BUILD_ROOT
23749bce 181install -d $RPM_BUILD_ROOT%{_sysconfdir}
8efee472 182
c8f7d829 183%{__make} install \
184 DESTDIR=$RPM_BUILD_ROOT
de1099c4 185
58c31de0
JB
186%if %{with python}
187%{__make} -C python install \
188 DESTDIR=$RPM_BUILD_ROOT \
189 libdir=%{py_sitedir}
190%endif
191
9fe14a3f 192%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
a49836bb 193
9639596f 194%ifarch i486 i686 ppc sparc alpha athlon
a49836bb 195%define _ftp_arch %{_target_cpu}
196%else
9639596f 197%ifarch %{x8664}
590302c4 198%define _ftp_arch x86_64
b25cb9a7
JB
199%define _ftp_alt_arch i686
200%else
9639596f
PS
201%ifarch i586
202%define _ftp_arch i486
a49836bb 203%else
204%ifarch pentium2 pentium3 pentium4
205%define _ftp_arch i686
206%else
207%ifarch sparcv9 sparc64
208%define _ftp_arch sparc
209%endif
210%endif
211%endif
212%endif
b25cb9a7 213%endif
a49836bb 214
b25cb9a7 215%{?with_static:rm -f $RPM_BUILD_ROOT%{_bindir}/rpmvercmp}
32697bd0 216
7adf66ff
ER
217sed -e '
218 s|%%ARCH%%|%{_ftp_arch}|g
219' < %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-source.conf
b44549bf 220
590302c4 221%ifarch %{x8664}
7adf66ff
ER
222sed '
223 s|%%ARCH%%|%{_ftp_alt_arch}|g
224' < %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/pld-multilib-source.conf
b25cb9a7
JB
225%endif
226
227install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/aliases.conf
228
9e6ff4ef 229%if %{with imode}
230# add desktop file and icon
231install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
232install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
233install %{SOURCE5} $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
234%endif
235
b25cb9a7
JB
236# get rid of non-pld sources
237rm -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{rh,fedora}-source.conf
238# include them in %doc
239rm -rf configs
240cp -a conf configs
241rm -f configs/Makefile*
242
62e80071 243%if %{with python}
58c31de0
JB
244%py_postclean
245rm -f $RPM_BUILD_ROOT%{py_sitedir}/_poldekmod.la
62e80071 246%endif
58c31de0 247
b25cb9a7 248%find_lang %{name}
f373d903 249
b44549bf 250%clean
251rm -rf $RPM_BUILD_ROOT
252
3896c8b1
ER
253%post -p /sbin/postshell
254-/usr/sbin/fix-info-dir -c %{_infodir}
b25cb9a7 255
3896c8b1
ER
256%postun -p /sbin/postshell
257-/usr/sbin/fix-info-dir -c %{_infodir}
b25cb9a7
JB
258
259%post libs -p /sbin/ldconfig
260%postun libs -p /sbin/ldconfig
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 316%{_infodir}/poldek.info*
9e6ff4ef 317%if %{with imode}
318%{_desktopdir}/%{name}.desktop
319%{_pixmapsdir}/%{name}.png
320%endif
b25cb9a7 321
f8c7c6b5 322%if !%{with static}
b25cb9a7
JB
323%files libs
324%defattr(644,root,root,755)
325%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
326%endif
327
328%files devel
329%defattr(644,root,root,755)
330%{!?with_static:%attr(755,root,root) %{_libdir}/lib*.so}
331%{_libdir}/lib*.la
332%{_includedir}/*
333
334%files static
335%defattr(644,root,root,755)
336%{_libdir}/lib*.a
58c31de0
JB
337
338%if %{with python}
339%files -n python-poldek
340%defattr(644,root,root,755)
341%attr(755,root,root) %{py_sitedir}/_poldekmod.so
342%{py_sitescriptdir}/poldek.py[co]
343%{py_sitescriptdir}/poldekmod.py[co]
344%endif
This page took 0.104964 seconds and 4 git commands to generate.