![](https://seccdn.libravatar.org/avatar/25bbc96d9c53647354cb724e744b2222.jpg?s=120&d=mm&r=g)
On Tue, Nov 22, 2011 at 5:47 AM, David Haller <dnh@opensuse.org> wrote:
Hello,
On Mon, 21 Nov 2011, Greg Freemyer wrote:
I did not realize exiftool was previously a standalone package.
It wasn't.
Both it and perl-Image-ExifTool are from the same author and are now apparently integrated into a single package.
Basically, it's package-rename from 'exiftool' to 'perl-Image-ExifTool'. See on 11.4 (pruned):
$ rpm -qlf `which exiftool` /usr/bin/exiftool /usr/lib/perl5/vendor_perl/5.12.3/Image/ExifTool.pm
I dislike packaging "well known tools" like exiftool as perl-*, but in this case, the Image::ExifTool:: modules are used by other programs and perlmodules as well. So you should do at least have a
Provides: exiftool
and that should IMO be kept (i.e. no Obsoletes tag). But maybe the best way would be to split the package like a program + library. Compare the Exif::Tool Synopsis:
The Image::ExifTool Perl Library Module
So: I propose you do a
==== %package -n exiftool Requires: perl-Image-ExifTool = %{version} [usual stuff]
%files -n exiftool %{_bindir}/exiftool %doc %{_mandir}/man1/exiftool.1.gz
%files %defattr... # doc stuff as you did before minus exiftool.1.gz %doc Changes ExifTool_config README html %{perl_vendorlib}/File/RandomAccess.pm %{perl_vendorlib}/Image/ExifTool/* %doc %{_mandir}/man3/* ====
If you use %perl_gen_filelist, you could do a sed -i on the filelist afterwards, i.e.:
sed -i '/\/exiftool$/d;/\/exiftool.1\(.gz\)\?/d;' %{name}.files
and then %files -f %{name}.files as before.
No idea if coolo et al will be happy with that though. But it'd be a clean way and it's also "backwards compatible", as when something needing just the Image::ExifTool perl modules requires just "exiftool", the perlscript in /usr/bin + manpage get "needlessly" pulled in, but hey, that's just about 200k. Wow. Huge for a perlscript, but about 2.6k of 4.4k lines are documentation ;)
HTH, -dnh
David, Thanks for the huge help. This is clearly a bigger situation than I realized I was stepping into. I needed perl(Image::ExifTool) for a app I was trying to package a few months back. Not finding it in OBS, I created the v8.40 package in devel:languages:perl and for whatever reason I did not realize it had the /usr/bin/exiftool app included. (Or maybe it didn't.) I pushed v8.40 of perl(Image::ExifTool) to factory over the summer and it is in 12.1, but I don't think that conflicts with exiftool because I don't have a provides: exiftool in that specfile When v8.65 came out, I realized /usr/bin/exiftool was part of what I was building and I updated my package to include it. I have updated the v8.65 package in home:gregfreemyer:Tools-for-forensic-boot-cd > perl-Image-ExifTool per your comments. Do you mind reviewing the specfile again? But it begs the question of how to move forward. My simple thought is to SR my home package back to d:l:p and then on to factory. Then simultaneously do a SR to delete exiftool from factory. But what to do about graphics > exiftool? Leave it in place? Delete it? Thoughts? Thanks Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org