ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Mikhail Zabaluev <mhz@alt-linux.org>
To: sisyphus@altlinux.ru
Subject: [sisyphus] Re: [sisyphus] Давайте спорить. О Perl?
Date: Wed, 23 May 2001 03:09:14 +0400
Message-ID: <20010523030914.F1915@localhost.localdomain> (raw)
In-Reply-To: <3B0A6705.2060705@novosoft.ru>; from morozov@novosoft.ru on Tue, May 22, 2001 at 08:17:57PM +0700

Hello Alexey,

On Tue, May 22, 2001 at 08:17:57PM +0700, Alexey Morozov wrote:
>
> >>высчитывания зависимостей perl-пакетов (не perl(Some::Module), а 
> >>perl(Some/Module.pm))? И чем последняя лучше общепринятой? И почему бы 
> >>
> >Это Вам расскажет maintainer perl'а.
> >
> Угу.

А что, и расскажу. Когда мы с Дмитрием обсуждали авто-зависимости для
Perl, никаких общепринятых схем, кроме perl-Some-Module в имени
пакета, на горизонте не было. Выбранная схема позволяет включать в
зависимости не только .pm-модули, но и .pl, .ph и -- теоретически --
любые другие. Почитайте внимательно TFM: оператор require допускает
явную файловую форму, а также разделитель "'" вместо "::". Вы уже
ненавидите Perl так, как ненавижу его я? :) Во всем этом разнобое
самыми надежными выглядят имена файлов.

> >>предметно на повод написания/переписывания /usr/lib/rpm/perl.{req,prov}? 
> >>
> >К maintainer'ам perl'а и rpm'а.
> >
> Ok. Неплохо б только пообсуждать, что и как делать. Одна голова хорошо...
> 
> >Опять Вы голословны, однако.
> >
> Хорошо.
> 
> Пример кода:
> --------------------------------------------------
> package Test::Module;
> use Config;
> 
> if ($Config{'usethreads'}) {
>   require Thread;
>   # начинаем колбаситься в threaded model
> } else {
>   # куча-куча форков и колбасенье через shmem/pipe
> }
> 1;
> -------------------------------------------------
> 
> рекомендую Вам поставить для хохмы два perl'а, так, чтобы Thread.pm 
> оказался в путях и попробовать собрать такой вот пакет. Я Вас уверяю, 
> Thread.pm _попадет_ в зависимости нашего модуля, хотя, гхм, ну, Вы 
> видите... Собственно, я наткнулся на что-то похожее, хотя и не столь 
> явно выраженное, когда собирал DBI,
> 
> Нет, я еще раз повторю, я не знаю, как правильно. Возможно, совсем 
> правильно, но ломово - руками.

Истинно так. AutoReq и AutoProv - подпорки, которые не должны
полностью заменять высшую нервную деятельность. Они должны работать
там, где эта деятельность не требуется. В тех же пакетах, где
встречаются такие require "из-за угла", AutoReq: perl (на финальной
стадии работы над пакетом) не используется.

В текущей версии скриптов perl.{req,prov} анализируются наиболее
распространенные формы операторов включения, да еще делается eval в
"сейфе" как попытка определения номера версии. Есть ухищрения, которые
можно применить -- например, в Perl 5.6.x можно прогнать байт-код
через декомпилятор, и если тот не загнется, получить идеально
выровненный текст, где уровень отступа означает вложенность. Но пока
не видно практической нужды увеличивать точность работы за счет
понижения производительности. Идеи, разумеется, приветствуются.
Особенно - в виде кода, патчей и т.п.

-- 
Stay tuned,
  MhZ                                     JID: mookid@jabber.org
___________
The most costly of all follies is to believe passionately in the palpably
not true.  It is the chief occupation of mankind.
		-- H.L. Mencken



  parent reply	other threads:[~2001-05-22 23:09 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-18 12:31 [sisyphus] Давайте ругаться Alexey Morozov
2001-05-22  9:40 ` [sisyphus] Re: [sisyphus] Давайте спорить Dmitry V. Levin
2001-05-22 13:17   ` Alexey Morozov
2001-05-22 17:50     ` Aleksey Novodvorsky
2001-05-22 17:58       ` Aleksey Novodvorsky
2001-05-23  2:06       ` Alexey Morozov
2001-05-23 11:11         ` [sisyphus] " S. Budnevitch
2001-05-23 13:01           ` Alexey Morozov
2001-05-22 18:19     ` Dmitry V. Levin
2001-05-23  1:27       ` Alexey Morozov
2001-05-23  9:11         ` Mikhail Zabaluev
2001-05-23 10:39           ` Alexey Morozov
2001-05-23 11:01         ` Aleksey Novodvorsky
2001-05-22 23:09     ` Mikhail Zabaluev [this message]
2001-05-23  1:44       ` [sisyphus] Re: [sisyphus] Давайте спорить. О Perl? Alexey Morozov
2001-05-23  8:58         ` Mikhail Zabaluev
2001-05-23 11:02           ` Alexey Morozov
2001-05-23 21:33             ` Mikhail Zabaluev
2001-05-24  4:05               ` [sisyphus] первый login Sergey S. Skulachenko
2001-05-22 11:45 ` [sisyphus] Давайте ругаться Aleksey Novodvorsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010523030914.F1915@localhost.localdomain \
    --to=mhz@alt-linux.org \
    --cc=sisyphus@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git