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