[opensuse-packaging] My first factory package update. Help please.
I'm attempting my first package update and it got rejected. I don't understand some of Coolo's statements, so I'm hoping for clarification from the experts here. See interspersed: ---------- Forwarded message ----------
From: <coolo@suse.com> Date: Fri, Nov 18, 2011 at 3:23 AM Subject: [obs submit-request 92004] openSUSE:Factory/perl-Image-ExifTool: declined by coolo To: Greg.Freemyer@gmail.com
State of submit-request #92004 was changed by coolo:
review -> declined
Comment: do not require package names, but require perl(IO::Compress) - and wait for it to land in Factory (I just submitted it).
I understand that part.
And add provides/obsoletes for exiftool in there - and add a deleterequest for it. We don't need the tool twice in factory
This has me lost. perl-Image-ExifTool v8.40 is already in factory. I'm just upgrading it to 8.65. Admittedly there is a new executable (/usr/bin/exiftool) that was not there before. I can add a provides statement easily enough, but why do I need a obsoletes and why do I need a deleterequest. I'm just trying to update an existing perl package (devel:languages:perl / perl-Image-ExifTool).
https://build.opensuse.org/request/diff/92004
Source project: devel:languages:perl package: perl-Image-ExifTool revision: 5
Target: project: openSUSE:Factory package: perl-Image-ExifTool
Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am 21.11.2011 22:33, schrieb Greg Freemyer:
I'm attempting my first package update and it got rejected.
I don't understand some of Coolo's statements, so I'm hoping for clarification from the experts here.
See interspersed:
---------- Forwarded message ----------
From: <coolo@suse.com> Date: Fri, Nov 18, 2011 at 3:23 AM Subject: [obs submit-request 92004] openSUSE:Factory/perl-Image-ExifTool: declined by coolo To: Greg.Freemyer@gmail.com
State of submit-request #92004 was changed by coolo:
review -> declined
Comment: do not require package names, but require perl(IO::Compress) - and wait for it to land in Factory (I just submitted it).
I understand that part.
And add provides/obsoletes for exiftool in there - and add a deleterequest for it. We don't need the tool twice in factory
This has me lost. perl-Image-ExifTool v8.40 is already in factory. I'm just upgrading it to 8.65. Admittedly there is a new executable (/usr/bin/exiftool) that was not there before.
I can add a provides statement easily enough, but why do I need a obsoletes and why do I need a deleterequest. I'm just trying to update an existing perl package (devel:languages:perl / perl-Image-ExifTool).
If the update contains a new command line tool which already exists in openSUSE it makes sense to clean that up. Coolo basically says we don't need two identical tools in Factory (what I cannot comment on if there are different feature sets or whatever). The Obsoletes would make sure that the other package gets removed on updates. And if the package exiftool is redundant and obsoleted by perl-Image-ExifTool it makes also sense to remove it from Factory. I cannot say anything about which one should be chosen. And also not in every case we have to choose but let the user make the choice. (Then we should have a Conflicts though, because the tools are installed with the same name). Wolfgang -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, Nov 21, 2011 at 4:45 PM, Wolfgang Rosenauer <wolfgang@rosenauer.org> wrote:
Am 21.11.2011 22:33, schrieb Greg Freemyer:
I'm attempting my first package update and it got rejected.
I don't understand some of Coolo's statements, so I'm hoping for clarification from the experts here.
See interspersed:
---------- Forwarded message ----------
From: <coolo@suse.com> Date: Fri, Nov 18, 2011 at 3:23 AM Subject: [obs submit-request 92004] openSUSE:Factory/perl-Image-ExifTool: declined by coolo To: Greg.Freemyer@gmail.com
State of submit-request #92004 was changed by coolo:
review -> declined
Comment: do not require package names, but require perl(IO::Compress) - and wait for it to land in Factory (I just submitted it).
I understand that part.
And add provides/obsoletes for exiftool in there - and add a deleterequest for it. We don't need the tool twice in factory
This has me lost. perl-Image-ExifTool v8.40 is already in factory. I'm just upgrading it to 8.65. Admittedly there is a new executable (/usr/bin/exiftool) that was not there before.
I can add a provides statement easily enough, but why do I need a obsoletes and why do I need a deleterequest. I'm just trying to update an existing perl package (devel:languages:perl / perl-Image-ExifTool).
If the update contains a new command line tool which already exists in openSUSE it makes sense to clean that up. Coolo basically says we don't need two identical tools in Factory (what I cannot comment on if there are different feature sets or whatever). The Obsoletes would make sure that the other package gets removed on updates. And if the package exiftool is redundant and obsoleted by perl-Image-ExifTool it makes also sense to remove it from Factory.
I cannot say anything about which one should be chosen. And also not in every case we have to choose but let the user make the choice. (Then we should have a Conflicts though, because the tools are installed with the same name).
Wolfgang
Thanks, I did not realize exiftool was previously a standalone package. Both it and perl-Image-ExifTool are from the same author and are now apparently integrated into a single package. The comments now make since. Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
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 -- ... you start off with a typical message, let's say a 2.5MB Word document containing three lines of text and a macro virus ... -- Peter Gutmann -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
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
participants (3)
-
David Haller
-
Greg Freemyer
-
Wolfgang Rosenauer