This is an old revision of the document!
Создание пакета с плагином VLC для ALT Linux Названия пакетов плагинов начинаются с vlc-plugin (см. apt-cache search vlc-plugin), поэтому делаем по аналогии. Склонировать проект в каталог со скорректированным именем
git clone https://github.com/nurupo/vlc-pause-click-plugin vlc-plugin-pause-click cd vlc-plugin-pause-click По файлам BUILD.md, README.md и Makefile выяснить, как выполняется сборка и установка применительно к ALT Linux. Для данного проекта так:
sudo apt-get install libvlc-devel make sudo make install Сборку лучше выполнить до написания .spec, потому что так тестирование будет выполнено быстрее.
По выводу команд сборки и установки видно, что будет создан единственный файл libpause_click_plugin.so. Надо убедиться, что нет пакета, в котором этот файл существовал бы. Для этого скачать список всех файлов во всех пакетах в Сизифе (http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/base/contents_index) и выполнить поиск в нем по имени файла
grep libpause_click_plugin.so contents_index Ничего не найдено - приступить к изучению репозитория.
gitk В истории коммитов найти последний апстримовский релиз. Соответствующий ему коммит обычно обозначается тегом. В нашем случае это тег 2.2.0. Следует просмотреть коммиты после апстримовского релиза и убедиться, что среди них нет критичных. В нашем случае изменения после релиза коснулись только документации и сборки на MacOS, поэтому их можно спокойно отбросить.
Перейти на тег последнего релиза
git checkout 2.2.0 Создать ветку sisyphus и перейти на неё
git checkout -b sisyphus Тут желательно убедиться, что все получилось правильно
gitk Создать файл .spec. За основу можно взять файл из похожего пакета. Выбрать пакет можно тут http://git.altlinux.org/gears/ ВАЖНО! 1) %description принято переносить по строчкам на 72ом символе, как указано в инструкции: https://www.altlinux.org/Spec#%25description 2) Вместо make следует использовать макрос %make. Вместо make install следует писать %makeinstall_std. 3) В секции files особенно важно пользоваться макросами. В данном случае нужен %_libdir. Имя файла плагина должно начинатсья с того же самого пути, который в пакете vlc (%_libdir/vlc/plugins/video_filter/) 4) Последняя секция %changelog должна содержать записи по формату: дата, имя, почта, релиз пакета и ниже - описание изменений. Делать по образцу из .spec других пакетов. Есть пакет vim-plugin-spec_alt-ftplugin. После его установки в виме можно нажать \ac и в %changelog сгенерируется строка (https://www.altlinux.org/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_changelog_%D0%B2_Vim).
Файл vlc-plugin-pause-click.spec должен располагаться в корне каталога с исходниками
Name: vlc-plugin-pause-click Version: 2.2.0 Release: alt1
Summary: Pause Click plugin for VLC License: LGPLv2.1+ Group: Video
Url: https://github.com/nurupo/vlc-pause-click-plugin Source: %name-%version.tar
BuildRequires: libvlc-devel
Requires: vlc
%description VLC plugin that allows you to pause/play a video by clicking on the video image. Can be configured to work nicely with double-click-to-fullscreen by enabling “Prevent pause/play from triggering on double click” option in the settings. By default it pauses on every click instead.
%prep %setup
%build %make
%install %makeinstall_std
%files %_libdir/vlc/plugins/video_filter/libpause_click_plugin.so
%changelog * Mon May 02 2022 Kirill Izmestev felixz@altlinux.org 2.2.0-alt1 - Initial build for Sisyphus Значение свойства License должно быть именем файла из каталога /usr/share/license.
Создать конфиг для gear (.gear/rules). Этот файл тоже можно создать на основе существующего. При этом учесть, что в .gear/rules надписи name=@name@-@version@ base=@name@-@version@ могут не иметь никакого смысла. Директива name указывает, как будет называться тарбол, а base - это то, куда делается cd в макросе %setup. Бывают странные пакеты, где приходится это настраивать, но по умолчанию используется как раз @name@-@version@
В данном случае содержимое .gear/rules
tar: @version@:. Сохранить апстримный тег последнего релиза в файлах каталога .gear/tags
gear-store-tags -acv Создать релизный коммит. Описание коммита будет создано автоматически на основе записи в %changelog.
git add .gear/rules vlc-plugin-pause-click.spec gear-commit Создать тег релизного коммита.
gear-create-tag Далее следует выполнить локальную сборку пакета (https://vk.com/@kirov_osc-sborka-paketov-alt-linux), установку и проверить, все хорошо работает.
Если релизный коммит потребуется изменить, то будут полезны команды:
gear-commit –amend gear-create-tag -f Создание пакета с плагином VLC для ALT Linux, изображение №1