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: Shared Perl library - development files
97 Group: Development/Libraries
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}
138 Practical Extraction and Report Language - base files, usefull
141 %description minimal -l pl
142 Practical Extraction and Report Language - pliki podstawowe, przydatne
143 dla systemów osadzonych.
163 sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
164 chmod 755 $i; rm -f $i.old
169 # i added more ugly stuff here
170 # i know that is ugly way to set that but i dont know how do it better
171 cat > config.over <<EOF
172 installprefix=$RPM_BUILD_ROOT%{_prefix}
173 test -d \$installprefix || mkdir -p \$installprefix
174 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
175 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
176 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
177 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
178 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
179 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
180 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
181 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
182 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
183 dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
186 USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
190 -Darchname=%{_target_platform} \
191 -Dcccdlflags='-fPIC' \
192 -Dccdlflags='-rdynamic' \
193 -Dprefix=%{_prefix} \
194 -Dscriptdir=%{_bindir} \
195 -Dsitelib=%{_libdir}/perl5/site_perl \
196 -Dman1dir=%{_mandir}/man1 \
197 -Dman3dir=%{_mandir}/man3 \
199 -Doptimize="$RPM_OPT_FLAGS" \
200 ${USETHREADS}usethreads \
202 %ifarch sparc sparc64
210 mv Makefile Makefile.bak
211 sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
212 Makefile.bak > Makefile
217 rm -rf $RPM_BUILD_ROOT
218 install -d $RPM_BUILD_ROOT
221 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
223 ## Generate *.ph files with a trick (based on RH).
225 %{__make} all -f - <<EOF
226 PKGS = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
227 libpng-devel libtiff-devel ncurses-devel popt-devel \
228 zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
230 STDH = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
231 STDH += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
232 GCCDIR = \$(shell gcc --print-file-name include)
233 GCCH = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
235 LIBPATH = %{_builddir}/%{name}-%{version}
236 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
237 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
238 PERL = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
239 PHDIR = \$(PERLLIB)/%{_target_platform}%{perlthread}
240 PHBIN = $RPM_BUILD_ROOT%{_bindir}/h2ph
241 H2PH = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
243 all: std-headers gcc-headers
245 std-headers: \$(STDH)
246 cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
248 gcc-headers: \$(GCCH)
249 cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
255 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
256 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
257 mv -f Config.pm.new Config.pm
258 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
259 mv -f .packlist.new .packlist
263 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
264 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
267 rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/*/CORE/libperl.so*
268 install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/
269 ln -sf libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
271 gzip -9nf README Change*
274 rm -rf $RPM_BUILD_ROOT
276 %post lib -p /sbin/ldconfig
277 %postun lib -p /sbin/ldconfig
280 %defattr(644,root,root,755)
281 %doc README.gz Change*
283 %attr(755,root,root) %{_bindir}/a2p
284 %attr(755,root,root) %{_bindir}/c2ph
285 %attr(755,root,root) %{_bindir}/find2perl
286 %attr(755,root,root) %{_bindir}/h2ph
287 %attr(755,root,root) %{_bindir}/h2xs
288 %attr(755,root,root) %{_bindir}/perl
289 %attr(755,root,root) %{_bindir}/perl%{version}
290 %attr(755,root,root) %{_bindir}/perlbug
291 %attr(755,root,root) %{_bindir}/perlcc
292 %attr(755,root,root) %{_bindir}/pl2pm
293 %attr(755,root,root) %{_bindir}/pod2html
294 %attr(755,root,root) %{_bindir}/pod2latex
295 %attr(755,root,root) %{_bindir}/pod2man
296 %attr(755,root,root) %{_bindir}/pod2text
297 %attr(755,root,root) %{_bindir}/podselect
298 %attr(755,root,root) %{_bindir}/pstruct
299 %attr(755,root,root) %{_bindir}/s2p
300 %attr(755,root,root) %{_bindir}/splain
302 %dir %{_libdir}/perl5
303 %dir %{_libdir}/perl5/%{version}
304 %dir %{_libdir}/perl5/site_perl
305 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
306 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
308 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[A-Z]*
309 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[a-z]*.*
310 %attr( - ,root,root) %{_libdir}/perl5/%{version}/auto
311 %attr( - ,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*
312 %attr( - ,root,root) %{_libdir}/perl5/%{version}/unicode
313 %attr( - ,root,root) %{_libdir}/perl5/%{version}/warnings
316 %defattr(644,root,root,755)
317 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
320 %defattr(644,root,root,755)
321 %attr(755,root,root) %{_libdir}/lib*.so
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_bindir}/perldoc
327 %{_libdir}/perl5/%{version}/pod/*
330 %defattr(644,root,root,755)
331 %attr(4755,root,root) %{_bindir}/sperl%{version}
332 %attr(4755,root,root) %{_bindir}/suidperl
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_bindir}/perl
337 %attr(755,root,root) %{_bindir}/perl%{version}
339 %dir %{_libdir}/perl5
340 %dir %{_libdir}/perl5/%{version}
341 %dir %{_libdir}/perl5/site_perl
342 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
343 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
345 %{_libdir}/perl5/%{version}/AutoLoader.pm
346 %{_libdir}/perl5/%{version}/Carp.pm
347 %{_libdir}/perl5/%{version}/Cwd.pm
348 %{_libdir}/perl5/%{version}/DirHandle.pm
349 %{_libdir}/perl5/%{version}/Exporter.pm
350 %{_libdir}/perl5/%{version}/File/Basename.pm
351 %{_libdir}/perl5/%{version}/File/Find.pm
352 %{_libdir}/perl5/%{version}/File/Path.pm
353 %{_libdir}/perl5/%{version}/File/Spec.pm
354 %{_libdir}/perl5/%{version}/File/Spec/Unix.pm
355 %{_libdir}/perl5/%{version}/FileHandle.pm
356 %{_libdir}/perl5/%{version}/IO/Socket/INET.pm
357 %{_libdir}/perl5/%{version}/IO/Socket/UNIX.pm
358 %{_libdir}/perl5/%{version}/IPC/Open2.pm
359 %{_libdir}/perl5/%{version}/IPC/Open3.pm
360 %{_libdir}/perl5/%{version}/SelectSaver.pm
361 %{_libdir}/perl5/%{version}/Symbol.pm
362 %{_libdir}/perl5/%{version}/Text/Tabs.pm
363 %{_libdir}/perl5/%{version}/Text/Wrap.pm
364 %{_libdir}/perl5/%{version}/Time/Local.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}*/DynaLoader.pm
379 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO.pm
380 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO/*.pm
381 %{_libdir}/perl5/%{version}/%{_target_platform}*/POSIX.pm
382 %{_libdir}/perl5/%{version}/%{_target_platform}*/Socket.pm
383 %{_libdir}/perl5/%{version}/%{_target_platform}*/XSLoader.pm
384 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader/dl_findfile.al
385 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO/IO.so
386 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/POSIX.so
387 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/tmpfile.al
388 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket/Socket.so
390 %dir %{_libdir}/perl5/%{version}/File
391 %dir %{_libdir}/perl5/%{version}/File/Spec
392 %dir %{_libdir}/perl5/%{version}/IO
393 %dir %{_libdir}/perl5/%{version}/IO/Socket
394 %dir %{_libdir}/perl5/%{version}/IPC
395 %dir %{_libdir}/perl5/%{version}/Text
396 %dir %{_libdir}/perl5/%{version}/Time
397 %dir %{_libdir}/perl5/%{version}/warnings
398 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*
399 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/IO
400 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto
401 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader
402 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO
403 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX
404 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket