[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gpr in etch is useless: hint 0.12deb ? upload in t-p-u ?



hi

summary: I uploaded gpr 0.12deb in unstable; it fixes a nasty bug that
had gone unnoticed, and that was rendering gpr practically useless;
unfortunately, while tracking down that bug, the code changed more than
strictly needed. What to do? Would you let gpr 0.12deb in Etch? Or, may
I upload a gpr 0.11deb.etch1 into t-p-u ?

Hi again

gpr is a GUI that  presents the user with a nice graphical interface to
choose a file to print (if it is not given in command line) and set
options (such as, resolution, duplex printing, etc etc).

Internally, gpr analyzes the PPD file for the printer ; eventually, to
print the file, gpr invokes a shell pipeline that includes "ppdfilt",
and passes the chosen PPD options to ppdfilt (you can see that by "gpr
-n /dev/null")

The PPD-analyzing code is called by a GTK signal.... it seems that in
newer GTK, this signal is called twice; to store those PPD options
internally, unfortunately, the original authors decided to us GLIB's
GSList, and to use g_slist_insert (!): so gpr 0.11deb adds to its
internal structures each option twice. When the user works with the GUI,
the first copy of each option would be altered; but when gtk invokes
ppdfilt, both copies are put on cmdline, and the second copy has
precedence (!) . You can see this by trying "gpr -n /dev/null". Result:
all user choices (duplex, printing, resulution) are actually ignored!

It took me a lot of effort to track down this bug (see appendix) ; and
unfortunately, I did more changes to the code that this bug-fixing alone
would require.

Now reading the original guideline:

>   - If your package needs to be updated for Etch, and the version in
>     unstable doesn't contain extraneous changes (e.g, the version is the
>     same between testing and unstable), please upload your fix to
>     unstable and contact debian-release@lists.debian.org.
> 
>   - If the version in unstable already includes significant changes not
>     related to the bug to be fixed, contact debian-release about
>     uploading to testing-proposed-updates.  Changed dependencies, new
>     upstream versions, changed library names, and completely rewriting
>     the packaging are "significant changes".  So are lots of other
>     things.

I dont know how much significant are my changes: while trying to fix the
bug, since I was clueless at the beginning, I did a code cleanup  (I
deleted some unused and deprecated code); I also fixed some other issues
(such as: could not close dialog windows).

Moreover the (damned) auto* stuff stopped working at a certain point ,
so I had to regenerate it all: for this reason, a diff of gpr 0.11deb
and 0.12gpr is huge.
(I can post a version of the diff reduced to just the code, if you wish)

BTW: upstream of gpr is dead (since the 2000 dot com crash); I rewrote
gpr so much (e.g. to link with gtk2.0 instead of gnome1) that I decided
that now my package is a native Debian package.

 --

So... would you hint 0.12deb in Etch?

Otherwise, may I upload a 0.11deb.etch1 in t-p-u , with just the small
change for that bug (and also for a stupid GError warning; and the fr
translation update)?

The former may be preferrable... 0.12deb has some improvements, and it
is already built by autobuilders. The only defect of 0.12 is that I
forgot to include the french translation update (sorry).

thanks

a.

 --- appendix: why all this mess

In Sep I installed a new Etch box; in that box d-i installed CUPS
(instead of lprng); for months I had huge problems printing (most jobs
would simply disappear in cups-hyperspace).

After a lot of debugging around I found out the culprit: d-i had
installed both cupsys  and lpr, but the clients /usr/lib/lpr in lpr are
not compatible with cupsys; when I replaced lpr with  cupsys-bsd I could
finally print. (BTW: who should I notify about this?)

Still, I could not print duplex using gpr... but I know that cupsys has
its own GUIs to set this kind of options (as you see when printing from
evince e.g.), so I though that maybe 'gpr' was just incompatible with
cupsys....

But at the same time I could not print duplex even when using  evince,
so on Monday 8 I decided to just nuke the whole CUPS and install LPRng.

Suprise: gpr did not print duplex with lprng either! So I did a mad and
fast debugging to find out why.



a.


ps:

>   - If in doubt, contact debian-release first.

here I am! :-)

>   - In all cases, when preparing an upload please do not make changes
>     the package that are not related to fixing the bugs in question.

:->


ps2:
gpr has an Override=gnome but it is not anymore a Gnome application

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: