AuthorTopic



link post  Posted: 11.03.10 13:03. Post subject: Зависимости между компонентами в librcc


Помогите, пожалуйста, разобраться с зависимостями между компонентами при сборке пакетов librcc.

GTK GUI я не собираю. Поэтому, на данный момент, имеется два пакета: librcc0 и librcc-devel.
Согласно политики упаковки разделяемых библиотек http://en.opensuse.org/Packaging/Shared_Library_Packaging_Policy в librcc0 можно включить только %{_libdir}/librcc.so.* и %{_libdir}/librccui.so.*
%{_libdir}/rcc с содержимым и документация не должны находиться в этом пакете.
Я делаю отдельный пакет, например rcc-engines. Туда отправляются %{_libdir}/rcc, %{_sysconfdir}/rcc.xml и файлы документации за исключением каталога examples.
В librcc-devel упаковываются заголовочные файлы, ссылки на библиотеки и каталог examples.

Правильно ли такое решение с точки зрения функционала?
Будет ли работать librcc.so.0 без пакета с engines и конфигурационного файла? И нужна ли librcc.so.0 для engines?



Спасибо: 0 
ProfileQuote Reply
Replys - 10 [new only]


administrator


link post  Posted: 11.03.10 16:00. Post subject: rcc-engines - это до..


rcc-engines - это дополнительные движки авто-определения. Без них не будет авто-определение работать, но библиотека будет запускаться и использовать кодировку по умолчанию, а это может приводить к неправильной перекодировке. Впрочем, Enca и LibRCD можно вкомпилировать прямо внутрь, но скажем western, который определяет ISO8859-1 или UTF-8, - нет. Кроме engines там, кстати, еще есть rcc-external в /usr/bin, который тоже нужен библиотеке. Используется модулем перевода (тут штука хитрая: libtranslate который переводит юзает glib2; xmms, для которого все изначально и делалось - glib1; а если слинковать вместе в одном процессе glib1 и glib2, то все падает, - поэтому мне пришлось выносить код работающий с libtranslate в отдельный процесс). При отсутсвии думаю будет ругаться, но падать не будет, но надо проверять.

Резюмируя: rcc-engines и rcc-external являются неотъемлимой частью библиотеки и она особого смысла без них не имеет. Но, если требование не включать ничего кроме /usr/lib/lib* невозможно обойти, то в принципе можно завернуть и одну библиотеку, но стоит хотя бы выпатчить английский язык из дефолтового конфига в src/rccconfig.c


Спасибо: 0 
ProfileQuote Reply



link post  Posted: 11.03.10 16:25. Post subject: Всё понял. Я соберу ..


Всё понял. Я соберу rcc-engines и rcc-external (я его как-то упустил) отдельным пакетом rcc-runtime и пропишу жёстко в зависимости к librcc.


Спасибо: 0 
ProfileQuote Reply



link post  Posted: 11.03.10 16:48. Post subject: Что-то я не вижу rcc..


Что-то я не вижу rcc-external. При какой конфигурации он должен компилироваться?
Сейчас у меня выглядит так:

Configuration: 
POSIX Threading Support: yes

External IConv Library: no
LibCharset Library: no

Dynamic Engine Loading Support: yes
Enca Charset Detection Support: dynamic
LibRCD Charset Detection Support: yes
LibGUESS Charset Detection Support: no

Multilanguage support with DB4: no
Language autodetection using aspell: yes
Libtranslate support: no
Libtranslate Timed Translate: no

User Interfaces:
GTK User Interface: no
GTK2 User Interface: no

Directories:
RCC Data Directory: /usr/lib/rcc/


Ещё такое предупреждение rpmlint:
I: A function overflows or underflows an array access. This could be a real error, 
but occasionaly this condition is also misdetected due to loop unrolling or strange pointer
handling. So this is warning only, please review.
W: librcc0 arraysubscript rccstring.c:67



Спасибо: 0 
ProfileQuote Reply



link post  Posted: 11.03.10 17:26. Post subject: Ключи конфигурации: ..


Ключи конфигурации:
%{configure} \ 
--disable-static \
--disable-bdb \
--disable-libtranslate \
--disable-gtk2



Спасибо: 0 
ProfileQuote Reply
administrator


link post  Posted: 11.03.10 20:50. Post subject: 0. Да такое решение ..


0. Да такое решение видится мне оптимальным.
1. Сори попутал, rcc-external тоже кладется в '/usr/lib/rcc/'
2. В настоящий момент rcc-external используется только для модуля перевода. Т.е. если вырубать libtranslate, то rcc-external не нужен.


Спасибо: 0 
ProfileQuote Reply



link post  Posted: 11.03.10 21:39. Post subject: При сборке в Factory..


При сборке в Factory (GCC 4.5) вот такие ошибки:
I: A function overflows or underflows an array access. This could be a real error, 
but occasionaly this condition is also misdetected due to loop unrolling or strange pointer
handling. So this is warning only, please review.
W: librcc0 arraysubscript rccstring.c:67

I: Program causes undefined operation
(likely same variable used twiceand post/pre incremented in the same expression).
e.g. x = x++; Split it in two operations.
W: librcc0 sequence-point librcc.c:404, 511

Меня это очень беспокоит. Хотелось бы получить безукоризненный пакет.


Спасибо: 0 
ProfileQuote Reply
administrator


link post  Posted: 11.03.10 21:48. Post subject: Какой хороший в SuSE..


Какой хороший в SuSE lint. Спасибо, исправил. Патч
http://dside.dyndns.org/tmp/suse-lint.diff

Спасибо: 0 
ProfileQuote Reply



link post  Posted: 11.03.10 23:13. Post subject: Второе предупреждени..


Второе предупреждение пока осталось, в 511 строке.


Спасибо: 0 
ProfileQuote Reply
administrator


link post  Posted: 11.03.10 23:19. Post subject: Извиняюсь, не замети..


Извиняюсь, не заметил вторую строчку. Поправил патч, лежит там-же.


Спасибо: 0 
ProfileQuote Reply



link post  Posted: 11.03.10 23:44. Post subject: Большое спасибо. Теп..


Большое спасибо. Теперь всё замечательно.


Спасибо: 0 
ProfileQuote Reply
Reply:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Username, Password:      register    
Тему читают:
- user online
- user offline
All times are GMT  4 Hours. Hits today: 0
You can: smiles yes, images yes, types yes, poll no
avatars yes, links on, premoderation off, edit new post no