rpmbuildを使用してファイルをrpmに圧縮するとエラーが発生します。

rpmbuildを使用してファイルをrpmに圧縮するとエラーが発生します。

このパッケージをダウンロードutil-linux-2.23.2-65.el7_9.1.src.rpmして解凍しました。

 rpm2cpio ./util-linux-2.23.2-65.el7_9.1.src.rpm | cpio -idmv

使用されるファイルには、次のファイルがあります。util-linux-2.23.2.tar.xz

このファイルを抽出し、login.cファイルの1つを編集しました。

その後、コマンドを使用してファイルを一度圧縮しました。

tar -cJvf util-linux-2.23.2.tar.xz util-linux-2.23.2/

これで、ファイルをrpmファイルに圧縮しようとしているときに、次のコマンドを使用できます。

rpmbuild -ba ~/rpmbuild/SOURCES/util-linux.spec

このエラーがあります。

tch
+ /usr/bin/patch -p1 -s
+ /usr/bin/cat /root/rpmbuild/SOURCES/0143-lsmem-make-split-optional-follow-output-by-default.patch
+ /usr/bin/patch -p1 -s
+ /usr/bin/cat /root/rpmbuild/SOURCES/0144-libmount-fix-access-utab-write-test.patch
+ /usr/bin/patch -p1 -s
+ /usr/bin/cat /root/rpmbuild/SOURCES/0145-login-add-LOGIN_PLAIN_PROMPT-to-login.defs.patch
+ /usr/bin/patch -p1 -s
1 out of 2 hunks FAILED -- saving rejects to file login-utils/login.c.rej
error: Bad exit status from /var/tmp/rpm-tmp.GN6oqO (%prep)


RPM build errors:
    bogus date in %changelog: Thu Oct 10 2012 Karel Zak <[email protected]> 2.22.1-1
    bogus date in %changelog: Thu Feb 07 2012 Karel Zak <[email protected]> 2.21-0.1
    bogus date in %changelog: Fri Aug  2 2011 Karel Zak <[email protected]> 2.20-0.1
    bogus date in %changelog: Thu Jan  8 2010 Karel Zak <[email protected]> 2.17-1
    bogus date in %changelog: Wed Dec 14 2006 Karel Zak <[email protected]> 2.13-0.46
    bogus date in %changelog: Wed Mar  9 2006 Jesse Keating <[email protected]> 2.13-0.20
    bogus date in %changelog: Wed Mar  9 2006 Jesse Keating <[email protected]> 2.13-0.19
    bogus date in %changelog: Sun Mar 13 2004  <[email protected]>
    bogus date in %changelog: Mon Jun 14 2003 Elliot Lee <[email protected]> 2.11y-20
    bogus date in %changelog: Tue Jan 28 2002 Bill Nottingham <[email protected]> 2.11n-4
    Bad exit status from /var/tmp/rpm-tmp.GN6oqO (%prep)
[root@vps8865 ~]# ^C

答え1

rpmbuild圧縮せずに新しいパッケージをコンパイルしています。

あなたの間違いは、ソースtarballのファイルを編集し、元のファイルを変更内容に変更したことです。ただし、ソースパッケージのパッチの1つは、変更されたソースではなく元のソースから作成されたため、適用できません。

diffそれを入れるために使用する必要があります)。最終結果は、仕様ファイルのみを変更し、.patchファイルをソースディレクトリに追加することです。よりRPMパッケージングガイドパッチを正しく作成してください。

メモ:他のパッチが変更されたものを変更しているように見えるので、元のソースタールボールを入手し、他のすべてのパッチを最初に適用する必要があるかもしれません。それからソースを編集してdiffを作成します。

偽の日付については、RPMは日付が正しい曜日であることを確認し始めましたが、すべて間違っていました。このパッケージを作成したい場合は、修正する必要があると思います。 RHELで修正された可能性があります。

関連情報