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