perl 5.8.0
Radoslaw Zielinski
radek w karnet.pl
Śro, 26 Lut 2003, 00:29:55 CET
Witam,
Moja dłubanina na branchu PERL_5_8_0 doszła już do stabilnego etapu.
Zmiany:
1. Katalogi dla modułów.
Mamy trzy grupy katalogów:
a) te, do których wrzucane są moduły z pakietów, budowanych
z perl.spec: perl_privlib i perl_archlib
b) te, do których moduły wrzucają inne pakiety: perl_vendorlib
i perl_vendorarch
c) te, do których wrzucane są moduły instalowane ,,z ręki'':
perl_sitearch i perl_sitelib.
Definicje:
$ perl -V:install{{priv,arch}lib,{vendor,site}{lib,arch}}
installprivlib='/usr/share/perl5/5.8.0';
installarchlib='/usr/lib/perl5/5.8.0/athlon-pld-linux-thread-multi';
installvendorlib='/usr/share/perl5/pld_perl/';
installvendorarch='/usr/lib/perl5/pld_perl/5.8.0/athlon-pld-linux-thread-multi';
installsitelib='/usr/local/share/perl5/';
installsitearch='/usr/local/lib/perl5/5.8.0/athlon-pld-linux-thread-multi';
Nie wiem, czy "pld_perl" to nie przegięcie pały... MDK na przykład
stosuje domyślne "vendor_perl".
2. Katalogi dla stron podręcznika systemowego.
Sekcja pierwsza zostaje normalnie, sekcja trzecia przenosi się do
/usr/share/man/man3p. Zdefiniowałem odpowiednie makro w macros.perl
(także na RA-branch, żeby można było od biedy budować moduły ze
speców w środowisku Ra -- nie na builderach oczywiście). man.spec
już poprawiłem i podniosłem release.
Rozszerzenia takie, jak obecnie na HEAD -- .1/.3perl dla modułów
ze standardowej dystrybucji perla i .1p/.3pm dla doinstalowywanych.
3. Reorganizacja pakietów.
Zupełna. Zrobiłem to od początku.
Wydzieliłem pakiet perl-base; powinien udostępniać bardzo podstawową
instalację perla dla różnych programideł. To, co jest tam teraz
wrzucone trzeba jeszcze obciąć.
Pakiet perl-modules zawiera resztę modułów ze standardowej
dystrybucji.
Oprócz tych związanych z kompilowaniem rzeczy okołoperlowych, to
wyleciało do perl-devel.
Oprócz tego osobne pakiety dla dokumentacji i różnego rodzaju
narzędzi, oraz microperl (nie testowałem, co to warte).
Pakiet perl zawiera w zasadzie tylko zależności. Chwilowo jest tam
także perldoc i jeszcze jakieś popierdółki, ale to też jest do
wyrzucenia.
Głównym założeniem, które mi przyświecało, było umożliwienie (w
przyszłości) instalowania kilku wersji perla -- dwa różne perl-base,
perl-modules czy perl-devel nie konfliktują ze sobą (poza symlinkiem
/usr/bin/perl). Temu też służy wprowadzenie (do użytku, bo
zdefiniowane jest od dawna) makra __perl -- żeby można było wybrać,
dla którego perla ma być budowany dany pakiet.
4. db.
Wersja DB_File, dystrybuowana z perlem nie nadąża oczywiście za
rozwojem db -- nie kompiluje się, więc trzebaby łatać... A pakiety
budowane z perl.spec mają być z założenia łatane / zmieniane jak
najmniej.
Rozwiązanie: wywaliłem DB_File zupełnie. Jest w osobnym pakiecie.
5. gdbm.
Też wywaliłem, ale trzeba jednak będzie je włączyć -- nie są już
rozprowadzane w postaci osobnych modułów.
6. Wątki, LFS.
Nie stwierdziłem powodu, żeby nie włączać domyślnie.
Pozostało:
- podbić release RPM-a ze względu na nowy perl.prov,
- polecieć z półautomatu wszystkie dotykające perla spece: zamiana
perl_site{lib,arch} na perl_vendor{lib,arch}, %{_mandir}/man3 na
%{perl_man3dir} i dodanie argumentu INSTALLDIRS=vendor do każdego
wywołania "perl Makefile.PL" lub hacka z "perl -MExtUtils::...",
- coś jeszcze, ale zapomniałem.
Komentarze, wątpliwości, joby? Jeśli nie będzie, to na weekend planuję
,,The Great Merge of Borg''.
--
Radosław Zieliński <radek w karnet.pl>
[ GPG key: http://radek.karnet.pl/ ]
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 189 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20040626/15a7ea83/attachment.bin
Więcej informacji o liście dyskusyjnej pld-devel-pl