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
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 URL: http://www.perl.org/
32 Provides: perl-ANSIColor
33 Provides: perl-Devel-Peek
35 Provides: perl-PodParser
37 Obsoletes: perl-ANSIColor
38 Obsoletes: perl-Devel-Peek
40 Obsoletes: perl-PodParser
42 Prereq: %{name}-lib = %{version}
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 Perl is an interpreted language optimized for scanning arbitrary text
47 files, extracting information from those text files, and printing
48 reports based on that information. It's also a good language for many
49 system management tasks. The language is intended to be practical
50 (easy to use, efficient, complete) rather than beautiful (tiny,
53 #This version has support for threads compiled in.
56 Perl ist eine Interpreter-Sprache, die zum Durchsuchen beliebiger
57 Text- dateien, Extrahieren von Informationen aus diesen Dateien und
58 Drucken von auf diesen Informationen basierenden Berichten optimiert
59 ist. Die Sprache eignet sich außerdem für viele
60 Systemverwaltungsaufgaben. Sie ist eher praktisch (einfache
61 Anwendung,effizient, vollständig) als schön (winzig, elegant,
65 Perl est un langage interprété, optimisé pour filtrer des fichiers
66 texte, extraire des informations de ces fichiers, et imprimer des
67 rapports basés sur ces informations. C'est aussi un bon langage pour
68 de nombreuses procédures de gestion système. Ce langage se veut
69 pratique (simple à utiliser, efficace, complet) autant qu'agréable
70 (conscrit, élégant, minimal).
73 Perl jest jêzykiem przeznaczonym do skanowania plików tekstowych,
74 wyci±gania z nich informacji i drukowania raportu bazuj±cego na tych
75 informacjach. Jest równie¿ doskona³ym jêzykiem dla wielu narzêdzi do
76 nadzoru systemu. Jêzyk ten jest w zamierzeniu praktycznym (³atwym w
77 u¿yciu, efektywnym, kompletnym) bardziej ni¿ piêkny ;) (skromny,
78 elegancki, minimalny).
81 Perl, metin dosyalarýný taramak, bu metin dosyalarýndan bilgi çýkarmak
82 ve bu bilgiye dayalý raporlar hazýrlamak icin geliþtirilmiþ bir
83 yorumlamalý dildir. Ayrýca pek çok sistem yönetimi görevleri için de
84 yararlý yetenekleri vardýr. Perl, güzel (ufak, zarif, minimum)
85 olmaktan çok, pratik olmaya yönelik (kullanýmý kolay, verimli,
86 eksiksiz) olarak tasarlanmýþtýr.
89 Summary: Shared Perl library and other version dependant files
90 Group: Applications/Text
93 Provides a shared library for programs which embed a Perl interpreter.
96 Summary: Shared Perl library - development files
97 Group: Applications/Text
98 Requires: %{name}-lib = %{version}
100 %description lib-devel
101 Files for developing applications which embed a Perl interpreter.
104 Summary: Perl documentation
105 Group: Applications/Text
106 Requires: %{name} = %{version}
109 Perl manual pages and POD docs. If you are writing Perl programs, you
110 almost certainly need this.
113 Summary: Practical Extraction and Report Language (SUID root binary)
114 Summary(pl): Practical Extraction and Report Language (SUID root binaria)
115 Group: Applications/Text
116 Group(de): Applikationen/Text
117 Group(fr): Utilitaires/Texte
118 Group(pl): Aplikacje/Tekst
119 Requires: %{name} = %{version}
121 %description -n sperl
122 Practical Extraction and Report Language (SUID root binary).
124 %description -n sperl -l pl
125 Practical Extraction and Report Language (SUID root binaria).
128 Summary: Practical Extraction and Report Language - base files
129 Summary(pl): Practical Extraction and Report Language - pliki podstawowe
130 Group: Applications/Text
131 Group(de): Applikationen/Text
132 Group(fr): Utilitaires/Texte
133 Group(pl): Aplikacje/Tekst
134 Prereq: %{name}-lib = %{version}
135 Provides: %{name} = %{version}
139 Practical Extraction and Report Language - base files, usefull
142 %description minimal -l pl
143 Practical Extraction and Report Language - pliki podstawowe, przydatne
144 dla systemów osadzonych.
164 sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
165 chmod 755 $i; rm -f $i.old
170 # i added more ugly stuff here
171 # i know that is ugly way to set that but i dont know how do it better
172 cat > config.over <<EOF
173 installprefix=$RPM_BUILD_ROOT%{_prefix}
174 test -d \$installprefix || mkdir -p \$installprefix
175 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
176 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
177 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
178 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
179 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
180 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
181 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
182 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
183 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
184 dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
187 USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
191 -Darchname=%{_target_platform} \
192 -Dcccdlflags='-fPIC' \
193 -Dccdlflags='-rdynamic' \
194 -Dprefix=%{_prefix} \
195 -Dscriptdir=%{_bindir} \
196 -Dsitelib=%{_libdir}/perl5/site_perl \
197 -Dman1dir=%{_mandir}/man1 \
198 -Dman3dir=%{_mandir}/man3 \
200 -Doptimize="$RPM_OPT_FLAGS" \
201 ${USETHREADS}usethreads \
203 %ifarch sparc sparc64
206 %ifnarch sparc sparc64
213 mv Makefile Makefile.bak
214 sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
215 Makefile.bak > Makefile
220 rm -rf $RPM_BUILD_ROOT
221 install -d $RPM_BUILD_ROOT
224 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
226 ## Generate *.ph files with a trick (based on RH).
228 %{__make} all -f - <<EOF
229 PKGS = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
230 libpng-devel libtiff-devel ncurses-devel popt-devel \
231 zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
233 STDH = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
234 STDH += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
235 GCCDIR = \$(shell gcc --print-file-name include)
236 GCCH = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
238 LIBPATH = %{_builddir}/%{name}-%{version}
239 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
240 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
241 PERL = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
242 PHDIR = \$(PERLLIB)/%{_target_platform}%{perlthread}
243 PHBIN = $RPM_BUILD_ROOT%{_bindir}/h2ph
244 H2PH = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
246 all: std-headers gcc-headers
248 std-headers: \$(STDH)
249 cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
251 gcc-headers: \$(GCCH)
252 cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
258 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
259 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
260 mv -f Config.pm.new Config.pm
261 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
262 mv -f .packlist.new .packlist
266 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
267 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
270 rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/*/CORE/libperl.so*
271 install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/
272 ln -sf libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
274 gzip -9nf README Change*
277 rm -rf $RPM_BUILD_ROOT
279 %post lib -p /sbin/ldconfig
280 %postun lib -p /sbin/ldconfig
283 %defattr(644,root,root,755)
284 %doc README.gz Change*
286 %attr(755,root,root) %{_bindir}/a2p
287 %attr(755,root,root) %{_bindir}/c2ph
288 %attr(755,root,root) %{_bindir}/find2perl
289 %attr(755,root,root) %{_bindir}/h2ph
290 %attr(755,root,root) %{_bindir}/h2xs
291 %attr(755,root,root) %{_bindir}/perl
292 %attr(755,root,root) %{_bindir}/perl%{version}
293 %attr(755,root,root) %{_bindir}/perlbug
294 %attr(755,root,root) %{_bindir}/perlcc
295 %attr(755,root,root) %{_bindir}/pl2pm
296 %attr(755,root,root) %{_bindir}/pod2html
297 %attr(755,root,root) %{_bindir}/pod2latex
298 %attr(755,root,root) %{_bindir}/pod2man
299 %attr(755,root,root) %{_bindir}/pod2text
300 %attr(755,root,root) %{_bindir}/podselect
301 %attr(755,root,root) %{_bindir}/pstruct
302 %attr(755,root,root) %{_bindir}/s2p
303 %attr(755,root,root) %{_bindir}/splain
305 %dir %{_libdir}/perl5
306 %dir %{_libdir}/perl5/%{version}
307 %dir %{_libdir}/perl5/site_perl
308 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
309 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
311 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[A-Z]*
312 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[a-z]*.*
313 %attr( - ,root,root) %{_libdir}/perl5/%{version}/auto
314 %attr( - ,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*
315 %attr( - ,root,root) %{_libdir}/perl5/%{version}/unicode
316 %attr( - ,root,root) %{_libdir}/perl5/%{version}/warnings
319 %defattr(644,root,root,755)
320 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/lib*.so
327 %defattr(644,root,root,755)
328 %attr(755,root,root) %{_bindir}/perldoc
330 %{_libdir}/perl5/%{version}/pod/*
333 %defattr(644,root,root,755)
334 %attr(4755,root,root) %{_bindir}/sperl%{version}
335 %attr(4755,root,root) %{_bindir}/suidperl
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_bindir}/perl
340 %attr(755,root,root) %{_bindir}/perl%{version}
342 %dir %{_libdir}/perl5
343 %dir %{_libdir}/perl5/%{version}
344 %dir %{_libdir}/perl5/site_perl
345 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
346 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
348 %{_libdir}/perl5/%{version}/AutoLoader.pm
349 %{_libdir}/perl5/%{version}/Carp.pm
350 %{_libdir}/perl5/%{version}/Carp/Heavy.pm
351 %{_libdir}/perl5/%{version}/Cwd.pm
352 %{_libdir}/perl5/%{version}/Exporter.pm
353 %{_libdir}/perl5/%{version}/Exporter/Heavy.pm
354 %{_libdir}/perl5/%{version}/File/Spec.pm
355 %{_libdir}/perl5/%{version}/File/Spec/Unix.pm
356 %{_libdir}/perl5/%{version}/FileHandle.pm
357 %{_libdir}/perl5/%{version}/IO/Socket/INET.pm
358 %{_libdir}/perl5/%{version}/IO/Socket/UNIX.pm
359 %{_libdir}/perl5/%{version}/IPC/Open2.pm
360 %{_libdir}/perl5/%{version}/IPC/Open3.pm
361 %{_libdir}/perl5/%{version}/SelectSaver.pm
362 %{_libdir}/perl5/%{version}/Symbol.pm
363 %{_libdir}/perl5/%{version}/Text/Tabs.pm
364 %{_libdir}/perl5/%{version}/Text/Wrap.pm
365 %{_libdir}/perl5/%{version}/attributes.pm
366 %{_libdir}/perl5/%{version}/base.pm
367 %{_libdir}/perl5/%{version}/constant.pm
368 %{_libdir}/perl5/%{version}/fields.pm
369 %{_libdir}/perl5/%{version}/integer.pm
370 %{_libdir}/perl5/%{version}/lib.pm
371 %{_libdir}/perl5/%{version}/locale.pm
372 %{_libdir}/perl5/%{version}/overload.pm
373 %{_libdir}/perl5/%{version}/strict.pm
374 %{_libdir}/perl5/%{version}/vars.pm
375 %{_libdir}/perl5/%{version}/warnings.pm
376 %{_libdir}/perl5/%{version}/warnings/register.pm
377 %{_libdir}/perl5/%{version}/%{_target_platform}*/Config.pm
378 %{_libdir}/perl5/%{version}/%{_target_platform}*/Data/Dumper.pm
379 %{_libdir}/perl5/%{version}/%{_target_platform}*/DynaLoader.pm
380 %{_libdir}/perl5/%{version}/%{_target_platform}*/Errno.pm
381 %{_libdir}/perl5/%{version}/%{_target_platform}*/Fcntl.pm
382 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO.pm
383 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO/*.pm
384 %{_libdir}/perl5/%{version}/%{_target_platform}*/POSIX.pm
385 %{_libdir}/perl5/%{version}/%{_target_platform}*/Socket.pm
386 %{_libdir}/perl5/%{version}/%{_target_platform}*/XSLoader.pm
387 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Data/Dumper
388 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader
389 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Fcntl
390 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO
391 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX
392 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket