From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <41247171.5060108@altlinux.ru> Date: Thu, 19 Aug 2004 13:22:57 +0400 From: "Aleksey Avdeev" User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.6) Gecko/20040610 X-Accept-Language: ru, be, uk, en-us, en MIME-Version: 1.0 To: ALT Devel discussion list X-Enigmail-Version: 0.83.3.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [devel] netamsadmin, =?koi8-r?b?2sHXydPJzc/T1MkgUGVybA==?= X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Aug 2004 09:23:05 -0000 Archived-At: List-Archive: List-Post: Здравствуйте. Опакечивая netamsadmin (), столкнулся со сложностями при автоматическом поиске зависимостей для Perl скриптов. Подскажите пожалуйста, как правильно с ними бороться. Есть Perl скрипт /var/www/html/netamsadmin/modules/include.cgi и некоторое множество *.pl, которыми он пользуется. 1. При сборке, наблюдаю следующие: ++++ Поиск Provides (используя /usr/lib/rpm/find-provides) Выполняется(Provides): /bin/sh -e /home/solo/tmp/rpm-tmp.59612 + umask 022 + /bin/mkdir -p /home/solo/RPM/BUILD + cd /home/solo/RPM/BUILD + /usr/lib/rpm/find-provides + exit 0 Поиск Requires (используя /usr/lib/rpm/find-requires) Выполняется(Requires): /bin/sh -e /home/solo/tmp/rpm-tmp.54825 + umask 022 + /bin/mkdir -p /home/solo/RPM/BUILD + cd /home/solo/RPM/BUILD + /usr/lib/rpm/find-requires /home/solo/tmp/netamsadmin-buildroot/var/www/html/netamsadmin/config.pl syntax OK /home/solo/tmp/netamsadmin-buildroot/var/www/html/netamsadmin/index.cgi syntax OK Global symbol "%POLICY" requires explicit package name at /home/solo/tmp/netamsadmin-buildroot/var/www/html/netamsadmin/modules/include.pl line 17. ... ---- Эксперименты показали, что идёт ругань на глобальные символы за данные в index.cgi следующим образом: use vars qw(%cfg $VERSION %QUERY %UNIT %UNIT_BYNAME %POLICY %POLICY_BYNAME %LOGINS %QUOTA_GLOBAL_INFO %QUOTAINFO %QUOTALIST $GRPLIST $html %secrets_data); Победить удаётся, только явно отключив поиск Requires в проблемных файлах (через %add_findreq_skiplist). 2. Если указать: %define _perl_lib_path %perl_vendor_privlib:/var/www/html/netamsadmin то пакет провадит все свои внутренние *.pl файлы: Provides: perl(config.pl), perl(modules/include.pl), perl(modules/na_count.pl), perl(modules/na_graph.pl), perl(modules/na_login.pl), perl(modules/na_main.pl), perl(modules/na_policy.pl), perl(modules/na_quota.pl), perl(modules/na_unit.pl), perl(modules/secrets.pl), perl(subs.pl), perl(theme/theme.pl) Если не указывать - запрашивает наличие присутствующего в нём конфига config.pl: Requires: perl(GD.pm), perl(CGI.pm), perl(POSIX.pm), perl(config.pl), perl-base -- С уважением. Алексей.