Ананас на OpenSUSE

Начинаете изучать Ананас? Задавайте вопросы здесь. С чего начать? Где найти? Как сделать? А можно...?

Re: Ананас на OpenSUSE

Сообщение greenif » Вт май 19, 2009 2:26 pm

radist писал(а):Но qdatashema могу собрать, собственно сборка проходит проблемы с упаковкой, сейчас попробую поправить.


Стоит попробывать поменять qdatashema?
Если да то на какую?
Последний раз редактировалось greenif Вт май 19, 2009 2:59 pm, всего редактировалось 1 раз.
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Ананас на OpenSUSE

Сообщение radist » Вт май 19, 2009 2:30 pm

То что есть для OpenSUSE 11.0 под QT3.


http://download.opensuse.org/repositories/home://radist_tagan/openSUSE_11.0/i586/ananas-qt4-13.1.i586.rpm

ээ а это что?
radist
 
Сообщения: 97
Зарегистрирован: Ср фев 25, 2009 10:39 am

Re: Ананас на OpenSUSE

Сообщение radist » Вт май 19, 2009 2:34 pm

Стоит попробывать поменять qdatashema?
Если да то на какую?


Вот это не понял.

Вы собираете под x64?

Если да то под одинадцатую http://download.opensuse.org/repositories/home://radist_tagan/openSUSE_11.0/x86_64/qt4-qdataschema-1.2-20.1.x86_64.rpm вот есть. Если надо для 11.1 то я поправлю ошибки сборки, и тогда будет. Завтра наверняка будут в репе лежать, ибо в OBS бывает задумывается на долго.
radist
 
Сообщения: 97
Зарегистрирован: Ср фев 25, 2009 10:39 am

Re: Ананас на OpenSUSE

Сообщение greenif » Вт май 19, 2009 2:58 pm


Извените, не туда смотрел.
http://download.opensuse.org/repositories/home://radist_tagan/openSUSE_11.0/x86_64/

radist писал(а):Вы собираете под x64?

Если да то под одинадцатую http://download.opensuse.org/repositories/home://radist_tagan/openSUSE_11.0/x86_64/qt4-qdataschema-1.2-20.1.x86_64.rpm вот есть. Если надо для 11.1 то я поправлю ошибки сборки, и тогда будет. Завтра наверняка будут в репе лежать, ибо в OBS бывает задумывается на долго.

Да, под x64 OpenSUSE 11.1
Жду с нетерпением, спасибо.
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Ананас на OpenSUSE

Сообщение radist » Вт май 19, 2009 11:10 pm

Таксс покопался вспомнил.

Вообщем ситуация такая номинально сборка не прошла вот по такой причине:
... running 03-check-binary-kernel-log
... running 04-check-filelist
... checking filelist
qt4-qdataschema-utils-1.2-21.1.x86_64.rpm: directories not owned by a package:
- /usr/lib/qt4
- /usr/lib/qt4/bin
qt4-qdataschema-1.2-21.1.x86_64.rpm: directories not owned by a package:
- /usr/lib/qt4
- /usr/lib/qt4/lib64
System halted.


Здесь написано что директории не принадлежат пакету, точнее не принадлежат не одному пакету. Что лечится и очень просто. НО! нет этих директорий ибо это симлинки соответственно на /usr/lib и /usr/bin. Ну и пакет libqt4 который их создает потом и не признается что он владелец, так как он создал ссылки, а ищется владелец КАТАЛОГА.

Идем дальше, в силу того что make install просто не работает я нагородил костылей в спек файле:
# %install
export QTDIR=/usr/lib/qt4
export PATH=${PATH}:$QTDIR/bin
rm -rf $RPM_BUILD_ROOT
mkdir %buildroot
make install INSTALL_ROOT="$RPM_BUILD_ROOT" LIBDIR=%_libdir BINDIR=%_bindir DOCDIR=%_docdir/%name-%version INCLUDEDIR=%_includedir/%name
%__mkdir_p %buildroot%_bindir
%__mkdir_p %buildroot$QTDIR/%_lib
%__mkdir_p %buildroot$QTDIR/bin
%__mkdir_p %buildroot%_includedir/%ShortName
%__mkdir_p %buildroot%_docdir/%name-%version/html
%__mkdir_p %buildroot%_docdir/%name-%version/html-ru
%__mkdir_p %buildroot%_docdir/%name-%version/example

cp -df %_builddir/%name-%version/bin/* %buildroot$QTDIR/bin/
cp -f %_builddir/%name-%version/src/lib/*.h %buildroot%_includedir/%ShortName/
cp -Rdf %_builddir/%name-%version/src/example/* %buildroot%_docdir/%name-%version/example/

cp -df lib/* $RPM_BUILD_ROOT%{_qtdir}/%_lib
%__mkdir_p %buildroot%_libdir
(cd $RPM_BUILD_ROOT%{_libdir}; ln -sf ../../%{_qtdir}/%_lib/* $RPM_BUILD_ROOT%{_libdir})


Ну а костыли они и есть костыли, они в конце концов раскидывают куда надо но! потом идут OBS-ные проверки, которые и вытаскивают все анал^^черезжо^^? вообщем все что сделано криво.

Ну и в добавок нет у меня x64 под рукой. Вообщем есть два варианта либо допилить костыли, либо привести в порядок make файлы, что б make install проходил нормально, то есть раскладывал все по местам. Если это сборка под qt3 то
/usr/lib/qt3
/usr/lib/qt3/bin

точне :
/usr/lib$QTDIR
/usr/lib$QTDIR/bin

ибо в некоторых дистрах бывает так:
/usr/lib/qt3.3
/usr/lib/qt3.3/bin

и еще точнее вот так:
/usr/%lib$QTDIR
/usr/%lib$QTDIR/bin

потому как lib и lib64 разные вещи.

Тоже самое и с qt4, точнее с учетом его специфики, а именно:
НО! Собсно нет этих директорий ибо это симлинки соответственно на /usr/lib и /usr/bin.

То есть make install должен кидать в /usr/lib /usr/bin

Собсно подводя итог: я костыли то переделаю, выложите кто нибудь вот такое для x64 системы только первое наверное будет ls -la /usr/lib64/qt4/ (??):
book:/home/tom # ls -la /usr/lib/qt4/
итого 140
drwxr-xr-x 3 root root 4096 Апр 28 23:59 .
drwxr-xr-x 226 root root 131072 Май 18 22:57 ..
lrwxrwxrwx 1 root root 9 Апр 28 23:59 bin -> ../../bin
lrwxrwxrwx 1 root root 13 Апр 28 23:59 include -> ../../include
lrwxrwxrwx 1 root root 9 Апр 28 23:59 lib -> ../../lib
drwxr-xr-x 12 root root 4096 Апр 24 20:31 plugins
book:/home/tom # ls -la /usr/
итого 292
drwxr-xr-x 13 root root 4096 Май 16 23:24 .
drwxr-xr-x 20 root root 4096 Май 19 14:54 ..
drwxr-xr-x 6 root root 4096 Май 3 13:29 arm3
drwxr-xr-x 2 root root 86016 Май 18 23:03 bin
drwxr-xr-x 2 root root 4096 Дек 3 08:02 games
drwxr-xr-x 5 root root 4096 Дек 3 08:02 i586-suse-linux
drwxr-xr-x 132 root root 12288 Май 17 01:17 include
drwxr-xr-x 226 root root 131072 Май 18 22:57 lib
drwxr-xr-x 10 root root 4096 Дек 3 08:02 local
drwxr-xr-x 2 root root 16384 Май 17 13:54 sbin
drwxr-xr-x 284 root root 12288 Май 17 00:37 share
drwxr-xr-x 8 root root 4096 Дек 3 08:02 src
lrwxrwxrwx 1 root root 10 Май 16 23:24 tmp -> ../var/tmp
drwxr-xr-x 4 root root 4096 Дек 3 08:02 X11R6


PS: Сделайте ктонибудь патч, для нормального make install !!!

PSS: Это все мои научно практические измышления, могу ошибатся в чем то, если кто возьмется то курить freedesktop.org & FHS.
http://ru.wikipedia.org/wiki/FHS
http://www.pathname.com/fhs/
http://www.freedesktop.org/wiki/
radist
 
Сообщения: 97
Зарегистрирован: Ср фев 25, 2009 10:39 am

Re: Ананас на OpenSUSE

Сообщение app » Ср май 20, 2009 8:21 am

>PS: Сделайте ктонибудь патч, для нормального make install !!!
Мечта о нормальном make install, решающем все проблеммы установки, натыкается на препятствия в различиях установки в разных дистрибутивах Линукс.
Как эти дистры уживаются с FHS - мне не совсем понятно.

Если бы установка заключалась в простом копировании бинарников и библиотек в системные папки, то возможно make install`а хватило. Хотя опят же не уверен, так как ананас еще ставит свои бизнес-схемы и даже создает базы на sql сервере. Возьмем к примеру места установки файлов библиотекой qt в Ubuntu и сравним с Fedora.

Если в Федоре и других RPM дистрибутивах файлы и ссылки библиотеки qt концентрируются в /usr/lib/qt4/
то в Ubuntu
ls -l /usr/lib/qt4/
итого 4
drwxr-xr-x 10 root root 4096 2009-02-16 08:52 plugins

там, почему-то только плагины

А местом куда следует прописывать QTDIR является
ls -l /usr/share/qt4/
итого 356
drwxr-xr-x 2 root root 4096 2009-04-27 15:16 bin
drwxr-xr-x 5 root root 4096 2009-04-06 08:43 doc
lrwxrwxrwx 1 root root 17 2009-04-05 16:39 include -> ../../include/qt4
drwxr-xr-x 2 root root 4096 2009-05-19 09:03 lib
drwxr-xr-x 86 root root 4096 2009-04-05 16:39 mkspecs
drwxr-xr-x 2 root root 4096 2009-04-06 08:43 phrasebooks
lrwxrwxrwx 1 root root 21 2009-04-05 16:39 plugins -> ../../lib/qt4/plugins
-rw-r--r-- 1 root root 332055 2008-09-27 12:58 q3porting.xml
drwxr-xr-x 2 root root 4096 2009-04-06 08:43 translations

Разумеется, в подпапках /usr/share/qt4/ лежат в основном ссылки на бинарники рассованные по системе. Видимо так достигается соответствие требованиям FHS.

Теперь представте какой нужно делать Makefile, чтобы make install успешно ставил и линковал файлы во все дистрибутивы с учетом их особенностей.
Ладно бы сделать один раз. Все мы понимаем, что одноразовой работой не обойтись, а придется поддерживать и адаптировать такой Makefile к изменениям сразу во всех дистрибутивах и/или к изменениям в проекте сразу для всех дистрибутивов.

Поэтому, не нужно думать, что есть волшебное решение вопроса установки. Решенимем является компромис между установочными скриптами спек файлов и make install.
Установочные скрипты спек файлов хороши тем, что можно поддерживать по одному спеку на один дистрибутив без боязни повредить установку в тот дистрибутив, с которым мантейнер спека не имеет возможность провести проверку установки.

make install сейчас используется установочными скриптами спека. Если есть конкретные предложения как и в каком месте улучшить make install (а если заглянуть в детали то речь о правке *.pro файлов), готов оперативно вносить изменения. Только, опять же, прошу не забывать, что make install должен быть дистрибутивонезависимым или дистрибутивонетральным.
Предложения типа, я знаю как сделать make install для своего любимого дистрибутива, но не знаю подойдет ли это другим дистрибутивам, наверно, имеют право на жизнь, но я буду предлагать таким специалистам концентрироваться на доработке спекфайлов для своих любимых дистрибутивов.
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Ананас на OpenSUSE

Сообщение radist » Ср май 20, 2009 10:42 am

/usr/bin/ - Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме.
/usr/include/ - Стандартные заголовочные файлы.
/usr/lib/ - Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/.
/usr/sbin/ - Дополнительные системные программы (такие как демоны различных сетевых сервисов).
/usr/share/ - Архитектурно-независимые общие данные.
/usr/src/ - Исходные коды (например, здесь располагаются исходные коды ядра).

С этим кто нибудь спорит?

А местом куда следует прописывать QTDIR является
ls -l /usr/share/qt4/


Если это действительно так? то предлагаю считать это трудностями дебиано дистров. Насколько я понимаю программы перед упаковкой в deb проходят "дебианизацию"? Вопрос знатокам дебов процитированое выше при дебианизации учесть можно?

На данный момент можно учесть вопрос с установкой документации бывают различные варианты

/usr/share/имя_пакета_версия
/usr/share/doc/имя_пакета_версия
/usr/share/doc/packages/имя_пакета_версия


Наибольшее колво программ ставит по последнему пути. Давайте посмотрим что говорит FHS на эту тему, и добавим автоматическую инсталяцию документации.
radist
 
Сообщения: 97
Зарегистрирован: Ср фев 25, 2009 10:39 am

Re: Ананас на OpenSUSE

Сообщение greenif » Ср май 20, 2009 11:21 pm

radist писал(а):PS: Сделайте ктонибудь патч, для нормального make install !!!


Это посильный вклад который я могу внести в проект.
Не сочтите за не скромность, но по скольку я являюсь начальником IT отдела собственно фирмы. Фирма работает в IT секторе.
Могу спокойно выделить человека, можно двух людей, скажем на неделю,
что бы они подняли под VirtualBox все основные дистрибутивы в варианте x86 и в x86_64.:
OpenSUSE
Fedora
Ubuntu
Debian
ALT
ASP Linux только i386
можем попробовать под FreeBSD, если кто ни будь, когда нибудь запускал ананас под ней. (На фирме имеются любители онной)
Предложите свои варианты дистрибутивов.
Для того что бы отточить все моменты установки на разные дистрибутивы.
Можете это заявление считать моим обещанием.
Только помогите все таки запустить Ананас, для qt4 под openSUSE 11.1 64

Последнее что я пробовал. Взял чистую машину.
Установил пакеты:
cvs, gcc, mysql, mysql-client, libqt4-sql-mysql, doxygen, svn, mysql-query-browser
Исходник qdataschema не закачивал.
Взял пакеты radist'а:
qsa1devel
http://download.opensuse.org/repositori ... x86_64.rpm
http://download.opensuse.org/repositori ... x86_64.rpm
http://download.opensuse.org/repositori ... x86_64.rpm
http://download.opensuse.org/repositori ... x86_64.rpm
Эти пакеты прекрасно стали на openSUSE_11.1 x86_64
После чего Ананас с
cvs -d :pserver:anonymous@www.leaderit.ru:/var/cvs co ananas-qt4
собрался без проблем.

Установил ананас ручками распихав файлы по примеру пакета
http://download.opensuse.org/repositori ... 1.i586.rpm
только с учетом x64. Заменив где надо /usr/lib на /usr/lib64

далее
yast2 runlevel, включил запуск mysql.
reboot
mysqladmin -u root create ananas_system
mysqladmin -u root create ananas4_system
mysqladmin -u root create basa_torg

http://soft.kha.ru/ananas/config/basa_torg080317.zip
распокавал в
/home/basa_torg

ananas4-designer
Создаю новую бизнес-схему, выбрал в "файле ресурса" файл basa_torg.rc
Поля заполнения новой схемы:

Файл ресурса: /home/basa_torg
Заголовок базы данных: Оперативный учет. Типовая бизнес-схема
Имя базы данных: basa_torg
Тип сервера базы данных: mysql
Адрес сервера базы данных: localhost
Порт сервера базы данных:
Пользователь сервера базы данных: root
Пароль сервера базы данных:
Рабочий каталог: /home/basa_torg
Имя файла метаданных: /home/basa_torg/basa_torg.cfg
Система не может связаться с сервером баз данных.

Пробую указать порт 3306
и
mysql -u root basa_torg</home/basa_torg/basa_torg.sql
И все равно Система не может связаться с сервером баз данных.

Запускаю mysql-query-browser, в нем вижу все созданные базы, вижу структуру basa_torg.
greenif
 
Сообщения: 28
Зарегистрирован: Пт мар 06, 2009 4:00 pm

Re: Ананас на OpenSUSE

Сообщение app » Чт май 21, 2009 8:53 am

radist писал(а):
/usr/bin/ - Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме.
/usr/include/ - Стандартные заголовочные файлы.
/usr/lib/ - Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/.
/usr/sbin/ - Дополнительные системные программы (такие как демоны различных сетевых сервисов).
/usr/share/ - Архитектурно-независимые общие данные.
/usr/src/ - Исходные коды (например, здесь располагаются исходные коды ядра).

С этим кто нибудь спорит?


Нет. А разве сейчас не так?
Одно время плагины устанавливались в /usr/share, но на сколько помню сейчас - в /usr/lib/...
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Re: Ананас на OpenSUSE

Сообщение app » Чт май 21, 2009 8:58 am

radist писал(а):На данный момент можно учесть вопрос с установкой документации бывают различные варианты

/usr/share/имя_пакета_версия
/usr/share/doc/имя_пакета_версия
/usr/share/doc/packages/имя_пакета_версия


Наибольшее колво программ ставит по последнему пути. Давайте посмотрим что говорит FHS на эту тему, и добавим автоматическую инсталяцию документации.


По моим ощущениям - второй (Fedora,Ubuntu).
/usr/share/doc/имя_пакета_версия

Что говорит FHS?
Андрей
Аватара пользователя
app
 
Сообщения: 332
Зарегистрирован: Вт фев 24, 2009 5:38 pm

Пред.След.

Вернуться в Вопросы новичков

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron