如何解决隐式 RPM 问题:包中未明确包含的目录: pello_build.shpello.spec输出
我正在为名为 pello
的 Python 网络服务构建 RPM 包。应用程序已使用 .pyz
编译成 shiv
,并具有运行时所需的必要依赖项。
我的目标安装目录是 /usr/bin
,这是 pello.pyz
文件所在的位置。
这是我用来创建 RPM 的文件。
pello_build.sh
- 负责将 python 源代码编译为字节码作为单个 .pyz
文件。
pello.spec
- 用于打包 RPM 的 RPM 规范文件
output
- 我在尝试安装内置 RPM 时收到的输出。
这些文件按照列出的顺序依次执行。我认为在打印 Directories not explicitly included in package
时存在问题。
我的问题:我在这里做错了什么?运行后,我看到 exit 0
看起来不错,但在 pello.pyz
目录中找不到 /usr/bin
。它成功存在,退出代码为 0,但 pello.pyz
不在 /usr/bin
中。
pello_build.sh
#
# Clean
#
rm -rf ./dist
rm pello.pyz
#
# Start build prep
#
mkdir ./dist
pip3 install -r ./requirements.txt --target ./dist/
cp -r ./PelloApplication/* -t ./dist/
#
# Build pyz
#
shiv --site-packages dist --preamble dist/shiv_preamble.py --compressed -p '/usr/bin/env python3' -o pello.pyz -e gstart:run
cp pello.pyz ~/rpmbuild/SOURCES
cp pello.spec ~/rpmbuild/SPECS
#
# Build RPM
#
rpmbuild -bs pello.spec
pello.spec
Name: pello
Version: 1.0.0
Release: 1%{?dist}
Summary: Pello Python Project
License: None
Source0: /home/stephenjcollins/rpmbuild/SOURCES/%{name}.pyz
Requires: python3
BuildArch: noarch
%description
A fancy description.
%install
mkdir -p %{buildroot}%{_bindir}
install -m 0755 %{name}.pyz %{buildroot}%{_bindir}/%{name}.pyz
%files
%{_bindir}/%{name}
%changelog
* Mon Mar 29 2021 Stephen Collins
- First Build
输出
(.venv) [stephenjcollins@node0 PELLO]$ rpm -ihvv /home/stephenjcollins/rpmbuild/SRPMS/pello-1.0.0-1.el8.src.rpm
ufdio: 1 reads,17154 total bytes in 0.000006 secs
ufdio: 1 reads,5442 total bytes in 0.000002 secs
ufdio: 1 reads,17154 total bytes in 0.000004 secs
D: ============== /home/stephenjcollins/rpmbuild/SRPMS/pello-1.0.0-1.el8.src.rpm
D: loading keyring from pubkeys in /var/lib/rpm/pubkeys/*.key
D: couldn't find any keys in /var/lib/rpm/pubkeys/*.key
D: loading keyring from rpmdb
D: serialize failed,using private dbenv
D: opening db environment /var/lib/rpm cdb:private:0x401
D: opening db index /var/lib/rpm/Packages 0x400 mode=0x0
D: locked db index /var/lib/rpm/Packages
D: opening db index /var/lib/rpm/Name 0x400 mode=0x0
D: read h# 450
Header SHA1 digest: OK
D: added key gpg-pubkey-8483c65d-5ccc5b19 to keyring
D: read h# 708
Header SHA1 digest: OK
D: added key gpg-pubkey-2f86d6a1-5cf7cefb to keyring
D: Using legacy gpg-pubkey(s) from rpmdb
D: /home/stephenjcollins/rpmbuild/SRPMS/pello-1.0.0-1.el8.src.rpm: Header SHA256 digest: OK
D: /home/stephenjcollins/rpmbuild/SRPMS/pello-1.0.0-1.el8.src.rpm: Header SHA1 digest: OK
ufdio: 6 reads,6020 total bytes in 0.000005 secs
D: added source package [0]
D: found 1 source and 0 binary packages
D: /home/stephenjcollins/rpmbuild/SRPMS/pello-1.0.0-1.el8.src.rpm: Header SHA256 digest: OK
D: /home/stephenjcollins/rpmbuild/SRPMS/pello-1.0.0-1.el8.src.rpm: Header SHA1 digest: OK
D: Plugin: calling hook init in systemd_inhibit plugin
D: install: pello-1.0.0-1.el8.noarch has 2 files
Updating / installing...
1:pello-1.0.0-1.el8 D: ========== Directories not explicitly included in package:
D: 0 /home/stephenjcollins/rpmbuild/SOURCES/
D: 1 /home/stephenjcollins/rpmbuild/SPECS/
D: ==========
D: create 100775 1 (1000,1000)14823235 /home/stephenjcollins/rpmbuild/SOURCES/pello.pyz;60622611
################################# [100%]
ufdio: 453 writes,14823235 total bytes in 0.002860 secs
D: Plugin: calling hook fsm_file_prepare in selinux plugin
D: create 100664 1 (1000,1000) 551 /home/stephenjcollins/rpmbuild/SPECS/pello.spec;60622611
ufdio: 1 writes,551 total bytes in 0.000004 secs
D: Plugin: calling hook fsm_file_prepare in selinux plugin
fdio: 467 reads,14824152 total bytes in 0.038672 secs
ufdio: 6 reads,6020 total bytes in 0.000005 secs
D: closed db index /var/lib/rpm/Packages
D: closed db index /var/lib/rpm/Name
D: closed db environment /var/lib/rpm
D: Exit status: 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。