1
votes

I was trying to build an rpm of some scripts and settings we would to easily distribute internally. I was able to build an RPM just file with a test file and jboss but when doing it with this set of files I am getting a Requires(rpmlib) error (full output below) ; I've tried searching for any missing dependencies but the files in the folders to be placed in the root doesn't require anything. Any suggestions?

rpmbuild -bb siscripts.spec
Processing files: SIScripts-1-1.noarch Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 perl(File::stat) perl(HTML::Template) perl(MIME::Lite) perl(Net::Ping)
perl(String::MkPasswd) perl(Term::ANSIScreen) perl(Term::ReadLine) perl(Unix::PasswdFile) perl(strict)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/SIScripts-1-1.x86_64
warning: Could not canonicalize hostname: repo.local
Wrote: /root/rpmbuild/RPMS/noarch/SIScripts-1-1.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.QUQOX3
+ umask 022
+ cd /root/rpmbuild/BUILD
+ /bin/rm -rf /root/rpmbuild/BUILDROOT/SIScripts-1-1.x86_64
+ exit 0

1
You aren't getting an error message. You were just getting a warning. What's in the Requires: and BuildRequires: of siscripts.spec file? - alvits
Nothing actually, since its just dropping files in to a directory I didn't think those two fields were necessary. - themoose
Don't be alarmed. Nothing is wrong with the output. The spec file you wrote has a Requires: that required those rpmlib and perl. It successfully built the package. - alvits
Unfortunately when I do try and install the RPM I get the requires errors; I did manually install the required perl modules it requested via cpan; Any other suggestions? Error: Package: SIScripts-1-1.noarch (/SIScripts-1-1.noarch) Requires: perl(Term::ANSIScreen) - themoose
If you are absolutely certain that you don't want those requires, all you need to do is remove Requires: in the spec file and build a new package. - alvits

1 Answers

0
votes

The message warning: Could not canonicalize hostname: repo.local just means that the host name could not be looked up.

RPM adds a tag with the host FQDN and a time stamp to every package.

Simply adding an entry in /etc/hosts for "repo.local" will eliminate the warning.

All the rpm lib dependencies look correct.