同様の問題に直面している人がいないのか、直接的な情報を見つけられなかったので。
結論
ソースを展開してSPECファイルをUTF8で編集・修正して再度アーカイブして今まで通りにrpmbuildする
環境
- 記事執筆時点のさくらVPSでCentOS 8を選択しインストールした環境
- FD-3.01j(多分過去のバージョンも)
# uname -a
Linux ${HOSTNAME} 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
#現象
rpmbuildすると、こんな表示が出てビルドが完了しない。
# rpmbuild -tb --clean ./FD-3.01j.tar.gz
warning: bogus date in %changelog: Tue Jul 7 2004 Takashi SHIRAI <shirai@unixusers.net>
warning: bogus date in %changelog: Tue Sep 17 2003 Takashi SHIRAI <shirai@unixusers.net>
warning: Package FDclone: invalid utf-8 encoding in Description: FDclone is a file& directory maintenance tool for the UNIX
based OS. It is a clone of "FD" for MS-DOS, made by Mr.
A.Idei <SDI00544@niftyserve.or.jp> in 1989.
%description(ja)
FDclone �ϡ�1989ǯ�� A.Idei <SDI00544@niftyserve.or.jp> ����
���ˤ��ä� MS-DOS �Ѥ˺������줿�أƣġ٤��Ϥ�����UNIX �١�
���� OS ���ѤΥե����� & �ǥ��쥯�ȥ������ġ����Ǥ��� - Invalid or incomplete multibyte orwide character
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.oWoPi3
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
中略
RPM build errors:
bogus date in %changelog: Tue Jul 7 2004 Takashi SHIRAI <shirai@unixusers.net>
bogus date in %changelog: Tue Sep 17 2003 Takashi SHIRAI <shirai@unixusers.net>
Package FDclone: invalid utf-8 encoding in Description: FDclone is a file & directory maintenance tool for the UNIX
based OS. It is a clone of "FD" for MS-DOS, made by Mr.
A.Idei <SDI00544@niftyserve.or.jp> in 1989.
%description(ja)
FDclone �ϡ�1989ǯ�� A.Idei <SDI00544@niftyserve.or.jp> ����
���ˤ��ä� MS-DOS �Ѥ˺������줿�أƣġ٤��Ϥ�����UNIX �١�
���� OS ���ѤΥե����� & �ǥ��쥯�ȥ������ġ����Ǥ��� - Invalid or incomplete multibyte orwide character
Empty %files file /root/rpmbuild/BUILD/FD-3.01j/debugsourcefiles.list
調べたこと
bogus dateの意味
偽りの曜日だそうで。
Tue Jul 7 2004 の日付が正しいとするなら、水曜日なので Tue ではなく Wed です。曜日が正しいなら 6 です。
Tue Sep 17 2003 の日付が正しいとするなら、水曜日なので Tue ではなく Wed です。曜日が正しいなら 16 です。
文字コード関連
rpmbuildのSPECファイルはUTF-8で書くそうですが、fd.specはEUCで書かれていました。
error: Empty %files file /root/rpmbuild/BUILD/FD-3.01j/debugsourcefiles.list
ググってみると、有益な情報を得ることができました。debugsourcefiles.listを作成しないことで回避できるようです。
バグ #4555: RPM build errors: Empty %files file ...
https://www.openrtm.org/redmine/issues/4555
やったこと
作業ディレクトリを作りソースファイルをダウンロードして展開
mkdir tmp
cd tmp
wget http://hp.vector.co.jp/authors/VA012337/soft/fd/FD-3.01j.tar.gz
tar zxvf .FD-3.01j.tar.gz
./FD-3.01j/fd.specをUTF8で編集
vim ./FD-3.01j/fd.spec
%global debug_package %{nil} は %prep と %setup より前であることが必要。
29行目から3行を削除し・・・
FDclone ?ϡ?1989ǯ?ヒ A.Idei <SDI00544@niftyserve.or.jp> ?皃ホ
?熙ヒ?隍テ?ニ MS-DOS ヘム?˺鋿????줿?أƣġ٤Ϥ?????UNIX ?١?
???ホ OS ネニヘム?Υե????・& ?ǥ??쥯?ȥ・ノヘ?ġ??・ヌ????
5行追加。
FDclone は、1989年に A.Idei <SDI00544@niftyserve.or.jp> 氏の
手によって MS-DOS 用に作成された『FD』を模した、UNIX ベー
スの OS 汎用のファイル & ディレクトリ管理ツールです。
%global debug_package %{nil}
日付は正しいと仮定して、173行目あたり(更新履歴の最後の方)にある曜日を修正
Tueから・・・
* Tue Jul 7 2004 Takashi SHIRAI <shirai@unixusers.net>
* Tue Sep 17 2003 Takashi SHIRAI <shirai@unixusers.net>
Wedへ
* Wed Jul 7 2004 Takashi SHIRAI <shirai@unixusers.net>
* Wed Sep 17 2003 Takashi SHIRAI <shirai@unixusers.net>
再度アーカイブ
tar czvf FD-3.01j.tar.gz ./FD-3.01j
あとはいつも通りrpmbuildしてできあがったrpmパッケージをインストール。
rpmbuild -tb FD-3.01j.tar.gz
rpm -ivh ~/rpmbuild/RPMS/x86_64/FDclone-3.01j-1.x86_64.rpm
以上。