-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extraneous "use Alien::Gnuplot 4.4;" requirements? #98
Comments
This may require a fix to Alien::Gnuplot — the version number passed to Alien::Gnuplot is checked against the version of Gnuplot itself, not against Alien::Gnuplot. That seems to be colliding with cpanspec’s use of the version number.
… On Aug 16, 2023, at 10:25 AM, pjwelsh ***@***.***> wrote:
blib/lib/PDL/Graphics/Gnuplot.pm
lib/PDL/Graphics/Gnuplot.pm
Both contain "use Alien::Gnuplot 4.4;" and should likely only be "use Alien::Gnuplot;".
This is causing cpanspec to determine a requirement that can not be met as the current Alien::Gnuplot version is just 1.042.
—
Reply to this email directly, view it on GitHub <#98>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAJTGNUZO6D6Q4DOQL47F73XVTQ7PANCNFSM6AAAAAA3SWYS3U>.
You are receiving this because you are subscribed to this thread.
|
I may have slightly misspoken. The rpmbuild seems to be the one picking up on a false dependency from the two mentioned files. If I remove the "4.4", the package builds without issue. |
Perhaps the change should just be to add a Though I believe that |
I'm not a Perl guy or dev guy and I just want to make sure we are on the same page... |
Yes that is how the use statements are working. Per the A::G documentation, the version gets checked against *gnuplot*, not against the actual module. That is/was allowable behavior for Alien modules, and is a good DWIM for the usual use case. I agree with the earlier comment that rpmfind appears to be doing something outside the documented interface.(Sent from mobile)On Aug 17, 2023, at 6:45 AM, pjwelsh ***@***.***> wrote:
I'm not a Perl guy or dev guy and I just want to make sure we are on the same page...
When I look the perl "use" clause, it accepts the "version" as a version requirement for the imported function. The current max version for "Alien::Gnuplot" is "1.042". Both mentioned .pm files seem to be requiring a version of Alien::Gnuplot of "4.4" that does not exist.
rpmbuild does indeed poke into files to create requirement directives. Not perfect, but that is what it does to safeguard RPM package installs.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
|
I did not find any actual perl documentation to back up the use of the
VERSION option in this manner. Are you able to point me in the right
direction that shows VERSION is allowed to apply to the parent module of a
module?
From: https://perldoc.perl.org/functions/use
"If the VERSION argument is present between Module and LIST, then the use
will call the VERSION method in class Module with the given version as an
argument"
This does not seem to mention what you are saying.
Regards
PJ
On Thu, Aug 17, 2023 at 8:36 AM Craig DeForest ***@***.***>
wrote:
Yes that is how the use statements are working. Per the A::G
documentation, the version gets checked against *gnuplot*, not against the
actual module. That is/was allowable behavior for Alien modules, and is a
good DWIM for the usual use case. I agree with the earlier comment that
rpmfind appears to be doing something outside the documented
interface.(Sent from mobile)On Aug 17, 2023, at 6:45 AM, pjwelsh
***@***.***> wrote:
I'm not a Perl guy or dev guy and I just want to make sure we are on the
same page...
When I look the perl "use" clause, it accepts the "version" as a version
requirement for the imported function. The current max version for
"Alien::Gnuplot" is "1.042". Both mentioned .pm files seem to be requiring
a version of Alien::Gnuplot of "4.4" that does not exist.
rpmbuild does indeed poke into files to create requirement directives. Not
perfect, but that is what it does to safeguard RPM package installs.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are
receiving this because you commented.Message ID: ***@***.***>
—
Reply to this email directly, view it on GitHub
<#98 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB2ANMHYNGKIFYUTGLYJPUTXVYM4XANCNFSM6AAAAAA3SWYS3U>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
Disclaimer
The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.
This email has been scanned for viruses and malware, and may have been automatically archived. Cassens
|
Yes, we're doing something a bit non-standard here. Most modules do not override the default I see where |
in order to make downstream packaging easier. This works around dependency scanning code that assumes the standard semantics where a version-like string in that location refers to the version of the Perl module that is stored in the package variable `$VERSION`. In particular, this is what `rpmbuild` does via the `perl-generators` plugin per <https://github.com/jplesnik/generators/blob/1.16/template/bin/perl.req#L240>. Fixes <#98>.
I needed this module as part of dependency chain (from hell) of over 60 perl modules in order to build/install as requirement for AI::TensorFlow::Libtensorflow. I just thought reporting this may help someone else stuck in the same boat building this into a deployable RPM. Making the change is up to you, of course, but it would be good IMHO. |
That's my fault. ;-) Thank you for reporting this. Anything that helps people install in more places and get work done is appreciated. |
LOL did not even look at the author on that AI module... too funny. |
@zmughal Using If you want to check version of |
Not sure if it 100% the same, but there seems to be a similar usage for PDL-Graphics-Gnuplot-2.024/Makefile.PL: |
Maybe never mind on the previous comment since since the "x version or later" still works it seems... |
blib/lib/PDL/Graphics/Gnuplot.pm
lib/PDL/Graphics/Gnuplot.pm
Both contain "use Alien::Gnuplot 4.4;" and should likely only be "use Alien::Gnuplot;".
This is causing cpanspec to determine a requirement that can not be met as the current Alien::Gnuplot version is just 1.042.
The text was updated successfully, but these errors were encountered: