Bug 1659 - Backport Request: Calibre 0.8.7
Summary: Backport Request: Calibre 0.8.7
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 1
Hardware: i586 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Damien Lallement
QA Contact:
URL:
Whiteboard:
Keywords: Backport
Depends on: 1882
Blocks:
  Show dependency treegraph
 
Reported: 2011-06-07 08:15 CEST by Radu Cristian Fotescu
Modified: 2011-10-09 00:58 CEST (History)
6 users (show)

See Also:
Source RPM: calibre
CVE:
Status comment:


Attachments
GPG key used to sign the packages previously mentioned (1.69 KB, application/octet-stream)
2011-06-22 06:25 CEST, Radu Cristian Fotescu
Details
Screenshot of my own build (also testing FR localization). (201.61 KB, image/png)
2011-06-22 06:26 CEST, Radu Cristian Fotescu
Details
Proposed spec (10.42 KB, patch)
2011-06-22 08:16 CEST, Radu Cristian Fotescu
Details | Diff
calibre-no-update-0.8.6.patch (1.52 KB, patch)
2011-06-22 08:16 CEST, Radu Cristian Fotescu
Details | Diff
calibre-web-control.patch (517 bytes, patch)
2011-06-22 08:17 CEST, Radu Cristian Fotescu
Details | Diff
calibre-python2-env-fix.patch (318 bytes, patch)
2011-06-22 08:17 CEST, Radu Cristian Fotescu
Details | Diff
calibre-0.7.38-pyPdf-fix.patch (4.87 KB, patch)
2011-06-22 08:18 CEST, Radu Cristian Fotescu
Details | Diff
calibre-manpages.patch (1.42 KB, patch)
2011-06-22 08:18 CEST, Radu Cristian Fotescu
Details | Diff
calibre-mount-helper (316 bytes, patch)
2011-06-22 08:19 CEST, Radu Cristian Fotescu
Details | Diff

Description Radu Cristian Fotescu 2011-06-07 08:15:50 CEST
Description of problem:

The Calibre e-reader releases very often: in 2011 there are 28 releases, from 0.7.36 (January 1) to 0.8.4 (June 3).
Mageia has 0.7.32, upstream released on Dec. 3, 2010.
This is to old for many practical reasons (newer e-reader models, features, etc.)
Dependencies are met to build newer versions of calibre.

Mandriva cooker: 0.7.56.
Fedora 15: 0.8.0 (0.7.56 at release time; 0.8.4 in rawhide).
Ubuntu 11.04: 0.7.44 (0.8.2 in the branch that will become 11.10).
Debian Testing (Wheezy): 0.7.50; Debian Unstable (Sid): 0.8.2.
openSUSE 11.4: 0.7.45 in âofficialâ; 0.7.57 in âKDE:/Extraâ or in âgraphicsâ; 0.7.59 in âTumbleweedâ or in âDocumentation:/Toolsâ; 0.8.1 in âDocumentation:/Toolsâ, branch âopenSUSE_11.4_python_Factoryâ.
openSUSE Factory: 0.8.1 in âDocumentation:/Toolsâ.

Version-Release number of selected component (if applicable):
0.7.32

How reproducible:


Steps to Reproduce:
1.
2.
3.
Comment 1 D Morgan 2011-06-13 09:43:40 CEST
i will look but i think this can go on backports in the next few days.

CC: (none) => dmorganec

Comment 2 Radu Cristian Fotescu 2011-06-13 10:01:12 CEST
Why backports? Backports from what? There isn't any Mageia 2.
And the current calibre package is *very* obsoleted as it is. 
Why not just releasing an updated version?
Is there any process to decide what can go into backports and what can be updated as a regular update?
Comment 3 Angelo Naselli 2011-06-13 11:25:50 CEST
>Why not just releasing an updated version?
Because that was the way in mandriva, new version of a program should go
on backports, but in some exceptions.

>Is there any process to decide what can go into backports and what can be
>updated as a regular update?
That is under discussion in mageia-dev ML, feel free to add your proposals.

CC: (none) => anaselli

Comment 4 Ahmad Samir 2011-06-13 19:37:24 CEST
(In reply to comment #2)
[...]
> Is there any process to decide what can go into backports and what can be
> updated as a regular update?

Generally, yes; if the current version of package "foo" in Mageia 1 meets any of the following criteria then a new version should go to updates:
- crashing/segfaulting
- causing kernel oopses
- a major feature is broken (in calibre's case e.g. corrupts ebooks/reading-device)

Otherwise a new version goes to backports. FWIW, calibre upstream seem to release a new version twice a month, that's too often to go to updates, IMHO.
Comment 5 Radu Cristian Fotescu 2011-06-13 20:33:58 CEST
When an application (this one) releases 32 times in 6 months (THIRTY-TWO TIMES IN SIX MONTHS), and when it's over 5-months old and 31 releases BACK when Mageia 1.0 is released, please DON'T come with such a NARROW-MINDED argument!

Now, Calibre upstream does NOT release a new version twice a month, it releases a new version every 6 days on average!

As I explained on mageia-dev, calibre is indeed too dynamic, part of it because of adding new features, keeping the pace with new e-reader devices, etc, but also because each and every version fixes some bugs! Therefore, royally saying that "it releases too often to be taken into account" would rather persuade people to go for other distros that can follow that pace (e.g. Fedora) or, why not, to Windows.

Sorry about my tone.
Comment 6 Radu Cristian Fotescu 2011-06-13 21:03:08 CEST
Suggestion: suppose an account and some credentials (rights) are given to me, I could maintain this package -- I have built RPMs at some point in the past, in 2009, see:
http://odiecolon.lastdot.org/
or
http://odiecolon.lastdot.org/el5/repoview/

However, building a newer calibre poses no technical problem IMHO, there are usually no differences for the builder from a release to another one. It's more of a "political decision" and something like some time wasted every now and then.
Comment 7 Ahmad Samir 2011-06-13 21:07:28 CEST
(In reply to comment #5)
> When an application (this one) releases 32 times in 6 months (THIRTY-TWO TIMES
> IN SIX MONTHS), and when it's over 5-months old and 31 releases BACK when
> Mageia 1.0 is released, please DON'T come with such a NARROW-MINDED argument!
> 

Shouting won't help, I think.

> Now, Calibre upstream does NOT release a new version twice a month, it releases
> a new version every 6 days on average!
> 

I've not touched that package in a long time, so if the upstream releases has become more frequent, I wouldn't know.

> As I explained on mageia-dev, calibre is indeed too dynamic, part of it because
> of adding new features, keeping the pace with new e-reader devices, etc, but
> also because each and every version fixes some bugs! Therefore, royally saying
> that "it releases too often to be taken into account" would rather persuade
> people to go for other distros that can follow that pace (e.g. Fedora) or, why
> not, to Windows.

- I didn't say we're not gonna take it into account, we're gonna provide backports for it. Look at wine, it gets updated a lot too, but new versions _always_ go to backports and not updates. That's a packaging rule, because any new version could provide new features, yes, but can also have regressions.

> 
> Sorry about my tone.
Comment 8 Ahmad Samir 2011-06-13 21:09:40 CEST
(In reply to comment #6)
> Suggestion: suppose an account and some credentials (rights) are given to me, I
> could maintain this package -- I have built RPMs at some point in the past, in
> 2009, see:
> http://odiecolon.lastdot.org/
> or
> http://odiecolon.lastdot.org/el5/repoview/
> 

Feel free to ask for a mentor on the ML (there's now a mentoring coordinator, as per the thread on the dev ML).

> However, building a newer calibre poses no technical problem IMHO, there are
> usually no differences for the builder from a release to another one. It's more
> of a "political decision" and something like some time wasted every now and
> then.

See my previous comment.
Comment 9 Radu Cristian Fotescu 2011-06-13 21:30:08 CEST
Wine is a bad example. It's difficult to know what regressions can bring a new version -- I don't even know what WINE version I _want_ to run because of that!

Calibre -- for the last 2 years, I have been _using_ it almost every day to adjust ePub files, to convert e-books, etc. 

Mentoring: I'm not sure if this is the best option, to get involved for a single package only. I'll think over it. For the time being, I'm investigating a bug that I can't report because, although it constantly happens on Mageia, and it happens slightly rarely on Fedora 15, it doesn't happen at all on Kubuntu 11.04, and I have checked with the way Mageia builds it, there's nothing wrong. So it must be something more general, about some other KDE library, and I am trying to get familiar with building KDE (it's huge). So for the time being I'd say I'm kinda busy.
Comment 10 Frédéric "LpSolit" Buclin 2011-06-13 21:57:28 CEST
(In reply to comment #4)
> Generally, yes; if the current version of package "foo" in Mageia 1 meets any
> of the following criteria then a new version should go to updates:

You forgot to mention security fixes. :)
Comment 11 Ahmad Samir 2011-06-13 22:31:11 CEST
(In reply to comment #10)
> (In reply to comment #4)
> > Generally, yes; if the current version of package "foo" in Mageia 1 meets any
> > of the following criteria then a new version should go to updates:
> 
> You forgot to mention security fixes. :)

That's a given any time of the day, doesn't need mentioning... :)
Comment 12 Samuel Verschelde 2011-06-13 22:32:04 CEST
If I may add my comment, according to the process that's being defined, each update must go throw QA testing to try to ensure that there's no regression. Doing it once per 6 days would be a huge burden in the shoulders of QA Team. 

That being said, there's one strong argument in favor of doing an update (maybe not all subsequent updates) : hardware compatibility. Maybe instead trying to make calibre considered differently that other pieces of software (which from packager's point of view starts with a negative feeling, because we prefer that rules be clear and with as little exceptions as possible), showing why having the current version in core/release + latest version in core/backports (soon) is blocking for users could help.
Comment 13 Radu Cristian Fotescu 2011-06-13 22:40:55 CEST
I am not sure that a packager must perform regression tests on such a package. It's actually impossible, you don't have the proper use cases, test scenarios, etc., you might not have the proper knowledge on how to test generated or converted ePub and Mobi files, and so on.

This is not like packaging a new KDE version for a new release of Mageia. The main responsibility resides with the upstream. Upstream for a large project can have dozens of testers and a lot more time.

For such a generic application, normally the packager has to test on 32 and 64 bits the application like in using it for 15 minutes with basic operations. 

Is there a document (even inherited from Mandriva) that really says that downstream has to check on regressions for _every_ package?!

This is, again, an impossible task. If any distro were able to do that, we would have like zero-bugs distros.
Comment 14 Radu Cristian Fotescu 2011-06-13 22:49:12 CEST
One more word. 

Fedora 15 has for the time being stopped updating calibre tp 0.8.0 (it was released with 0.7.56, but 0.8.0 was pushed into updates). 

Only Rawhide has 0.8.4.

As a user who knows calibre quite well, I can see a logic in this: after each and every calibre release, the package maintainer would parse the upstream Changelog and make a judgment by balancing:
-- announced bug-fixes
-- announced new features
-- announced new hardware supported
-- ad-hoc assessment of the risk brought by the new features (a heuristic process based mainly on experience as a user, experience as a software developer, and common-sense).

I am currently using the latest version, but I could have stopped with 0.8.0 or 0.8.1 for a while. However, the version provided by Mageia...

This is a major problem with _all_ Linux distros, and I don't see how this is freedom: the regular user should obey to the decisions taken by some packagers as in "you don't need this upgrade", whereas in Windows the end-user is sovereign on _what_ version exactly to use, and even downgrading is easier.
Comment 15 Samuel Verschelde 2011-06-14 12:53:09 CEST
The fixes and support for new hardware are arguments for pushing an update.

The bad point is the amount of new features (yes it is :)), because they can (and probably do) bring regressions. The rule is clear : we can't introduce regressions in updates. I'm sorry, but we can't just trust upstream. Experience shows that there ARE almost always regressions when new releases mix features and bugfixes. The amount of bugfixes (including regression fixes) in each release in itself indicates that we must be careful. See for example release 0.7.56 which fixes a big regression introduced by 0.7.55. Had we shipped 0.7.55 automatically (supposing that Mageia would have been ready at the time), we would have shipped a buggy version to our users, which we can't.

However, concerning a tool such as calibre, maybe we could take the risk of version updates, provided enough testing is done.

That's said, I'm not the one to decide :)

A last question : why would be providing the latest versions in backports media not OK ? Users wanting the new version will just have to search for in the rpmdrake and install it.

CC: (none) => stormi

Comment 16 Radu Cristian Fotescu 2011-06-14 13:13:42 CEST
Samuel, I am not sure that Fedora really pushes the latest version of calibre right away. Maybe they wait a couple of days. You see, in the case of serious regressions, calibre would release again quickly.

Not trusting the upstream is a generous idea, yet an absurd one. Does any distro really test for regressions when incorporating a new KDE, XFCE, GNOME or LibreOffice release? _Really_?

When upgrading a widely-used library or something of the kind, one can not trust upstream, because this would break important parts of the distro, but when comes to an application whose upgrade won't affect anything else, I don't see why you should be more Catholic than the Pope.

OTOH, Windows users have the _freedom_ to install the _exact_ calibre release of their choice -- downgrading is much easier than in Linux. Maybe Mageia should address this by making easier for the end-user to downgrade a package, but this is a solution that (I believe) is never going to be solved.

Had you be shipping 0.7.55, you could then push 0.7.56 in updates right away. _Any_ distro releases with major bugs, and this package is not a crucial one.

Keeping a _severely old_ package in a distro just because "this is the right thing to do, for user's safety" makes me feel that Windows is more democratic -- price and licensing aside.

As for "backports", I never liked this concept. I need a stable release of a distro, plus updates. Most distros do this. In other distros, "backports" means backporting from Release+1, not from Unstable, which makes much more sense to me.
Comment 17 Samuel Verschelde 2011-06-14 13:45:07 CEST
(In reply to comment #16)
> Not trusting the upstream is a generous idea, yet an absurd one. Does any
> distro really test for regressions when incorporating a new KDE, XFCE, GNOME or
> LibreOffice release? _Really_?

Yes :) There's testing, that's why there are users using Cauldron and a freeze period before the release : to be able to catch and solve as much bugs as possible, including regressions. It's not perfect, but it's done.

> Had you be shipping 0.7.55, you could then push 0.7.56 in updates right away.

Had we pushed 0.7.55 in updates, we would have introduced new regressions in a stable release, even if for a short time. 

> As for "backports", I never liked this concept. I need a stable release of a
> distro, plus updates. Most distros do this. In other distros, "backports" means
> backporting from Release+1, not from Unstable, which makes much more sense to
> me.

But, why ? Maybe we should rename updates as "stability updates" and backports as "feature updates" ? A backport is not just an unstable version from the development branch, we try to ensure it works well. Plus, in Mageia with have special backports_testing media from which testers can install and test the backports candidates.
Comment 18 Angelo Naselli 2011-06-14 15:39:27 CEST
backports are simply backports. They can be either patches to add to the version
shipped by stable release, pathces from where? from upstream svn/git/cvs... repositories, or from new upstream programs.
That requires a skilled packager/maintainer, he, for the most, should know the 
program its code and should test his changes and put the new package in testing and if it passes QA / end-users tests it can be put in updates.

But with the term backports we can also talk about program backports, e.g from
upstream or from a newer distro version repository, newer can be either  a followed stable - harder if we think that a often a distro has only one stable 
behind- or the developer one -e.g. mandriva's cooker, mageia's cauldron-.

Googling a bit, i've realized that Ubuntu does exactly the same. I don't know fedora since they tend do release often all, but googling again they refer to redhat backport policy... and there I'm sure they don't upgrade any version for updates if not as last solution.

Than i don't want to spend too many words in a subject we're discussing in ml,
and neither i want to loose users. So a good compromise is as usual case by case 
decision, if someone asks for a backport/upgrade -whichever the final repository 
is it will be an upgrade and not an update imo- and the maintainer is able to do
it than new package could pass through testing repository and if *users* -not
just one- can say there aren't regressions, than it could go to updates.
Comment 19 Radu Cristian Fotescu 2011-06-14 17:42:00 CEST
Angelo, in theory, what you say makes sense. In practice though...

Until *several* users will say that there aren't regressions, calibre will have another release.

Fedora has a simple way: it keeps a newer calibre packages in updates/testing for 1 week, and if no user complains about regressions, it goes into updates. This is because calibre is a "leaf" package -- no other package depends on it, so it only impacts those who are using it. 

I have not used Mandriva very much in the past, because I hate the concept of "backports" -- yes, Ubuntu does them too, but Ubuntu backports are totally unsupported, so you can imagine their "quality"... 
I'd rather stick to "updated" -- this is also the reason I stopped using Debian, because the morons (yes, morons) were only pushing tzdata updates in "volatile", not in "updates", whereas ALL the other distro were pushing tzdata updates in "updates".

If Mageia considers that a 6-7 months old package (for an application that released 32 times in the meantime) only deserves updates in "backports", then I will probably stop reporting any possible bugs with this distro -- as a protest.

It is indeed a matter of principle. I am personally using the latest calibre installed in /opt, not the official one, but again, it's a matter of principle.

I will never use backports. Also as a matter of principle. Whatever is important and comes from upstream must go into updates IMHO. Backports, in my view, only make sense if they're coming from Release N+1 and if they represent a major version bump -- such as FF4 over FF3.6, etc.
Comment 20 Angelo Naselli 2011-06-14 18:24:56 CEST
first of all i don't think fedora is the right example for us, but that is my opinion. Said that:

>Fedora has a simple way: it keeps a newer calibre packages in updates/testing
>for 1 week, and if no user complains about regressions, it goes into updates.

That's wrong. At least who opened the bug should say yes it works well and i got
no regressions in my testing.
Adding that at least packager/maintainer should have tested it for a while before
submitting... That *could* be a test (maybe not good enough but passed).
Again case by case we can decide to put programs in updates and maybe this could be just the case. 
But couldn't we do that for all the projects?
Not easy, you know, for a lot reasons (dependencies, etc).

I'm a developer and i do like to release early and release often, but often means that only developers have tested for the most so... shit happens.

>Backports, in my view, only make sense if they're coming from Release N+1 and if 
>they representa major version bump -- such as FF4 over FF3.6, etc.
But it seems not to be the point of view of most distros ;)
N+1 anyway is also the next release e.g. the one we're developing on.

BTW i use backports in all the mandriva installations i have, i got trouble in very little cases, that since 2001 up today... i was lucky? maybe... :D
Comment 21 Angelo Naselli 2011-06-14 18:38:47 CEST
Forgot to say, if calibre, as you said, has not any problems to bu updated - no deps and noone needs it- than an easy way to get it not in /opt is:

urpmi URL-to-backport-mirror/calibre-X.Y.Z.rpm

And you don't need to have backports enabled :)

That's not the same for me... I'm used to get last digikam version instead ;)
Comment 22 Radu Cristian Fotescu 2011-06-14 19:17:13 CEST
(In reply to comment #20)

> That's wrong. At least who opened the bug should say yes it works
> well and i got no regressions in my testing.

No, Sir. In Fedora (I know, not the best example), nobody opens a bug each and every time calibre is too old.

> Adding that at least packager/maintainer should have tested it for a while
> before submitting... That *could* be a test (maybe not good enough but 
> passed).

For our case, calibre 0.8.0 ... 0.8.4 work well, I cannot tell yet for 0.8.5. As per upstream, since there is no Mageia package.

> Again case by case we can decide to put programs in updates and maybe 
> this could be just the case. 
> But couldn't we do that for all the projects?
> Not easy, you know, for a lot reasons (dependencies, etc).

I guess I'll have to paste again that part from Fedora's Update Policy that speaks about "The package is a "leaf" node. Nothing depends on it or requires it."

Calibre is a "leaf" node app.


> I'm a developer and i do like to release early and release often, but often
> means that only developers have tested for the most so... shit happens.


The problem is when the distro maintainers try to be Gods and take decisions for the user. The user has decided to use Calibre. Calibre's developer has decided to release. The user would like to upgrade, but the distro makers say: "Nyet!"

No, in Windows it's easy to downgrade in case of significant regressions. Everyone can do that. Not that easy in Linux though. If I remember correctly from the times when I was using Synaptic with Ubuntu, it was possible from a menu to choose, for each package, what version to install -- this way, downgrades were easy. Mandriva does not offer such a possibility.

Either way, knowing that some major distros released with Linux _kernels_ that brought major regressions, and that _ALL_ the distros release every now and then X.Org with Intel/Nvidia/ATI drivers that _break_ (i.e. major regressions), I feel that so much fuss for a "leaf" applications (that only breaks some features from itself, when this happens) is... too much fuss.
Comment 23 Angelo Naselli 2011-06-14 20:14:12 CEST
I won't answer to this any more, 
i could argue all your sentences, first of all the
availability to get your old version application back in mandriva, or the availability to install a package into your home using another application that
could make your life easier like you think is in another SO....

But one point is almost irritating, and you seem not to want to find a common 
-open- solution but your, sorry:

>The problem is when the distro maintainers try to be Gods and take decisions
>for the user.
Who's trying to be God, me? or all the other distro contributors? 
Mageia is an *open* distro, all of us are deciding which is the best way to 
go on, nothing has been written, our destiny is in our hands, 
you can propose your ideas, as well as other people.
So who's trying to be God?
Comment 24 Radu Cristian Fotescu 2011-06-14 20:31:23 CEST
(In reply to comment #23)
> first of all the availability to get your old version 
> application back in mandriva

90% of the Linux users don't know how to do that by using the official package management tools.

90% of the Windows users can do that by uninstalling the current version and installing the desired one. No need to prevent an automated update for that application.

> availability to install a package into your home 

90% of the Linux users don't know how to do that (the target group for Ubuntu, openSUSE, Mandriva, Mageia). There is no GUI tool to assist with that. Hey, MCC doesn't even allow me to edit a GRUB entry and add a "chainloader +1"! (extremely limited edited allowed in GUI)

> >The problem is when the distro maintainers try to be Gods and take decisions
> >for the user.
> Who's trying to be God, me? or all the other distro contributors? 
> Mageia is an *open* distro, all of us are deciding which is the best way to 
> go on, nothing has been written, our destiny is in our hands, 
> you can propose your ideas, as well as other people.
> So who's trying to be God?

If you were using your brain, not your pride, you would have noticed that this isn't about a particular distro.

ALL the distros are doing this when they decide what new version of an application to go or NOT to go into "updates" (or "backports", if this makes you happy).

Maintainers of all the distros are too busy to _disallow_ the end-user to use updated applications that would incorporate _some_ regressions, while at the same time being totally impotent when comes to upstream major regressions: KDE 4.0 over 3.5.x, GNOME 3.0 over 2.32, kernels that include regressions, X.Org intel/nvidia/ati drivers that are totally broken for half of the video cards, etc.

Small Gods, if you prefer. Make sure "calibre" is not broken, when there is no way to refuse to incorporate the latest kernel, the latest X.Org, the latest KDE/GNOME, etc.
Comment 25 Damien Lallement 2011-06-22 03:41:33 CEST
FYI, I just updated calibre to 0.8.6 in cauldron.
If I have enough return about it, I will see how to update it (backport or not) for 1.

CC: (none) => mageia
Assignee: bugsquad => mageia

Comment 26 Radu Cristian Fotescu 2011-06-22 04:08:38 CEST
Damien,

Cool! ...but I can't find your package on the mirrors! Is it in updates, updates_testing?

I was trying to loon into the .spec, and here's why. 

I have built myself calibre-0.8.6 for cauldron a couple of days ago, and I was just using it.

I had though to adjust and patch as follows:
-- In order to have the e-mail functionality working (yes, it works), I had to add as a dependency python-dnspython, which was lacking, so I had to build it too.
-- I had to adjust a patch so that calibre would still check for updated plugins (rather safe, they're installed in ~/.config/calibre/plugins/), but installing a plugin or checking for an updated plugin would raise an error with the traditional patch that inhibits the automated update checks.
-- There is no python2 symlink to python2.7, but just python, as opposed to python3, so a patch addresses the fact that calibre calls python2.
-- Another tiny patch fixes an import, it should be from QtNetwork, not Qt.
-- 0.8.6 was rushed in and reports to be 0.8.5 in src/calibre/constants.py (the upstream binaries are ok, the sources are not).
-- Localization is now in locales.zip (in %{_datadir}/%{name}/localization/locales.zip), so the old patch is moot.
-- Tiny bug not visible easily, I had to fix the location of liberation default font in 3 py files plus recipes/*_ke.recipe (it's not P('fonts/liberation/LiberationSerif') but ('%{_datadir}/fonts/TTF/liberation/LiberationSerif')).

Have you had the same issues?

I am currently building a few other packages for cauldron and I'll upload in a couple of hours somewhere, so I could ask on the ML whether any of them could be reviewed and accepted.

Should I still fail to see your package, I'll post here the URL to my SRPM, maybe you could look over it. (The binary works fine from what I could test in the last 4 days.)
Comment 27 Dave Hodgins 2011-06-22 05:22:13 CEST
On cauldron i586 system here, trying to start calibre I get ...
$ calibre
/usr/bin/env: python2: No such file or directory

If i then create a symlink, /usr/bin/python2->python, it fails with ...
$ calibre
Traceback (most recent call last):
  File "/usr/bin/calibre", line 18, in <module>
    from calibre.gui2.main import main
  File "/usr/lib/calibre/calibre/__init__.py", line 19, in <module>
    from calibre.startup import winutil, winutilerror
  File "/usr/lib/calibre/calibre/startup.py", line 58, in <module>
    from calibre.utils.localization import set_translators
  File "/usr/lib/calibre/calibre/utils/localization.py", line 65
    allow_user_override=False))
                       ^
SyntaxError: invalid syntax

CC: (none) => davidwhodgins

Comment 28 Radu Cristian Fotescu 2011-06-22 05:40:53 CEST
Dave, just wait for about 1 hour until I upload somewhere my own build -- it addresses a number of issues related to the many changes happened between 0.7.32 and 0.8.6.

But I still can't see that RPM. What mirror are you using?
Comment 29 Radu Cristian Fotescu 2011-06-22 06:25:04 CEST
The hosting I wanted to use has some intermittent problems, so for the time being I've uploaded here:

http://www.mediafire.com/?pdk6pxkc62ks5

the files:

calibre-0.8.6-1.mga2.src.rpm
calibre-0.8.6-1.mga2.i586.rpm
python-dnspython-1.9.4-1.mga2.src.rpm
python-dnspython-1.9.4-1.mga2.noarch.rpm

I hope they have uploaded correctly.

python-dnspython is required for the e-mail functionality. It had been tested. Mageia lacks it (Mandriva had it). 

Not that this would mean much, but I'll attach the public key used to sign the packages (it's an older key I've used in the past for packages for an EL5 repo; the e-mail is not valid anymore, but the domain is).

(I also hoped I haven't forgot to sign them!)
Comment 30 Radu Cristian Fotescu 2011-06-22 06:25:39 CEST
Created attachment 600 [details]
GPG key used to sign the packages previously mentioned
Comment 31 Radu Cristian Fotescu 2011-06-22 06:26:29 CEST
Created attachment 601 [details]
Screenshot of my own build (also testing FR localization).
Comment 32 Ahmad Samir 2011-06-22 07:52:06 CEST
Just attach diff output of the spec and the rediffed patches (if any).
Comment 33 Ahmad Samir 2011-06-22 07:53:32 CEST
(In reply to comment #26)
[..]
> -- There is no python2 symlink to python2.7, but just python, as opposed to
> python3, so a patch addresses the fact that calibre calls python2.

We nuke the shebang altogether, no symlinks.

[...]
Comment 34 Radu Cristian Fotescu 2011-06-22 08:15:14 CEST
The initial nuking of the shebang does not fix the issue. It's still added a call to python2.

Everyone can extract the .spec and patches from the SRPM.

I'll attach them after this.
Comment 35 Radu Cristian Fotescu 2011-06-22 08:16:21 CEST
Created attachment 602 [details]
Proposed spec

Proposed spec (except for my name, but I offer to maintain this package)
Comment 36 Radu Cristian Fotescu 2011-06-22 08:16:48 CEST
Created attachment 603 [details]
calibre-no-update-0.8.6.patch

calibre-no-update-0.8.6.patch
Comment 37 Radu Cristian Fotescu 2011-06-22 08:17:17 CEST
Created attachment 604 [details]
calibre-web-control.patch

calibre-web-control.patch
Comment 38 Radu Cristian Fotescu 2011-06-22 08:17:38 CEST
Created attachment 605 [details]
calibre-python2-env-fix.patch

calibre-python2-env-fix.patch
Comment 39 Radu Cristian Fotescu 2011-06-22 08:18:08 CEST
Created attachment 606 [details]
calibre-0.7.38-pyPdf-fix.patch

calibre-0.7.38-pyPdf-fix.patch
Comment 40 Radu Cristian Fotescu 2011-06-22 08:18:36 CEST
Created attachment 607 [details]
calibre-manpages.patch

calibre-manpages.patch (unchanged)
Comment 41 Radu Cristian Fotescu 2011-06-22 08:19:04 CEST
Created attachment 608 [details]
calibre-mount-helper

calibre-mount-helper (unchanged)
Comment 42 D Morgan 2011-06-22 09:05:33 CEST
i added your changes in our package, tested and it works OK.

I will push this new version in mageia 1 core/update_testing soon.
Comment 43 Radu Cristian Fotescu 2011-06-22 09:09:26 CEST
If you don't add python-dnspython to Mageia, the e-mail sending by calibre won't work.
Comment 44 D Morgan 2011-06-22 09:10:11 CEST
yes, this is already in cauldron and planned in my update.
Comment 45 Radu Cristian Fotescu 2011-06-22 15:30:50 CEST
Thank you very much, dmorgan, everything seems to be ok, at least in cauldron!

I also noticed the package in Mageia 1, updates_testing, I've checked its spec too.

Unless the mirror I checked was not sync'ed, I didn't notice a python-dnspython package in Mageia 1, but only in Cauldron.
Comment 46 Remco Rijnders 2011-06-22 15:35:48 CEST
Check again in a few hours...it is propagating to the mirrors now. Note that some mirrors sync only once a day.

CC: (none) => remco

Comment 47 D Morgan 2011-06-22 15:36:18 CEST
it have been "late" to come because of my connections issues. but now it should be OK.

As soon as QA validate it in mageia 1 it will be pushed in core/updates
Comment 48 Dave Hodgins 2011-06-22 20:48:58 CEST
I've tested it on my i586 Mageia 1 install, from updates testing, and it looks
ok to me.
Comment 49 Ahmad Samir 2011-06-22 22:02:06 CEST
(In reply to comment #34)
> The initial nuking of the shebang does not fix the issue. It's still added a
> call to python2.
> 

Sure, that's why the sed command needs to be adapted to the new version of the package

> Everyone can extract the .spec and patches from the SRPM.
> 

But not everyone can easily download a 27MB+ .src.rpm when he only wants to see the spec and patches (given he/she probably already has an SVN checkout of calibre from the Mageia SVN).

[...]
Comment 50 Ahmad Samir 2011-06-22 22:08:13 CEST
(In reply to comment #38)
> Created attachment 605 [details]
> calibre-python2-env-fix.patch
> 
> calibre-python2-env-fix.patch

We don't use '/usr/bin/env python' at all, either remove the whole line or use '/usr/bin/python' , which is always a symlink to the default version of python in each Mageia release.
Comment 51 Radu Cristian Fotescu 2011-06-22 22:29:20 CEST
No ofense, Ahmad, but are you going to "fix" maybe hundreds of packages whose developers have chosen to use an underoptimal yet working '/usr/bin/env python'?

Fedora doesn't do that. RHEL doesn't do that. As long as it is not broken, one shouldn't try to rewrite 3rd party code.

Just my opinion, but I usually don't like to be "more Catholic than the Pope", as they say.
Comment 52 Radu Cristian Fotescu 2011-06-22 22:32:46 CEST
So, in this punctual case, 
-- if the developer decided to use '/usr/bin/env python2' after he has used '/usr/bin/env python' in previous versions;
-- and '/usr/bin/env python' actually works;
-- and Mandriva leaves it as is;
-- and Fedora leaves it as is;
-- and Ubuntu leaves it as is;
then why "should" Mageia try to "fix" something that is not actually broken?

Patching '/usr/bin/env python2' into '/usr/bin/env python' was done to revert calibre to the way it has been in dozens of previous versions. And it works.

Minimal patching, I'd say.

But again, I have no authority, I'm an intruder almost.
Comment 53 Ahmad Samir 2011-06-22 22:52:08 CEST
(In reply to comment #51)
> No ofense, Ahmad, but are you going to "fix" maybe hundreds of packages whose
> developers have chosen to use an underoptimal yet working '/usr/bin/env
> python'?
> 

Exactly. We already do that, fix the sheband of every package, and rpmlint should help spot such issues. And it can be fixed with a single sed command, that takes about 1-2min. to type :)

> Fedora doesn't do that. RHEL doesn't do that. As long as it is not broken, one
> shouldn't try to rewrite 3rd party code.
> 

FWIW, the calibre spec in Mandriva was originally imported from Fedora (IIRC), and they do nuke the python shebang. c.f. http://pkgs.fedoraproject.org/gitweb/?p=calibre.git;a=blob;f=calibre.spec

This isn't just about calibre, but through out all the Fedora specs that I've seen (as I usually check them out for patches, improvements... etc).

> Just my opinion, but I usually don't like to be "more Catholic than the Pope",
> as they say.

There're packaging guidelines and rules, they're not there to make packagers' lives harder, but to ensure the quality of packaging in the distro.
Manuel Hiebel 2011-06-30 19:14:15 CEST

Depends on: (none) => 1882

Comment 54 Radu Cristian Fotescu 2011-06-30 19:36:03 CEST
Of course, python-dnspython is needed, as it's mentioned by Bug #1882.

But as we're at testing, version 0.8.7 is available upstream, and it includes fixing of a regression.

It can be tested in Cauldron (it might currently work with Mageia 1 too, but it was not tested) from my _unofficial_ repo:
http://mageia.beranger.org/mageia/
http://mageia.beranger.org/mageia/2/repoview/calibre.html
Manuel Hiebel 2011-09-08 22:01:16 CEST

Summary: Calibre is too old (0.7.32 vs. 0.8.4, i.e. 31 versions behind!) => Backport Request: Calibre 0.8.7
Source RPM: calibre-0.7.32-3.mga1.src.rpm => calibre
Whiteboard: (none) => Backport

Samuel Verschelde 2011-09-13 13:04:07 CEST

Keywords: (none) => Backport
Whiteboard: Backport => (none)

Comment 55 Radu Cristian Fotescu 2011-09-13 13:30:39 CEST
...which is now 11 versions _behind_ the current one, 0.8.18.
Comment 56 Samuel Verschelde 2011-09-13 14:00:45 CEST
Well, one of the people interested in packaging it left... :)
Comment 57 Radu Cristian Fotescu 2011-09-13 16:42:48 CEST
...because the degree of bureaucracy, endless (and useless) discussions, and inactivity was far beyond reasonable expectations :-(

I don't understand how a Linux distro ever gets built with such a hectic organization.
Comment 58 Samuel Verschelde 2011-09-13 16:49:36 CEST
Thanks for the kind words, I'm glad you appreciate the amount of work we put daily into Mageia, it's always too to see one's work appreciated.
Comment 59 Radu Cristian Fotescu 2011-09-13 16:54:57 CEST
Maybe you should disable the mailing lists and IRC. It's depressing to see the level of verbosity out there. Sorry if I've vexed you.
Comment 60 Samuel Verschelde 2011-09-13 17:13:11 CEST
(In reply to comment #59)
> Maybe you should disable the mailing lists and IRC. It's depressing to see the
> level of verbosity out there. Sorry if I've vexed you.

Well, I am also subscribed to the changelog@, and bugs@ ans qa-bugs@ mailing lists, and I see much work being done, do maybe that's why I'm not depressed :)
Comment 61 Manuel Hiebel 2011-10-09 00:58:58 CEST
calibre is in updates

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.