]> git.pld-linux.org Git - packages/perl.git/blob - perl.spec
- renamed lib-devel package to devel
[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 URL:            http://www.perl.org/
31 #Requires:      csh
32 Provides:       perl-ANSIColor
33 Provides:       perl-Devel-Peek
34 Provides:       perl-DProf
35 Provides:       perl-PodParser
36 Provides:       perl-CGI
37 Obsoletes:      perl-ANSIColor
38 Obsoletes:      perl-Devel-Peek
39 Obsoletes:      perl-DProf
40 Obsoletes:      perl-PodParser
41 Obsoletes:      perl-CGI
42 Prereq:         %{name}-lib = %{version}
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %description
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,
51 elegant, minimal).
52
53 #This version has support for threads compiled in.
54
55 %description -l de
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,
62 minimal).
63
64 %description -l fr
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).
71
72 %description -l pl
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).
79
80 %description -l tr
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.
87
88 %package lib
89 Summary:        Shared Perl library and other version dependant files
90 Group:          Libraries
91
92 %description lib
93 Provides a shared library for programs which embed a Perl interpreter.
94
95 %package devel
96 Summary:        Perl development files
97 Group:          Development/Libraries
98 Requires:       %{name}-lib = %{version}
99
100 %description devel
101 Files for developing applications which embed a Perl interpreter.
102
103 %package -n sperl
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}
111
112 %description -n sperl
113 Practical Extraction and Report Language (SUID root binary).
114
115 %description -n sperl -l pl
116 Practical Extraction and Report Language (SUID root binaria).
117
118 %package minimal
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}
126 Conflicts:      %{name}
127
128 %description minimal
129 Practical Extraction and Report Language - base files, usefull
130 on embedded systems.
131
132 %description minimal -l pl
133 Practical Extraction and Report Language - pliki podstawowe, przydatne
134 dla systemów osadzonych.
135
136
137 %prep
138 %setup  -q
139 %patch0 -p1
140 %patch1 -p1
141 %patch2 -p1
142 %patch3 -p1
143 %patch4 -p1
144 %patch5 -p1
145 %patch6 -p1
146 %patch7 -p1
147 %patch8 -p1
148 %patch9 -p1
149 %patch10 -p1
150 %patch11 -p1
151
152 for i in find-* ; do
153         mv -f $i $i.old
154         sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
155         chmod 755 $i; rm -f $i.old
156 done
157
158 %build
159 # this is gross
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\`
175 EOF
176
177 USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
178 sh Configure \
179         -des \
180         -Dcc=%{__cc} \
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 \
189         -Dman3ext=3pm \
190         -Doptimize="$RPM_OPT_FLAGS" \
191         ${USETHREADS}usethreads \
192         -Uuselargefiles \
193 %ifarch sparc sparc64
194         -Ud_longdbl \
195 %endif
196         -Duseshrplib \
197         -Dd_dosuid \
198         -Ud_setresuid \
199         -Ud_setresgid 
200
201 mv Makefile Makefile.bak
202 sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
203         Makefile.bak > Makefile
204
205 %{__make}
206
207 %install
208 rm -rf $RPM_BUILD_ROOT
209 install -d $RPM_BUILD_ROOT
210
211 %{__make} install
212 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
213
214 ## Generate *.ph files with a trick (based on RH).
215
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 \
220         rpm-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))
225
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)/
233
234 all: std-headers gcc-headers
235
236 std-headers: \$(STDH)
237         cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
238
239 gcc-headers: \$(GCCH)
240         cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
241
242 EOF
243
244 ## Fix paths
245 (
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
251 )
252
253 ## Fix permissions
254 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
255 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
256
257 ## Fix lib
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
261
262 gzip -9nf README Change*
263
264 %clean
265 rm -rf $RPM_BUILD_ROOT
266
267 %post lib -p /sbin/ldconfig
268 %postun lib -p /sbin/ldconfig
269
270 %files
271 %defattr(644,root,root,755)
272 %doc README.gz Change*
273
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
293
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}
299
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
306
307 %{_mandir}/man1/*
308
309 %files lib
310 %defattr(644,root,root,755)
311 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
312
313 %files devel
314 %defattr(644,root,root,755)
315 %attr(755,root,root) %{_libdir}/lib*.so
316 %{_mandir}/man3/*
317
318 %files -n sperl
319 %defattr(644,root,root,755)
320 %attr(4755,root,root) %{_bindir}/sperl%{version}
321 %attr(4755,root,root) %{_bindir}/suidperl
322
323 %files minimal
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_bindir}/perl
326 %attr(755,root,root) %{_bindir}/perl%{version}
327
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}
333
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
378
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
This page took 0.06759 seconds and 3 git commands to generate.