On 01/15/2014 01: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@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`
Thanks for this part. I didn't know that. My test-suite for File checks
only the regexp defined in /usr/lib/rpm/fileattrs, which is following in
F20:
%__perl_magic ^.*[Pp]erl .*$
So when testing File-5.14 I didn't think this will cause problems to
RPM. I can make File to return "Perl script" again, but I would rather
stay consistent with upstream in the detection.
There's already bug about this:
<https://bugzilla.redhat.com/show_bug.cgi?id=1051598>. I will open
upstream bug for that.
This is where the change in the file commands output is causing trouble.
Any help would be much appreciated.
Thanks!
Jan Kaluza
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct