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