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
93 Provides a shared library for programs which embed a Perl interpreter.
96 Summary: Perl development files
97 Group: Development/Libraries
98 Requires: %{name}-lib = %{version}
101 Files for developing applications which embed a Perl interpreter.
104 Summary: Practical Extraction and Report Language (SUID root binary)
105 Summary(pl): Practical Extraction and Report Language (SUID root binaria)
106 Group: Applications/Text
107 Group(de): Applikationen/Text
108 Group(fr): Utilitaires/Texte
109 Group(pl): Aplikacje/Tekst
110 Requires: %{name} = %{version}
112 %description -n sperl
113 Practical Extraction and Report Language (SUID root binary).
115 %description -n sperl -l pl
116 Practical Extraction and Report Language (SUID root binaria).
119 Summary: Practical Extraction and Report Language - base files
120 Summary(pl): Practical Extraction and Report Language - pliki podstawowe
121 Group: Applications/Text
122 Group(de): Applikationen/Text
123 Group(fr): Utilitaires/Texte
124 Group(pl): Aplikacje/Tekst
125 Prereq: %{name}-lib = %{version}
129 Practical Extraction and Report Language - base files, usefull
132 %description minimal -l pl
133 Practical Extraction and Report Language - pliki podstawowe, przydatne
134 dla systemów osadzonych.
154 sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
155 chmod 755 $i; rm -f $i.old
160 # i added more ugly stuff here
161 # i know that is ugly way to set that but i dont know how do it better
162 cat > config.over <<EOF
163 installprefix=$RPM_BUILD_ROOT%{_prefix}
164 test -d \$installprefix || mkdir -p \$installprefix
165 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
166 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
167 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
168 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
169 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
170 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
171 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
172 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
173 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
174 dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
177 USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
181 -Darchname=%{_target_platform} \
182 -Dcccdlflags='-fPIC' \
183 -Dccdlflags='-rdynamic' \
184 -Dprefix=%{_prefix} \
185 -Dscriptdir=%{_bindir} \
186 -Dsitelib=%{_libdir}/perl5/site_perl \
187 -Dman1dir=%{_mandir}/man1 \
188 -Dman3dir=%{_mandir}/man3 \
190 -Doptimize="$RPM_OPT_FLAGS" \
191 ${USETHREADS}usethreads \
193 %ifarch sparc sparc64
201 mv Makefile Makefile.bak
202 sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
203 Makefile.bak > Makefile
208 rm -rf $RPM_BUILD_ROOT
209 install -d $RPM_BUILD_ROOT
212 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
214 ## Generate *.ph files with a trick (based on RH).
216 %{__make} all -f - <<EOF
217 PKGS = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
218 libpng-devel libtiff-devel ncurses-devel popt-devel \
219 zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
221 STDH = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
222 STDH += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
223 GCCDIR = \$(shell gcc --print-file-name include)
224 GCCH = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
226 LIBPATH = %{_builddir}/%{name}-%{version}
227 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
228 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
229 PERL = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
230 PHDIR = \$(PERLLIB)/%{_target_platform}%{perlthread}
231 PHBIN = $RPM_BUILD_ROOT%{_bindir}/h2ph
232 H2PH = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
234 all: std-headers gcc-headers
236 std-headers: \$(STDH)
237 cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
239 gcc-headers: \$(GCCH)
240 cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
246 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
247 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
248 mv -f Config.pm.new Config.pm
249 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
250 mv -f .packlist.new .packlist
254 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
255 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
258 rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/*/CORE/libperl.so*
259 install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/
260 ln -sf libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
262 gzip -9nf README Change*
265 rm -rf $RPM_BUILD_ROOT
267 %post lib -p /sbin/ldconfig
268 %postun lib -p /sbin/ldconfig
271 %defattr(644,root,root,755)
272 %doc README.gz Change*
274 %attr(755,root,root) %{_bindir}/a2p
275 %attr(755,root,root) %{_bindir}/c2ph
276 %attr(755,root,root) %{_bindir}/find2perl
277 %attr(755,root,root) %{_bindir}/h2ph
278 %attr(755,root,root) %{_bindir}/h2xs
279 %attr(755,root,root) %{_bindir}/perl
280 %attr(755,root,root) %{_bindir}/perl%{version}
281 %attr(755,root,root) %{_bindir}/perlbug
282 %attr(755,root,root) %{_bindir}/perlcc
283 %attr(755,root,root) %{_bindir}/perldoc
284 %attr(755,root,root) %{_bindir}/pl2pm
285 %attr(755,root,root) %{_bindir}/pod2html
286 %attr(755,root,root) %{_bindir}/pod2latex
287 %attr(755,root,root) %{_bindir}/pod2man
288 %attr(755,root,root) %{_bindir}/pod2text
289 %attr(755,root,root) %{_bindir}/podselect
290 %attr(755,root,root) %{_bindir}/pstruct
291 %attr(755,root,root) %{_bindir}/s2p
292 %attr(755,root,root) %{_bindir}/splain
294 %dir %{_libdir}/perl5
295 %dir %{_libdir}/perl5/%{version}
296 %dir %{_libdir}/perl5/site_perl
297 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
298 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
300 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[A-Z]*
301 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[a-z]*.*
302 %attr( - ,root,root) %{_libdir}/perl5/%{version}/auto
303 %attr( - ,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*
304 %attr( - ,root,root) %{_libdir}/perl5/%{version}/unicode
305 %attr( - ,root,root) %{_libdir}/perl5/%{version}/warnings
310 %defattr(644,root,root,755)
311 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
314 %defattr(644,root,root,755)
315 %attr(755,root,root) %{_libdir}/lib*.so
319 %defattr(644,root,root,755)
320 %attr(4755,root,root) %{_bindir}/sperl%{version}
321 %attr(4755,root,root) %{_bindir}/suidperl
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_bindir}/perl
326 %attr(755,root,root) %{_bindir}/perl%{version}
328 %dir %{_libdir}/perl5
329 %dir %{_libdir}/perl5/%{version}
330 %dir %{_libdir}/perl5/site_perl
331 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
332 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
334 %{_libdir}/perl5/%{version}/AutoLoader.pm
335 %{_libdir}/perl5/%{version}/Carp.pm
336 %{_libdir}/perl5/%{version}/Cwd.pm
337 %{_libdir}/perl5/%{version}/DirHandle.pm
338 %{_libdir}/perl5/%{version}/Exporter.pm
339 %{_libdir}/perl5/%{version}/File/Basename.pm
340 %{_libdir}/perl5/%{version}/File/Find.pm
341 %{_libdir}/perl5/%{version}/File/Path.pm
342 %{_libdir}/perl5/%{version}/File/Spec.pm
343 %{_libdir}/perl5/%{version}/File/Spec/Unix.pm
344 %{_libdir}/perl5/%{version}/FileHandle.pm
345 %{_libdir}/perl5/%{version}/IO/Socket/INET.pm
346 %{_libdir}/perl5/%{version}/IO/Socket/UNIX.pm
347 %{_libdir}/perl5/%{version}/IPC/Open2.pm
348 %{_libdir}/perl5/%{version}/IPC/Open3.pm
349 %{_libdir}/perl5/%{version}/SelectSaver.pm
350 %{_libdir}/perl5/%{version}/Symbol.pm
351 %{_libdir}/perl5/%{version}/Text/Tabs.pm
352 %{_libdir}/perl5/%{version}/Text/Wrap.pm
353 %{_libdir}/perl5/%{version}/Time/Local.pm
354 %{_libdir}/perl5/%{version}/attributes.pm
355 %{_libdir}/perl5/%{version}/base.pm
356 %{_libdir}/perl5/%{version}/constant.pm
357 %{_libdir}/perl5/%{version}/fields.pm
358 %{_libdir}/perl5/%{version}/integer.pm
359 %{_libdir}/perl5/%{version}/lib.pm
360 %{_libdir}/perl5/%{version}/locale.pm
361 %{_libdir}/perl5/%{version}/overload.pm
362 %{_libdir}/perl5/%{version}/strict.pm
363 %{_libdir}/perl5/%{version}/vars.pm
364 %{_libdir}/perl5/%{version}/warnings.pm
365 %{_libdir}/perl5/%{version}/warnings/register.pm
366 %{_libdir}/perl5/%{version}/%{_target_platform}*/Config.pm
367 %{_libdir}/perl5/%{version}/%{_target_platform}*/DynaLoader.pm
368 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO.pm
369 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO/*.pm
370 %{_libdir}/perl5/%{version}/%{_target_platform}*/POSIX.pm
371 %{_libdir}/perl5/%{version}/%{_target_platform}*/Socket.pm
372 %{_libdir}/perl5/%{version}/%{_target_platform}*/XSLoader.pm
373 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader/dl_findfile.al
374 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO/IO.so
375 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/POSIX.so
376 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/tmpfile.al
377 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket/Socket.so
379 %dir %{_libdir}/perl5/%{version}/File
380 %dir %{_libdir}/perl5/%{version}/File/Spec
381 %dir %{_libdir}/perl5/%{version}/IO
382 %dir %{_libdir}/perl5/%{version}/IO/Socket
383 %dir %{_libdir}/perl5/%{version}/IPC
384 %dir %{_libdir}/perl5/%{version}/Text
385 %dir %{_libdir}/perl5/%{version}/Time
386 %dir %{_libdir}/perl5/%{version}/warnings
387 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*
388 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/IO
389 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto
390 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader
391 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO
392 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX
393 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket