Автор Тема: Не могу собрать rpm пакет с AppImage внутри  (Прочитано 1283 раз)

Оффлайн Xahon

  • Участник
  • *
  • Сообщений: 1
Всем привет! Появилась нужда запаковать в rpm пакет AppImage, во время обработки появляются ошибки: 

[user@df7541daa3ae RPM]$ rpmbuild -v -ba SPECS/MYPROJECT.spec
Executing(%prep): /bin/sh -e /tmp/rpm-tmp.31398
+ umask 022
+ /bin/mkdir -p /home/user/RPM/BUILD
+ cd /home/user/RPM/BUILD
+ exit 0
Executing(%install): /bin/sh -e /tmp/rpm-tmp.31398
+ umask 022
+ /bin/mkdir -p /home/user/RPM/BUILD
+ cd /home/user/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /tmp/myproject-buildroot
+ :
+ /bin/rm -rf -- /tmp/myproject-buildroot
+ mkdir -p /tmp/myproject-buildroot/opt/MyCompany/
+ cp /home/user/RPM/SOURCES/MyProject.AppImage /tmp/myproject-buildroot/opt/MyCompany/
+ /usr/lib/rpm/brp-alt
Cleaning files in /tmp/myproject-buildroot (auto)
Verifying and fixing files in /tmp/myproject-buildroot (binconfig,pkgconfig,libtool,desktop)
Checking contents of files in /tmp/myproject-buildroot/ (default)
Compressing files in /tmp/myproject-buildroot (auto)
056-debuginfo.brp: WARNING: You have 1 stripped ELF objects. Please compile with debugging information!
056-debuginfo.brp: WARNING: An excerpt from the list of affected files follows:
  ./opt/MyCompany/MyProject.AppImage
064-verify_elf.brp: ELF verification disabled
Hardlinking identical .pyc and .opt-?.pyc files
Hardlinking identical .pyc and .pyo files
Processing files: myproject-0.1.0-1
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /tmp/rpm-tmp.vH6ivb
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
find-provides: /usr/lib/rpm/alternatives.prov.files: 0 files
find-provides: /usr/lib/rpm/debuginfo.prov.files: 0 files
find-provides: /usr/lib/rpm/lib.prov.files: 0 files
find-provides: /usr/lib/rpm/pam.prov.files: 0 files
find-provides: /usr/lib/rpm/perl.prov.files: 0 files
find-provides: /usr/lib/rpm/pkgconfig.prov.files: 0 files
find-provides: /usr/lib/rpm/python.prov.files: 0 files
find-provides: /usr/lib/rpm/python3.prov.files: 0 files
find-provides: /usr/lib/rpm/shell.prov.files: 0 files
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /tmp/rpm-tmp.B68jPi
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
find-requires: /usr/lib/rpm/cpp.req.files: 0 files
find-requires: /usr/lib/rpm/debuginfo.req.files: 0 files
find-requires: /usr/lib/rpm/files.req.files: 0 files
find-requires: /usr/lib/rpm/lib.req.files: 1 files
ldd: ERROR: /tmp/myproject-buildroot/opt/MyCompany/MyProject.AppImage: failed to find the program interpreter
find-requires: ERROR: /usr/lib/rpm/lib.req failed
error: /bin/sh failed
error: Failed to find Requires


RPM build errors:
    /bin/sh failed
    Failed to find Requires

AppImage - это не elf файл, в нём не нужно исправлять rpath, т.к. это архив настроенных библиотек, бинарников, который монтируется во временное хранилище при запуске

Запускаю с вот таким spec

Name:           myproject
Version:        0.1.0
Release:        1%{?dist}
Summary:        ENTER SUMMARY HERE
Group:          Miscellaneous
License:        Proprietary

%description
ENTER DESCRIPTION HERE

%prep

%clean
rm -rf $RPM_BUILD_ROOT

%install
mkdir -p $RPM_BUILD_ROOT/opt/MyCompany/
cp ~/RPM/SOURCES/MyProject.AppImage $RPM_BUILD_ROOT/opt/MyCompany/

%files
# %doc
/opt/MyCompany/MyProject.AppImage

%set_verify_elf_method skip