Spec URL: http://people.maths.ox.ac.uk/macdonald/fedora/biber.spec SRPM URL: http://people.maths.ox.ac.uk/macdonald/fedora/biber-1.8-3.fc21.src.rpm Description: Biber is a command-line tool for dealing with bibliographic databases. Biber offers a large superset of legacy BibTeX (texlive-bibtex) functionality. It is often used with the popular BibLaTeX package (texlive-biblatex), where it is required for some features. Fedora Account System Username: cbm I maintain copr's for this, e.g., at https://copr.fedoraproject.org/coprs/cbm/f21-biber-1.8/ and https://copr.fedoraproject.org/coprs/cbm/biber-1.8. I will also submit a set of perl dependencies too. I would like to co-maintain with Mary Ellen Foster (usename: mef), who wrote the first version of this spec file.
Question: am I specifying the dependency on texlive-bibtex correctly? The current version in F21 is "4:svn32245.2.8a". I want to specify that biber should not be used with versions less than 2.8. So I put: Requires: texlive-biblatex >= 4:svn32245.2.8 Is that right? What if it compares based on the epoch or svn numbers intead? Presumably the svn number would not increase while the version number went down :) But still, is there a "proper" way to specify its the 2.8 I care about?
Hmm, well, there's no way to guarantee you will always end up with 2.8+, no matter what you put there. If we suddenly ship texlive-biblatex-5:1.0, it will be considered a newer version because that's just how epoch works. That svn part is also more significant than "2.8", so 4:svn32246.1.0 would also be considered newer. The good thing is it's very unlikely something like that would happen so I would suggest picking the oldest "2.8" release we've had and require that or newer. Which is probably what you're doing :) Also, check out rpmdev-vercmp. It's a helpful tool when you're not sure how rpm would compare certain version string.
Updated: https://raw.githubusercontent.com/cbm755/fedora-spec/master/biber.spec http://people.maths.ox.ac.uk/macdonald/fedora/biber-1.8-4.fc21.src.rpm 1. @psabata: What should I do about this? > + perl Build.PL > Checking prerequisites... > requires: > ! Unicode::Collate (0.97) is installed, but we need version >= 0.98 It seems to work without. And AFAICT, Unicode::Collate is baked-in to our perl (?) The META.json file also says this. 2. I may need to fix-up Source0. IIRC (months ago) I followed some guide on packaging from git and re-zipped it as "plk-biber-v1.8-0-g848ca84.zip". But surely I can just use "biber-848ca84face08bdba8a6e8d95447b0ec71e56804.zip", as served by "https://github.com/plk/biber/archive/848ca84face08bdba8a6e8d95447b0ec71e56804.zip"? 3. Actually, on re-reading that, I should probably just take "http://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/1.8/biblatex-biber.tar.gz" instead. Although this filename is not versioned...
Another update, using the upstream tar.gz instead of a git commit https://raw.githubusercontent.com/cbm755/fedora-spec/master/biber.spec http://people.maths.ox.ac.uk/macdonald/fedora/biber-1.8-5.fc21.src.rpm This still has the Unicode::Collate issue from Comment #3.
(In reply to Colin Macdonald from comment #3) > 1. @psabata: What should I do about this? > > > + perl Build.PL > > Checking prerequisites... > > requires: > > ! Unicode::Collate (0.97) is installed, but we need version >= 0.98 > > It seems to work without. And AFAICT, Unicode::Collate is baked-in to our > perl (?) The META.json file also says this. Unicode::Collate is indeed bundled with perl but also lives on on CPAN as a separate distribution ("dual-lives"). What we can do is to subpackage the module from the perl package and then package the standalone Unicode::Collate module which will update and replace the perl subpackage. We do this for many modules already and plan to subpackage most or all of them at some point. It's an ongoing work. If you really need the new Unicode::Collate, I can do that for you. > 2. I may need to fix-up Source0. IIRC (months ago) I followed some guide > on packaging from git and re-zipped it as "plk-biber-v1.8-0-g848ca84.zip". > But surely I can just use > "biber-848ca84face08bdba8a6e8d95447b0ec71e56804.zip", as served by > "https://github.com/plk/biber/archive/ > 848ca84face08bdba8a6e8d95447b0ec71e56804.zip"? Github generates tarballs from tags, you can use these: https://github.com/plk/biber/releases Also, v1.9 has been available for a while. Any reason to stick with 1.8? > 3. Actually, on re-reading that, I should probably just take > "http://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/1.8/ > biblatex-biber.tar.gz" instead. Although this filename is not versioned... I would use the abovementioned tarballs.
> Also, v1.9 has been available for a while. Any reason to stick with 1.8? Fedora would need a newer texlive-biblatex, I documented this in the spec file. See also bug #1165437.
I guess (but don't know) that it really needed the a newer Unicode::Collate. Here is a commit for biber 1.9 which increments it to 1.04: https://github.com/plk/biber/commit/4a49c1a679de30a8834bb79844b08e49ced50058 I could ask upstream? Or ask you to do the subpackage :) If latter, I'll file a bug for that.
BTW, I've noticed I don't have the BR and Requires quite right here. I will take another pass at it. But first: if I need something at both build-time and run-time, do I need to list it on both? I.e., does build-time inherit the run-time deps?
(In reply to Colin Macdonald from comment #6) > > Also, v1.9 has been available for a while. Any reason to stick with 1.8? > > Fedora would need a newer texlive-biblatex, I documented this in the spec > file. See also bug #1165437. Aha, I see. I haven't looked at the package yet :) (In reply to Colin Macdonald from comment #7) > I guess (but don't know) that it really needed the a newer Unicode::Collate. > Here is a commit for biber 1.9 which increments it to 1.04: > > https://github.com/plk/biber/commit/4a49c1a679de30a8834bb79844b08e49ced50058 > > I could ask upstream? Or ask you to do the subpackage :) If latter, I'll > file a bug for that. It could be just that the author had that specific version of Unicode::Collate installed. Maybe it's not really required. Or maybe it is. Maybe biber breaks in some situations if Unicode::Collate is too old :) You can ask upstream, sure. I'll subpackage it (next week) anyway. (In reply to Colin Macdonald from comment #8) > BTW, I've noticed I don't have the BR and Requires quite right here. I will > take another pass at it. > > But first: if I need something at both build-time and run-time, do I need to > list it on both? I.e., does build-time inherit the run-time deps? There's no inheritence. These can differ and they often do (e.g. when not everything is tested). You need to list that twice.
Update deps: https://raw.githubusercontent.com/cbm755/fedora-spec/master/biber.spec http://people.maths.ox.ac.uk/macdonald/fedora/biber-1.8-6.fc21.src.rpm Other than the Unicode::Collate version, I think this is ready for review. I have asked upstream about Unicode::Collate (https://github.com/plk/biber/issues/54)
Upstream thinks we can relax the Unicode::Collate requirement so I'll do that and leave a comment in the spec file on my next revision.
Sorry for ignoring this for a long time. I've made the Unicode::Collate change. Can you review this? https://raw.githubusercontent.com/cbm755/fedora-spec/master/biber.spec http://people.maths.ox.ac.uk/macdonald/fedora/biber-1.8-7.fc21.src.rpm
So, after checking your long dep list: Missing build-time dependencies: - perl itself - it is called in the spec file - Log::Log4perl::Appender::File - Log::Log4perl::Appender::Screen - Log::Log4perl::Layout::PatternLayout - Log::Log4perl::Layout::SimpleLayout - these are via tests -> Biber -> Biber::Config - re - this is via tests -> Biber -> Biber::Utils - Text::BibTeX::Name - Text::BibTeX::NameFormat - these are via tests -> Biber::Input::file::bibtex I think you can safely drop the following build-time deps: - Business::ISBN - Business::ISSN - Business::ISMN - this code isn't tested - Config::AutoConf - Encode::EUCJPASCII - Encode::HanExtra - Encode::JIS2K - ExtUtils::LibBuilder - these aren't actually used anywhere - Getopt::Long - only used by the script and it's not tested - List::MoreUtils - again, not used anywhere - LWP::Simple - LWP::Protocol::https - Mozila::CA - this code isn't tested - Pod::Usage - only used by the script, not tested - Readonly - Readonly::XS - not tested; furthermore, the XS variant is only recommended for improved performance - Unicode::Collate - amusing, isn't it? It's not actually used anywhere; some of its submodules are but not this one -- and with the dependency constraint removed, you can just drop this completely - XML::LibXSLT - this code isn't tested - XML::Writer::String - this isn't used anywhere, not even mentioned in META; where did you find it?... Now, for the runtime dependencies. These can be dropped from the list because rpmbuild's generators will automagically find them for you: - autovivification - Data::Dump - Data::Compare - Data::Simple - File::Slurp - IPC::Cmd - IPC::Run3 - List::AllUtils - Log::Log4perl - Regexp::Common - Unicode::GCString - URI - XML::Writer And these just aren't needed at all: - Encode::EUCJPASCII - Encode::HanExtra - Encode::JIS2K - List::MoreUtils - Unicode::Collate - XML::Writer::String Note Text::BibTeX gets autodetected too, however, it's missing the version constraint. Therefore keep your explicit runtime dependency and filter out the autogenerated one, like this, on one line: %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Text::BibTeX\\)$ You also need to add this to your runtime dep list, the generators won't pick it up: - Unicode::Collate::Locale That should be all for the deps, next... The license tag is incorrect. The README file states the distribution is licensed under GPL+ or Artistic 2.0, however, all the code mentions Artistic 2.0 only. I would suggest using `(GPL+ or Artistic 2.0) and Artistic 2.0' here. And perhaps package TODO.org as %doc, too. Hopefully that's all there is to this review :)
Thank you Petr! 1. Regarding this: > - XML::Writer::String > - this isn't used anywhere, not even mentioned in META; > where did you find it?... I'm not sure. I suspect it was in the original work of @mef and I just kept it. So perhaps a previous biber depended on it. 2. I added that package to Fedora a few months: but no need to retire it over this I assume? 3. Some of the deps we've just dropped are explicitly mentioned in the various meta files: if I get a chance I'll look into fixing those upstream. 4. New version: https://raw.githubusercontent.com/cbm755/fedora-spec/master/biber.spec http://people.maths.ox.ac.uk/macdonald/fedora/biber-1.8-8.fc22.src.rpm Thanks again.
Oh and here is a the diff of my latest change in case that helps: https://github.com/cbm755/fedora-spec/commit/1197bb3b39655e315a57f9d124594a29ade2a458.patch
(In reply to Colin Macdonald from comment #14) > Thank you Petr! > > 1. Regarding this: > > > - XML::Writer::String > > - this isn't used anywhere, not even mentioned in META; > > where did you find it?... > > I'm not sure. I suspect it was in the original work of @mef and I just > kept it. So perhaps a previous biber depended on it. > > 2. I added that package to Fedora a few months: but no need to retire it > over this I assume? Of course not. > 3. Some of the deps we've just dropped are explicitly mentioned in > the various meta files: if I get a chance I'll look into fixing those > upstream. Upstreams rarely care about this but sure, do try. > 4. New version: > > https://raw.githubusercontent.com/cbm755/fedora-spec/master/biber.spec > > http://people.maths.ox.ac.uk/macdonald/fedora/biber-1.8-8.fc22.src.rpm > > Thanks again. I confirm you've done everything I asked and I hereby approve this package :)
New Package SCM Request ======================= Package Name: biber Short Description: Command-line bibliographic manager, BibTeX replacement Upstream URL: http://biblatex-biber.sourceforge.net/ Owners: cbm mef jnovy Branches: f22 InitialCC: perl-sig
Git done (by process-git-requests).
biber-1.8-8.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/biber-1.8-8.fc22
biber-1.8-8.fc22 has been pushed to the Fedora 22 testing repository.
biber-1.8-8.fc22 has been pushed to the Fedora 22 stable repository.