[РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Модераторы: Skull, Модераторы разделов

Ответить
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

[РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Denjs »

Собираю пакет для альта. тот самый AnyKiosk ( защита от вандализма. Блокировка изменения настроек. )


Cтолкнулся с проблемой, что когда я добавляю в секцию спека .pl файл - перловый скрипт (нужен для подготовки кодированных конфигов фокса)
то система упаковки начинает искать зависимости для перлового скрипта не находит encoding.pm ?!
в итоге сборка прекращается. Если его не включать в "%files" то он и не попадает в пакет... а он нужен.

Что делать?! вот куски логов... что делать с этим...? perl в зависимостях стоит....

Код: Выделить всё

Processing files: anykiosk-0.0.2.20101210-alt1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing(Provides): /bin/sh -e /usr/src/tmp/rpm-tmp.38013
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /usr/lib/rpm/find-provides
find-provides: running scripts (alternatives,lib,pam,perl,pkgconfig,python,shell)
+ exit 0
Finding Requires (using /usr/lib/rpm/find-requires)
Executing(Requires): /bin/sh -e /usr/src/tmp/rpm-tmp.439
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /usr/lib/rpm/find-requires
find-requires: running scripts (files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static
,symlinks)
Can't locate encoding.pm in @INC (@INC contains: /usr/lib/rpm /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl5 /usr/share/perl5 /etc/perl5 /usr/lib/perl5/vendor_perl /usr/local/lib/perl/5.12.2 /usr/local/share/perl/5.12.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl5 /usr/share/perl5 /etc/perl5 /usr/lib/perl5/vendor_perl .) at /usr/src/tmp/anykiosk-buildroot/usr/share/anykiosk/moz-byteshift.pl line 19.
BEGIN failed--compilation aborted at /usr/src/tmp/anykiosk-buildroot/usr/share/anykiosk/moz-byteshift.pl line 19.
# perl(encoding.pm) at line 19 (depth 3) not loaded at BEGIN SKIP
# perl(PerlIO/encoding.pm) at line 19 (depth 5) not loaded at BEGIN SKIP
Encode.pm not available at /usr/src/tmp/anykiosk-buildroot/usr/share/anykiosk/moz-byteshift.pl line 19
# /usr/src/tmp/anykiosk-buildroot/usr/share/anykiosk/moz-byteshift.pl: deparse failed. isPerl=0.0328596802841918.
find-requires: ERROR: /usr/lib/rpm/perl.req failed
error: /bin/sh failed
error: Failed to find Requires


RPM build errors:
    /bin/sh failed
    Failed to find Requires
Command exited with non-zero status 1
1.34user 1.78system 0:05.42elapsed 57%CPU (0avgtext+0avgdata 0maxresident)k
11744inputs+344outputs (39major+76063minor)pagefaults 0swaps
hsh-rebuild: rebuild of `pkg.tar' failed.


вот спек

Код: Выделить всё

#spec for building rpm for alt-linux with gear

%define ver 0.0.2
%define reldate 20101210

Name: anykiosk
Version: %ver.%reldate
Release: alt1

Summary: Easy kiosk mode tuning for various programs
License: GPL
Group: System/Configuration/Other

Url: http://unixforum.org/index.php?showtopic=117466
Packager: Denjs <denjs a users.berlios.de>

Source: anykiosk-0.0.2.20101210.tar.gz

BuildArch: noarch
BuildPreReq: python python-module-PyQt4 perl perl-PerlIO perl-PerlIO-Util
#Requires:
#python-module-setuptools

%description
AnyKiosk - a Point-and-Click tool for system administrators
to enable KIOSK features for various software.
0.0.2beta release includes only FireFox 3.6 plugin.

%description -l ru_RU.UTF-8
AnyKiosk - утилита настройки различных программ в режим киоска -
режим с заблокированными от изменения настройками и ограниченной
функциональностью. Просто отметье галочками нужные программы и
нажмите "применить".
Версия 0.0.2 поставляется с плагином для FireFix 3.6.

%prep
%setup -q

%build
#python_build

%install
#python_install
%make_install DESTDIR=%buildroot install


%files
/usr/share/anykiosk/tmp
/usr/share/anykiosk/*.py
#/usr/share/anykiosk/moz-byteshift.pl
/usr/bin/anykiosk



%changelog
* Sun Dec 12 2010 Denjs <denjs a users.berlios.de> 0.0.2.20101210-alt1
[ Denjs ]
- Initial build for Sisyphus
  + firefox 3.6  plugin


вот при попытке раскомментировать этот самый /usr/share/anykiosk/moz-byteshift.pl и вылазит непонятно что...
собираю по этой инструкции
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Denjs »

так....
Проблема с encoding.pm решена - перебрал что у меня установлено в системе через Synaptic
(buildrec вываливался с ошибкой после попытки распаковки архива -источника... или я не разобрался с ним....)
в итоге добавил в spec строчку

Код: Выделить всё

 BuildPreReq: perl-Encode

и оно собралось.

Но теперь другая проблема
система сборки выставляет в требования последние версии Python (2.6) которые есть в сизифусе
а мне нужно явно заставить его требовать от 2.5.


Обновлять питон не вариант.

В spec стоит строчка

Код: Выделить всё

BuildPreReq: python >= 2.5

но система сборки выставляет упорно 2.6 в итоге я не могу его поставить на Alt-Linux Школьный Lite 5.0.2
В конце сборки выдается
Requires: /bin/bash, /usr/bin/python, perl(Getopt/Std.pm), perl(PerlIO/encoding.pm), perl(encoding.pm), python2.6(PyQt4), python2.6(os)


Как заставить её требовать 2.5 и старше, а не 2.6 ?
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение serzh-z »

Denjs писал(а):
14.12.2010 14:58
Как заставить её требовать 2.5 и старше, а не 2.6 ?
А разве условие не соблюдается? 2.6 - старше 2.5
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Denjs »

serzh-z писал(а):
14.12.2010 15:02
Denjs писал(а):
14.12.2010 14:58
Как заставить её требовать 2.5 и старше, а не 2.6 ?
А разве условие не соблюдается? 2.6 - старше 2.5

Условие сюблюдается. Но я хочу что бы собранный пакет устанавливался на систему где стоит питон 2.5.
А он не ставится. Потому что система сборки фактически подменяет(?!) условие в спеке ">=2.5" на ">=2.6". понимаете?

мне надо заменять репозиорий? что бы при сборке ему был доступен только 2.5 ?

вот вывод консоли:
[root@tux-on-alt anykiosk_rpms]# apt-get --ignore-missing install anykiosk-0.0.2.20101210-alt1.noarch.rpm
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано anykiosk для 'anykiosk-0.0.2.20101210-alt1.noarch.rpm'
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога 'Входящие'.

Так как для выполнения Вашего запроса достаточно одной операции, то
скорее всего этот пакет просто невозможно установить. Сообщите, пожалуйста,
об этом как о найденной ошибке в пакете.
Эти сведения могут помочь найти выход из ситуации:

Следующие пакеты имеют неудовлетворенные зависимости:
anykiosk: Требует: python2.6(PyQt4)
E: Извините, `битые' пакеты
[root@tux-on-alt anykiosk_rpms]#


хотя в спеке указано
BuildPreReq: python >= 2.5


мне надо что бы собранный пакет требовал "python2.5(PyQt4)".
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian
Контактная информация:

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение diesel »

Denjs, то есть вы пытаетесь собрать используя python2.6 и заставить его работать с python2.5? Почему бы тогда не поставить python2.5 на сборочной машине, и не собирать им?
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Denjs »

diesel писал(а):
14.12.2010 16:01
Denjs, то есть вы пытаетесь собрать используя python2.6 и заставить его работать с python2.5? Почему бы тогда не поставить python2.5 на сборочной машине, и не собирать им?

Ну почти так))) суть в том, что я пытаюсь просто упаковать питон скрипты (с примесью перловых) и не более. Но питоновским скриптам-то пофигу должно быть!

тем более что далал то я их на питоне 2.5: на машине (на самой машине) стоит питон 2.5 (альт-линукс школьный 5.0.1)

Сборку провожу с помощью хешера который создает "чистое окрудение в чруте" по объявленным зависимостям. Ну а хешер "от старанья" лезет в сизиф и тянет оттуда 2.6 питон. И выставляет новую завсимость у пакета.

Сейчас пробую собрать пакет отключив в источниках сизиф... по репозиторию 5.1 платформы... посмотрим что получится...
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Denjs »

Ну в общем при другиз репозиториях все собирается, нормально,
проверки при начале установки проходят на ура....

но теперь он просто не устанавливается))))

Код: Выделить всё

apt-get install ./имярек.rpm

проверки проходят нормально, потом

Код: Выделить всё

[root@tux-on-alt anykiosk_rpms]# apt-get install ./anykiosk-0.0.2.20101210-alt1.noarch.rpm
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting anykiosk for './anykiosk-0.0.2.20101210-alt1.noarch.rpm'
The following NEW packages will be installed:
  anykiosk
0 upgraded, 1 newly installed, 0 removed and 209 not upgraded.
Need to get 0B/11.3kB of archives.
After unpacking 26.0kB of additional disk space will be used.



^C

и все... оно замерло и совсем )))))

Код: Выделить всё

rpm -Uvh ./имярек.rpm

сразу "замирает"...

Т.е. не вешает систему, но ничего не делает... это к чему может быть ? ))
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Denjs »


гм.... похоже я сам накосячил в стиле "забыл где-то там синаптик выключить".

В общем все собралось и вроде работает. Спасибо всем за советы и участие...
результаты можно получить на http://developer.berlios.de/projects/anykiosk/
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
romuil
Сообщения: 2095
Статус: Ромунцель
ОС: ALTLinux Sisyphus

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение romuil »

Неплохо бы пакет в сизиф залить.
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Denjs »

romuil писал(а):
14.12.2010 19:58
Неплохо бы пакет в сизиф залить.

Этим ужу Skull должен бы заняться ) я не часть Alt-Team доступа туда у мну нет.
А вообще вот: AnyKiosk.
думаю в сизифусе он появится.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Skull
Модератор
Сообщения: 2089
ОС: ALT Linux
Контактная информация:

Re: [РЕШЕНО] Сборка пакета: "нет encoding.pm" и "заставить требовать Python>=2.5"

Сообщение Skull »

romuil писал(а):
14.12.2010 19:58
Неплохо бы пакет в сизиф залить.
Уже там и в p5. Я сегодня днём залил. :)
Skull
Спасибо сказали:
Ответить