Perl autorequires failing for git-svn

Jan Kalu┼ża jkaluza at redhat.com
Wed Jan 15 09:17:06 UTC 2014


On 01/15/2014 08:28 AM, Panu Matilainen wrote:
> On 01/15/2014 02:56 AM, Todd Zullinger wrote:
>> Hi all,
>>
>> [I posted this to the packaging list a few days ago, but haven't gotten
>> any responses, so I want to open this to a wider audience in the hope of
>> getting some pointers to what I'm missing.]
>>
>> I'm trying to fix a problem with the git-svn package that causes it to
>> not pull in the proper perl dependencies (filed as rhbz #1026760). (It's
>> possible I've simply missed an important announcement, but I didn't spot
>> anything in the guidelines.)
>>
>> It appears that the file package was changed from 5.11 in f19 to 5.14 in
>> f20.  With this change, the git-svn script reports a different type and
>> find-requires does not pass it to perl.req for processing.
>>
>> f19:
>>
>> <mock-chroot>[root at f20-64 /]# file --version
>> file-5.11
>> magic file from /etc/magic:/usr/share/misc/magic
>>
>> <mock-chroot>[root at f20-64 /]# file
>> /builddir/build/BUILD/git-1.8.4.2/git-svn
>> /builddir/build/BUILD/git-1.8.4.2/git-svn: Perl script, ASCII text
>> executable
>>
>> <mock-chroot>[root at f20-64 /]# /usr/lib/rpm/find-requires <<<
>> /builddir/build/BUILD/git-1.8.4.2/git-svn
>>
>> /usr/bin/perl
>> perl >= 0:5.008
>> perl(Carp)
>> perl(Digest::MD5)
>> perl(File::Basename)
>> perl(File::Find)
>> perl(File::Path)
>> perl(File::Spec)
>> perl(Getopt::Long)
>> perl(Git)
>> perl(Git::SVN)
>> perl(Git::SVN::Editor)
>> perl(Git::SVN::Fetcher)
>> perl(Git::SVN::Log)
>> perl(Git::SVN::Migration)
>> perl(Git::SVN::Prompt)
>> perl(Git::SVN::Ra)
>> perl(Git::SVN::Utils)
>> perl(IO::File)
>> perl(IPC::Open3)
>> perl(lib)
>> perl(Memoize)
>> perl(strict)
>> perl(Term::ReadLine)
>> perl(vars)
>> perl(warnings)
>>
>> f20:
>>
>> <mock-chroot>[root at f20-64 /]# file --version
>> file-5.14
>> magic file from /etc/magic:/usr/share/misc/magic
>>
>> <mock-chroot>[root at f20-64 /]# file
>> /builddir/build/BUILD/git-1.8.4.2/git-svn
>> /builddir/build/BUILD/git-1.8.4.2/git-svn: Perl5 module source, ASCII
>> text
>>
>> <mock-chroot>[root at f20-64 /]# /usr/lib/rpm/find-requires <<<
>> /builddir/build/BUILD/git-1.8.4.2/git-svn
>>
>> This fails because find-requires only passes the file to perl.req if
>> it's either a .pm file or it's in the script list, which is defined like
>> this:
>>
>> scriptlist=`echo $filelist | xargs -r file | \
>>             grep -E ":.* (commands|script)[, ]" | cut -d: -f1`
>>
>> This is where the change in the file commands output is causing trouble.
>>
>> Any help would be much appreciated.
>
> See https://bugzilla.redhat.com/show_bug.cgi?id=105159.
>
> Also FYI, /usr/lib/rpm/find-requires (or -provides) is not what's used
> during rpmbuild unless specifically overridden to use that legacy
> mechanism.

Does that mean that my File test-suite based on /usr/lib/rpm/fileattrs 
is correct and that's the only way how RPM currently (by default) parses 
File's output? Are there more places I should be aware of and include 
into my test-suite?

>      - Panu -
>
>

Jan Kaluza



More information about the devel mailing list