Instalacja modułów perla
Nie sposób znaleźć dystrybucję zawierającą wszystkie moduły perla, a ich kompilowanie ręcznie jest niewygodne i zostawia bałagan w systemie plików. Na szczęście istnieje skrypt cpan2rpm, który potrafi stworzyć pakiety rpm z archiwów zawierających źródła. Można go używać na wiele sposobów, w tym artykule zostaną przedstawione dwa najprzydatniejsze.
Spis treści |
| Wskazówka: Ponad 2000 modułów perla gotowych do instalacji można pobrać z repozytorium devel:languages:perl. |
Podanie nazwy modułu
Wystarczy podać nazwę modułu, jako argument:
cpan2rpm GStreamer -- cpan2rpm - Ver: 2.028 -- Signatures not set up Upgrade check Fetch: HTTP -- module: GStreamer -- Found: GStreamer-0.09.tar.gz At: http://search.cpan.org//CPAN/authors/id/T/TS/TSCH Retrieving URL Metadata retrieval Tarball extraction: [/usr/src/packages/SOURCES/GStreamer-0.09.tar.gz] Unable to build module, the following dependencies have failed: ExtUtils::Depends >= 0.205 Glib >= 1.120 ExtUtils::PkgConfig >= 1.07 Stopped at /usr/bin/cpan2rpm line 491. Can't return to /tmp/y9uppvyp7Z/GStreamer-0.09 from /tmp/y9uppvyp7Z (No such file or directory) at /usr/lib/perl5/5.8.8/File/Temp.pm line 898 END failed--call queue aborted. -- Done --
Jak widać, skrypt potrafi sam znaleźć oraz sprawdzić, czy zależne moduły są zainstalowane - w tym wypadku nie ma ich. Na szczęście pakiety RPM z tymi modułami można znaleźć w repozytorium.
Pora na następny przykład, ale tym razem na module Readonly - wygodniejszym sposobie na tworzenie stałych w perlu niż wbudowana pragma "use constant":
cpan2rpm Readonly (kilkadziesiąt linijek niżej) RPM: /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm SRPM: /usr/src/packages/SRPMS/perl-Readonly-1.03-1.src.rpm -- Done --
Teraz wystarczy zainstalować utworzony przed chwilą pakiet pakiet:
rpm -Uvh /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm
Podanie scieżki do pliku
Co jednak zrobić, jeśli zamiast dostępu do internetu masz tylko moduł na dysku twardym? Na to też istnieje sposób:
cpan2rpm Readonly-1.03.tar.gz (kilkadziesiąt linijek niżej) RPM: /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm SRPM: /usr/src/packages/SRPMS/perl-Readonly-1.03-1.src.rpm -- Done --
Uwagi końcowe
Jak widać po listingach, wszystkie operacje zostały przeprowadzone na koncie root - to nie dobrze, jedyną przeprowadzoną operacją powinno być zainstalowanie gotowego pakietu RPM. Na szczęście można używać tego skryptu na koncie zwykłego użytkownika - wystarczy przygotować się w sposób opisany w innym artykule.
Więcej sposobów użycia oraz informacji można znaleźć w na stronie podręcznika systemowego poświęconej cpan2rpm.