Автор Тема: Пересборка пакета Altlinux для новичков  (Прочитано 7556 раз)

Оффлайн bo4karev

  • Участник
  • *
  • Сообщений: 116
Здравствуйте, уважаемые форумчане.

Появилось желание научиться собирать пакеты для Altlinux из исходников.
На примере пакета gtk-qt-engine.
Пакет собирался в последний раз в 2008г. для p5 (5.0, 5.1),
информация отсюда: http://packages.altlinux.org/en/5.1/srpms/gtk-qt-engine
Хочется правильно собрать его для Sisyphus/p7 и использовать с TDE.

Почитал на Вики эту статью а также эту статью, и эту статью тоже.

Добрался до момента заливки исходного кода в локальный git-репозиторий.
Появились вопросы:
- как правильно поместить исходный код этого пакета в локальный git-репозиторий?
(просто скачать с ресурса или пытаться вытащить из src.rpm?)
- можно ли использовать опубликованный на ресурсе spec или его надо как-то подправить?
« Последнее редактирование: 18.09.2013 13:11:21 от vladiboc »

Оффлайн Vovka-Korovka

  • alt linux team
  • ***
  • Сообщений: 1 186
  • True Metal Cow
Re: Сборка пакета для Altlinux с нуля
« Ответ #1 : 16.09.2013 15:33:29 »
Здравствуйте, уважаемые форумчане.

Появилось желание научиться собирать пакеты для Altlinux из исходников.
На примере пакета gtk-qt-engine.
Пакет собирался в последний раз в 2008г. для p5 (5.0, 5.1),
информация отсюда: http://packages.altlinux.org/en/5.1/srpms/gtk-qt-engine
Хочется правильно собрать его для Sisyphus/p7 и использовать с TDE.

Почитал на Вики эту статью и эту статью тоже.

Добрался до момента заливки исходного кода в локальный git-репозиторий.
Появились вопросы:
- как правильно поместить исходный код этого пакета в локальный git-репозиторий?
(просто скачать с ресурса или пытаться вытащить из src.rpm?)

git add directory-with-source
git commit -m "Imported upstream source"

А откуда вы будете исходники брать - не важно.

Цитировать
- можно ли использовать опубликованный на ресурсе spec или его надо как-то подправить?

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

Ну а вообще говоря, можно быстро импортировать src rpm в gear репозиторий при помощи команды gear-srpmimport.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Re: Сборка пакета для Altlinux с нуля
« Ответ #2 : 16.09.2013 15:34:04 »
git clone git://git.altlinux.org/srpms/g/gtk-qt-engine.git
Андрей Черепанов (cas@)

Оффлайн bo4karev

  • Участник
  • *
  • Сообщений: 116
Re: Сборка пакета для Altlinux с нуля
« Ответ #3 : 16.09.2013 20:01:34 »
Vovka-Korovka, спасибо, учту эти замечания в будущем.

Андрей, точно в десятку, спасибо.
Сделал так:
git clone git://git.altlinux.org/srpms/g/gtk-qt-engine.git
посмотрел в mc что оно наклонировало в директорию gtk-qt-engine.git, затем сделал ветку:
git branch Sisyphus
git checkout Sisyphus
добавил в spec в Changelog, сделал коммит:
gear-commit -a
попытался собрать:
$ gear-hsh $TMP/
<86>Sep 16 15:56:18 userdel[10773]: delete user 'rooter'
<86>Sep 16 15:56:18 userdel[10773]: removed group 'rooter' owned by 'rooter'
<86>Sep 16 15:56:18 groupadd[10778]: group added to /etc/group: name=rooter, GID=501
<86>Sep 16 15:56:18 groupadd[10778]: group added to /etc/gshadow: name=rooter
<86>Sep 16 15:56:18 groupadd[10778]: new group: name=rooter, GID=501
<86>Sep 16 15:56:18 useradd[10782]: new user: name=rooter, UID=501, GID=501, home=/root, shell=/bin/bash
<86>Sep 16 15:56:18 userdel[10788]: delete user 'builder'
<86>Sep 16 15:56:18 userdel[10788]: removed group 'builder' owned by 'builder'
<86>Sep 16 15:56:18 groupadd[10793]: group added to /etc/group: name=builder, GID=502
<86>Sep 16 15:56:18 groupadd[10793]: group added to /etc/gshadow: name=builder
<86>Sep 16 15:56:18 groupadd[10793]: new group: name=builder, GID=502
<86>Sep 16 15:56:18 useradd[10797]: new user: name=builder, UID=502, GID=502, home=/usr/src, shell=/bin/bash
Чтение списков пакетов...
Построение дерева зависимостей...
Выбрано gcc4.7-c++ для 'gcc-c++'
Пакет xorg-x11-devel присутствует в базе данных, но не имеет доступной версии.
Как правило это означает, что хотя пакет упоминается в списке зависимостей,
он отсутствует в репозитории, был вытеснен, либо в sources.list нет адреса
реE: Для пакета xorg-x11-devel не найдено подходящего кандидата для установки
hsh-install: Failed to calculate package file list.
hsh-install: Failed to generate package file list.
$
Осталось найти что в Сизифе вместо xorg-x11-devel?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Сборка пакета для Altlinux с нуля
« Ответ #4 : 16.09.2013 22:22:58 »
apt-cache search xorg | grep devel (можно из хэщера)

.......
libxf86config-devel - Development tools for programs which will use the libxf86config library
.....
xorg-sdk - SDK for X server driver module development
....

Оффлайн bo4karev

  • Участник
  • *
  • Сообщений: 116
Re: Сборка пакета для Altlinux с нуля
« Ответ #5 : 17.09.2013 14:59:57 »
поставил в spec пакеты xorg-sdk и libxf86config-devel вместо xorg-X11-devel
также подправил секцию %build как написано здесь
Запустил gear-hsh, вылезли сообщения об ошибках, в основном warnings,
количество такое что не поместилось в это сообщение.
Были и Error 2 шт, пакет не собрался.
Вставил вывод в файл, получилось 95К, прикрепить тоже не смог.

Немного растерялся, что с этим делать.
Пакет xorg-x11-devel в p5 (5.0,5.1) тоже не нашел.
« Последнее редактирование: 17.09.2013 15:16:36 от vladiboc »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Re: Сборка пакета для Altlinux с нуля
« Ответ #6 : 17.09.2013 15:27:04 »
1. Последние 30 строк вывода приведите.
2. Изменения лучше разместить где-нибудь на бесплатном хостинге Giе (тот же github), чтобы можно было посмотреть.
Андрей Черепанов (cas@)

Оффлайн bo4karev

  • Участник
  • *
  • Сообщений: 116
Re: Сборка пакета для Altlinux с нуля
« Ответ #7 : 17.09.2013 17:46:47 »
последние 30 строк вывода gear-hsh:
$ tail -30 4.log
                 from /usr/src/RPM/BUILD/gtk-qt-engine/kcm_gtk/searchpaths.moc.cpp:11:
/usr/lib64/qt3/include/qevent.h: In constructor 'QContextMenuEvent::QContextMenuEvent(QContextMenuEvent::Reason, const QPoint&, const QPoint&, int)':
/usr/lib64/qt3/include/qevent.h:432:33: warning: conversion to 'unsigned char' from 'uint {aka unsigned int}' may alter its value [-Wconversion]
/usr/lib64/qt3/include/qevent.h: In member function 'void QDropEvent::setAction(QDropEvent::Action)':
/usr/lib64/qt3/include/qevent.h:523:46: warning: conversion to 'unsigned char' from 'uint {aka unsigned int}' may alter its value [-Wconversion]
In file included from /usr/lib64/qt3/include/qwidget.h:52:0,
                 from /usr/lib64/qt3/include/qdialog.h:45,
                 from /usr/src/RPM/BUILD/gtk-qt-engine/kcm_gtk/searchpaths.h:13,
                 from /usr/src/RPM/BUILD/gtk-qt-engine/kcm_gtk/searchpaths.moc.cpp:11:
/usr/lib64/qt3/include/qsizepolicy.h: In member function 'void QSizePolicy::transpose()':
/usr/lib64/qt3/include/qsizepolicy.h:124:59: warning: conversion to 'uchar {aka unsigned char}' from 'uint {aka unsigned int}' may alter its value [-Wconversion]
/usr/lib64/qt3/include/qsizepolicy.h:124:73: warning: conversion to 'uchar {aka unsigned char}' from 'uint {aka unsigned int}' may alter its value [-Wconversion]
Linking CXX shared module kcm_kcmgtk.so
cd /usr/src/RPM/BUILD/gtk-qt-engine/kcm_gtk && /usr/bin/cmake -E cmake_link_script CMakeFiles/kcm_kcmgtk.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC -pipe -Wall -g -O2 -I/usr/include/tqtinterface -DNDEBUG -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common -pipe -Wall -g -O2 -I/usr/include/tqtinterface -DNDEBUG   -shared -Wl,-soname,kcm_kcmgtk.so -o kcm_kcmgtk.so CMakeFiles/kcm_kcmgtk.dir/kcmgtk.o CMakeFiles/kcm_kcmgtk.dir/kcmgtkwidget.o CMakeFiles/kcm_kcmgtk.dir/kcmgtkwidget.moc.o CMakeFiles/kcm_kcmgtk.dir/mozillaprofile.o CMakeFiles/kcm_kcmgtk.dir/mozillaprofile.moc.o CMakeFiles/kcm_kcmgtk.dir/emacsdetails.o CMakeFiles/kcm_kcmgtk.dir/emacsdetails.moc.o CMakeFiles/kcm_kcmgtk.dir/searchpaths.o CMakeFiles/kcm_kcmgtk.dir/searchpaths.moc.o
make[2]: Leaving directory `/usr/src/RPM/BUILD/gtk-qt-engine'
/usr/bin/cmake -E cmake_progress_report /usr/src/RPM/BUILD/gtk-qt-engine/CMakeFiles  2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
[ 68%] Built target kcm_kcmgtk
make[1]: Leaving directory `/usr/src/RPM/BUILD/gtk-qt-engine'
make: *** [all] Error 2
make: Leaving directory `/usr/src/RPM/BUILD/gtk-qt-engine'
error: Bad exit status from /usr/src/tmp/rpm-tmp.35061 (%build)


RPM build errors:
    Bad exit status from /usr/src/tmp/rpm-tmp.35061 (%build)
Command exited with non-zero status 1
15.87user 3.19system 0:11.72elapsed 162%CPU (0avgtext+0avgdata 79440maxresident)k
0inputs+14200outputs (0major+496380minor)pagefaults 0swaps
hsh-rebuild: rebuild of `pkg.tar' failed.
Сделанные изменения выложил здесь:
git://github.com:vladiboc/gtk-qt-engine.git

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Сборка пакета для Altlinux с нуля
« Ответ #8 : 17.09.2013 17:56:40 »
Не - не то, надо что-нибудь типа
cat  4.log | grep -A 10  -i error

Оффлайн bo4karev

  • Участник
  • *
  • Сообщений: 116
Re: Сборка пакета для Altlinux с нуля
« Ответ #9 : 17.09.2013 18:12:45 »
$ cat 4.log | grep -A 10 -i error
<13>Sep 17 13:36:00 rpmi: libgpg-error-1.11-alt1 installed
<13>Sep 17 13:36:02 rpmi: libgcrypt-1.5.3-alt1 installed
<13>Sep 17 13:36:03 rpmi: libxslt-1.1.28-alt1 installed
<13>Sep 17 13:36:03 rpmi: xsltproc-1.1.28-alt1 installed
<13>Sep 17 13:36:04 rpmi: libX11-locales-3:1.6.2-alt1 installed
<13>Sep 17 13:36:04 rpmi: libX11-3:1.6.2-alt1 installed
<13>Sep 17 13:36:05 rpmi: libX11-devel-3:1.6.2-alt1 installed
<13>Sep 17 13:36:06 rpmi: libXext-1.3.2-alt1 installed
<13>Sep 17 13:36:06 rpmi: libXrender-0.9.8-alt1 installed
<13>Sep 17 13:36:07 rpmi: libXrandr-1.4.1-alt1 installed
<13>Sep 17 13:36:07 rpmi: libXrender-devel-0.9.8-alt1 installed
--
/usr/include/glib-2.0/gio/gdbusintrospection.h:157:25: error: expected unqualified-id before 'protected'
/usr/include/glib-2.0/gio/gdbusintrospection.h:157:24: error: expected ';' at end of member declaration
/usr/include/glib-2.0/gio/gdbusintrospection.h:157:32: error: expected ':' before ';' token
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp:143:12: warning: unused parameter 'dpy' [-Wunused-parameter]
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp:143:12: warning: unused parameter 'err' [-Wunused-parameter]
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp: In function 'void createQApp()':
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp:310:31: warning: conversion to 'int' from 'ssize_t {aka long int}' may alter its value [-Wconversion]
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp:433:69: warning: conversion to 'GdkNativeWindow {aka unsigned int}' from 'Qt::HANDLE {aka long unsigned int}' may alter its value [-Wconversion]
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp:154:6: warning: unused variable 'argc' [-Wunused-variable]
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp: At global scope:
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp:453:17: warning: unused parameter 'gevent' [-Wunused-parameter]
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp:453:17: warning: unused parameter 'data' [-Wunused-parameter]
/usr/src/RPM/BUILD/gtk-qt-engine/src/qt_qt_wrapper.cpp: In function 'QString kdeConfigValue(const QString&, const QString&, const QString&)':
--
make[2]: *** [src/CMakeFiles/qtengine.dir/qt_qt_wrapper.o] Error 1
make[2]: Leaving directory `/usr/src/RPM/BUILD/gtk-qt-engine'
make[1]: *** [src/CMakeFiles/qtengine.dir/all] Error 2
make[1]: /usr/bin/cmake -E cmake_progress_report /usr/src/RPM/BUILD/gtk-qt-engine/CMakeFiles 16
*** Waiting for unfinished jobs....
[ 48%] Building CXX object kcm_gtk/CMakeFiles/kcm_kcmgtk.dir/kcmgtkwidget.o
cd /usr/src/RPM/BUILD/gtk-qt-engine/kcm_gtk && /usr/bin/c++   -DQT_CLEAN_NAMESPACE -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -D_BSD_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_XOPEN_SOURCE=500 -Dkcm_kcmgtk_EXPORTS -pipe -Wall -g -O2 -I/usr/include/tqtinterface -DNDEBUG -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common -pipe -Wall -g -O2 -I/usr/include/tqtinterface -DNDEBUG -fPIC -I/usr/lib64/qt3/include -I/usr/include/kde    -D HAVE_BONOBO -o CMakeFiles/kcm_kcmgtk.dir/kcmgtkwidget.o -c /usr/src/RPM/BUILD/gtk-qt-engine/kcm_gtk/kcmgtkwidget.cpp
In file included from /usr/lib64/qt3/include/qwindowdefs.h:47:0,
                 from /usr/lib64/qt3/include/qwidget.h:45,
                 from /usr/lib64/qt3/include/qdialog.h:45,
                 from /usr/include/tqtinterface/tqdialog.h:32,
                 from /usr/include/kde/kdialog.h:25,
                 from /usr/src/RPM/BUILD/gtk-qt-engine/kcm_gtk/kcmgtkwidget.cpp:1:
--
make: *** [all] Error 2
make: Leaving directory `/usr/src/RPM/BUILD/gtk-qt-engine'
error: Bad exit status from /usr/src/tmp/rpm-tmp.35061 (%build)


RPM build errors:
    Bad exit status from /usr/src/tmp/rpm-tmp.35061 (%build)
Command exited with non-zero status 1
15.87user 3.19system 0:11.72elapsed 162%CPU (0avgtext+0avgdata 79440maxresident)k
0inputs+14200outputs (0major+496380minor)pagefaults 0swaps
hsh-rebuild: rebuild of `pkg.tar' failed.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: Сборка пакета для Altlinux с нуля
« Ответ #10 : 17.09.2013 18:31:20 »
поставил в spec пакеты xorg-sdk и libxf86config-devel вместо xorg-X11-devel
Стоп, стоп. xorg-devel же. И, в этом пакете, есть Provides: xorg-x11-devel = %version-%release

Оффлайн bo4karev

  • Участник
  • *
  • Сообщений: 116
Re: Сборка пакета для Altlinux с нуля
« Ответ #11 : 17.09.2013 19:05:09 »
xorg-devel есть в p6 и t6 в noarch, в p7 и Sisyphus нет.

Оффлайн Vovka-Korovka

  • alt linux team
  • ***
  • Сообщений: 1 186
  • True Metal Cow
Re: Сборка пакета для Altlinux с нуля
« Ответ #12 : 17.09.2013 19:12:20 »

Оффлайн bo4karev

  • Участник
  • *
  • Сообщений: 116
Re: Сборка пакета для Altlinux с нуля
« Ответ #13 : 18.09.2013 00:01:19 »
Как теперь определить, что записать вместо этого пакета в spec?
Прошу извинения за некомпетентность, впервые это делаю.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: Сборка пакета для Altlinux с нуля
« Ответ #14 : 18.09.2013 00:09:57 »
В зависимости от того, в какоой репозиторий вы собираете.