LINUX.ORG.RU

Помогите адаптировать SRPM от Opensuse для CentOS

 , , , ,


0

1

Всем привет!

У меня есть старый комп: Pentium III, 512 Mb RAM, GeForce 7600GT. XP-шка на нём летает. Какой линукс установить, чтобы тоже «летал»? Конечно же CentOS 5! Сказано - сделано! Установил в него драйвер NVIDIA и Freetype 2.4.11, потому что ААА ШРИФТЫ ЧТО С ВАМИ ВЫ ПЬЯНЫ!!! Именно в этой версии Freetype приняли субпиксельное сглаживание, ставить так:

wget http://vault.centos.org/7.2.1511/os/Source/SPackages/freetype-2.4.11-11.el7.src.rpm
yum-builldep freetype
rpmbuild --rebuild freetype-2.4.11-11.el7.src.rpm

И всё стало замечательно! Дистр поддерживаемый, регулярно приходят обновления. А ещё сюда бэкпортирован ext4. Сюда бы ещё видеокарту с поддержкой VDPAU - и нетбук не нужен! Но это аппаратно, а программно не хватает V4L2 (для веб-камеры на базе телефона), USB3, Xinput2 (желателен для Wine > 1.2) и поддержки Steam. Но DRM-free копии игр идут замечательно.

---
Но кое в чём мне нужна помощь. Захотел я, значит, Skype. Скачал, попробовал запустить. Хочет GLIBC 2.7. Слишком дофига хочет, на вот скушай: patchelf --set-interpreter /home/zenitharchampion/glibc-2.11/ld-linux.so.2 skype Так, теперь пульса - нашлась в EPEL. Так, теперь Qt минимум 4.7, нашёлся тут. Весь, кроме QtWebkit! Ничего, собрал сам.

Казалось бы, всё. Скайп работает, что ещё нужно? Ну, хотелось бы сделать красиво, пакетом. И тут я вспомнил про это репо: https://build.opensuse.org/package/show/home:Zenitur:branches:KDE:Qt/libqt4 Я форкнул Qt 4.8 из Opensuse 13.1, чтобы сделать пакет для SLED 11, который я установил на рабочих компах. Тоже для скайпа (не надо смеяться, что у нас нет VoIP). А что если допилить эти пакеты для CentOS?

Ошибка 1: нет пакетов update-desktop-files, sqlite3-devel и fdupes.

Решение:

 Requires:       libtiff-devel
 Requires:       make
 Requires:       openssl-devel
 Requires:       pkgconfig
 BuildRequires:  pkgconfig
+%if 0%{?suse_version}
 BuildRequires:  sqlite3-devel
 BuildRequires:  update-desktop-files
+%else
+BuildRequires:  sqlite-devel
+BuildRequires:  desktop-file-utils
+%endif
 Requires:       xorg-x11-devel
 Requires:       zlib-devel
 %if 0%{?suse_version} == 1110 
 Requires:       Mesa-devel
 %else
 Requires:       pkgconfig(gl)

fdupes нашёлся в EPEL, добавил его в OBS.

Ошибка 2: неизвестный параметр: Recommends: libqt4_sql_backend = %{version}

Решение:

 %ifarch ppc64
 Obsoletes:      qt-sql-64bit
 %endif
 Requires:       %{name} = %{version}
 BuildRequires:  pkgconfig
+%if 0%{?suse_version}
 Recommends:     libqt4_sql_backend = %{version}
+%else
+%endif
 Suggests:       libqt4-sql-sqlite
 #
 Obsoletes:      qt-sql < 4.4.0
 Provides:       qt-sql = 4.4.0
 

Ошибка 3: не задан Description для libqt4-sql.

Решение: разумеется Description есть. Помогите решить проблему! SPEC-файл тут: https://build.opensuse.org/package/show/home:Zenitur:branches:KDE:Qt/libqt4

Ошибка 999: в репо CentOS Qt называется qt4, а в Opensuse - libqt4

Решение: подставлю if-ы последним действием, потому что их будет много, и они превратят SPEC-файл в нечитаемый быдлокод

★★★★★

Последнее исправление: maxcom (всего исправлений: 10)

Справился с помощью checkinstall, но тему не закрываю: репу надо доделать! Кроме того, я неторопливо попиливаю туда Qt5 для SLES, но это я сам.

Вопрос: имеет ли смысл обновить Glibc с 2.4 до 2.17, чтобы запустить Steam? Или он только память пожрёт, а игрушки всё равно будут тормозить?

Я не могу использовать patchelf (в отличие от DRM-free игр), потому что в случае со Steam он бесполезен: там есть Steam Runtime, сотни файлов. И патчинг не работает на каждом файле, в частности на Qt он выдаёт это:

cannot find section .interp

И ничего не патчит. А ещё steam.sh проверяет контрольные суммы...

ZenitharChampion ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.