Заявка #1473

RFE: opera-libffmpeg в репозитории russianfedora-nonfree

Добавил(а) carasin berlogue больше 3 лет назад. Обновлено около 3 лет назад.

Статус:РешенаНачата:12.08.2015
Приоритет:НормальныйДата выполнения:14.08.2015
Назначена:Vasiliy GlazovГотовность:

100%

Категория:Новый пакет
Версия:-
Теги:

opera,ffmpeg


Описание

В Opera, начиная с версии 31.x, из соображений лицензионной чистоты из встроенной библиотеки libffmpeg.so.%{opera_major_version} выпилили поддержку h264 и ещё чего-то там (отключено на этапе сборки). Согласно вот этому положение дел можно исправить, что, собственно, я здесь и сделал.

Пакет собирается, устанавливается и --проверено -- работает.

Прошу оставить отзывы / пожелания / предложения и рассмотреть заявку на включение в репозиторий nonfree (всё-таки плагин к проприетарному браузеру, все дела).

История

#1 Обновлено Vasiliy Glazov больше 3 лет назад

Давай спек, гитхаб.
Ну и если лицензия там свободная, то пойдёт в репу free.

#2 Обновлено carasin berlogue больше 3 лет назад

Все ссылки в первоначальном сообщении. Во free нельзя, т.к. я там поставил Requires: opera-%{channel} = %{defined_version}. А Opera -- nonfree. Собственно, это что-то типа плагина к Opera, т.е. без браузера оно бесполезно.

#3 Обновлено Vasiliy Glazov больше 3 лет назад

А, ок, значит в nonfree, но не из-за ffmpeg, а из-за оперы. Это я не так понял сперва.

depot_tools.tar.xz и gn-binaries.tar.xz нельзя тоже скачивать по ссылкам, а не держать в репе?

#4 Обновлено carasin berlogue больше 3 лет назад

Vasiliy Glazov писал(а):

depot_tools.tar.xz и gn-binaries.tar.xz нельзя тоже скачивать по ссылкам, а не держать в репе?

Ну, честно говоря, я за образец взял chromium.spec, а там всё именно так. В общем, я много чего из спека хромого взял.

#5 Обновлено Vasiliy Glazov больше 3 лет назад

Ну может переделать? Например убрать ненужные %define, скачивать все исходники по ссылкам...

#6 Обновлено carasin berlogue больше 3 лет назад

Убрал ненужный %define opera_ver, остальные, как по мне, нужные :)

А вот откуда брать архивы depot_tools.tar.xz и gn-binaries.tar.xz -- ХЗ, пока не нашёл.

#7 Обновлено Vasiliy Glazov больше 3 лет назад

А зачем они нужны? Ты собираешься их менять?

Например

if 0{?fedora} >= 21
%define clang 1
%else
%define clang 0
%endif

Федоры менее 21 не поддерживаются и собирать под них пакеты смысла нет, поэтому смело выкидываем этот дефайн и хардкодим BuildRequires: clang

Спек должен быть максимально простым и понятным.

#8 Обновлено carasin berlogue больше 3 лет назад

Поехали по пунктам:
  • Переключатели для сборки под конкретную архитектуру; зависит от того, сколько и каких билдов Opera конкретной версии выкатил разработчик; на данный момент 32-битные сборки выпускаются только для версии Developer:
    %global build_for_x86_64 1
    %global build_for_i386 0
  • Переключатель использования системных/встроенных либ для всей кодовой базы Chromium; как оно влияет конкретно на libffmpeg.so -- не знаю, но у Аркадия оно есть:
    %define chromium_system_libs 0
  • Полная версия Chromium и мажорная версия основанной на нём сборки Opera:
    %define chromium_ver 44.0.2403.107
    %define opera_major_ver 31
  • Переключатель каналов/веток Opera (stable, beta, developer); предполагается использовать один и тот же спек для различных каналов Opera:
    %define opera_chan opera-stable
  • Переключатель используемого компилятора (clang/GCC); дело в том, что целью сборки может выступать не только Fedora, но и EL7, поэтому, как мне кажется, этот ключ нужно оставить:
    %if 0%{?fedora} >= 21
    %define clang 1
    %else
    %define clang 0
    %endif
  • Весь дальнейший сценарий сборки с незначительными правками позаимствован у Аркадия; пробовал что-то убирать, упрощать -- не собирается; думаю, сборка из сорцов Chromium -- действительно не самая простая задача.

#9 Обновлено Vasiliy Glazov больше 3 лет назад

  • Параметр Статус изменился с Новая на Решена

OK
https://github.com/RussianFedora/opera-libffmpeg
В коджи добавил, можно собирать.

#10 Обновлено carasin berlogue больше 3 лет назад

  • Параметр Готовность изменился с 0 на 100
  • Параметр Дата выполнения изменился на 14.08.2015

#11 Обновлено carasin berlogue больше 3 лет назад

  • Параметр Готовность изменился с 100 на 50

BuildError: Error running GIT command "git clone -n git://github.com/RussianFedora/opera-ffmpeg.git /var/lib/mock/dist-rfr22-build-5280-15371/root/tmp/scmroot/opera-ffmpeg", see checkout.log for details

#12 Обновлено Vasiliy Glazov больше 3 лет назад

  • Параметр Готовность изменился с 50 на 100

Пакет называется opera-libffmpeg
Ты lib пропустил.

#13 Обновлено carasin berlogue больше 3 лет назад

Ух ты ж ё-моё! Прошу прощения =)
Под конец дня уже крыша едет :)

#14 Обновлено carasin berlogue больше 3 лет назад

BuildError: package opera-stable-libffmpeg not in list for tag dist-rfr21
BuildError: package opera-stable-libffmpeg not in list for tag dist-rfr22
BuildError: package opera-stable-libffmpeg not in list for tag dist-rfr23-devel
BuildError: package opera-stable-libffmpeg not in list for tag dist-rfr-rawhide
BuildError: package opera-stable-libffmpeg not in list for tag dist-el7

#15 Обновлено Vasiliy Glazov больше 3 лет назад

Пакет должен называться так же как и спек-файл. Спек у нас зовётся opera-libffmpeg, а пакет opera-stable-libffmpeg.
Исправляй.
Если пакет подходит для любой оперы, то надо Name изменить на opera-libffmpeg, если же пакет разный для разных опер, то и спек надо называть соответственно, и гит-репозиторий тоже.

#16 Обновлено carasin berlogue больше 3 лет назад

  • Параметр Готовность изменился с 100 на 90

Сделал отдельные репозитории для трёх веток:
https://github.com/berlogue/opera-stable-libffmpeg
https://github.com/berlogue/opera-beta-libffmpeg
https://github.com/berlogue/opera-developer-libffmpeg
Прошу добавить эти три, а предыдущий удалить.

#17 Обновлено Vasiliy Glazov больше 3 лет назад

  • Параметр Готовность изменился с 90 на 100

#18 Обновлено carasin berlogue около 3 лет назад

OK, спасибо! Уже собираю!

Экспортировать в Atom PDF