Автор Тема: Странное поведение rpmbuild  (Прочитано 14044 раз)

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Странное поведение rpmbuild
« Ответ #15 : 20.07.2019 19:30:56 »
А он и не должен.
Как не должен? То есть в документации опять какая-то неурядица?
Вот тут написано: http://www.lexpr.ru/node/48
-n name - Создать подкаталог с именем name
Что касается изменённого спека, то у меня src.rpm собрался отлично, что с -ba, что с -bc.
Стоп, это получается весь бардак был из-за имени?

ФУХ... собрался таки бинарник! Правда, только через
rpmbuild --rebuild --target x86_64 ./SRPMS/Doom64EX-2.5-alt1.src.rpm И при пересборке билдер вычищает архив с исходниками и спек? а готовый бинарь кладёт прямо в /RPM. Так и должно быть?

Тем не менее, прилагаю rpm, src.rpm, debug-info и рабочий (теперь ТОЧНО рабочий) спек за авторством товарища andrew_b,
Пакеты
RPM: https://mega.nz/#!YtNxxKzS!LDPvw6f0xTCBRfE2B2doosn-Q9mNYNaaCGSbad1Ei0E
SRPM: https://mega.nz/#!whc32YZR!W62jK_mA1U_QDQjHzLyOCe-flVuonxeMa7ZxhniHaMo
Debug-Info: https://mega.nz/#!xhsSAaID!VniDhSi9duV6hdWtcUuHbv9C_apSEwcKz90ZwCMw_zM

А ведь впереди ещё MAME, GZDoom... Ну да ладно, глаза боятся, а руки делают!
Всем, кто указывал на ошибки и вносил правки - огромное спасибо!

Spec:

Name: Doom64EX
Version: 2.5
Release: alt1

Summary: %name is a project aimed to recreate Doom64 as close as possible
License: GPLv2+
Group: Games/Action

Url: http://doom64ex.wordpress.com/
Source0: %name-master.zip
Source1: %name.desktop
Source2: %name.png
Source3: doom64ex.6
Packager: Arbars Zagadkin <ubuntigroid@mail.ru>

BuildPreReq: cmake rpm-macros-cmake
BuildPreReq: libSDL2-devel libSDL2_net-devel zlib-devel libpng-devel libfluidsynth-devel
# Automatically added by buildreq on Sat Jul 27 2019
# optimized out: cmake-modules libGL-devel libSDL2-devel libgpg-error libjson-c libsasl2-3 libstdc++-devel pkg-config python-base python-modules python3 python3-base zlib-devel
BuildRequires: cmake gcc-c++ git-core libGLU-devel libSDL2_net-devel libfluidsynth-devel libpng-devel python3-module-yieldfrom unzip desktop-file-utils

%description
Doom 64 EX is a faithful recreation of the original game
using the Doom source code as the base with the benefit
from newer control methods like mouse look, high resolutions
and color depth. In addition to that, Doom 64 EX will also
feature mod support to allow users to create custom levels,
textures and sprites. Doom 64 EX is also aimed to be 100%% accurate
to the original game as close as possible and offer some PC-specific
features that can enhance the game.

%prep
%setup -n %name-master

%build
%cmake
%cmake_build VERBOSE=1

%install
%cmakeinstall_std
desktop-file-install --dir %buildroot/%_datadir/applications %SOURCE1
mkdir -p %buildroot/%_datadir/icons/hicolor/48x48/apps/
mkdir -p %buildroot/%_man6dir
install -p -m 644 %SOURCE2 %buildroot/%_datadir/icons/hicolor/48x48/apps/
install -p -m 644 %SOURCE3 %buildroot/%_man6dir


%check


%files
%doc README.md AUTHORS COPYING LICENSE
%_bindir/doom64ex
%_datadir/*
%_datadir/applications/%{name}.desktop
%_datadir/icons/hicolor/48x48/apps/%name.png
%_man6dir/*

%changelog
* Thu Jul 18 2019 Arbars Zagadkin <ubuntigroid@mail.ru> 1.0-alt1
- initial build for ALT Sisyphus


Edit 27.07.2019 - добавлены нормальные зависимости. Включено то, отсутствие чего "всплыло" при проверке в Hasher.
« Последнее редактирование: 27.07.2019 20:31:18 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Странное поведение rpmbuild
« Ответ #16 : 20.07.2019 21:09:05 »
А он и не должен.
Как не должен? То есть в документации опять какая-то неурядица?
Вот тут написано: http://www.lexpr.ru/node/48
-n name - Создать подкаталог с именем name
В переводе да, какая-то неурядица. Читайте первоисточник. Ключ -n задаёт имя каталога, но не создаёт его.
Что касается изменённого спека, то у меня src.rpm собрался отлично, что с -ba, что с -bc.
Ключ -bc не относится к сборке src.rpm. src.rpm собирается ключом -bs. Либо вместе с бинарным пакетом ключом -ba.
И при пересборке билдер вычищает архив с исходниками и спек? а готовый бинарь кладёт прямо в /RPM. Так и должно быть?
Видимо, при использовании --rebuild так и должно быть. Но не уверен. Я --rebuild никогда не использую. Либо -bb, либо -ba. Но чаще всего сначала -bs, а бинарный пакет собирается в hasher.
рабочий спек
Спек не такой уж и рабочий. Я не вижу секции %files.

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Странное поведение rpmbuild
« Ответ #17 : 20.07.2019 21:30:58 »
Спек не такой уж и рабочий. Я не вижу секции %files.
Исправил. На свою голову...
Теперь, кроме документации, в RPM ничего не записывается! Ну что за..!
« Последнее редактирование: 20.07.2019 21:41:58 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Странное поведение rpmbuild
« Ответ #18 : 21.07.2019 07:02:10 »
Теперь, кроме документации, в RPM ничего не записывается!
Надо явно указывать, что именно паковать. В первом сообщении у вас было
%find_lang %name

%_bindir/*
%_man1dir/*
только не в той секции.

Оффлайн Arbars

  • Давно тут
  • **
  • Сообщений: 66
    • Email
Re: Странное поведение rpmbuild
« Ответ #19 : 21.07.2019 12:06:53 »
только не в той секции.
Говорила мне мама - не сиди до одурения за компом... Такое проморгать...

-------------

Исправил спек, собирается теперь нормально - и бинарник на месте, и пакет с ресурсами, и документация, и man-страница, и даже ярлык в меню прописывается.
Спойлер
Представляю, какие фейспалмы ловил Skull, наблюдая за моими танцами  ;-D
« Последнее редактирование: 27.07.2019 18:24:12 от Arbars »
ОС: Альт К Рабочая Станция х86_64
"Spec-файлы кривые у всех." Г. Курячий, практикум по настройке сборочного окружения