Автор Тема: Сборка rpm пакета  (Прочитано 1331 раз)

Оффлайн Глеб

  • Начинающий
  • *
  • Сообщений: 4
Сборка rpm пакета
« : 28.07.2021 17:51:55 »
Здравствуйте, помогите, пожалуйста, собрать rpm пакет без сборки проекта из исходников, исключительно библиотеки и бинарники.
Написал spec файл, создал архив, разложил всё по директориям, но почему-то не получается собрать. Команду для сборки и ошибку прикладываю в виде ссылки на обменник (https://ibb.co/D4wQVtd), spec файл добавляю в виде текста ниже. Подскажите, пожалуйста, что делаю не так.
SPEC file:
Name: project-agent
Version: 0.1.1
Release: 1

Summary: AgentProject

License: -
Group: System
Url: https://www.project.ru/

Packager: Ivan Ivanov <ivan@ivanov.com>

Source0: %{name}-%{version}.tar.gz
BuildArch: x86_64

%description
AgentProject - super application

%prep

%setup -q -n %{name}-%{version}

%install
cp -rf * %{buildroot}/

%files
%defattr(-,root,root,-)
/opt/*
/opt/agentproject/*
/opt/agentproject/translations/*
/opt/agentproject/bin/*
/opt/agentproject/lib/*
/opt/agentproject/plugins/*
/opt/agentproject/plugins/xcbglintegrations/*
/opt/agentproject/plugins/iconengines/*
/opt/agentproject/plugins/imageformats/*
/opt/agentproject/plugins/wayland-decoration-client/*
/opt/agentproject/plugins/platformthemes/*
/opt/agentproject/plugins/platforms/*
/opt/agentproject/plugins/wayland-graphics-integration-server/*
/opt/agentproject/plugins/wayland-graphics-integration-client/*
/opt/agentproject/plugins/platforminputcontexts/*
/opt/agentproject/plugins/virtualkeyboard/*
/opt/agentproject/plugins/wayland-shell-integration/*
/opt/agentprojectgui/*
/opt/agentprojectgui/resources/*
/opt/agentprojectgui/translations/*
/opt/agentprojectgui/translations/qtwebengine_locales/*
/opt/agentprojectgui/bin/*
/opt/agentprojectgui/lib/*
/opt/agentprojectgui/plugins/*
/opt/agentprojectgui/plugins/position/*
/opt/agentprojectgui/plugins/bearer/*
/opt/agentprojectgui/plugins/xcbglintegrations/*
/opt/agentprojectgui/plugins/iconengines/*
/opt/agentprojectgui/plugins/imageformats/*
/opt/agentprojectgui/plugins/wayland-decoration-client/*
/opt/agentprojectgui/plugins/platformthemes/*
/opt/agentprojectgui/plugins/printsupport/*
/opt/agentprojectgui/plugins/platforms/*
/opt/agentprojectgui/plugins/wayland-graphics-integration-server/*
/opt/agentprojectgui/plugins/wayland-graphics-integration-client/*
/opt/agentprojectgui/plugins/platforminputcontexts/*
/opt/agentprojectgui/plugins/virtualkeyboard/*
/opt/agentprojectgui/plugins/wayland-shell-integration/*
/etc/*
/etc/rc.d/init.d/*
/etc/xdg/*
/etc/xdg/autostart/*

%post
NAME=agentproject
NAME_GUI=$NAME"gui"
WHO=`who | awk {'print $1'} | uniq`

# Создание мягкой ссылки
ln -s /opt/$NAME/$NAME.sh /usr/sbin/$NAME
ln -s /opt/$NAME_GUI/$NAME_GUI.sh /usr/bin/$NAME_GUI

# Настройка доступа к файлам
chmod -R 770 /opt/$NAME/
chown -R root:root /opt/$NAME/

# Настройка доступа к графическому приложению
chmod 777 -R /opt/$NAME_GUI

# Настройка автозапуска графики
chown root:root /etc/xdg/autostart/$NAME_GUI.desktop
chmod 644 /etc/xdg/autostart/$NAME_GUI.desktop

# Настройка автозапуска функциональной части
chown root:root /etc/init.d/$NAME
chmod 755 /etc/init.d/$NAME
chkconfig --add $NAME
chkconfig --level 35 $NAME on

# Первый старт
$NAME &
sudo -u $WHO $NAME_GUI &


%preun
ORG=project
NAME="agent"$ORG
NAME_GUI=$NAME"gui"

# Удаление мягких ссылок
rm -rf /usr/sbin/$NAME
rm -rf /usr/bin/$NAME_GUI

# Завершаем процессы приложения
kill `ps aux | grep /opt/$NAME/bin/$NAME | grep -v grep | awk {'print $2'}`
kill `ps aux | grep /opt/$NAME_GUI/bin/$NAME_GUI | grep -v grep | awk {'print $2'}`

# Убираем из автозапуска функциональное приложение
chkconfig --del $NAME

# Вычищаем свою запись sudoers
cat /etc/sudoers | grep -v $NAME | grep -vP "$^" > /etc/sudoers_new
mv -f /etc/sudoers_new  /etc/sudoers
chmod 440 /etc/sudoers
chown root:root /etc/sudoers

# Вычищаем свою запись resolv.conf
cat /etc/resolv.conf | grep -v "nameserver" > /etc/resolv.conf_new
echo "nameserver 8.8.8.8" >> /etc/resolv.conf_new
mv -f /etc/resolv.conf_new  /etc/resolv.conf
chmod 644 /etc/resolv.conf
chown root:root /etc/resolv.conf

# Убираем сертификат
rm /etc/ssl/certs/$ORG.crt

# Удаляем временные файлы
rm -rf /opt/$NAME_GUI/
rm -rf /opt/$NAME/


%changelog
* Tue Apr 6 2021 <user>
- Initial build
« Последнее редактирование: 31.07.2021 19:37:29 от sb »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 404
  • antohami@
Re: Сборка rpm пакета
« Ответ #1 : 28.07.2021 18:25:57 »
%install
cp -rf * %{buildroot}/

mkdir -p %buildroot

забыли сделать.

Оффлайн Глеб

  • Начинающий
  • *
  • Сообщений: 4
Re: Сборка rpm пакета
« Ответ #2 : 31.07.2021 16:33:41 »
Спасибо за помощь, процесс сборки продвинулся, но не закончился успехом, что делать дальше, выручайте. Скриншот прикладываю. https://ibb.co/HGYS3y2

Оффлайн andrew_b

  • Давно тут
  • **
  • Сообщений: 492
Re: Сборка rpm пакета
« Ответ #3 : 31.07.2021 17:33:38 »
Скриншот прикладываю
Текст картинкой? Вы издеваетесь?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 107
    • Домашняя страница
    • Email
Re: Сборка rpm пакета
« Ответ #4 : 31.07.2021 17:42:23 »
А чего там на картинке? у меня мобильный режим, картинки не показываются. Автор неуважительно к подписчикам относится.
Андрей Черепанов (cas@)

Оффлайн green

  • Начинающий
  • *
  • Сообщений: 5
    • Зелёная палатка
Re: Сборка rpm пакета
« Ответ #5 : 31.07.2021 20:33:40 »
Ругается на несуществующий путь чего-то там, но слишком мелко всё, не разобрать.

Оффлайн Глеб

  • Начинающий
  • *
  • Сообщений: 4
Re: Сборка rpm пакета
« Ответ #6 : 01.08.2021 12:56:24 »
Прикрепляю в виде текстового файла всё что выдал сборщик пакета, если правильно понимаю нужно смотреть только последние строки, но могу ошибаться.

P.S. Спасибо тем кто адекватно дал понять что им неудобно воспринимать так информацию и попытался помочь, а не поспешно начал осуждать и писать о неуважении.
Я пришёл сюда за помощью и уж точно уважаю тех кто помогает и пытается это сделать и выложил информацию как посчитал это удобным для восприятия. Кому неудобно могу выложить в удобном для них виде, если готовы помочь.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 107
    • Домашняя страница
    • Email
Re: Сборка rpm пакета
« Ответ #7 : 01.08.2021 13:09:12 »
...и тут же выложить файлом, который тоже у меня не будет показываться. И после этого рассуждать о неуважении, повторно его проявляя? Возможно, кто-то и будет смотреть...
Андрей Черепанов (cas@)

Оффлайн Глеб

  • Начинающий
  • *
  • Сообщений: 4
Re: Сборка rpm пакета
« Ответ #8 : 01.08.2021 13:18:08 »
Если Вы действительно хотите помочь, могли бы сразу же написать как Вам удобно воспринять информацию (изображение и текст не подходит как видно). Вместо того чтобы устраивать холивар не по теме.

P.S. Текста очень много, что из него нужно, а что нет я не могу сказать точно, поэтому приложил в предыдущем сообщении всё что выдал сборщик пакетов.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 107
    • Домашняя страница
    • Email
Re: Сборка rpm пакета
« Ответ #9 : 01.08.2021 13:28:15 »
Если не можете выделить сообщение, то зачем взялись за сборку? Зачем её делать вслепую (вдруг выйдет)?

Сейчас посмотрю.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 107
    • Домашняя страница
    • Email
Re: Сборка rpm пакета
« Ответ #10 : 01.08.2021 13:32:09 »
verify-elf: ERROR: ./opt/agentskydnsgui/bin/agentskydnsgui: RPATH contains illegal absolute entry "/home/gleb/Qt5.14.2/5.14.2/gcc_64/lib": /home/gleb/Qt5.14.2/5.14.2/gcc_64/lib

Убирайте кривой RPATH командой chrpath -d
(одноимённый пакет нужно ставить).

На будущее: сделайте egrep 'error:|ERROR' log
Андрей Черепанов (cas@)