Hi all,
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@f20-64 /]# file --version file-5.11 magic file from /etc/magic:/usr/share/misc/magic
<mock-chroot>[root@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@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@f20-64 /]# file --version file-5.14 magic file from /etc/magic:/usr/share/misc/magic
<mock-chroot>[root@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@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.
Thanks!
packaging@lists.fedoraproject.org