タイトルが難しくてすみません。私が得た内容は次のとおりです。
bash-4.2# rpmbuild --rebuild dcmtk-3.6.7-3.fc39.src.rpm
Installing dcmtk-3.6.7-3.fc39.src.rpm
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mock does not exist - using root
error: patch 2147483647 defined multiple times
rpmbuildコマンドで私は何が間違っていますか?
参考までに:
bash-4.2# rpmbuild --version
RPM version 4.11.3
全ステップ:
% cat Dockerfile
FROM public.ecr.aws/lambda/dotnet:7
WORKDIR /tmp
RUN curl -O https://kojipkgs.fedoraproject.org//packages/dcmtk/3.6.7/3.fc39/src/dcmtk-3.6.7-3.fc39.src.rpm
RUN yum -y update && yum -y install rpm-build
RUN rpmbuild --rebuild dcmtk-3.6.7-3.fc39.src.rpm
以下にも適用されます。
% cat Dockerfile
FROM public.ecr.aws/lambda/dotnet:7
WORKDIR /tmp
RUN curl -O https://kojipkgs.fedoraproject.org//packages/dcmtk/3.6.7/3.fc39/src/dcmtk-3.6.7-3.fc39.src.rpm
RUN yum -y update && yum -y install rpm-build cmake gcc-c++ libjpeg-devel \
libpng-devel libtiff-devel libxml2-devel openssl-devel zlib-devel doxygen \
git-core
RUN rpm -i dcmtk-3.6.7-3.fc39.src.rpm
WORKDIR /root/rpmbuild/SPECS/
RUN rpmbuild -ba dcmtk.spec
結果:
% docker build .
[...]
error: patch 2147483647 defined multiple times
The command '/bin/sh -c rpmbuild -ba dcmtk.spec' returned a non-zero code: 1
定義されたパッチについては、ここで.specファイルを確認してください。
% grep Patch: dcmtk.spec
Patch: 0001-Use-system-CharLS-include.patch
Patch: 0002-Add-FindCharLS.patch
Patch: 0003-Find-and-include-CharLS.patch
Patch: 0004-Use-cmake-suggested-locations-for-CharLS.patch
Patch: 0005-Correct-CharLS-API-call.patch
Patch: 0006-Remove-reference-to-bundled-CharLS.patch
Patch: 0007-Update-JLS_ERROR-to-jpegls_error-in-CharLS-usage.patch
Patch: 0008-Correct-JpegLsReadHeader-arguments.patch
Patch: 0009-Update-JlsParameters-for-new-CharLS.patch
Patch: 0010-Correct-JpegLsDecode-arguments-for-CharLS-2.patch
Patch: 0011-Update-ilv-for-new-CharLS.patch
Patch: 0012-Correct-extra-include-for-CharLS.patch
Patch: 0013-Update-errors-to-use-enum-class-in-CharLS-2.patch
Patch: 0014-Define-BYTE-for-CharLS.patch
Patch: 0015-Update-colorTransformation-for-CharLS-2.patch
Patch: 0016-Update-JpegLsEncode-for-CharLS-2.patch
Patch: 0017-Increase-sleep-for-tests.patch
Patch: 0018-CVE-2022-43272-Fixed-memory-leak-in-single-process-mode.patch
このエラーを解決するために適用された2つのパッチのいずれかに注釈を付けることができることがわかりました。たとえば、次のようになります。
sed -e '/0017-Increase-sleep-for-tests.patch/s/^#*/#/' -i dcmtk.spec
ところで、この数字がどこから出るのか気になります2147483647
。
ベストアンサー1
amazonlinux/2 の rpmbuild は、複数のパッチがある「patch:」をサポートしていないことがわかりました。明示的な代替形式を使用する必要があります。
Patch0: foo.patch
Patch1: bar.patch
これは将来のamazonlinuxイメージで修正される可能性があります。
引用: