]> git.pld-linux.org Git - packages/perl.git/blob - perl.spec
- added db3 patch
[packages/perl.git] / perl.spec
1 %define         __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides
2 %define         perlthread %{?bcond_on_perl_threads:-thread-multi}
3 Summary:        Practical Extraction and Report Language
4 Summary(de):    Praktische Extraktions- und Berichtsprache 
5 Summary(fr):    Practical Extraction and Report Language (Perl)
6 Summary(pl):    Practical Extraction and Report Language (Perl)
7 Summary(tr):    Kabuk yorumlama dili
8 Name:           perl
9 Version:        5.6.1
10 Release:        6
11 Epoch:          1
12 License:        GPL
13 Group:          Applications/Text
14 Group(de):      Applikationen/Text
15 Group(fr):      Utilitaires/Texte
16 Group(pl):      Aplikacje/Tekst
17 Source0:        ftp://ftp.perl.org/pub/perl/CPAN/src/%{name}-%{version}.tar.gz
18 Patch0:         %{name}-noroot_install.patch
19 Patch1:         %{name}-nodb.patch
20 Patch2:         %{name}-DESTDIR.patch
21 Patch3:         %{name}-find-provides.patch
22 Patch4:         %{name}-prereq.patch
23 Patch5:         %{name}-syslog.patch
24 Patch6:         %{name}-CGI-upload-tmpdir.patch
25 Patch7:         %{name}-LD_RUN_PATH.patch
26 Patch8:         %{name}-errno_h-parsing.patch
27 Patch9:         %{name}-use-LD_PRELOAD-for-libperl.so.patch
28 Patch10:        %{name}-sitearch.patch
29 Patch11:        %{name}-soname.patch
30 Patch12:        %{name}-db3.patch
31 URL:            http://www.perl.org/
32 #Requires:      csh
33 Provides:       perl-ANSIColor
34 Provides:       perl-Devel-Peek
35 Provides:       perl-DProf
36 Provides:       perl-PodParser
37 Provides:       perl-CGI
38 Obsoletes:      perl-ANSIColor
39 Obsoletes:      perl-Devel-Peek
40 Obsoletes:      perl-DProf
41 Obsoletes:      perl-PodParser
42 Obsoletes:      perl-CGI
43 Prereq:         %{name}-lib = %{version}
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
46 %description
47 Perl is an interpreted language optimized for scanning arbitrary text
48 files, extracting information from those text files, and printing
49 reports based on that information. It's also a good language for many
50 system management tasks. The language is intended to be practical
51 (easy to use, efficient, complete) rather than beautiful (tiny,
52 elegant, minimal).
53
54 #This version has support for threads compiled in.
55
56 %description -l de
57 Perl ist eine Interpreter-Sprache, die zum Durchsuchen beliebiger
58 Text- dateien, Extrahieren von Informationen aus diesen Dateien und
59 Drucken von auf diesen Informationen basierenden Berichten optimiert
60 ist. Die Sprache eignet sich außerdem für viele
61 Systemverwaltungsaufgaben. Sie ist eher praktisch (einfache
62 Anwendung,effizient, vollständig) als schön (winzig, elegant,
63 minimal).
64
65 %description -l fr
66 Perl est un langage interprété, optimisé pour filtrer des fichiers
67 texte, extraire des informations de ces fichiers, et imprimer des
68 rapports basés sur ces informations. C'est aussi un bon langage pour
69 de nombreuses procédures de gestion système. Ce langage se veut
70 pratique (simple à utiliser, efficace, complet) autant qu'agréable
71 (conscrit, élégant, minimal).
72
73 %description -l pl
74 Perl jest jêzykiem przeznaczonym do skanowania plików tekstowych,
75 wyci±gania z nich informacji i drukowania raportu bazuj±cego na tych
76 informacjach. Jest równie¿ doskona³ym jêzykiem dla wielu narzêdzi do
77 nadzoru systemu. Jêzyk ten jest w zamierzeniu praktycznym (³atwym w
78 u¿yciu, efektywnym, kompletnym) bardziej ni¿ piêkny ;) (skromny,
79 elegancki, minimalny).
80
81 %description -l tr
82 Perl, metin dosyalarýný taramak, bu metin dosyalarýndan bilgi çýkarmak
83 ve bu bilgiye dayalý raporlar hazýrlamak icin geliþtirilmiþ bir
84 yorumlamalý dildir. Ayrýca pek çok sistem yönetimi görevleri için de
85 yararlý yetenekleri vardýr. Perl, güzel (ufak, zarif, minimum)
86 olmaktan çok, pratik olmaya yönelik (kullanýmý kolay, verimli,
87 eksiksiz) olarak tasarlanmýþtýr.
88
89 %package lib
90 Summary:        Shared Perl library and other version dependant files
91 Group:          Libraries
92
93 %description lib
94 Provides a shared library for programs which embed a Perl interpreter.
95
96 %package devel
97 Summary:        Perl development files
98 Group:          Development/Libraries
99 Requires:       %{name}-lib = %{version}
100
101 %description devel
102 Files for developing applications which embed a Perl interpreter.
103
104 %package -n sperl
105 Summary:        Practical Extraction and Report Language (SUID root binary)
106 Summary(pl):    Practical Extraction and Report Language (SUID root binaria)
107 Group:          Applications/Text
108 Group(de):      Applikationen/Text
109 Group(fr):      Utilitaires/Texte
110 Group(pl):      Aplikacje/Tekst
111 Requires:       %{name} = %{version}
112
113 %description -n sperl
114 Practical Extraction and Report Language (SUID root binary).
115
116 %description -n sperl -l pl
117 Practical Extraction and Report Language (SUID root binaria).
118
119 %package minimal
120 Summary:        Practical Extraction and Report Language - base files
121 Summary(pl):    Practical Extraction and Report Language - pliki podstawowe
122 Group:          Applications/Text
123 Group(de):      Applikationen/Text
124 Group(fr):      Utilitaires/Texte
125 Group(pl):      Aplikacje/Tekst
126 Prereq:         %{name}-lib = %{version}
127 Conflicts:      %{name}
128
129 %description minimal
130 Practical Extraction and Report Language - base files, usefull
131 on embedded systems.
132
133 %description minimal -l pl
134 Practical Extraction and Report Language - pliki podstawowe, przydatne
135 dla systemów osadzonych.
136
137
138 %prep
139 %setup  -q
140 %patch0 -p1
141 %patch1 -p1
142 %patch2 -p1
143 %patch3 -p1
144 %patch4 -p1
145 %patch5 -p1
146 %patch6 -p1
147 %patch7 -p1
148 %patch8 -p1
149 %patch9 -p1
150 %patch10 -p1
151 %patch11 -p1
152 %patch12 -p1
153
154 for i in find-* ; do
155         mv -f $i $i.old
156         sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
157         chmod 755 $i; rm -f $i.old
158 done
159
160 %build
161 # this is gross
162 # i added more ugly stuff here
163 # i know that is ugly way to set that but i dont know how do it better  
164 cat > config.over <<EOF
165 installprefix=$RPM_BUILD_ROOT%{_prefix}
166 test -d \$installprefix || mkdir -p \$installprefix
167 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
168 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
169 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
170 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
171 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
172 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
173 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
174 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
175 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
176 dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
177 EOF
178
179 USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
180 sh Configure \
181         -des \
182         -Dcc=%{__cc} \
183         -Darchname=%{_target_platform} \
184         -Dcccdlflags='-fPIC' \
185         -Dccdlflags='-rdynamic' \
186         -Dprefix=%{_prefix} \
187         -Dscriptdir=%{_bindir} \
188         -Dsitelib=%{_libdir}/perl5/site_perl \
189         -Dman1dir=%{_mandir}/man1 \
190         -Dman3dir=%{_mandir}/man3 \
191         -Dman3ext=3pm \
192         -Doptimize="$RPM_OPT_FLAGS" \
193         ${USETHREADS}usethreads \
194         -Uuselargefiles \
195 %ifarch sparc sparc64
196         -Ud_longdbl \
197 %endif
198         -Duseshrplib \
199         -Dd_dosuid \
200         -Ud_setresuid \
201         -Ud_setresgid 
202
203 mv Makefile Makefile.bak
204 sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
205         Makefile.bak > Makefile
206
207 %{__make}
208
209 %install
210 rm -rf $RPM_BUILD_ROOT
211 install -d $RPM_BUILD_ROOT
212
213 %{__make} install
214 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
215
216 ## Generate *.ph files with a trick (based on RH).
217
218 %{__make} all -f - <<EOF
219 PKGS    = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
220         libpng-devel libtiff-devel ncurses-devel popt-devel \
221         zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
222         rpm-devel
223 STDH    = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
224 STDH    += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
225 GCCDIR  = \$(shell gcc --print-file-name include)
226 GCCH    = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
227
228 LIBPATH = %{_builddir}/%{name}-%{version}
229 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
230 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
231 PERL    = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
232 PHDIR   = \$(PERLLIB)/%{_target_platform}%{perlthread}
233 PHBIN   = $RPM_BUILD_ROOT%{_bindir}/h2ph
234 H2PH    = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
235
236 all: std-headers gcc-headers
237
238 std-headers: \$(STDH)
239         cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
240
241 gcc-headers: \$(GCCH)
242         cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
243
244 EOF
245
246 ## Fix paths
247 (
248 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
249 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
250 mv -f Config.pm.new Config.pm
251 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
252 mv -f .packlist.new .packlist
253 )
254
255 ## Fix permissions
256 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
257 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
258
259 ## Fix lib
260 rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/*/CORE/libperl.so*
261 install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/
262 ln -sf libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
263
264 gzip -9nf README Change*
265
266 %clean
267 rm -rf $RPM_BUILD_ROOT
268
269 %post lib -p /sbin/ldconfig
270 %postun lib -p /sbin/ldconfig
271
272 %files
273 %defattr(644,root,root,755)
274 %doc README.gz Change*
275
276 %attr(755,root,root) %{_bindir}/a2p
277 %attr(755,root,root) %{_bindir}/c2ph
278 %attr(755,root,root) %{_bindir}/find2perl
279 %attr(755,root,root) %{_bindir}/h2ph
280 %attr(755,root,root) %{_bindir}/h2xs
281 %attr(755,root,root) %{_bindir}/perl
282 %attr(755,root,root) %{_bindir}/perl%{version}
283 %attr(755,root,root) %{_bindir}/perlbug
284 %attr(755,root,root) %{_bindir}/perlcc
285 %attr(755,root,root) %{_bindir}/perldoc
286 %attr(755,root,root) %{_bindir}/pl2pm
287 %attr(755,root,root) %{_bindir}/pod2html
288 %attr(755,root,root) %{_bindir}/pod2latex
289 %attr(755,root,root) %{_bindir}/pod2man
290 %attr(755,root,root) %{_bindir}/pod2text
291 %attr(755,root,root) %{_bindir}/podselect
292 %attr(755,root,root) %{_bindir}/pstruct
293 %attr(755,root,root) %{_bindir}/s2p
294 %attr(755,root,root) %{_bindir}/splain
295
296 %dir %{_libdir}/perl5
297 %dir %{_libdir}/perl5/%{version}
298 %dir %{_libdir}/perl5/site_perl
299 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
300 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
301
302 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[A-Z]*
303 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[a-z]*.*
304 %attr( - ,root,root) %{_libdir}/perl5/%{version}/auto
305 %attr( - ,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*
306 %attr( - ,root,root) %{_libdir}/perl5/%{version}/unicode
307 %attr( - ,root,root) %{_libdir}/perl5/%{version}/warnings
308
309 %{_mandir}/man1/*
310
311 %files lib
312 %defattr(644,root,root,755)
313 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
314
315 %files devel
316 %defattr(644,root,root,755)
317 %attr(755,root,root) %{_libdir}/lib*.so
318 %{_mandir}/man3/*
319
320 %files -n sperl
321 %defattr(644,root,root,755)
322 %attr(4755,root,root) %{_bindir}/sperl%{version}
323 %attr(4755,root,root) %{_bindir}/suidperl
324
325 %files minimal
326 %defattr(644,root,root,755)
327 %attr(755,root,root) %{_bindir}/perl
328 %attr(755,root,root) %{_bindir}/perl%{version}
329
330 %dir %{_libdir}/perl5
331 %dir %{_libdir}/perl5/%{version}
332 %dir %{_libdir}/perl5/site_perl
333 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
334 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
335
336 %{_libdir}/perl5/%{version}/AutoLoader.pm
337 %{_libdir}/perl5/%{version}/Carp.pm
338 %{_libdir}/perl5/%{version}/Cwd.pm
339 %{_libdir}/perl5/%{version}/DirHandle.pm
340 %{_libdir}/perl5/%{version}/Exporter.pm
341 %{_libdir}/perl5/%{version}/File/Basename.pm
342 %{_libdir}/perl5/%{version}/File/Find.pm
343 %{_libdir}/perl5/%{version}/File/Path.pm
344 %{_libdir}/perl5/%{version}/File/Spec.pm
345 %{_libdir}/perl5/%{version}/File/Spec/Unix.pm
346 %{_libdir}/perl5/%{version}/FileHandle.pm
347 %{_libdir}/perl5/%{version}/IO/Socket/INET.pm
348 %{_libdir}/perl5/%{version}/IO/Socket/UNIX.pm
349 %{_libdir}/perl5/%{version}/IPC/Open2.pm
350 %{_libdir}/perl5/%{version}/IPC/Open3.pm
351 %{_libdir}/perl5/%{version}/SelectSaver.pm
352 %{_libdir}/perl5/%{version}/Symbol.pm
353 %{_libdir}/perl5/%{version}/Text/Tabs.pm
354 %{_libdir}/perl5/%{version}/Text/Wrap.pm
355 %{_libdir}/perl5/%{version}/Time/Local.pm
356 %{_libdir}/perl5/%{version}/attributes.pm
357 %{_libdir}/perl5/%{version}/base.pm
358 %{_libdir}/perl5/%{version}/constant.pm
359 %{_libdir}/perl5/%{version}/fields.pm
360 %{_libdir}/perl5/%{version}/integer.pm
361 %{_libdir}/perl5/%{version}/lib.pm
362 %{_libdir}/perl5/%{version}/locale.pm
363 %{_libdir}/perl5/%{version}/overload.pm
364 %{_libdir}/perl5/%{version}/strict.pm
365 %{_libdir}/perl5/%{version}/vars.pm
366 %{_libdir}/perl5/%{version}/warnings.pm
367 %{_libdir}/perl5/%{version}/warnings/register.pm
368 %{_libdir}/perl5/%{version}/%{_target_platform}*/Config.pm
369 %{_libdir}/perl5/%{version}/%{_target_platform}*/DynaLoader.pm
370 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO.pm
371 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO/*.pm
372 %{_libdir}/perl5/%{version}/%{_target_platform}*/POSIX.pm
373 %{_libdir}/perl5/%{version}/%{_target_platform}*/Socket.pm
374 %{_libdir}/perl5/%{version}/%{_target_platform}*/XSLoader.pm
375 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader/dl_findfile.al
376 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO/IO.so
377 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/POSIX.so
378 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/tmpfile.al
379 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket/Socket.so
380
381 %dir %{_libdir}/perl5/%{version}/File
382 %dir %{_libdir}/perl5/%{version}/File/Spec
383 %dir %{_libdir}/perl5/%{version}/IO
384 %dir %{_libdir}/perl5/%{version}/IO/Socket
385 %dir %{_libdir}/perl5/%{version}/IPC
386 %dir %{_libdir}/perl5/%{version}/Text
387 %dir %{_libdir}/perl5/%{version}/Time
388 %dir %{_libdir}/perl5/%{version}/warnings
389 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*
390 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/IO
391 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto
392 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader
393 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO
394 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX
395 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket
This page took 0.060211 seconds and 4 git commands to generate.