隐式RPM问题:包中未明确包含的目录:

2024-09-27 00:17:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为一个名为pello的python web服务构建一个RPM包。应用程序已使用shiv编译成.pyz,并在运行时具有必要的依赖项

我的目标安装目录是/usr/bin,它是pello.pyz文件的所在地

下面是我用来创建RPM的文件

pello_build.sh-负责将python源代码编译成字节码,作为单个.pyz文件

pello.spec-用于打包RPM的RPM规范文件

output-我在尝试安装构建的RPM时收到的输出

这些文件按列出的顺序依次执行。我认为有一个问题是Directories not explicitly included in package的印刷

我的问题:我做错了什么?运行之后,我看到了exit 0,看起来不错,但在/usr/bin目录中找不到pello.pyz。它已成功存在,退出代码为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

佩洛规范

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

Tags: inhomebytesvarlibdistpyztotal

热门问题