[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Installed (but unpackaged) file(s) found Error

On Thu, Jan 30, 2003 at 01:23:40AM -0800, Randy J. Ray wrote:
> I'm trying to restore my ability to package my CPAN Perl modules as rpm's. I 
> actually have two questions, one regarding the subject line and the other 
> regarding automatic Provides/Requires generation.
> Regarding the error in the subject line, I am getting this because of 
> perllocal.pod and .packlist files that are generated during the "make install" 
> step. Previously, the following shell snippet in the %install section created 
> a files-list that excluded these:
> find $RPM_BUILD_ROOT/usr -type f -print |
>          sed "s@^$RPM_BUILD_ROOT@@g" |
>          grep -v perllocal.pod |
>          grep -v "\.packlist" > ${DISTNAME}-${VERSION}-filelist
> if [ "$(cat ${DISTNAME}-${VERSION}-filelist)X" = "X" ] ; then
>      echo "ERROR: EMPTY FILE LIST"
>      exit -1
> fi
> Later, the line:
> %files -f ${DISTNAME}-${VERSION}-filelist
> provided the contents. (Note that ${DISTNAME} and ${VERSION} are macros 
> expanded when the specfile is created.) This used to work, but now I get the 
> above error. Any suggestions? This happens under rpm 4.1 on Red Hat 8, but not 
> with 4.0.4 under Red Hat 7.1 (these are my build/test platforms).

rpm-4.1 and later has Fascist build policy, exits if all files in
$RPM_BUILD_ROOT are not found in some %files manifest. Either include
files in package, remove from $RPM_BUILD_ROOT, or don't play by adding
	%_unpackage_files_terminate_build 0
to configuration/specfile.

> The second question is about the Provides/Requires. I have the following lines:
> Requires: perl >= 0:5.00503
> Provides: perl-${DISTNAME} = ${VERSION}
> or something very similar. But it still runs /usr/lib/rpm/find-provides and 
> find-requires, which pull in a lot of junk I don't want, such as dependancy on 
> perl(Apache) (which is optional), as well as many core Perl elements that are 
> just redundant. How do I suppress this? (The provides/requires are also fairly 
> noisy under 4.0.4, but not nearly as much as with 4.1.)

You can disable automagic Provide:/Require: generation by some combo of
	AutoReqProv: no
	AutoReq: no
	AutoProv: no
or you can filter the output of, say, find-requires by (choose N appropriately)
	SourceN: my-find-requires.sh

	%define __find_requires %{SOURCEN}

where my-find-requires.sh contains

	/usr/lib/rpm/find-requires | sed -e 's/perl(BadDep)//'

Note carefully that rpm-4.2 is eliminating find-requires et al by
internalizing, mechanics of filtering are different.

73 de Jeff

Jeff Johnson	ARS N3NPQ
jbj@redhat.com (jbj@jbj.org)
Chapel Hill, NC

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []