google-code-export / lightlang

Automatically exported from code.google.com/p/lightlang
0 stars 0 forks source link

Сборка LightLang в RPM #85

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Заметил, что у проекта нет актуальных 
сборок RPM пакетов. Решил сделать
spec-файл на основе имеющихся. spec-файл для 
последней ревизии прилагается.
Хотелось бы выложить все это на SUSE Build Service - 
очень удобная вещь для
сборки RPM для большого количества 
дистрибутивов, но там не все просто.

Пакет после сборки проходит кучу проверок 
на соответствие стандартам. С
этим возникают проблемы. Большинство из 
них удалось устранить, осталась
фактически одна - наличие прошитых путей в 
исполняемых бинарных файлах, что
является смертным грехом. Впрочем, лог тоже 
прилагается.

Еще проблема - куча излишних проверок в 
скрипте configure. Непонятно, зачем
проверять наличие зависимостей на этапе 
компиляции. Но это уже не столь
существенно.

Original issue reported on code.google.com by ympavlov on 30 Mar 2010 at 9:28

Attachments:

GoogleCodeExporter commented 9 years ago
Спасибо большое.

На счет путей спорно. Если вы о плеере - то 
это временная зависимость, ее не должно 
быть. Просто мне было лень писать 
проигрывание ogg :-). Потом, когда дойдут руки 
- 
напишу.

Как вы предлагаете заменить остальные пути?

Original comment by mdevaev@gmail.com on 31 Mar 2010 at 9:13

GoogleCodeExporter commented 9 years ago
Кстати, есть вполне официальный RPM для ALT Linux.

Original comment by mdevaev@gmail.com on 31 Mar 2010 at 9:13

GoogleCodeExporter commented 9 years ago
Принял часть патча, касающуюся xsl.desktop.
ogg123 не использую, так как он некорректно 
работает в Федоре.

Original comment by mdevaev@gmail.com on 5 Apr 2010 at 3:47

GoogleCodeExporter commented 9 years ago
> наличие прошитых путей в исполняемых 
бинарных файлах
В процессе сборки на OBS обнаружил странную 
вещь: пакет собрался в openSUSE Factory поле 
обновления версии python. Похоже на то, что 
дело в самом компиляторе или rpmlint python. 
Помучился с разными версиями, перемещал 
python файлы в разные папки, но ничего не 
выяснил.

Также перевел на использование sox. 
Повозился с переносом на Fedora и Mandriva, но так 
и не 
перенес =(

Ура! Текущая версия lightlang собралась на openSUSE 
11.2 и openSUSE Factory.

Сделал отдельные пакеты словарей и звуков 
на основе тех, что были в EduMandriva.

Так что, добро пожаловать на 
http://widehat.opensuse.org/repositories/home:/ympavlov/
Установка на openSUSE 11.2: 
http://software.opensuse.org/ymp/home:ympavlov/openSUSE_11.2/
lightlang.ymp
Установка на openSUSE Factory: 
http://software.opensuse.org/ymp/home:ympavlov/openSUSE_Factory/
lightlang.ymp

Original comment by ympavlov on 10 Apr 2010 at 2:49

GoogleCodeExporter commented 9 years ago
Спасибо, добавил ссылку на главную 
страницу :-)

Original comment by mdevaev@gmail.com on 11 Apr 2010 at 3:39

GoogleCodeExporter commented 9 years ago
Повозился, удовлетворил основные 
требования RPMLINT. Оказывается, python при 
компиляции 
записывал в бинарник имя файла (а оно 
содержало путь). Вставил cd в Makefile перед 
компиляцией. 
Патчик прилагаю.

Также добавил в сборку Fedora 11, Fedora 12 и SLE 11.

Original comment by ympavlov on 20 Apr 2010 at 5:48

Attachments:

GoogleCodeExporter commented 9 years ago
Меня смущает строка про ман. Не кладут же 
файлы без категории.

Original comment by mdevaev@gmail.com on 20 Apr 2010 at 9:01

GoogleCodeExporter commented 9 years ago
Маны на английском языке кладут прямо в 
папку /usr/share/man/manX, а переведенные на русский 
- в /
usr/share/man/ru/manX.

Original comment by ympavlov on 21 Apr 2010 at 3:43

GoogleCodeExporter commented 9 years ago
-INS_XSL_DESKTOP_ICON_DIR=@datarootdir@/icons
+INS_XSL_DESKTOP_ICON_DIR=@datarootdir@/icons/hicolor/64x64/apps

hicolor - это же отдельная тема:
[liksys@kusanagi ~]$ rpm -q --whatprovides /usr/share/icons/hicolor/
hicolor-icon-theme-0.11-1.fc12.noarch
fedora-logos-12.0.3-2.fc12.noarch
tigervnc-1.0.0-3.fc12.x86_64
krb5-auth-dialog-0.13-2.fc12.x86_64
xchm-1.17-2.fc12.x86_64
pikdev-0.9.2-8.fc12.x86_64

Original comment by mdevaev@gmail.com on 21 Apr 2010 at 3:07

GoogleCodeExporter commented 9 years ago
Кстати, у меня pushd/popd в мейкфайлах не 
работают. Они выполнены в виде встроенных 
башевых команд.

Original comment by mdevaev@gmail.com on 21 Apr 2010 at 3:28

GoogleCodeExporter commented 9 years ago
Нет, значок я правильно разместил. hicolor - это 
дефолтная тема, в ней все ищется. 
Подробности: 
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html

А что выдает при попытке сделать pushd в Makefile? 
Без него как-то кривенько.

Original comment by ympavlov on 21 Apr 2010 at 4:48

GoogleCodeExporter commented 9 years ago
make[2]: Entering directory 
`/home/liksys/projects/lightlang/trunk/lightlang/apps/llrepo'
pushd src
make[2]: pushd: Команда не найдена
make[2]: *** [all] Ошибка 127

Original comment by mdevaev@gmail.com on 21 Apr 2010 at 9:03

GoogleCodeExporter commented 9 years ago
Про иконку - применил.

Original comment by mdevaev@gmail.com on 21 Apr 2010 at 9:04

GoogleCodeExporter commented 9 years ago
Кстати, по какой ссылке можно сам спек 
скачать? Если вы его модифицируете, чтобы я 
мог 
обновлять его же в репозитории и держать в 
актуальном виде.

Original comment by mdevaev@gmail.com on 21 Apr 2010 at 9:05

GoogleCodeExporter commented 9 years ago
Да, про pushd и popd - это я погорячился. Похоже, 
его можно скачать только с src.rpm файлом. Или 
зарегистрироваться сначала на 
http://ru.opensuse.org/,  потом на http://build.opensuse.org/. 
Тогда я 
смогу добавлю к проекту по сборке.

Original comment by ympavlov on 22 Apr 2010 at 3:56

GoogleCodeExporter commented 9 years ago
pushd и popd работать так вообще не должны. в 
Makefile каждая строчка работает 
отдельно от других, если в конце строки не 
писать обратный слеш для переноса.
Это уже не важно, я делаю cd в каталог перед 
компиляцией, сейчас все нормально.

Иконки кладу не только в 64x64, но и в другие 
каталоги тоже. Под все размеры:
---------------------------------------------
        $(CD) $(XSL_ICONS_DIR) && for res in `ls xsl_*.png | $(SED) -e 
's/xsl_\(.*\).png/\1/g'`; do \                                                  

                $(CP) -f xsl_$$res\.png 
$(DESTDIR)$(INS_XSL_DESKTOP_ICONS_DIR)/$$res\x$$res/apps/xsl.png; \             

        done                                                                                                                                                                                                                                                                           

---------------------------------------------

Спек бы хотелось простым способом 
содержать в актуальном состоянии. Либо wget 
какой-
нить, либо svn co/git clone.

Original comment by mdevaev@gmail.com on 23 Apr 2010 at 3:31

GoogleCodeExporter commented 9 years ago

Original comment by mdevaev@gmail.com on 25 Apr 2010 at 2:58

GoogleCodeExporter commented 9 years ago

Original comment by mdevaev@gmail.com on 25 Apr 2010 at 2:59

GoogleCodeExporter commented 9 years ago
Официальный спек (подходит для Федоры) 
приложен в дерево исходников.

Original comment by mdevaev@gmail.com on 20 Jun 2010 at 3:54