Skip to content
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

Dependency on Data::Diver that has no copyright files #10

Closed
cutlery opened this issue Aug 4, 2013 · 11 comments
Closed

Dependency on Data::Diver that has no copyright files #10

cutlery opened this issue Aug 4, 2013 · 11 comments
Assignees

Comments

@cutlery
Copy link

cutlery commented Aug 4, 2013

Hi all

At Debian we would very much like to package Biber, but unfortunately we have a problem with one of Biber's dependencies.

Biber depends on Data::Diver, but this Perl package comes with no copyright file. This means that distributions like Debian (and many others) cannot ship the Data::Diver Perl package.

So far the Data::Diver author has not responded to the SourceForge bug ticket.

Does Biber really need to depend on the Data::Diver package? If not, is it possible to exclude its use? This will allow Debian and many other distributions to include Biber in their repositories.

Thank you for your kind consideration.

Best regards

Danai Sae-Han

@ghost ghost assigned plk Aug 4, 2013
@plk
Copy link
Owner

plk commented Aug 4, 2013

Unfortunately, biber really does depend on this. As far as I remember, the author did promise to change this but didn't. I can't remove this module, it is used by many internals. Can you try to contact the author directly?

@cutlery
Copy link
Author

cutlery commented Aug 4, 2013

Hi

OK, I understand that Data::Diver is a hard dependency.
I will see if I can connect to Tye, the Data::Diver author, directly.

Cheers

Danai

@cutlery cutlery closed this as completed Aug 4, 2013
@bitstreamout
Copy link

See also http://perlmonks.org/?node_id=1047239
and https://github.com/bitstreamout/data-diver

... Tye has only once given an answer on the TeXLive mailing list

https://www.tug.org/pipermail/tex-live/2013-July/033912.html

but I don't know how long we've to wait to be able to support biber. Maybe I have to drop
the biber part of the TeXLive build here :((

@plk
Copy link
Owner

plk commented Aug 8, 2013

Hopefully your pull request will make it easier for him to reply soon ...

@cutlery
Copy link
Author

cutlery commented Aug 9, 2013

Hi Werner

Thank you for your tracking this issue as well. I sent a private email a
week ago to Tye but no response yet.

I hope a new version gets updated on CPAN soon, so that we can all package
this module and get Biber in our favourite distributions. :)

BR

Danai

On 8 August 2013 22:06, plk notifications@github.com wrote:

Hopefully your pull request will make it easier for him to reply soon ...


Reply to this email directly or view it on GitHubhttps://github.com//issues/10#issuecomment-22325647
.

@norbusan
Copy link

Hi Philip,

concerning the Data::Diver, since the upstream author seems reluctant, we will ship in Debian a replacement by including the following function in Biber/Utils.pm, and removing all use of Data::Diver.

As far as I saw in the code it is only used in a few places and for referencing arrays. You do not use any of the more peculiar features of Data::Diver.

Would you consider switching to that?

sub Dive {
my ($ref, @keys) = @_;
return unless defined($ref);
for my $k (@keys) {
if ($k =~ m/^-?\d+$/) {
$ref = $ref->[$k];
} else {
$ref = $ref->{$k};
}
}
return $ref;
}

Norbert
TeX Live Team and Debian TeX Team

@plk
Copy link
Owner

plk commented Aug 30, 2013

The problem is that Data::Diver doesn't auto-vivify which is why I use it. I think your replacement does, which will almost certainly lead to errors. It mustn't be the case that $ref->[$k] creates the [$k] ref if it doesn't exist and must be the case nomatter how far down a data structure you go.

@norbusan
Copy link

Hi Philp,

thanks for the answer. I can surely fix that if you let me know exactely what you need.

Only one thing, with the sub I posted all the test but the one due to perl 5.18 did succeed - so either the tests are not complete or it works anyway ;-)

Norbert

@bitstreamout
Copy link

On Fri, Aug 30, 2013 at 02:24:43AM -0700, norbusan wrote:

Hi Philp,

thanks for the answer. I can surely fix that if you let me know exactely what you need.

Only one thing, with the sub I posted all the test but the one due to perl 5.18 did succeed - so either the tests are not complete or it works anyway ;-)

The missing copyright of Data::Diver is the last reason why I can not
submit texlive-biber to openSUSE. Therefore it would be perfect to
solve this issue. AFAICS my pull request at
TyeMcQueen/data-diver#1 was not accepted during
my vacation ... it seems that Tye is kept busy elsewhere or he pools
his interests into an other direction than fiddling with open source.

Werner

"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr

@norbusan
Copy link

Hi Werner,
same here at Debian ;-)
I will fix the sub I posted (but then, all tests worked out ;-) not to create entries if not already existing. Let us fix that and then drop Data::Diver completely, it is just a source of pain.

Anyway, I will submit biber with the replaced Dive function soon to Debian.

Norbert

@plk
Copy link
Owner

plk commented Sep 1, 2013

Data::Diver is removed in biber 1.8. Here is a patch against 1.7 as a temp fix if needed.

https://gist.github.com/plk/6404422

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants